我的评论

re: [Dengues] 关于如何配置GEF中的Palette 小张飞刀(Dengues Studio) 2007-10-26 11:24  
补充一下其实说白了,在Graphical Editor的getPalettePreference方法里返回一个FlyoutPreferences对象就可以了,它是一个写在FlyoutPaletteComposite里的接口,源代码如下:


/**
* FlyoutPreferences is used to save/load the preferences for the flyout palette.
*
* @author Pratik Shah
* @since 3.0
*/
public interface FlyoutPreferences {
/**
* Should return {@link PositionConstants#EAST} or {@link PositionConstants#WEST}.
* Any other int will be ignored and the default dock location (EAST) will be
* used instead.
* @return the saved dock location of the Palette
*/
int getDockLocation();
/**
* When there is no saved state, this method can return any non-positive int (which
* will result in the palette using the default state -- collapsed), or
* {@link FlyoutPaletteComposite#STATE_COLLAPSED}, or
* {@link FlyoutPaletteComposite#STATE_PINNED_OPEN}
* @return the saved state of the palette
*/
int getPaletteState();
/**
* When there is no saved width, this method can return any int (preferrably a
* non-positive int). Returning a non-positive int will cause the palette to be
* sized to the default size, whereas returning a postive int will find the
* closest match in the valid range (>= minimum and <= maximum)
* @return the saved width of the flyout palette
*/
int getPaletteWidth();
/**
* This method is invoked when the flyout palette's dock location is changed. The
* provided dock location should be persisted and returned in
* {@link #getDockLocation()}.
* @param location {@link PositionConstants#EAST} or {@link PositionConstants#WEST}
*/
void setDockLocation(int location);
/**
* This method is invoked when the flyout palette's state is changed (the new state
* becomes the default). The provided state should be persisted and returned in
* {@link #getPaletteState()}.
* @param state {@link FlyoutPaletteComposite#STATE_COLLAPSED} or
* {@link FlyoutPaletteComposite#STATE_PINNED_OPEN}
*/
void setPaletteState(int state);
/**
* This method is invoked when the flyout palette is resized. The provided width
* should be persisted and returned in {@link #getPaletteWidth()}.
* @param width the new size of the flyout palette
*/
void setPaletteWidth(int width);
}