01: /*
02: * Copyright Javelin Software, All rights reserved.
03: */
04:
05: package com.javelin.swinglets.plaf;
06:
07: import java.awt.*;
08: import java.awt.event.*;
09:
10: import java.io.*;
11: import java.util.*;
12:
13: import com.javelin.swinglets.*;
14:
15: /**
16: * SComponentSI is a SComponent user interface.
17: *
18: * @author Robin Sharp
19: */
20:
21: public interface SComponentUI {
22: public final static int COMPONENT_ADDED = 300;
23: public final static int COMPONENT_REMOVED = 301;
24:
25: /**
26: * Get the look and feel class for this UI.
27: */
28: public Class getLookAndFeel();
29:
30: /**
31: * Render the UI on the output, in the Header.
32: */
33: public void updateHeader(Object out, SComponent c);
34:
35: /**
36: * Render the script code for a text the Header.
37: */
38: public void updateScript(Object out, SComponent c);
39:
40: /**
41: * Update the component header.
42: */
43: public void updateComponentHeader(Object out, SComponent c);
44:
45: /**
46: * Render the UI on the output, in the Body.
47: */
48: public void update(Object out, SComponent c);
49:
50: /**
51: * Update the component footer.
52: */
53: public void updateComponentFooter(Object out, SComponent c);
54:
55: /**
56: * Render the event handling script on the output, in the Body.
57: */
58: public void updateEvent(Object out, SComponent c);
59:
60: // EVENTS /////////////////////////////////////////////////////////////////////
61:
62: /**
63: * Adds the specified listener to receive component events from
64: * the SComponent.
65: */
66: public void addListener(EventListener listener);
67:
68: /**
69: * Removes the specified listener so that it no longer
70: * receives events from the SComponent.
71: */
72: public void removeListener(EventListener listener);
73:
74: /**
75: * Adds the listeners to receive component events from
76: * the SComponent at initialisation.
77: */
78: public void addListeners(SComponent component)
79: throws TooManyListenersException;
80:
81: /**
82: * Removes all the listeners that received component events from
83: * the SComponent at initialisation.
84: */
85: public void removeListeners(SComponent component);
86:
87: /**
88: * Tell the underlying UI that the container has been changed
89: */
90: public void update(SComponent c, int id, int index);
91:
92: /**
93: * Tell the underlying UI that the container has been changed, when
94: * added to a layout manager.
95: */
96: public void update(SComponent c, int id, Object constraint);
97:
98: }
|