转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>
在broncho手机上实现MobileExplorer接口相对比较容易,大约有2K的代码,其主要包括以下几个部件:
类型管理器MebronchoTypeManager 我们说过在所有接口中,用到的类型信息都是以整数传递的,如果想了解类型更详细的信息,需要调用mobile_explorer_get_type_info来获取。这里所指类型主要是指对象的类型和文件的类型,也可以是任何其它整数到字符串的映射,有点像X Window中的atom。类型管理器用来实现类型信息的注册和查询。
GUI封装类MebronchoGuiHelper 在MobileExplorer中主要有三个函数与GUI有关:设置剪切板数据,获取剪切板数据和提交输入的文本。broncho手机的GUI是GTK+2.6,这三个函数的实现如下:
设置剪切板数据
@H_404_21@
- MeRetmebroncho_gui_helper_clipboard_set_data(MebronchoGuiHelper*thiz,MeData*data)
- {
- MeRetret=ME_RET_FAIL;
- me_return_val_if_fail(thiz!=NULL&&data!=NULL,ME_RET_PARAMS);
- do
- {
- GdkDisplay*display=gdk_screen_get_display(gdk_screen_get_default());
- me_break_if_fail(display!=NULL);
- GtkClipboard*clipboard=gtk_clipboard_get_for_display(display,GDK_SELECTION_CLIPBOARD);
- me_break_if_fail(clipboard!=NULL);
- gtk_clipboard_set_text(clipboard,data->data,data->length);
- ret=ME_RET_OK;
- }while(0);
- returnret;
- }