问题标签 [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.
java - 如何更改 GEF 中的复选框大小(org.eclipse.draw2d.Checkbox)
在 GEF(图形编辑框架)中,是否可以更改复选框的大小和其中的复选标记?
我尝试了三种方法:
- 设置首选大小
- 设置大小
- 设置边界
但它们只能扩大它与其父级之间的填充。
eclipse-gef - gef :将子约束更改为新父项
我有一些流程元素,可以无限地包含其他流程元素。
我直接从调色板管理将新进程添加到其他进程中,它工作正常但是当我拖动一个已经绘制的进程以将其集成为另一个已经绘制的进程的新子进程时,编辑器不让我这样做,我有一个白色十字光标。
在我的模型中,Process 类正在扩展 ContainerElement 类,它处理子元素的添加和删除以及通知内容。
我在想,由于该过程将有一个新的父进程,我必须在更改 ConstraintCommand 中添加它
这是我的代码片段
我认为问题在于 gef 无法确定合适的布局管理器,我尝试了一些更改,但每次都出现强制转换或 stackoverflow 异常,请帮助!
java - 样式 TreeViewer 的滚动条
我有一个具有 draw2d 树和 Nebula 的编辑器GridTreeViewer
(基本上是 JFace TreeViewer
)。我需要的是工作,除了滚动条。在 draw2d 中,我得到由 JFace 提供的滚动条org.eclipse.draw2d.ScrollPane
,在GridTreeViewer
我得到来自 JFace 的滚动条。我不知道为什么,但是滚动条看起来不同,如果我没记错的话,我希望它们看起来一样,因为它们正在调用操作系统的本机控件?滚动条看起来不同有什么原因吗?有没有办法“降级”JFace 的滚动条看起来像 draw2d 的?也许设置 ScrollPane 的滚动条有误?
这是屏幕截图,这是在 Ubuntu 13.04 上:
eclipse - java.lang.NoClassDefFoundError: org/eclipse/draw2d/LightweightSystem 虽然添加了
我正在尝试使用 draw2d 进行插件开发。现在,我的代码中只有:
当我启动我的 Eclipse 应用程序时,我得到了 org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: org/eclipse/draw2d/LightweightSystem 。我已将 org.eclipse.draw2d 作为外部 jar 添加到我的项目中。
有人可以帮我吗?提前致谢!
java - 使用 ScrollPane 缓慢滚动
我一直在使用 draw2d 库(不是 GEF)和 ScrollPane。此 ScrollPane 中呈现的图形是一种带有一些 Rectangles 和 Connections 的图表,滚动还可以,但对于大图表来说,滚动速度很慢。没有连接,一切都足够快。怎么做,滚动也随着使用的连接快速进行?
滚动某种图像的解决方案不适用,因为用户可以对图表进行一些修改,所以设置了图形的边界,矩形改变了位置。
提前致谢,
eclipse - 为 GEF/Draw2d 图形等 UI 组件添加上下文相关帮助
由于 tooltip 只能提供较少的提示,我们决定为 draw2d 图形等 UI 组件添加 F1(上下文敏感)帮助。但是面临一个问题:我们找不到合适的位置和参数来调用该方法IWorkbenchHelpSystem.setHelp(Control control, String contextId)
。
现在我们做一个这样的解决方法:
如您所见,setHelp()
方法的第一个参数应该是 SWT 或 JFace 控件,但它被设置为当前工作台。我认为 draw2d 中的图形是轻量级的,并且与 SWT 或 JFace 没有任何关联。
感谢您的解决方案建议。
layout - 在 GEF 编辑器中以何种顺序(如果有)绘制节点?
我正在尝试将一个(非常)简单的图形布局算法插入我的 GEF 编辑器。我通过简单地向我的 s'添加calculateX()
和calculateY()
方法来做到这一点(图中显然有一个)。NodeEditPart
refreshVisuals()
XYLayout
它确实有效,尽管仅适用于那些与另一个节点有连接的节点,它们是另一个节点的源。当我尝试访问有问题的节点与其有连接的节点的约束时,它是目标,我得到一个NullPointerException
.
我猜这与在 GEF 中绘制节点的顺序有关。
我还猜测没有元素解析器检查哪些元素必须首先绘制,而是元素要么按照它们出现在 a 中的顺序绘制List
,要么同时通过EditPartFactory
从模型中的某种有序集合中获取其输入)。
但它是如何真正做到的?
java - 在 Canvas 中布局大量 draw2d 小部件
我们面临一个问题,在单个 Canvas 中处理大量 Draw2d 图形。我们正在构建一个节点树,在父节点和子节点之间建立连接。画布中的图形数量约为 10000(仅“节点”图形,还有大约 10000 个“连接”图形,我没有计算在内)。
我在图像中附上了我们的一个图表的一部分:
问题是这样的:树中的节点可以折叠或展开。当树中的节点数量约为 1000-2000 时,会立即发生折叠/展开。但是,当节点数增加时,折叠/展开任何特定节点需要越来越多的时间,这很烦人。
我已经编写了一些示例代码来查看问题是否出在我们的代码上,或者随着小部件数量的增加,draw2d 的性能通常会下降。示例应用程序中也存在同样的问题,这表明我们可能需要在 draw2d 代码库本身中进行一些优化。我在 Eclipse 中制作了一个视图来证明这一点。下面附上相同的代码。
尝试在视图中展开/折叠图形(通过单击“x”或“>”按钮),这需要时间(不会立即发生)。谁能提供一些关于如何解决这个问题的指示?
eclipse - ScrollPane 鼠标滚轮监听器
有没有办法为 ScrollPane 实现鼠标滚轮监听器?我看了几个选项:
- 视口似乎没有鼠标滚轮监听器
- 使用 gef 的 MouseWheelHelper 播放,但 y 值仅在我在 ScrollPane 内单击时发生变化,而不是在滚动鼠标滚轮时发生变化。虽然事件正在被触发。
此外,ScrollPane 没有设计为垂直滚动条。
eclipse-gef - 自定义 GEF 图的选择句柄
每当在 GEF 编辑器中选择一个图形时,默认情况下,我们会看到一个黑色的填充矩形调整大小手柄和一个黑色边框,勾勒出图形的轮廓。我正在实现一个功能,我明确地(通过代码)将句柄应用于图形。
以下是我面临的一些问题:
1) 把手没有靠近人物放置。它们被放置在手柄和图形之间留有一些空间
2)我想将填充的颜色从黑色更改为红色
我是这种开发的新手,因此任何自定义这些句柄的示例都将被充分使用。
提前致谢。