/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   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 .
 */
#ifndef __com_sun_star_awt_WindowDescriptor_idl__
#define __com_sun_star_awt_WindowDescriptor_idl__

#include <com/sun/star/awt/WindowClass.idl>

#include <com/sun/star/awt/XWindowPeer.idl>

#include <com/sun/star/awt/Rectangle.idl>



 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>spinbutton</li>
            <li>spinfield</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
        com::sun::star::awt::WindowAttribute::FULLSIZE.</p>
     */
    com::sun::star::awt::Rectangle Bounds;


    /** specifies the window attributes.

        <p>Use one value out of the constant group
        com::sun::star::awt::WindowAttribute.</p>
     */
    long WindowAttributes;

};


}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
