GEF常见问题6:使用对话框

简介: 除了利用Eclipse提供的属性视图以外,GEF应用程序里当然也可以通过弹出对话框修改模型信息。 要实现双击一个节点打开对话框,在NodePart里要增加的代码如下: public void performRequest(Request req) {     if(req.

除了利用Eclipse提供的属性视图以外,GEF应用程序里当然也可以通过弹出对话框修改模型信息。

要实现双击一个节点打开对话框,在NodePart里要增加的代码如下:

public   void  performRequest(Request req) {
    
if (req.getType().equals(RequestConstants.REQ_OPEN)){
        MessageDialog.openInformation(getViewer().getControl().getShell(),
" Gef Practice " , " A Dialog " );
    }
}

作为例子,上面这段代码只打开一个显示信息的对话框,你可以替换成自己实现的对话框显示/修改节点信息。

在CreateNodeCommand里增加下面的代码,可以在每次创建一个节点时通过对话框指定节点的名称:

public   void  execute() {
    InputDialog dlg 
=   new  InputDialog(shell,  " Gef Practice " " New node's name: " " Node " null );
    
if  (Window.OK  ==  dlg.open()) {
        
this .node.setName(dlg.getValue());
    }
    
this .diagram.addNode( this .node);
}

因为打开对话框时需要用到Shell,所以要在CreateNodeCommand里增加一个Shell类型的成员变量,并在DiagramLayoutEditPolicy里创建CreateNodeCommand时把一个shell实例传递给它。


创建节点时先弹出对话框

点此下载工程,此工程修改自GEF应用实例中的GefPractice,目标文件的扩展名改为.gefpracticedlg。

本文转自博客园八进制的博客,原文链接:GEF常见问题6:使用对话框,如需转载请自行联系原博主。

相关文章
|
12月前
《QT从基础到进阶·九》菜单,菜单栏,工具栏创建
《QT从基础到进阶·九》菜单,菜单栏,工具栏创建
61 0
|
程序员 Windows
【windows编程之对话框】对话框原理,对话框的创建
【windows编程之对话框】对话框原理,对话框的创建
PySide教程:简单的对话框应用程序
  本文将展示如何使用基本控件创建简单的对话框。主要流程是用户在QLineEdit中键入名字,点击QPushButton后会看见问候。   下面这个小程序将创建和显示对话框,小程序会在整个过程中更新,你可以将这个程序用在你需要的项目中。
1163 0
Qt实现自定义图标功能
在上一节的基础上进行定义图标的功能
208 0
Qt实现自定义图标功能
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
645 0
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
|
前端开发 容器
GEF入门实例_总结_06_为编辑器添加内容
一、前言 本文承接上一节:GEF入门实例_总结_05_显示一个空白编辑器 在上一节我们为我们的插件添加了一个空白的编辑器,这一节我们将为此编辑器添加内容。   二、GEF的MVC模式 在此只简单总结一下,后面会详细介绍。
1445 0
|
Python
PySide教程:一个简单的点击按钮示例
  在这篇文章里,我们将为你展示如何使用PySide使用信号、槽机制。基本来说,这是Qt提供给你的允许一个图形控件与其他图形控件或者python代码进行通讯的特性。   我们将要创建一个应用,你点击应用中的按钮后将在Python终端里显示"Hello World"字样。
1434 0
GEF入门实例_总结_05_显示一个空白编辑器
一、前言 本文承接上一节:GEF入门实例_总结_04_Eclipse插件启动流程分析 在第三节( GEF入门实例_总结_03_显示菜单和工具栏  ),我们创建了菜单和工具栏。 这一节,我们来实现:点击菜单后,打开一个编辑器。
1494 0