问题标签 [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.
eclipse-gef - 如何添加 DropListener 以在 draw2d 标签中放置文本
我正在尝试添加一个 dropListener,以便我可以在 GEf 编辑器中将文本拖放到 draw2d 标签中,任何人都可以帮助我如何做到这一点。一个很好的例子。
java - GEF EditParts 中的直接编辑确认
简介:
我编写了一个 Eclipse 插件,其中包含一个我用GEF实现的编辑器。我的编辑器中有节点和边。节点有名称,我想通过直接编辑来编辑节点的名称。
我将直接编辑策略安装到节点编辑部分:
直接编辑策略执行直接编辑命令。
问题是: 要确认直接编辑,我必须按 STRG + ENTER。如果我只按 ENTER,则直接编辑将扩展为新行。有什么方法可以使直接编辑可以简单地用 ENTER 确认?不需要多行节点名称。
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 的子类,它构造了自己的装饰子图形。
java - 如何处理在 Draw2D 标签上设置的 SWT 字体?
在 GEF 编辑器中,我有以下内容EditPart
:
大多数模型都可以正常工作,但是-您已经发现了错误-我从不处理字体。因此,对于 10k+ 个令牌的大型模型,这会抛出一个org.eclipse.swt.SWTError: No more handles
. 至少我认为(希望)这是导致错误的原因。
现在我不知道如何处理字体,因为 EditPart 的图形是 Draw2D 标签,而不是 SWT 小部件。如何确保可以规避可怕的错误?
eclipse - 无法使用 Job 取消缩放操作
我正在开发一个 Eclipse RCP 应用程序。我有一个ScalableLayeredPane
我有大约 800 个数字。
我需要使用setScale()
方法更改缩放值。
我还想使用 Job 显示缩放的进度。
我正在使用asyncexec
方法来调用setScale()
函数。但是,我的 GUI 饿死了,我也无法单击取消按钮。
对此的任何帮助将不胜感激。
这就是我正在做的事情。
但是,当运行此特定代码时,GUI 变得无响应并且无法按下取消按钮。我总是收到"Job done!"
消息。
我也尝试过使用PlatformUI#getWorkbench()#getDisplay()#syncExec
运行 UI 线程的方法。那没有用。
我的分析表明setScale
操作本身需要很长时间,从而使 GUI 无响应。我需要setScale
从另一个线程调用(如果可能的话),这样Main
线程就不会挂断。
java - 在 FigureCanvas 上的现有节点之间绘制 PolylineConnection
我有要绘制的节点列表。这里节点的意思是RectangleFigure
。因此,所有这些节点都首先绘制在 canvas( FigureCanvas
) 上,然后我维护了一张地图,该地图在之前绘制的节点之间具有依赖关系。在地图中,键是节点,值只是维护的节点列表。
例如有3个节点,[ClassA, ClassB, InterfaceC]
我把它们画在画布上。我的地图如下所示: [ClassA=[ClassB], ClassB=[InterfaceC]] 所以,它的意思是ClassA extends ClassB
and ClassB implements InterfaceC
。
现在,我想PolylineConnection
在已经绘制的节点之间绘制,使用维护的地图。那么,我该如何进行呢?
任何指针都非常感谢,在此先感谢!
java - 如何收到绘画完成通知?
有谁知道什么时候收到通知
被执行?
org.eclipse.draw2d.DeferredUpdateManager.performUpdate(new Rectangle(gc.getClipping())
异步工作。
我看了看,org.eclipse.draw2d.UpdateListener
但它没有通知绘画完成的方法。
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
eclipse-gef - 通过 getChildren() 对 GEF 中的嵌套图形进行排序
我有一个带有工具栏布局的图。我在其中添加了一个标签(绘制 2D)。
我必须在其中动态添加另一个数字。但是当我添加它时,标签向下移动,新添加的图形出现在顶部。
我尝试通过添加标签add(IFigure, index)
方法添加标签,索引为0但没用!
我注意到getChilden()
列表底部有我的标签。我可以继续重新排序列表,但我认为这不是一个好主意。
我该怎么做才能使新添加的数字始终位于底部?
除了工具栏布局,我不能使用任何其他布局。
eclipse-gef - 以编程方式更改 GEF 中图形的高度
我有一个案例,我必须在另一个图中添加数字,即嵌套数字。
我的图将包含其他图extends org.eclipse.draw2d.Figure
。
当该图形包含超过 4 个图形时,我想更改它的高度,以便所有嵌套图形一次可见。
所以,在paintFigure(Graphics graphics)
方法中,我这样做:
但这不会改变高度。好吧,它确实会暂时改变它,但是当下次再次调用它时,它再次具有以前的高度,而不是更新后的高度。
因此,从视觉上看,图形高度根本没有变化。
关于我做错了什么的任何想法?
或者以不同和/或更好的方式做到这一点?