网学网为广大网友收集整理了,嵌入式浏览器开发,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
5.3 界面模块 (1) interface.c,interface.h:用于界面的初始化和定制。 主要的函数说明: void a_Interface_init(void);界面初始化的主函数 void a_Interface_status(BrowserWindow *bw, const char *format, ... ); 设置状态栏内容。 void a_Interface_openfile_dialog(BrowserWindow *bw);文件打开对话框 void a_Interface_set_Page_title(BrowserWindow *bw, char *title); 设置窗口标题。 void a_Interface_entry_open_url(GtkWidget *widget, BrowserWindow *bw); 打开网址输入栏输入的网址。 BrowserWindow *a_Interface_new_browser_window(gint width, gint height); 新建浏览窗口,是很重要的函数,在其中创建了所有的界面控件,并对按钮等进行了消息绑定。 (2) menu.c,menu.h 主要函数:GtkWidget *a_Menu_mainbar_new (BrowserWindow *bw); 定义了主菜单项,并进行了消息绑定 (3) browser.h 定义了重要的窗口结构如下: struct _BrowserWindow { /* 主窗口的widgets */ GtkWidget *main_window; GtkWidget *back_button; GtkWidget *forw_button; GtkWidget *stop_button; GtkWidget *location; GtkWidget *location_button; GtkWidget *status; /* 键盘控制表*/ GtkAccelGroup *accel_group; /* 工具条按钮 */ GtkWidget *back_menuitem; GtkWidget *forw_menuitem; GtkWidget *stop_menuitem; /* 主文档 widget. (用于绘制HTML或其它) */ GtkWidget *layout; /* 当前光标类型 */ GdkCursorType CursorType; /* 对话框widgets*/ GtkWidget *open_dialog_window; GtkWidget *open_dialog_entry; GtkWidget *openfile_dialog_window; GtkWidget *quit_dialog_window; /* 指向保存词法分析结果的数据结构 */ BitTokenContext *global_cx; /* 文件类型:html or plain text*/ gint file_type; }; 5.4 控制模块 (1)command.c,command.h 主要的函数说明: void a_Commands_openfile_callback (GtkWidget *widget, gpointer client_data);打开文件的对话框 void a_Commands_openurl_callback (GtkWidget *widget, gpointer client_data);打开URL void a_Commands_close_callback(GtkWidget * widget, gpointer client_data);关闭窗口 void a_Commands_exit_callback (GtkWidget *widget, gpointer client_data);退出程序 void a_Commands_viewsource_callback (GtkWidget *widget, gpointer client_data);查看HTML源码 void a_Commands_reload_callback (GtkWidget *widget, gpointer client_data);刷新当前网页 void a_Commands_home_callback (GtkWidget *widget, gpointer client_data);显示主页 void a_Commands_helphome_callback (GtkWidget *widget, gpointer client_data); 显示帮助 (2)nav.h,nav.c:是命令对应的与网页操作有关的具体实施 主要的函数说明: void a_Nav_push(BrowserWindow *bw, const char*);按URL打开一个网址或文件,具有对不完整URL的兼容性。 void a_Nav_reload(BrowserWindow *bw);刷新当前网页 void a_Nav_open_splash(BrowserWindow *bw,char *str);打开起始页(内置页面) 5.5词法分析模块 词法分析的原理和算法在前面已有详述。 (1) BitToken.c,BitToken.h 主要的函数说明: BitTokenContext * Bit_NewContext(); 创建新的全局结构 int Bit_Tokenize(BitTokenContext *global_cx); 局部词法分析 void Bit_BeginToken(BitTokenContext *global_cx); 全局词法分析 int Bit_DestroyToken(BitTokenContext *global_cx); 释放内存 char *Token_ReadUntil(BitTokenContext *global_cx,char *sUntil);重要的字符处理函数,读取到指定字符后结束 char *Token_GetAttribute(BitTokenContext *global_cx); 取元素属性 void Token_ConvertIfNeed(char * aString); 转义字串的处理 int Token_ConsumTag(BitTokenContext *global_cx);处理元素 int Token_Consum_PlainText(BitTokenContext *global_cx); 处理文本 void Bit_ShowTokenResult(BitTokenContext *global_cx);显示分析结果 void Bit_SaveTokenResult(BitTokenContext *global_cx,char * filename); 保存分析结果 |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |