1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_awt_WindowDescriptor_idl__
24#define __com_sun_star_awt_WindowDescriptor_idl__
25
26#ifndef __com_sun_star_awt_WindowClass_idl__
27#include <com/sun/star/awt/WindowClass.idl>
28#endif
29
30#ifndef __com_sun_star_awt_XWindowPeer_idl__
31#include <com/sun/star/awt/XWindowPeer.idl>
32#endif
33
34#ifndef __com_sun_star_awt_Rectangle_idl__
35#include <com/sun/star/awt/Rectangle.idl>
36#endif
37
38
39//=============================================================================
40
41 module com {  module sun {  module star {  module awt {
42
43//=============================================================================
44
45/** describes a window.
46 */
47published struct WindowDescriptor
48{
49	//-------------------------------------------------------------------------
50
51	/** specifies the type of window.
52	 */
53	com::sun::star::awt::WindowClass Type;
54
55	//-------------------------------------------------------------------------
56
57	/** specifies the name of the component service.
58
59		<p>A zero length name means that the vcl creates a blank top,
60		a container, or a simple window.
61        The following service names are defined:<br/>
62        <ul>
63            <li>buttondialog</li>
64            <li>cancelbutton</li>
65            <li>checkbox</li>
66            <li>combobox</li>
67            <li>control</li>
68            <li>currencybox</li>
69            <li>currencyfield</li>
70            <li>datebox</li>
71            <li>datefield</li>
72            <li>dialog</li>
73            <li>dockingarea</li>
74            <li>dockingwindow</li>
75            <li>edit</li>
76            <li>errorbox</li>
77            <li>fixedbitmap</li>
78            <li>fixedimage</li>
79            <li>fixedline</li>
80            <li>fixedtext</li>
81            <li>floatingwindow</li>
82            <li>framewindow</li>
83            <li>groupbox</li>
84            <li>helpbutton</li>
85            <li>imagebutton</li>
86            <li>imageradiobutton</li>
87            <li>infobox</li>
88            <li>listbox</li>
89            <li>longcurrencybox</li>
90            <li>longcurrencyfield</li>
91            <li>menubutton</li>
92            <li>messbox</li>
93            <li>metricbox</li>
94            <li>metricfield</li>
95            <li>modaldialog</li>
96            <li>modelessdialog</li>
97            <li>morebutton</li>
98            <li>multilistbox</li>
99            <li>numericbox</li>
100            <li>numericfield</li>
101            <li>okbutton</li>
102            <li>patternbox</li>
103            <li>patternfield</li>
104            <li>pushbutton</li>
105            <li>querybox</li>
106            <li>radiobutton</li>
107            <li>scrollbar</li>
108            <li>scrollbarbox</li>
109            <li>spinbutton</li>
110            <li>spinfield</li>
111            <li>splitter</li>
112            <li>splitwindow</li>
113            <li>statusbar</li>
114            <li>systemchildwindow</li>
115            <li>tabcontrol</li>
116            <li>tabdialog</li>
117            <li>tabpage</li>
118            <li>timebox</li>
119            <li>timefield</li>
120            <li>toolbox</li>
121            <li>tristatebox</li>
122            <li>warningbox</li>
123            <li>window</li>
124            <li>workwindow</li>
125        </ul>
126        </p>
127	 */
128	string WindowServiceName;
129
130	//-------------------------------------------------------------------------
131
132	/** specifies the parent of the component.
133
134		<p>If <code>Parent == 0 && ParentIndex == -1</code>,
135		then the window is on the desktop.</p>
136	 */
137	com::sun::star::awt::XWindowPeer Parent;
138
139	//-------------------------------------------------------------------------
140
141	/** specifies the index of the parent window, if available.
142
143		<p>If <code>Parent == 0</code> and this struct is a member of an array,
144        then this is the offset from the beginning of the array to the parent.
145        A value of -1 means desktop.</p>
146	 */
147	short ParentIndex;
148
149	//-------------------------------------------------------------------------
150
151	/** specifies the position and size of the window.
152
153		<p>This member is ignored if the window attribute is
154		<const scope="com::sun::star::awt">WindowAttribute::FULLSIZE</const>.</p>
155	 */
156	com::sun::star::awt::Rectangle Bounds;
157
158	//-------------------------------------------------------------------------
159
160	/** specifies the window attributes.
161
162		<p>Use one value out of the constant group
163        <type scope="com::sun::star::awt">WindowAttribute</type>.</p>
164	 */
165	long WindowAttributes;
166
167};
168
169//=============================================================================
170
171}; }; }; };
172
173#endif
174