/******************************************************************************* * Copyright (c) 2006 IBM Corporation 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 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.ui.internal.cheatsheets.state; import java.util.Properties; import org.eclipse.core.runtime.IStatus; import org.eclipse.ui.internal.cheatsheets.registry.CheatSheetElement; import org.eclipse.ui.internal.cheatsheets.views.CheatSheetManager; /** * This interface is an abstraction of the state saving functions for a cheat sheet. * Depending on how a cheat sheet is opened the state may be opened from * a memento passed in, a file whose name is determined from the id of the * cheat sheet, or in the case of a tray dialog it is passed using an object. */ public interface ICheatSheetStateManager { /** * Will be called before any of the functions to get or save state * @param element */ public void setElement(CheatSheetElement element); /** * Load the properties from the state file/memento/memory */ public Properties getProperties(); /** * Load the cheat sheet manager from state file/memento/memory */ public CheatSheetManager getCheatSheetManager(); /** * Save the properties and the cheat sheet manager * @param properties * @param manager * @return */ public IStatus saveState(Properties properties, CheatSheetManager manager); }