View Javadoc

    1   /*
    2    *  soapUI, copyright (C) 2004-2007 eviware.com
    3    *
    4    *  soapUI is free software; you can redistribute it and/or modify it under the
    5    *  terms of version 2.1 of the GNU Lesser General Public License as published by
    6    *  the Free Software Foundation.
    7    *
    8    *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
    9    *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    10   *  See the GNU Lesser General Public License for more details at gnu.org.
    11   */
    12
    13  package com.eviware.soapui.ui.desktop;
    14
    15  import javax.swing.Icon;
    16  import javax.swing.JComponent;
    17
    18  import com.eviware.soapui.model.ModelItem;
    19  import com.eviware.soapui.support.PropertyChangeNotifier;
    20
    21  /***
    22   * Behaviour for a SoapUI desktop panel
    23   *
    24   * @author Ole.Matzura
    25   */
    26
    27  public interface DesktopPanel extends PropertyChangeNotifier
    28  {
    29  	public final static String TITLE_PROPERTY = DesktopPanel.class.getName() + "@title";
    30  	public final static String ICON_PROPERTY = DesktopPanel.class.getName() + "@icon";
    31
    32  	/***
    33  	 * Gets the title for this desktop panel
    34  	 */
    35
    36  	public String getTitle();
    37
    38  	/***
    39  	 * Gets the description for this desktop panel.. may be used as tooltip, etc..
    40  	 * @return
    41  	 */
    42
    43  	public String getDescription();
    44
    45  	/***
    46  	 * Gets the model item associated with this desktop panel
    47  	 */
    48
    49     public ModelItem getModelItem();
    50
    51     /***
    52      * Called when a desktop panel is about to be closed, may be overriden (depending on situation) by returning
    53      * false if canCancel is set to true.
    54      */
    55
    56     public boolean onClose( boolean canCancel );
    57
    58     /***
    59      * Gets the component used to display this desktop panel
    60      */
    61
    62     public JComponent getComponent();
    63
    64     /***
    65      * Checks if this desktop panel depends on the existence of the specified model item, used
    66      * for closing relevant panels.
    67      *
    68      * @param modelItem
    69      */
    70
    71     public boolean dependsOn( ModelItem modelItem );
    72
    73     /***
    74      * Returns the icon for this panel
    75      */
    76
    77  	public Icon getIcon();
    78  }