读书人

gef中采取公共的快捷键功能的原理和实

发布时间: 2012-10-26 10:30:58 作者: rapoo

gef中采用公共的快捷键功能的原理和实现

在gef相关的编辑器类中采用快捷键处理器KeyHandler中注册相关类的Action并在

?? protected KeyHandler getCommonKeyHandler(){

??? if (sharedKeyHandler == null){

?????? sharedKeyHandler = new KeyHandler();

?????? sharedKeyHandler.put(

?????????? KeyStroke.getPressed(SWT.F2, 0),

?????????? getActionRegistry().getAction(GEFActionConstants.DIRECT_EDIT));

??? }

??? return sharedKeyHandler;

}

在gef视图编辑器类中的方法protected void configureGraphicalViewer()中添加如下代码:

ScrollingGraphicalViewer viewer =(ScrollingGraphicalViewer)getGraphicalViewer();

ScalableFreeformRootEditPart root = new ScalableFreeformRootEditPart();

viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer)

?????????? .setParent(getCommonKeyHandler()));

?

在大纲视图中的使用如下:

getViewer().setKeyHandler(getCommonKeyHandler());

读书人网 >软件架构设计

热点推荐