/*************************************************************************
 *
 * 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_AccessibleToolBoxItem_idl__
#define __com_sun_star_awt_AccessibleToolBoxItem_idl__

#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
#include <com/sun/star/accessibility/AccessibleContext.idl>
#endif


module com { module sun { module star { module accessibility {

 published interface XAccessibleAction;
 published interface XAccessibleText;
 published interface XAccessibleValue;
 published interface XAccessibleExtendedComponent;
 published interface XAccessibleComponent;

}; }; }; };

module com { module sun { module star { module awt {

/** specifies accessibility support for a tool box item.

    @see com::sun::star::accessibility::AccessibleContext

    @see com::sun::star::accessibility::XAccessibleComponent
    @see com::sun::star::accessibility::XAccessibleExtendedComponent

    @see com::sun::star::accessibility::XAccessibleAction
    @see com::sun::star::accessibility::XAccessibleText
    @see com::sun::star::accessibility::XAccessibleValue

    @since OOo 1.1.2
*/    
published service AccessibleToolBoxItem
{
    /** This interface gives access to the structural information of a tool box item:

       <ul>
       <li>Role: The role of a tool box item is 
           <const scope="com::sun::star::accessibility">AccessibleRole::PUSH_BUTTON</const> when the item is a push button, or
           <const scope="com::sun::star::accessibility">AccessibleRole::TOGGLE_BUTTON</const> when the item is a button and checkable, or
           <const scope="com::sun::star::accessibility">AccessibleRole::PANEL</const> when the item is a window, or
           <const scope="com::sun::star::accessibility">AccessibleRole::FILLER</const> when the item is a fill item, or
           <const scope="com::sun::star::accessibility">AccessibleRole::SEPARATOR</const> when the item is a separator.</li>
       <li>Name: The name of a tool box item is the name set.</li>
       <li>Description: The description of a tool box item is its localized
           help text.</li>
       <li>Children: There can exist one child. 
            This can be any kind of accessible object.</li>            
       <li>Parent: The parent is the tool box that contains the tool box item.</li>
       <li>Relations: There are no relations.</li>
       <li>States: The states supported by this service are
           <ul>
           <li><const scope="com::sun::star::accessibility"
               >AccessibleStateType::DEFUNC</const>
               is set if the object has already been disposed
               and subsequent calls to this object result in				
               <type scope="com::sun::star::lang">DisposedException</type>
               exceptions.</li>
           <li><const scope="com::sun::star::accessibility"
               >AccessibleStateType::ENABLED</const> is set
               if the object is enabled.</li>
           <li><const scope="com::sun::star::accessibility"
               >AccessibleStateType::FOCUSABLE</const> is always set.</li>
           <li><const scope="com::sun::star::accessibility"
               >AccessibleStateType::FOCUSED</const> is set
               if the object currently has the keyboard focus.</li>
           <li><const scope="com::sun::star::accessibility"
               >AccessibleStateType::SHOWING</const> is set
               if the object is displayed on the screen.</li>
           <li><const scope="com::sun::star::accessibility"
               >AccessibleStateType::VISIBLE</const> is always set.</li>
           <li><const scope="com::sun::star::accessibility"
               >AccessibleStateType::CHECKED</const> is set
               if the tool box item is checked.</li>
           </ul>
           </li>
       </ul>
    */
    service   com::sun::star::accessibility::AccessibleContext;

    interface com::sun::star::accessibility::XAccessibleComponent;
    interface com::sun::star::accessibility::XAccessibleExtendedComponent;

    /** This interface gives access to the actions that can be executed for
        a menu. The supported actions for a tool box item are:
        <ul>
        <li>click</li>
        </ul>
     */
    interface com::sun::star::accessibility::XAccessibleAction;

    /** This interface gives read-only access to the text representation
        of a tool box item.
     */
    interface com::sun::star::accessibility::XAccessibleText;
    /** This interface gives access to the numerical value of a
        tool box item, which is related to the tool box item's
        <const scope="com::sun::star::accessibility"
        >AccessibleStateType::CHECKED</const> state.
     */
    interface com::sun::star::accessibility::XAccessibleValue;
};
          
}; }; }; };

#endif
