Home | History | Annotate | Download | only in flyout
      1 /*******************************************************************************
      2  * Copyright (c) 2011 Google, Inc.
      3  * All rights reserved. This program and the accompanying materials
      4  * are made available under the terms of the Eclipse Public License v1.0
      5  * which accompanies this distribution, and is available at
      6  * http://www.eclipse.org/legal/epl-v10.html
      7  *
      8  * Contributors:
      9  *    Google, Inc. - initial API and implementation
     10  *******************************************************************************/
     11 package org.eclipse.wb.core.controls.flyout;
     12 
     13 import org.eclipse.jface.preference.IPreferenceStore;
     14 
     15 /**
     16  * Implementation of {@link IFlyoutPreferences} for {@link IPreferenceStore}.
     17  *
     18  * @author scheglov_ke
     19  * @coverage core.control
     20  */
     21 public final class PluginFlyoutPreferences implements IFlyoutPreferences {
     22   private final IPreferenceStore m_store;
     23   private final String m_dockLocationKey;
     24   private final String m_stateKey;
     25   private final String m_widthKey;
     26 
     27   ////////////////////////////////////////////////////////////////////////////
     28   //
     29   // Constructor
     30   //
     31   ////////////////////////////////////////////////////////////////////////////
     32   public PluginFlyoutPreferences(IPreferenceStore store, String prefix) {
     33     m_store = store;
     34     m_dockLocationKey = prefix + ".flyout.dockLocation";
     35     m_stateKey = prefix + ".flyout.state";
     36     m_widthKey = prefix + ".flyout.width";
     37   }
     38 
     39   ////////////////////////////////////////////////////////////////////////////
     40   //
     41   // Access
     42   //
     43   ////////////////////////////////////////////////////////////////////////////
     44   /**
     45    * Initializes defaults using given values.
     46    */
     47   public void initializeDefaults(int location, int state, int width) {
     48     m_store.setDefault(m_dockLocationKey, location);
     49     m_store.setDefault(m_stateKey, state);
     50     m_store.setDefault(m_widthKey, width);
     51   }
     52 
     53   ////////////////////////////////////////////////////////////////////////////
     54   //
     55   // IFlyoutPreferences
     56   //
     57   ////////////////////////////////////////////////////////////////////////////
     58   public int getDockLocation() {
     59     return m_store.getInt(m_dockLocationKey);
     60   }
     61 
     62   public int getState() {
     63     return m_store.getInt(m_stateKey);
     64   }
     65 
     66   public int getWidth() {
     67     return m_store.getInt(m_widthKey);
     68   }
     69 
     70   public void setDockLocation(int location) {
     71     m_store.setValue(m_dockLocationKey, location);
     72   }
     73 
     74   public void setState(int state) {
     75     m_store.setValue(m_stateKey, state);
     76   }
     77 
     78   public void setWidth(int width) {
     79     m_store.setValue(m_widthKey, width);
     80   }
     81 }
     82