我如何 disable/remove Eclipse Graphiti 编辑器的调色板?
How do I disable/remove the Palette of an Eclipse Graphiti editor?
正在尝试删除 Eclipse Graphiti 编辑器的调色板。
org.eclipse.graphiti.ui.editor.DiagramBehavior
有一个 createPaletteBehaviour()
可以覆盖,但是如果我 return null
,编辑器会崩溃。
我也在图表行为中尝试过这个,但我实际上不希望它折叠但被删除:
@Override
protected DefaultPaletteBehavior createPaletteBehaviour() {
return new DefaultPaletteBehavior(this) {
@Override
public FlyoutPreferences getPalettePreferences() {
FlyoutPreferences palettePreferences = super.getPalettePreferences();
palettePreferences.setPaletteState(FlyoutPaletteComposite.STATE_COLLAPSED);
return palettePreferences;
}
};
}
我也更愿意使用一些 API 而不是操纵首选项。
这是我想出的 hack,有一个 org.eclipse.gef.ui.palette.FlyoutPaletteComposite.STATE_HIDDEN
的值为“8”,因为常量是私有的(可能不应该使用)我必须直接设置它。
@Override
protected DefaultPaletteBehavior createPaletteBehaviour() {
return new DefaultPaletteBehavior(this) {
@Override
public FlyoutPreferences getPalettePreferences() {
FlyoutPreferences palettePreferences = super.getPalettePreferences();
palettePreferences.setPaletteState(8);
return palettePreferences;
}
};
}
但如前所述,我更喜欢 API 而不是这个偏好 hack。
刚在eclipse论坛上得到回复:
https://www.eclipse.org/forums/index.php/m/1698886/
"您可以在工具行为提供程序中覆盖 isShowFlyoutPalette() 并且
return false 隐藏调色板。"
这就是我要找的。
正在尝试删除 Eclipse Graphiti 编辑器的调色板。
org.eclipse.graphiti.ui.editor.DiagramBehavior
有一个 createPaletteBehaviour()
可以覆盖,但是如果我 return null
,编辑器会崩溃。
我也在图表行为中尝试过这个,但我实际上不希望它折叠但被删除:
@Override
protected DefaultPaletteBehavior createPaletteBehaviour() {
return new DefaultPaletteBehavior(this) {
@Override
public FlyoutPreferences getPalettePreferences() {
FlyoutPreferences palettePreferences = super.getPalettePreferences();
palettePreferences.setPaletteState(FlyoutPaletteComposite.STATE_COLLAPSED);
return palettePreferences;
}
};
}
我也更愿意使用一些 API 而不是操纵首选项。
这是我想出的 hack,有一个 org.eclipse.gef.ui.palette.FlyoutPaletteComposite.STATE_HIDDEN
的值为“8”,因为常量是私有的(可能不应该使用)我必须直接设置它。
@Override
protected DefaultPaletteBehavior createPaletteBehaviour() {
return new DefaultPaletteBehavior(this) {
@Override
public FlyoutPreferences getPalettePreferences() {
FlyoutPreferences palettePreferences = super.getPalettePreferences();
palettePreferences.setPaletteState(8);
return palettePreferences;
}
};
}
但如前所述,我更喜欢 API 而不是这个偏好 hack。
刚在eclipse论坛上得到回复: https://www.eclipse.org/forums/index.php/m/1698886/
"您可以在工具行为提供程序中覆盖 isShowFlyoutPalette() 并且 return false 隐藏调色板。"
这就是我要找的。