尝试删除Eclipse Graphiti编辑器的调色板。
org.eclipse.graphiti.ui.editor.DiagramBehavior
要覆盖createPaletteBehaviour()
,但如果我返回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而不是操纵首选项。
答案 0 :(得分:1)
我刚收到eclipse论坛的回复: https://www.eclipse.org/forums/index.php/m/1698886/
" 您可以在工具行为提供程序中覆盖isShowFlyoutPalette() 返回false以隐藏调色板。"
这就是我想要的。
答案 1 :(得分:0)
这是我提出的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而不是这种偏好黑客。