#ifndef CATIAWindows_IDL
#define CATIAWindows_IDL
/*IDLREP*/
/**
 * @CAA2Level L1
 * @CAA2Usage U3
 */
// COPYRIGHT DASSAULT SYSTEMES 1997
#include "CATIACollection.idl"
#include "CATVariant.idl"
#include "CatArrangeStyle.idl"

interface CATIAWindow;

    /**
     * A collection of all the Window objects currently managed by the
     * application.
     */
interface CATIAWindows : CATIACollection
{
    /**
     * Returns a window using its index or its name from the Windows collection.
     * @param iIndex
     *   The index or the name of the window to retrieve from
     *   the collection of windows.
     *   As a numerics, this index is the rank of the window
     *   in the collection.
     *   The index of the first window in the collection is 1, and
     *   the index of the last window is Count.
     *   As a string, it is the name you assigned to the window using
     *   the @href CATIABase#Name property.
     * @return The retrieved window
     * <dt><b>Example:</b>
     * <dd>
     * This example returns in <tt>ThisWindow</tt> the third window
     * in the collection, and in <tt>ThatWindow</tt> the window named
     * <tt>MyWindow</tt>.
     * <pre>
     * Dim ThisWindow As Window
     * Set ThisWindow = CATIA.Windows.<font color="red">Item</font>(3)
     * Dim ThatWindow As Window
     * Set ThatWindow = CATIA.Windows.<font color="red">Item</font>("MyWindow")
     * </pre>
     */
  HRESULT Item(in CATVariant iIndex, out /*IDLRETVAL*/ CATIAWindow oWindow);

#endif