1 // The contents of this file are subject to the Mozilla Public License Version 2 // 1.1 3 //(the "License"); you may not use this file except in compliance with the 4 //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ 5 // 6 //Software distributed under the License is distributed on an "AS IS" basis, 7 //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 8 //for the specific language governing rights and 9 //limitations under the License. 10 // 11 //The Original Code is "The Columba Project" 12 // 13 //The Initial Developers of the Original Code are Frederik Dietz and Timo 14 // Stich. 15 //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003. 16 // 17 //All Rights Reserved. 18 package org.columba.api.gui.frame; 19 20 import javax.swing.JComponent; 21 import javax.swing.JPopupMenu; 22 23 /** 24 * A dockable view which can be registered in a <code>IDock</code>. 25 * 26 * @author fdietz 27 */ 28 public interface IDockable { 29 30 /** 31 * Return dockable id; 32 * 33 * @return dockable id 34 */ 35 public String getId(); 36 37 /** 38 * Return dockable human-readable name. This name is used in the Show/Hide 39 * menu and is also the initially displayed title. 40 * 41 * @return dockable name 42 */ 43 public String resolveName(); 44 45 /** 46 * Return view component. 47 * 48 * @return view component 49 */ 50 public JComponent getView(); 51 52 /** 53 * Return popup menu instance. 54 * 55 * @return popup menu 56 */ 57 public JPopupMenu getPopupMenu(); 58 59 /** 60 * Set new dockable title. 61 * 62 * @param title 63 * new dockable title 64 */ 65 public void setTitle(String title); 66 } 67