/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 * 
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 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