/******************************************************************************* * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * *******************************************************************************/ package com.cisco.yangide.editor.preferences; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; /** * Interface for preference configuration blocks which can either be wrapped by a * {@link com.cisco.yangide.editor.preferences.AbstractConfigurationBlockPreferencePage} or be * included some preference page. * <p> * Clients may implement this interface. * </p> * * @author Alexey Kholupko */ public interface IPreferenceConfigurationBlock { /** * Creates the preference control. */ Control createControl(Composite parent); /** * Called after creating the control. Implementations should load the preferences values and * update the controls accordingly. */ void initialize(); /** * Called when the <code>OK</code> button is pressed on the preference page. Implementations * should commit the configured preference settings into their form of preference storage. */ void performOk(); /** * Called when the <code>Defaults</code> button is pressed on the preference page. * Implementation should reset any preference settings to their default values and adjust the * controls accordingly. */ void performDefaults(); /** * Called when the preference page is being disposed. Implementations should free any resources * they are holding on to. */ void dispose(); }