/**************************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 *************************************************************/


#ifndef __com_sun_star_awt_WindowDescriptor_idl__ 
#define __com_sun_star_awt_WindowDescriptor_idl__ 
 
#ifndef __com_sun_star_awt_WindowClass_idl__ 
#include <com/sun/star/awt/WindowClass.idl> 
#endif 
 
#ifndef __com_sun_star_awt_XWindowPeer_idl__ 
#include <com/sun/star/awt/XWindowPeer.idl> 
#endif 
 
#ifndef __com_sun_star_awt_Rectangle_idl__ 
#include <com/sun/star/awt/Rectangle.idl> 
#endif 
 
 
//============================================================================= 
 
 module com {  module sun {  module star {  module awt {  
 
//============================================================================= 
 
/** describes a window.
 */
published struct WindowDescriptor
{
	//------------------------------------------------------------------------- 
    
	/** specifies the type of window.
	 */
	com::sun::star::awt::WindowClass Type; 
 
	//------------------------------------------------------------------------- 
	 
	/** specifies the name of the component service.
						
		<p>A zero length name means that the vcl creates a blank top, 
		a container, or a simple window.
        The following service names are defined:<br/>
        <ul>
            <li>buttondialog</li>
            <li>cancelbutton</li>
            <li>checkbox</li>
            <li>combobox</li>
            <li>control</li>
            <li>currencybox</li>
            <li>currencyfield</li>
            <li>datebox</li>
            <li>datefield</li>
            <li>dialog</li>
            <li>dockingarea</li>
            <li>dockingwindow</li>
            <li>edit</li>
            <li>errorbox</li>
            <li>fixedbitmap</li>
            <li>fixedimage</li>
            <li>fixedline</li>
            <li>fixedtext</li>
            <li>floatingwindow</li>
            <li>framewindow</li>
            <li>groupbox</li>
            <li>helpbutton</li>
            <li>imagebutton</li>
            <li>imageradiobutton</li>
            <li>infobox</li>
            <li>listbox</li>
            <li>longcurrencybox</li>
            <li>longcurrencyfield</li>
            <li>menubutton</li>
            <li>messbox</li>
            <li>metricbox</li>
            <li>metricfield</li>
            <li>modaldialog</li>
            <li>modelessdialog</li>
            <li>morebutton</li>
            <li>multilistbox</li>
            <li>numericbox</li>
            <li>numericfield</li>
            <li>okbutton</li>
            <li>patternbox</li>
            <li>patternfield</li>
            <li>pushbutton</li>
            <li>querybox</li>
            <li>radiobutton</li>
            <li>scrollbar</li>
            <li>scrollbarbox</li>
            <li>simpleanimation</li>
            <li>spinbutton</li>
            <li>spinfield</li>
            <li>throbber</li>
            <li>splitter</li>
            <li>splitwindow</li>
            <li>statusbar</li>
            <li>systemchildwindow</li>
            <li>tabcontrol</li>
            <li>tabdialog</li>
            <li>tabpage</li>
            <li>timebox</li>
            <li>timefield</li>
            <li>toolbox</li>
            <li>tristatebox</li>
            <li>warningbox</li>
            <li>window</li>
            <li>workwindow</li>
        </ul>
        </p>
	 */
	string WindowServiceName; 
 
	//------------------------------------------------------------------------- 
	 
	/** specifies the parent of the component. 
						
		<p>If <code>Parent == 0 && ParentIndex == -1</code>, 
		then the window is on the desktop.</p>
	 */
	com::sun::star::awt::XWindowPeer Parent; 
 
	//------------------------------------------------------------------------- 
	 
	/** specifies the index of the parent window, if available.
						
		<p>If <code>Parent == 0</code> and this struct is a member of an array,
        then this is the offset from the beginning of the array to the parent.
        A value of -1 means desktop.</p>
	 */
	short ParentIndex; 
 
	//------------------------------------------------------------------------- 
	 
	/** specifies the position and size of the window. 
						
		<p>This member is ignored if the window attribute is
		<const scope="com::sun::star::awt">WindowAttribute::FULLSIZE</const>.</p>
	 */
	com::sun::star::awt::Rectangle Bounds; 
 
	//------------------------------------------------------------------------- 
	 
	/** specifies the window attributes.

		<p>Use one value out of the constant group
        <type scope="com::sun::star::awt">WindowAttribute</type>.</p>    
	 */
	long WindowAttributes; 
 
}; 
 
//============================================================================= 
 
}; }; }; };  
 
#endif