1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_awt_WindowDescriptor_idl__
28#define __com_sun_star_awt_WindowDescriptor_idl__
29
30#ifndef __com_sun_star_awt_WindowClass_idl__
31#include <com/sun/star/awt/WindowClass.idl>
32#endif
33
34#ifndef __com_sun_star_awt_XWindowPeer_idl__
35#include <com/sun/star/awt/XWindowPeer.idl>
36#endif
37
38#ifndef __com_sun_star_awt_Rectangle_idl__
39#include <com/sun/star/awt/Rectangle.idl>
40#endif
41
42
43//=============================================================================
44
45 module com {  module sun {  module star {  module awt {
46
47//=============================================================================
48
49/** describes a window.
50 */
51published struct WindowDescriptor
52{
53	//-------------------------------------------------------------------------
54
55	/** specifies the type of window.
56	 */
57	com::sun::star::awt::WindowClass Type;
58
59	//-------------------------------------------------------------------------
60
61	/** specifies the name of the component service.
62
63		<p>A zero length name means that the vcl creates a blank top,
64		a container, or a simple window.
65        The following service names are defined:<br/>
66        <ul>
67            <li>buttondialog</li>
68            <li>cancelbutton</li>
69            <li>checkbox</li>
70            <li>combobox</li>
71            <li>control</li>
72            <li>currencybox</li>
73            <li>currencyfield</li>
74            <li>datebox</li>
75            <li>datefield</li>
76            <li>dialog</li>
77            <li>dockingarea</li>
78            <li>dockingwindow</li>
79            <li>edit</li>
80            <li>errorbox</li>
81            <li>fixedbitmap</li>
82            <li>fixedimage</li>
83            <li>fixedline</li>
84            <li>fixedtext</li>
85            <li>floatingwindow</li>
86            <li>framewindow</li>
87            <li>groupbox</li>
88            <li>helpbutton</li>
89            <li>imagebutton</li>
90            <li>imageradiobutton</li>
91            <li>infobox</li>
92            <li>listbox</li>
93            <li>longcurrencybox</li>
94            <li>longcurrencyfield</li>
95            <li>menubutton</li>
96            <li>messbox</li>
97            <li>metricbox</li>
98            <li>metricfield</li>
99            <li>modaldialog</li>
100            <li>modelessdialog</li>
101            <li>morebutton</li>
102            <li>multilistbox</li>
103            <li>numericbox</li>
104            <li>numericfield</li>
105            <li>okbutton</li>
106            <li>patternbox</li>
107            <li>patternfield</li>
108            <li>pushbutton</li>
109            <li>querybox</li>
110            <li>radiobutton</li>
111            <li>scrollbar</li>
112            <li>scrollbarbox</li>
113            <li>simpleanimation</li>
114            <li>spinbutton</li>
115            <li>spinfield</li>
116            <li>throbber</li>
117            <li>splitter</li>
118            <li>splitwindow</li>
119            <li>statusbar</li>
120            <li>systemchildwindow</li>
121            <li>tabcontrol</li>
122            <li>tabdialog</li>
123            <li>tabpage</li>
124            <li>timebox</li>
125            <li>timefield</li>
126            <li>toolbox</li>
127            <li>tristatebox</li>
128            <li>warningbox</li>
129            <li>window</li>
130            <li>workwindow</li>
131        </ul>
132        </p>
133	 */
134	string WindowServiceName;
135
136	//-------------------------------------------------------------------------
137
138	/** specifies the parent of the component.
139
140		<p>If <code>Parent == 0 && ParentIndex == -1</code>,
141		then the window is on the desktop.</p>
142	 */
143	com::sun::star::awt::XWindowPeer Parent;
144
145	//-------------------------------------------------------------------------
146
147	/** specifies the index of the parent window, if available.
148
149		<p>If <code>Parent == 0</code> and this struct is a member of an array,
150        then this is the offset from the beginning of the array to the parent.
151        A value of -1 means desktop.</p>
152	 */
153	short ParentIndex;
154
155	//-------------------------------------------------------------------------
156
157	/** specifies the position and size of the window.
158
159		<p>This member is ignored if the window attribute is
160		<const scope="com::sun::star::awt">WindowAttribute::FULLSIZE</const>.</p>
161	 */
162	com::sun::star::awt::Rectangle Bounds;
163
164	//-------------------------------------------------------------------------
165
166	/** specifies the window attributes.
167
168		<p>Use one value out of the constant group
169        <type scope="com::sun::star::awt">WindowAttribute</type>.</p>
170	 */
171	long WindowAttributes;
172
173};
174
175//=============================================================================
176
177}; }; }; };
178
179#endif
180