1

Eclipse Graphiti エディターのパレットを削除しようとしています。

org.eclipse.graphiti.ui.editor.DiagramBehaviorcreatePaletteBehaviour()オーバーライドする必要がありますが、 を返すと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 を使用することをお勧めします。

4

2 に答える 2

1

Eclipse フォーラムで返信を受け取りました: https://www.eclipse.org/forums/index.php/m/1698886/

「ツール動作プロバイダーでisShowFlyoutPalette() をオーバーライドし、そこに false を返してパレットを非表示にすることができます。」

これは私が探していたものです。

于 2015-06-18T14:12:04.253 に答える
0

これは私が思いついたハックです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 を使用したいと思います。

于 2015-06-18T06:59:57.410 に答える