# re: [Dengues] 关于如何配置GEF中的Palette  回复  更多评论
						  
					
					2007-10-26 11:24 by 
				
 
				补充一下其实说白了,在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);
}