1 package fr.ove.openmath.jome.behaviour;
2
3 /***
4 * Interface that must implement all objects that want to be iconified and then uniconified.<BR>
5 *
6 * @author © 1999 DIRAT Laurent
7 * @version 2.0 29/06/1999
8 */
9 public interface Iconifiable {
10 /***
11 * Associates an icon name to the instance.
12 *
13 * @param iconName the name of the icon
14 */
15 public void setIconName(String iconName);
16
17 /***
18 * Returns the name of the icon associated to the instance.
19 *
20 * @returns The name of the icon, or <CODE>null</CODE> if there is no name
21 * associated.
22 */
23 public String getIconName();
24
25 /***
26 * @return <CODE>true</CODE> if the instance is an icon. <CODE>false</CODE> otherwise.
27 */
28 public boolean isIcon();
29
30 /***
31 * Iconifies the selection of the instance.<BR>
32 * An icon, can't be inconified. But, we can inconify icons _plus_
33 * non-icon parts. The process works as russian dolls.
34 */
35 public void iconify();
36
37 /***
38 * Uniconifies all the selected icons.<BR>
39 * If the icons contains other icons, these are _not_ uniconified. There is no
40 * recursion process.
41 */
42 public void uniconify();
43
44 /***
45 * Uniconifies all the selected icons.<BR>
46 * If the icons contains other icons, these are uniconified. There is a
47 * recursion process.
48 */
49 public void uniconifyAll();
50
51 /***
52 * Sets the istance as iconifiable.
53 * @param isIconifiable <CODE>true</CODE> if the instance is iconifiable.
54 * <CODE>false</CODE> otherwise.
55 */
56 public void setIsIconifiable(boolean isIconifiable);
57
58 /***
59 * Returns <CODE>true</CODE> if the instance is iconifiable.
60 * <CODE>false</CODE> otherwise.
61 */
62 public boolean isIconifiable();
63 }