GTK+实现电话程序界面(2)
紧接“GTK+实现电话程序界面(1)”,上文实现了电话程序首页的界面,接下来我们需要进行的是在(1)的基础上进行拨号以及通话这两个界面的实现。代码如下:
增加string.h以便于对字符串进行处理:
拨号键盘的按键事件处理函数,主要功能是将不同的按键代表的值放入缓冲区buffer中,除了“删除”按键需要从缓冲区中去掉最后一个值。
通话界面设置函数
这里将之前的“拨号”按键回调函数进行了拆分,以便实现代码的复用,拨号界面的设置代码放入了didal_view中,以便在“返回”事件发生时,能够被回调函数调用。
主函数也进行了拆分,目的也是为了实现代码复用,主界面代码放入了main_view中,以便在“返回”事件发生时,能够被回调函数调用。
总结:目前为止,我们已经走通了拨号程序这条线的界面设计,优化的工作可以放到后期,余下的界面设计还有通话记录和通讯录的需要继续做。
收获:
1、学会了GTK+界面切换的思路逻辑,就是不同窗口界面的交替显示,但是如果该应用软件有图标在状态栏的时候,新窗口界面的出现会导致状态栏的应用程序图标显示有多个窗口存在,但是我们的应用程序只开启了一次,按理说图标不应该显示有多个窗口,因此我们需要将被遮挡的窗口进行隐藏。
2、将大功能拆分为小功能,大功能可能不好实现,拆分为小功能后能降低实现复杂度。同时还可能实现代码的复用性。