/*
* Software Name : ATK
*
* Copyright (C) 2007 - 2012 France Télécom
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* ------------------------------------------------------------------
* File Name : IGUICommon.java
*
* Created : 16/02/2007
* Author(s) : Aurore PENAULT
*/
package com.orange.atk.atkUI.coregui;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
/**
* IGUICommon is an extension point to allow other plugins adding
* elements to the user interface.
*
* @author Aurore PENAULT
* @since JDK5.0
*/
public interface IGUICommon {
/**
* To get back the main panel from each plugin.
* @return
*/
public JPanel getMainPanel();
/**
* To get a name to display for a plugin.
* Used by GUI to diplay the identification of plugins
* @return the name to display for the plugin
*/
public String getDisplayName();
/**
* Notify that the component is now on screen
*/
public void notifySelected();
/**
* Enable or disable menu or buttons of the concerned plugin.
*/
public void updateButtons();
/**
* @param b
*/
public void enableUserActions(boolean b);
/**
* Get back a <code>JMenuItem</code> that goes to 'File' menu defined
* by the gui plugin.
* NB: One can return a <code>JMenu</code> (that extends <code>JMenuItem</code>)
* in order to have a submenu.
* @return a <code>JMenuItem</code>
*/
public JMenuItem getFileMenuItem();
/**
* Get back a <code>JMenuItem</code> that goes to 'Tools' menu defined
* by the gui plugin
* NB: One can return a <code>JMenu</code> (that extends <code>JMenuItem</code>)
* in order to have a submenu.
* @return a <code>JMenuItem</code>
*/
public JMenuItem getToolsMenuItem();
/**
* Disable all the buttons but the Stop Button
* @param boolean
*/
public void disableButtonsButStop();
}