Java 如何禁用/删除Eclipse Graphiti编辑器的调色板?
试图删除Eclipse Graphiti编辑器的调色板Java 如何禁用/删除Eclipse Graphiti编辑器的调色板?,java,eclipse,graphiti,Java,Eclipse,Graphiti,试图删除Eclipse Graphiti编辑器的调色板 org.eclipse.graphiti.ui.editor.DiagramBehavior有一个createPaletteBehavior() 我也在图表行为中尝试了这一点,但实际上我不希望它被折叠,而是被删除: @Override protected DefaultPaletteBehavior createPaletteBehaviour() { return new DefaultPaletteBehavior(this)
org.eclipse.graphiti.ui.editor.DiagramBehavior
有一个createPaletteBehavior()
我也在图表行为中尝试了这一点,但实际上我不希望它被折叠,而是被删除:
@Override
protected DefaultPaletteBehavior createPaletteBehaviour() {
return new DefaultPaletteBehavior(this) {
@Override
public FlyoutPreferences getPalettePreferences() {
FlyoutPreferences palettePreferences = super.getPalettePreferences();
palettePreferences.setPaletteState(FlyoutPaletteComposite.STATE_COLLAPSED);
return palettePreferences;
}
};
}
我还希望使用一些API,而不是操纵首选项。这是我想出的一个方法,有一个org.eclipse.gef.ui.palete.FlyoutPaletteComposite.STATE\u HIDDEN
值为“8”,因为常量是私有的(可能不应该使用),我必须直接设置它
@Override
protected DefaultPaletteBehavior createPaletteBehaviour() {
return new DefaultPaletteBehavior(this) {
@Override
public FlyoutPreferences getPalettePreferences() {
FlyoutPreferences palettePreferences = super.getPalettePreferences();
palettePreferences.setPaletteState(8);
return palettePreferences;
}
};
}
但正如前面提到的,我更喜欢API,而不是这种偏好黑客。我刚刚在eclipse论坛上得到回复:
“您可以覆盖工具行为提供程序中的IsShowFlyOutpalete(),并
在此处返回false以隐藏调色板。“
这就是我一直在寻找的。FYI:据我所知,Graphiti内部也使用了您之前介绍的hack,因为GEF没有提供API方法来隐藏flyOutpalete。(这只是作为背景信息)