001: // @@
002: // @@
003: /*
004: * Wi.Ser Framework
005: *
006: * Version: 1.8.1, 20-September-2007
007: * Copyright (C) 2005 Dirk von der Weiden <dvdw@imail.de>
008: *
009: * This library is free software; you can redistribute it and/or
010: * modify it under the terms of the GNU Lesser General Public
011: * License as published by the Free Software Foundation; either
012: * version 2 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: * Lesser General Public License for more details.
018: *
019: * You should have received a copy of the GNU Lesser General Public
020: * License along with this library located in LGPL.txt in the
021: * license directory; if not, write to the
022: * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
023: * Boston, MA 02111-1307, USA.
024: *
025: * If this agreement does not cover your requirements, please contact us
026: * via email to get detailed information about the commercial license
027: * or our service offerings!
028: *
029: */
030: // @@
031: package de.ug2t.unifiedGui.interfaces;
032:
033: import java.awt.*;
034:
035: import de.ug2t.kernel.*;
036:
037: /**
038: * @author Dirk
039: *
040: * date: 11.06.2004
041: *
042: * <p>
043: * Purpose: IUnDrawPane is the common interface to draw panes. You can use these
044: * panes to draw on them.
045: * </p>
046: */
047: public interface IUnDrawPane extends IUnComponent {
048: /**
049: * @author Dirk
050: *
051: * date: 29.05.2007 project: WiSer-Framework
052: *
053: * <p>
054: * Factory is a convenience class to create components of the surrounding
055: * interface's type without taking care for the WidgetServer MultiChannel API.
056: * It's use is similar to a constructor.
057: * </p>
058: */
059: public static class Factory {
060: /**
061: * Creates a standard version of this component as described in the factory.
062: * If you create masses of components for e.g. within a renderer use
063: * <i> create(IUnApplication xAppl)</i> for performance
064: * reasons.
065: *
066: * @param xWidth
067: * width of the drawpane in pixel
068: * @param xHeight
069: * height of the drawpane in pixel
070: * @return new component
071: */
072: public static IUnDrawPane create(int xWidth, int xHeight) {
073: IUnApplication l_appl = (IUnApplication) KeRegisteredObject
074: .pcmf_getObjByName(IUnApplication.MY_APPL);
075: return (l_appl.pcmf_getComponentFactory()
076: .pcmf_createDrawPane(l_appl.pcmf_getApplType(), "",
077: xWidth, xHeight, l_appl));
078: }
079:
080: /**
081: * Creates a special version of this component as described in the factory
082: * configuration under the descriptor xFactoryDesc. If you create masses of
083: * components for e.g. within a renderer use <i>
084: * create(IUnApplication xAppl, String xFactoryDesc)</i> for performance
085: * reasons.
086: *
087: * @param xWidth
088: * width of the drawpane in pixel
089: * @param xHeight
090: * height of the drawpane in pixel
091: * @param xFactoryDesc
092: * descriptor
093: * @return new component
094: */
095: public static IUnDrawPane create(int xWidth, int xHeight,
096: String xFactoryDesc) {
097: IUnApplication l_appl = (IUnApplication) KeRegisteredObject
098: .pcmf_getObjByName(IUnApplication.MY_APPL);
099: return (l_appl.pcmf_getComponentFactory()
100: .pcmf_createDrawPanePlugin(l_appl
101: .pcmf_getApplType(), "", xWidth, xHeight,
102: l_appl, xFactoryDesc));
103: }
104:
105: /**
106: * Creates a standard version of this component as described in the factory
107: * within the given application-context. If you create masses of components
108: * for e.g. within a renderer use this method for performance reasons.
109: *
110: * @param xWidth
111: * width of the drawpane in pixel
112: * @param xHeight
113: * height of the drawpane in pixel
114: * @param xAppl
115: * application in which context the component is created
116: * @return new component
117: */
118: public static IUnDrawPane create(int xWidth, int xHeight,
119: IUnApplication xAppl) {
120: return (xAppl.pcmf_getComponentFactory()
121: .pcmf_createDrawPane(xAppl.pcmf_getApplType(), "",
122: xWidth, xHeight, xAppl));
123: }
124:
125: /**
126: * Creates a special version of this component as described in the factory
127: * configuration under the descriptor xFactoryDesc. If you create masses of
128: * components for e.g. within a renderer use this function for performance
129: * reasons.
130: *
131: * @param xWidth
132: * width of the drawpane in pixel
133: * @param xHeight
134: * height of the drawpane in pixel
135: * @param xFactoryDesc
136: * descriptor
137: * @param xAppl
138: * application in which context the component is created
139: * @return new component
140: */
141: public static IUnDrawPane create(int xWidth, int xHeight,
142: IUnApplication xAppl, String xFactoryDesc) {
143: return (xAppl.pcmf_getComponentFactory()
144: .pcmf_createDrawPanePlugin(
145: xAppl.pcmf_getApplType(), "", xWidth,
146: xHeight, xAppl, xFactoryDesc));
147: }
148: }
149:
150: /**
151: * <p>
152: * Clears the draw pane. Does no commit
153: * </p>
154: * <p>
155: *
156: * </p>
157: * <p>
158: * </p>
159: */
160: public void pcmf_clearDrawPane();
161:
162: /**
163: * <p>
164: * Gets the Graphics object to draw on
165: * </p>
166: * <p>
167: *
168: * @return Graphics object
169: * </p>
170: * <p>
171: * </p>
172: */
173: public Graphics pcmf_getGraphics();
174:
175: /**
176: * <p>
177: * Commits all changes, which means that the drawed Image is updated
178: * </p>
179: * <p>
180: *
181: * </p>
182: * <p>
183: * </p>
184: */
185: public void pcmf_commitDrawPane();
186:
187: /**
188: * <p>
189: * Sets the size of the pane
190: * </p>
191: * <p>
192: *
193: * </p>
194: * <p>
195: *
196: * @param x
197: * size in x direction in pixel
198: * @param y
199: * size in y direction in pixel
200: * </p>
201: */
202: public void pcmf_setDrawPaneSize(int x, int y);
203:
204: /**
205: * <p>
206: * Gets the size of the drawpane in x direction in pixel
207: * </p>
208: * <p>
209: *
210: * @return size in x direction in pixel
211: * </p>
212: * <p>
213: * </p>
214: */
215: public int pcmf_getDrawPaneSizeX();
216:
217: /**
218: * <p>
219: * Gets the size of the drawpane in y direction in pixel
220: * </p>
221: * <p>
222: *
223: * @return size in y direction in pixel
224: * </p>
225: * <p>
226: * </p>
227: */
228: public int pcmf_getDrawPaneSizeY();
229: }
|