14b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye/******************************************************************************* 24b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Copyright (c) 2011 Google, Inc. 34b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * All rights reserved. This program and the accompanying materials 44b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * are made available under the terms of the Eclipse Public License v1.0 54b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * which accompanies this distribution, and is available at 64b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * http://www.eclipse.org/legal/epl-v10.html 74b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * 84b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Contributors: 94b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Google, Inc. - initial API and implementation 104b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye *******************************************************************************/ 114b1a9d7baa71df312585022c22e8025fafaba95aTor Norbyepackage org.eclipse.wb.core.controls.flyout; 124b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 134b1a9d7baa71df312585022c22e8025fafaba95aTor Norbyeimport org.eclipse.jface.preference.IPreferenceStore; 144b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 154b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye/** 164b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Implementation of {@link IFlyoutPreferences} for {@link IPreferenceStore}. 174b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * 184b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * @author scheglov_ke 194b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * @coverage core.control 204b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye */ 214b1a9d7baa71df312585022c22e8025fafaba95aTor Norbyepublic final class PluginFlyoutPreferences implements IFlyoutPreferences { 224b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye private final IPreferenceStore m_store; 234b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye private final String m_dockLocationKey; 244b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye private final String m_stateKey; 254b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye private final String m_widthKey; 264b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 274b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye //////////////////////////////////////////////////////////////////////////// 284b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye // 294b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye // Constructor 304b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye // 314b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye //////////////////////////////////////////////////////////////////////////// 324b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye public PluginFlyoutPreferences(IPreferenceStore store, String prefix) { 334b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye m_store = store; 344b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye m_dockLocationKey = prefix + ".flyout.dockLocation"; 354b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye m_stateKey = prefix + ".flyout.state"; 364b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye m_widthKey = prefix + ".flyout.width"; 374b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye } 384b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 394b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye //////////////////////////////////////////////////////////////////////////// 404b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye // 414b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye // Access 424b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye // 434b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye //////////////////////////////////////////////////////////////////////////// 444b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye /** 454b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye * Initializes defaults using given values. 464b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye */ 474b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye public void initializeDefaults(int location, int state, int width) { 484b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye m_store.setDefault(m_dockLocationKey, location); 494b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye m_store.setDefault(m_stateKey, state); 504b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye m_store.setDefault(m_widthKey, width); 514b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye } 524b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 534b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye //////////////////////////////////////////////////////////////////////////// 544b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye // 554b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye // IFlyoutPreferences 564b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye // 574b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye //////////////////////////////////////////////////////////////////////////// 584b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye public int getDockLocation() { 594b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye return m_store.getInt(m_dockLocationKey); 604b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye } 614b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 624b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye public int getState() { 634b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye return m_store.getInt(m_stateKey); 644b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye } 654b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 664b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye public int getWidth() { 674b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye return m_store.getInt(m_widthKey); 684b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye } 694b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 704b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye public void setDockLocation(int location) { 714b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye m_store.setValue(m_dockLocationKey, location); 724b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye } 734b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 744b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye public void setState(int state) { 754b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye m_store.setValue(m_stateKey, state); 764b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye } 774b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye 784b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye public void setWidth(int width) { 794b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye m_store.setValue(m_widthKey, width); 804b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye } 814b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye} 82