问题标签 [draw2d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
263 浏览

eclipse-gef - 如何添加 DropListener 以在 draw2d 标签中放置文本

我正在尝试添加一个 dropListener,以便我可以在 GEf 编辑器中将文本拖放到 draw2d 标签中,任何人都可以帮助我如何做到这一点。一个很好的例子。

0 投票
1 回答
166 浏览

java - GEF EditParts 中的直接编辑确认

简介:
我编写了一个 Eclipse 插件,其中包含一个我用GEF实现的编辑器。我的编辑器中有节点和边。节点有名称,我想通过直接编辑来编辑节点的名称。

我将直接编辑策略安装到节点编辑部分:

直接编辑策略执行直接编辑命令。

问题是: 要确认直接编辑,我必须按 STRG + ENTER。如果我只按 ENTER,则直接编辑将扩展为新行。有什么方法可以使直接编辑可以简单地用 ENTER 确认?不需要多行节点名称。

0 投票
1 回答
905 浏览

eclipse-gef - GEF - 子 EditParts 被绘制在父级的其他图形下方?

我试图在 Eclipse 中使用 GEF 支持的图形编辑器来说明(和编辑)一个 xml 模型。我的 xml 模型在其父子层次结构中最多可以有五个级别。层次结构中的每个元素都是其自己的 EditPart(看起来像一个框)。子元素将表示为包含在其父框内的“框”EditPart,依此类推...

我的每个 EditPart 都将有一个 draw2d 图形,它本身将至少有两个或三个以上(装饰性的)draw2d 图形。装饰图形是标题矩形、内容矩形、标签等。我看到这些装饰图形被绘制在 EditPart 的子 EditPart 上方 - 这意味着我看不到任何子 EditPart。

我有一个解决方法,我将手动强制子 EditPart 的图形移动到其父 EditPart 的图形堆栈的顶部:

然而,这只是部分奏效。子 EditPart 现在呈现在父 EditPart 上方,但就 Gef 而言,它位于下方 - 一些 Gef 事件(如拖放侦听器和工具提示)的行为就像子 EditPart 不存在一样。

编辑:

EditPart 的图形由以下方式创建

其中 PageFigure 是 Figure 的子类,它构造了自己的装饰子图形。

0 投票
2 回答
602 浏览

java - 如何处理在 Draw2D 标签上设置的 SWT 字体?

在 GEF 编辑器中,我有以下内容EditPart

大多数模型都可以正常工作,但是-您已经发现了错误-我从不处理字体。因此,对于 10k+ 个令牌的大型模型,这会抛出一个org.eclipse.swt.SWTError: No more handles. 至少我认为(希望)这是导致错误的原因。

现在我不知道如何处理字体,因为 EditPart 的图形是 Draw2D 标签,而不是 SWT 小部件。如何确保可以规避可怕的错误?

0 投票
1 回答
73 浏览

eclipse - 无法使用 Job 取消缩放操作

我正在开发一个 Eclipse RCP 应用程序。我有一个ScalableLayeredPane我有大约 800 个数字。

我需要使用setScale()方法更改缩放值。

我还想使用 Job 显示缩放的进度。

我正在使用asyncexec方法来调用setScale()函数。但是,我的 GUI 饿死了,我也无法单击取消按钮。

对此的任何帮助将不胜感激。

这就是我正在做的事情。

但是,当运行此特定代码时,GUI 变得无响应并且无法按下取消按钮。我总是收到"Job done!"消息。

我也尝试过使用PlatformUI#getWorkbench()#getDisplay()#syncExec运行 UI 线程的方法。那没有用。

我的分析表明setScale操作本身需要很长时间,从而使 GUI 无响应。我需要setScale从另一个线程调用(如果可能的话),这样Main线程就不会挂断。

0 投票
2 回答
226 浏览

java - 在 FigureCanvas 上的现有节点之间绘制 PolylineConnection

我有要绘制的节点列表。这里节点的意思是RectangleFigure。因此,所有这些节点都首先绘制在 canvas( FigureCanvas) 上,然后我维护了一张地图,该地图在之前绘制的节点之间具有依赖关系。在地图中,键是节点,值只是维护的节点列表。

例如有3个节点,[ClassA, ClassB, InterfaceC]

我把它们画在画布上。我的地图如下所示: [ClassA=[ClassB], ClassB=[InterfaceC]] 所以,它的意思是ClassA extends ClassBand ClassB implements InterfaceC

现在,我想PolylineConnection在已经绘制的节点之间绘制,使用维护的地图。那么,我该如何进行呢?

任何指针都非常感谢,在此先感谢!

0 投票
0 回答
38 浏览

java - 如何收到绘画完成通知?

有谁知道什么时候收到通知

被执行? org.eclipse.draw2d.DeferredUpdateManager.performUpdate(new Rectangle(gc.getClipping())异步工作。

我看了看,org.eclipse.draw2d.UpdateListener但它没有通知绘画完成的方法。

0 投票
1 回答
812 浏览

java - 我想更改文本流或标签中的字体大小

我正在实现多行标签图。

我有个问题。

如何更改文本流的字体大小?

在更改字体数据的高度值之前,我尝试了方法 [textflow.setFont]。

使用此代码,Font tFont = m_Textflow.getFont(); FontData[] tFontDataList = tFont.getFontData(); tFontDataList[0].setHeight(aSize); m_Textflow.setFont(new Font(null, tFontDataList[0]));

但这并没有正常工作,并且在头部留下了任何空间。

请帮帮我T^T

0 投票
1 回答
143 浏览

eclipse-gef - 通过 getChildren() 对 GEF 中的嵌套图形进行排序

我有一个带有工具栏布局的图。我在其中添加了一个标签(绘制 2D)。

我必须在其中动态添加另一个数字。但是当我添加它时,标签向下移动,新添加的图形出现在顶部。

我尝试通过添加标签add(IFigure, index)方法添加标签,索引为0但没用!

我注意到getChilden()列表底部有我的标签。我可以继续重新排序列表,但我认为这不是一个好主意。

我该怎么做才能使新添加的数字始终位于底部?

除了工具栏布局,我不能使用任何其他布局。

0 投票
1 回答
132 浏览

eclipse-gef - 以编程方式更改 GEF 中图形的高度

我有一个案例,我必须在另一个图中添加数字,即嵌套数字。

我的图将包含其他图extends org.eclipse.draw2d.Figure

当该图形包含超过 4 个图形时,我想更改它的高度,以便所有嵌套图形一次可见。

所以,在paintFigure(Graphics graphics)方法中,我这样做:

但这不会改变高度。好吧,它确实会暂时改变它,但是当下次再次调用它时,它再次具有以前的高度,而不是更新后的高度。

因此,从视觉上看,图形高度根本没有变化。

关于我做错了什么的任何想法?

或者以不同和/或更好的方式做到这一点?