/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: FrameSearchFlag.idl,v $
 *
 *  $Revision: 1.7 $
 *
 *  last change: $Author: rt $ $Date: 2005-09-08 01:01:31 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library 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 for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
#ifndef __com_sun_star_frame_FrameSearchFlag_idl__
#define __com_sun_star_frame_FrameSearchFlag_idl__


//=============================================================================

 module com {  module sun {  module star {  module frame {

//=============================================================================
/** these types describe the algorithm to be used to search a frame

    <p>
    Such flags will be used on methods <member>XFrame::findFrame()</member>,
    <member>XDispatchProvider::queryDispatch()</member> or
    <member>XComponentLoader::loadComponentFromURL()</member> if no special target
    frame name (e.g. "_blank", "_self") is used.
    </p>

    @see XFrame::findFrame()
    @see XDispatchProvider::queryDispatch()
    @see XComponentLoader::loadComponentFromURL()
 */
published constants FrameSearchFlag
{
    //-------------------------------------------------------------------------
    /** no longer supported

        <p>
        Using of this flag will do nothing. Use right combination of other flags
        instead of this one.
        </p>

        @deprecated
     */
    const long AUTO = 0;

    //-------------------------------------------------------------------------
    /** allows search on the parent frames
     */
    const long PARENT = 1;

    //-------------------------------------------------------------------------
    /** includes the start frame himself
     */
    const long SELF = 2;

    //-------------------------------------------------------------------------
        /** includes all child frames of the start frame

            <p>
            Note: That means all direct children and of course her childrens too.
                  Search doesn't stop at the next level inside the tree!
            </p>
         */
    const long CHILDREN = 4;

    //-------------------------------------------------------------------------
    /** frame will be created if not found
     */
    const long CREATE = 8;

    //-------------------------------------------------------------------------
        /** includes the direct siblings of the start frame

            <p>
            Normaly it's interpreted as search on the direct childs of the parent
            only. But in combination with e.g. the CHILDREN flag it can include all
            children of it too.
            </p>
     */
    const long SIBLINGS = 16;

    //-------------------------------------------------------------------------
        /** allow the search outside the current sub task tree of the whole possible frame tree

        <p>
        If this flag isn't present, any search from bottom to top has to stop, if a top frame
        will be reached. It doesn't influence a search from top to bottom.
        But it can be used at the root of the frame tree to search on direct childrens of it only.
        Because the direct children of the root node are the root's of the task sub trees, which
        are top frames too. Instead of using the CHILDREN flag there, it's possible so to supress
        a deeper search so.
        </p>
     */
    const long TASKS = 32;

    //-------------------------------------------------------------------------
        /** includes all frames except frames in other tasks sub trees
        but doesn't create any new frame
     */
    const long ALL = 23;

    //-------------------------------------------------------------------------
    /** searches in the whole hierarchy of frames
        but doesn't create any new frame
     */
    const long GLOBAL = 55;
};

//=============================================================================

}; }; }; };

#endif
