[发明专利]云计算系统终端实现GTK图形界面与云端应用对接的方法有效
申请号: | 201410049230.7 | 申请日: | 2014-02-12 |
公开(公告)号: | CN103823673B | 公开(公告)日: | 2017-07-07 |
发明(设计)人: | 陈昱 | 申请(专利权)人: | 陈昱 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京捷诚信通专利事务所(普通合伙)11221 | 代理人: | 王卫东 |
地址: | 510010 广东省广州市天河区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 系统 终端 实现 gtk 图形界面 云端 应用 对接 方法 | ||
1.云计算系统终端实现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:用于指向应用列表界面中的应用列表链表表头。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陈昱,未经陈昱许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410049230.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:角色工程范围确定和管理
- 下一篇:一种阳离子聚酯熔体管道清洗装置