本发明涉及人机接口定制技术领域,具体地,涉及一种基于xml的人机交互接口定制方法。
背景技术:
人机界面除了向用户输出信息外,还提供与用户交互的功能,通常以右键菜单的方式实现一个菜单项对应一个人机交互接口。
现有技术人机交互接口固定,只满足当前需求,并且,具体图元与人机交互接口绑定,无法灵活配置。
技术实现要素:
本发明的目的在于,针对上述问题,提出一种基于xml的人机交互接口定制方法,以克服现有技术中具体图元与人机交互接口绑定,无法灵活配置的缺陷,使得新建图元简单化,图元外观修改方便,以及实现图元属性方便扩展的优点。
为实现上述目的,本发明采用的技术方案是:一种基于xml的人机交互接口定制方法,主要包括:
步骤1:新增菜单项处理过程插件,使得每一个菜单项对应一个插件,供主程序加载调用;
步骤2:在菜单项管理模块增加新增菜单项代理类,描述右键菜单的显示形态,并将菜单的触发信号与处理过程相关联,新增菜单项类本身注册到菜单项列表;
步骤3:编辑XML格式的配置文件,将图元类型和右键菜单相对应,对应关系为一个图元类型对多个右键菜单;
步骤4:开启人机界面程序,加载配置文件信息,解析图元和右键菜单项的对应关系,为配置文件中每种类型的图元创建相对应的右键菜单;
步骤5:右键点击图元,显示相应的右键菜单项,点击右键菜单项,触发菜单项处理过程,完成人机交互;
进一步地,所述图元和右键菜单项的对应关系以列表的形式存储在内存中。
进一步地,所述步骤5中还包括,解绑图元和右键菜单项步骤,具体为若不显示右键菜单项,则在配置文件中将图元和右键菜单项的对应关系删除。
本发明各实施例的一种基于xml的人机交互接口定制方法,由于主要包括:使用右键菜单处理过程插件类来对右键菜单项的处理过程进行描述,使用xml文件作为信息的存储介质,然后使用图元类型、右键菜单处理插件的名称等标识将图元和其相应的菜单项以及菜单项的处理过程相对应;从而可以克服现有技术中人机交互接口固定,只满足当前需求,并且,具体图元与人机交互接口绑定,无法灵活配置的缺陷,实现新建图元简单化,图元外观修改方便,以及实现图元属性方便扩展的优点。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明一种基于xml的人机交互接口定制方法的原理流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
具体地,一种基于xml的人机交互接口定制方法,主要包括:
步骤1:新增菜单项处理过程插件,使得每一个菜单项对应一个插件,供主程序加载调用;
步骤2:在菜单项管理模块增加新增菜单项代理类,描述右键菜单的显示形态,并将菜单的触发信号与处理过程相关联,新增菜单项类本身注册到菜单项列表;
步骤3:编辑XML格式的配置文件,将图元类型和右键菜单相对应,对应关系为一个图元类型对多个右键菜单;
步骤4:开启人机界面程序,加载配置文件信息,解析图元和右键菜单项的对应关系,为配置文件中每种类型的图元创建相对应的右键菜单;
步骤5:右键点击图元,显示相应的右键菜单项,点击右键菜单项,触发菜单项处理过程,完成人机交互;
所述图元和右键菜单项的对应关系以列表的形式存储在内存中。
所述步骤5中还包括,解绑图元和右键菜单项步骤,具体为若不显示右键菜单项,则在配置文件中将图元和右键菜单项的对应关系删除。
使用右键菜单处理过程插件类来对右键菜单项的处理过程进行描述,使用xml文件作为信息的存储介质,然后使用图元类型、右键菜单处理插件的名称等标识将图元和其相应的菜单项以及菜单项的处理过程相对应。这样,如果要增加一个接口,不需要修改人机界面源程序,仅仅需要增加一个插件类,然后在配置文件中将菜单项和图元进行绑定即可。另外,对图元对应的右键菜单的绑定和解绑也是非常灵活,仅需要修改配置文件中图元类型和对应的菜单项列表。
新增右键菜单项
1.新增菜单项处理类插件,每一个菜单项对应一个插件,供主程序加载调用。
2.在菜单管理模块增加一个菜单项代理类,程序运行时,自动将代理类注册到菜单项代理列表,菜单项关键字可用于菜单项和图元图元的对应设置。
3.在右键菜单配置文件中增加右键菜单关键字和图元类型的对应关系。
4.主程序启动时从配置文件中加载图元类型及右键菜单项的对应关系,以列表的形式存储在内存中,当图元被右键点击时,程序在列表中找到图元类型对应的右键菜单项并显示出来,当某个菜单项被点击时,菜单项处理过程将被触发,从而达到人机交互的目的。
解绑图元和右键菜单
如果想让图元的某个右键菜单项不显示,在配置文件中将对应记录删掉就可以了。下面以遥控功能的人机交互界面对本发明做进一步的详细阐述。
以遥控功能为例,逐步介绍要增加一个人机交互接口的过程。
一、增加遥控过程处理插件
遥控过程插件类继承自接口类IBaseCmdProcessor,具体提供的接口如下:
IBaseCmdProcessor
CYkCmdProcessor
其中以下四个接口接收主程序传递的参数
void setIce(Ice::CommunicatorPtr pIce);
void setParam(const stDevParam& param);
void setObjectFullName(const QString&);
void setLogUser(const Power::OperatorInfo &info,const QString& sUserInfo);
QDialog * GetDialog(); 接口返回右键菜单项被点击时的处理窗口(不详述)。
二、在右键菜单管理模块增加右键菜单类,描述右键菜单的形态,并将右键菜单的点击信号与处理过程绑定。
遥控右键菜单类继承自基类CBaseCmdAction,具体如下:
遥控菜单类
在遥控菜单类中将菜单项QAction的点击信号关联到process槽函数,然后再process函数中加载遥控处理过程插件,并调用相关接口
遥控菜单项通过宏注册到菜单项列表:
typename函数返回的是右键菜单的类型,遥控右键菜单的类型为“yk”
三、配置文件
配置文件是xml格式的文件,内容为图元类型和右键菜单类型的对应关系
文件中一个popmenu元素即为一个图元及其对应的右键菜单列表。其中“setstate”、“yk”都是右键菜单的类型。
主程序启动时加载配置文件内容
主程序加载菜单配置文件的内容,将右键菜单项实例化,并按图元类型分类存储。这样在右键单击图元时,根据图元类型索引到相应的右键菜单列表,在人机界面展示出来。当用户点击右键菜单项时,会触发相应的槽函数,调用相应的处理过程。
至少可以达到以下有益效果:新建图元不需要修改原有程序;图元外观修改方便;图元属性方便扩展。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。