簡體   English   中英

如何禁用/刪除Eclipse Graphiti編輯器的面板?

[英]How do I disable/remove the Palette of an Eclipse Graphiti editor?

嘗試刪除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而不是操縱首選項。

我剛剛在eclipse論壇上得到了答復: https : //www.eclipse.org/forums/index.php/m/1698886/

您可以在工具行為提供程序中覆蓋isShowFlyoutPalette()並在其中返回false以隱藏調色板。”

這就是我想要的。

這是我想出的辦法,這里有一個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而不是這種偏好設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM