01: // The contents of this file are subject to the Mozilla Public License Version
02: // 1.1
03: //(the "License"); you may not use this file except in compliance with the
04: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
05: //
06: //Software distributed under the License is distributed on an "AS IS" basis,
07: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
08: //for the specific language governing rights and
09: //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: }
|