[发明专利]云计算系统终端实现GTK图形界面与云端应用对接的方法有效
申请号: | 201410049230.7 | 申请日: | 2014-02-12 |
公开(公告)号: | CN103823673B | 公开(公告)日: | 2017-07-07 |
发明(设计)人: | 陈昱 | 申请(专利权)人: | 陈昱 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京捷诚信通专利事务所(普通合伙)11221 | 代理人: | 王卫东 |
地址: | 510010 广东省广州市天河区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种云计算系统终端实现GTK图形界面与云端应用对接的方法,其步骤如下从云端下载按键图片,并保存到本地filename指定的文件中,由函数GdkPixbuf*gdk_pixbuf_new_from_file(const char*filename,GError**error)从指定文件中获取按键图片;对按键图片进行缩放,使图片的大小适应屏幕的百分比;新建显示按键图片的图片控件,并将按键图片的信息传入GtkImage控件中;将存储按键图片信息的GtkImage控件添加到已与应用相对应的GtkButton控件中;使用g_signal_connect将相应的按键事件与点击事件函数相关联。本发明,通过GTK将图形界面和后台应用相连接,实现了图形界面对后台的操作,使得云计算机终端完全隔离了网页页面显示,呈现给用户的是一个完全的本地化的图形化操作界面,带来的是类似操作系统的新体验。不仅界面美观,操作也很方便。 | ||
搜索关键词: | 计算 系统 终端 实现 gtk 图形界面 云端 应用 对接 方法 | ||
【主权项】:
云计算系统终端实现GTK图形界面与云端应用对接的方法,其特征在于,包括以下步骤:步骤A10、首先从云端下载按键图片,并保存到本地filename指定的文件中,接着由函GdkPixbuf*gdk_pixbuf_new_from_file(constchar*filename,GError**error)从指定文件中获取所有的按键图片,在程序中出现error时,都使用NULL;步骤A20、对按键图片进行缩放,使图片的大小适应屏幕的百分比;步骤A30、新建用于显示按键图片的图片控件,并将按键图片的信息传入GtkImage控件中;步骤A40、将存储有按键图片信息的GtkImage控件添加到已与应用相对应的GtkButton控件中;步骤A50、通过g_signal_connect将相应的按键事件与点击事件函数相关联;步骤A20的详细步骤如下:在程序中使用函数GdkPixbuf*gdk_pixbuf_scale_simple(const GdkPixbuf*src,intdest_width,int dest_heigh GdkInterpType interp_type)来调整按键图片的大小,使按键图片的大小适应屏幕的百分比,根据屏幕大小计算出相应比例的按键图片大小,并将按键图片的长宽属性分别传入dest_width与dest_height,其中的interp_type设置为GDK_INTERP_BILINEAR;步骤A30的详细步骤如下:通过函数GtkWidget*gtk_image_new(void);新建一个按钮图片控件,用于显示按钮图片,并通过void gtk_image_set_from_pixbuf(GtkImage*image,GdkPixbuf*pixbuf)将GdkPixbuf中的按键图片信息传入GtkImage控件中;步骤A40的详细步骤如下:通过void gtk_container_add(GtkContainer*container,GtkWidget*widget)将GtkImage控件添加到GtkButton控件中;Voidgtk_container_set_border_width(GtkContainer*container,guintborder_width)使用该函数将GtkButton控件与GtkImage控件间距设置为0;void gtk_button_set_relief(GtkButton*button,GtkReliefStyle newstyle)将以上函数GtkButton控件的relief属性修改为GTK_RELIEF_NONE,使GtkButton控件显示为透明;fixed_element结构体用于控制登陆界面的排版及相应功能的实现,其核心控件包括GtkFixed、GtkImage、GtkButton、GtkEntry;GtkFixed控件用于将控件固定于GtkWindow上某个准确位置;GtkImage控件用于将外部图片读取进入本程序;GtkButton控件用于实现按键效果;GtkEntry控件用于实现输入框效果;整个完整的fixed_element结构体如下:typedef struct fixed_element{GtkFixed*fixed;GtkImage*bg_image;GtkButton*network_button;GtkImage*network_image;GtkButton*login_button;GtkImage*login_image;GtkImage*prev_page;GtkImage*prev_page_image;GtkButton*server_button;GtkImage*server_image;GtkButton*shutdown_button;GtkImage*shutdown_image;GtkEntey*user;GtkEntry*passwd;Const gchar*user_data;Const gchar*passwd_data;GtkImage*help_image[HELP_IMAGE_NUM];}fixed_element;几个重要结构体成员介绍:help_image:用于存放帮助文档,帮助文档为一张张图片组合而成,通过翻页按键实现帮助文档的查阅,而帮助文档的页数更具HELP_IMAGE_NUM宏决定;user:为gtkEntry控件,用于向用户提供用户名输入栏;passwd:为gtkEntry控件,用于向用户提供密码输入栏;user_data:用于存放用户名;passwd_data:用于存放密码;network_button:用于提供一个网络设置按键;login_button:用于提供一个登陆按键;prev_page:用于提供一个上一页按键;next_page:用于提供一个下一页按键;server_button:用于提供一个服务器设置按键;shutdown_button:用于提供一个关机按键;和app_fixed_element结构体:app_fixed_element结构体用于向用户提供一个应用列表界面,其主要包括工具栏以及页面按钮和应用列表,而工具栏上包括显示登陆的用户,刷新应用按键、注销按键以及返回上级目录按键;完整的app_fixed_element为:Typedef struct app_fixed_element{GtkWidget*fixed;WebKitDOMNode*logoff;WebKitDOMNode*refersh;WebKitDOMNode*return_0;GtkBox*toolbox;GtkLabel*login_label;GtkButton*logoff_button;GtkButton*refresh_button;GtkButton*return_button;GSList*radio_list;GtkBox*radio_box;GtkWidget*frame;GtkBox*vbox;GtkImage*bg_image;Struct table_list_head*table_head;}app_fixed_element;几个重要结构体成员解释:logoff:用于指向web页面的dom文档中的注销节点元素;refresh:用于指向web页面的dom文档中的刷新应用节点元素;return_0:用于指向web页面的dom文档中的“主要”节点元素;toolbox:用于指向工具栏;logoff_button:用于指向注销按键;refresh_button:用于指向刷新应用按键;return_button:用于指向返回上级目录按键;radio_list:用于提供一个选择按钮的链表;radio_box:用于指向选择按钮盒子;table_head:用于指向应用列表界面中的应用列表链表表头。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陈昱,未经陈昱许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410049230.7/,转载请声明来源钻瓜专利网。
- 上一篇:角色工程范围确定和管理
- 下一篇:一种阳离子聚酯熔体管道清洗装置