MMI of UIQ (3) -----Context bar Saturday, October 10, 2009

一、相关的类(接口):
CQikViewBase
MQikViewContext
MQikViewContextObserver
MQikViewContextTextFormatter


二、说明
MQikViewContext
context bar的接口。从定义我们可以看到,有三种control可以放在context bar上:progress info, texticon。具体可以执行哪些操作在SDK中有详细的说明。请查询SDK


三、我的目标
我的目标是在Context bar上放入如下的control
1. edit
2. button
3. choice list


四、常规编程
目前只有在CQikViewBase类中提供了一个函数来获得context bar操作接口。这也说明只有从CQikViewBase派生的view或者dialog才可能拥有context bar
1、通过ViewContext()函数获得MQikViewContext类型的指针。
MQikViewContext* viewContext = ViewContext();
注意context bar是在CQikViewBase的ViewConstructL函数之前就创建好了。因此在ViewConstructL中任何地方调用都可以获得正确的指针。
2、如果要处理context bar的事件,需要实现MQikViewContextObserver接口。然后在获得viewContext指针后,调用
viewContext->SetObserver(object);
此处的object就是实现了MQikViewContextObserver接口的对象。
3
、调用MQikViewContext接口提供的函数在context bar上添加control
注意在接口中也定义了怎么删除control的方法。
4
、在HandleViewContextEventL函数中处理context barcontrol发出的事件
五、目标编程
已经实现了目标12。对于目标3来说,难度比较大,实现的可能很小。



那个button 非常不怎么样。重画它很费力气。奇怪的是我也不知道为什么要把它放到这里?谁会设计这样的ui?

好在只是个练习。

0 comments: