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:使用对话框,如需转载请自行联系原博主。

相关文章
|
5月前
|
Android开发
Android Studio APP开发入门之对话框Dialog的讲解及使用(附源码 包括提醒对话框,日期对话框,时间对话框)
Android Studio APP开发入门之对话框Dialog的讲解及使用(附源码 包括提醒对话框,日期对话框,时间对话框)
74 0
|
程序员 Windows
【windows编程之对话框】对话框原理,对话框的创建
【windows编程之对话框】对话框原理,对话框的创建
|
Python
pycharm 2020 版取消鼠标悬停显示说明文档的方法
pycharm 2020 版取消鼠标悬停显示说明文档的方法
126 0
PySide教程:简单的对话框应用程序
  本文将展示如何使用基本控件创建简单的对话框。主要流程是用户在QLineEdit中键入名字,点击QPushButton后会看见问候。   下面这个小程序将创建和显示对话框,小程序会在整个过程中更新,你可以将这个程序用在你需要的项目中。
1157 0
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
630 0
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
|
前端开发 容器
GEF入门实例_总结_06_为编辑器添加内容
一、前言 本文承接上一节:GEF入门实例_总结_05_显示一个空白编辑器 在上一节我们为我们的插件添加了一个空白的编辑器,这一节我们将为此编辑器添加内容。   二、GEF的MVC模式 在此只简单总结一下,后面会详细介绍。
1434 0
|
Python
PySide教程:一个简单的点击按钮示例
  在这篇文章里,我们将为你展示如何使用PySide使用信号、槽机制。基本来说,这是Qt提供给你的允许一个图形控件与其他图形控件或者python代码进行通讯的特性。   我们将要创建一个应用,你点击应用中的按钮后将在Python终端里显示"Hello World"字样。
1426 0
点击abap的选择屏幕工具栏按钮下载excel模板
自己编写一个report,分配了事务码以后,执行该事务码,在选择屏幕界面看到一个按钮,点击这个按钮,就可以将预先上传至sap服务器的excel文件下载到本地。服务器上的excel文件是预先通过事务码SMW0上传到SAP服务器系统的:选择包,然后执行,看看里面有什么如下图,就是目前SAP系统中存在的e.
2802 0
xal
|
Web App开发 JSON 前端开发
VSCode插件开发全攻略(八)代码片段、设置、自定义欢迎页
更多文章请戳[VSCode插件开发全攻略系列目录导航](https://www.atatech.org/articles/121864)。 # 代码片段 代码片段,也叫`snippets`,相信大家都不陌生,就是输入一个很简单的单词然后一回车带出来很多代码。平时大家也可以直接在vscode中创建属于自己的`snippets`: ![_W354xH542_](http://imag
xal
2554 0
|
Android开发 Windows
GEF入门实例_总结_03_显示菜单和工具栏
一、前言 本文承接上一节: GEF入门实例_总结_02_新建初始RCP空项目 这一节,我们来给我们的插件加上菜单。   二、基础知识 1.action bar、menubar、coolbar   含义 action bar 操作条 action 动作。
1232 0