home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / idl / at-spi-1.0 / Accessibility_Role.idl < prev    next >
Encoding:
Text File  |  2006-08-22  |  13.9 KB  |  402 lines

  1. /* 
  2.  * AT-SPI - Assistive Technology Service Provider Interface 
  3.  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
  4.  *
  5.  * Copyright 2001 Sun Microsystems Inc.
  6.  *
  7.  * This library is free software; you can redistribute it and/or
  8.  * modify it under the terms of the GNU Library General Public
  9.  * License as published by the Free Software Foundation; either
  10.  * version 2 of the License, or (at your option) any later version.
  11.  *
  12.  * This library is distributed in the hope that it will be useful,
  13.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15.  * Library General Public License for more details.
  16.  *
  17.  * You should have received a copy of the GNU Library General Public
  18.  * License along with this library; if not, write to the
  19.  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  20.  * Boston, MA 02111-1307, USA.
  21.  */
  22.  
  23. #ifndef _ACCESSIBILITY_ROLE_IDL
  24. #define _ACCESSIBILITY_ROLE_IDL
  25.  
  26. module Accessibility {
  27.  
  28.   enum Role {
  29.   /** A Role indicating an error condition, such as uninitialized Role data. */
  30.   ROLE_INVALID,
  31.   /** Object is a label indicating the keyboard accelerators for the parent  */
  32.   ROLE_ACCELERATOR_LABEL,
  33.   /** Object is used to alert the user about something */
  34.   ROLE_ALERT,
  35.   /** Object contains a dynamic or moving image of some kind */
  36.   ROLE_ANIMATION,
  37.   /** Object is a 2d directional indicator */
  38.   ROLE_ARROW,
  39.   /** Object contains one or more dates, usually arranged into a 2d list */
  40.   ROLE_CALENDAR,
  41.   /** Object that can be drawn into and is used to trap events */
  42.   ROLE_CANVAS,
  43.   /**
  44.    * A choice that can be checked or unchecked and provides a separate
  45.    * indicator for the current state.
  46.    */
  47.   ROLE_CHECK_BOX,
  48.   /** A menu item that behaves like a check box (see ROLE_CHECK_BOX) */
  49.   ROLE_CHECK_MENU_ITEM,
  50.   /** A specialized dialog that lets the user choose a color. */
  51.   ROLE_COLOR_CHOOSER,
  52.   /** The header for a column of data */
  53.   ROLE_COLUMN_HEADER,
  54.   /** A list of choices the user can select from */
  55.   ROLE_COMBO_BOX,
  56.   /** An object which allows entry of a date */
  57.   ROLE_DATE_EDITOR,
  58.   /** An inconifed internal frame within a DESKTOP_PANE */
  59.   ROLE_DESKTOP_ICON,
  60.   /**
  61.    * A pane that supports internal frames and iconified versions of those
  62.    * internal frames.
  63.    */
  64.   ROLE_DESKTOP_FRAME,
  65.   /** 
  66.    * An object that allows a value to be changed via rotating a visual element,
  67.    * or which displays a value via such a rotating element. 
  68.    */
  69.   ROLE_DIAL,
  70.   /** A top level window with title bar and a border */
  71.   ROLE_DIALOG,
  72.   /**
  73.    * A pane that allows the user to navigate through and select the contents
  74.    * of a directory
  75.    */
  76.   ROLE_DIRECTORY_PANE,
  77.   /**
  78.    * A specialized dialog that displays the files in the directory and lets
  79.    * the user select a file, browse a different directory, or specify a
  80.    * filename.
  81.    */
  82.   ROLE_DRAWING_AREA,
  83.   /**
  84.    * An object used for drawing custom user interface elements.
  85.    */
  86.   ROLE_FILE_CHOOSER,
  87.   /**
  88.    * A object that fills up space in a user interface
  89.    */
  90.   ROLE_FILLER,
  91.   /** XXX Don't use, reserved for future use. */
  92.   ROLE_FOCUS_TRAVERSABLE,
  93.   /** Allows selection of a display font */
  94.   ROLE_FONT_CHOOSER,
  95.   /** A top level window with a title bar, border, menubar, etc. */
  96.   ROLE_FRAME,
  97.   /** A pane that is guaranteed to be painted on top of all panes beneath it */
  98.   ROLE_GLASS_PANE,
  99.   /**
  100.    * A document container for HTML, whose children
  101.    * represent the document content.
  102.    */
  103.   ROLE_HTML_CONTAINER,
  104.   /** A small fixed size picture, typically used to decorate components */
  105.   ROLE_ICON,
  106.   /** An image, typically static. */
  107.   ROLE_IMAGE,
  108.   /** A frame-like object that is clipped by a desktop pane. */
  109.   ROLE_INTERNAL_FRAME,
  110.   /** An object used to present an icon or short string in an interface */
  111.   ROLE_LABEL,
  112.   /**
  113.    * A specialized pane that allows its children to be drawn in layers,
  114.    * providing a form of stacking order.
  115.    */
  116.   ROLE_LAYERED_PANE,
  117.   /**
  118.    * An object that presents a list of objects to the user and allows the
  119.    * user to select one or more of them.
  120.    */
  121.   ROLE_LIST,
  122.   /** An object that represents an element of a list. */
  123.   ROLE_LIST_ITEM,
  124.   /**
  125.    * An object usually found inside a menu bar that contains a list of
  126.    * actions the user can choose from.
  127.    */
  128.   ROLE_MENU,
  129.   /**
  130.    * An object usually drawn at the top of the primary dialog box of an
  131.    * application that contains a list of menus the user can choose from.
  132.    */
  133.   ROLE_MENU_BAR,
  134.   /**
  135.    * An object usually contained in a menu that presents an action the
  136.    * user can choose.
  137.    */
  138.   ROLE_MENU_ITEM,
  139.   /** A specialized pane whose primary use is inside a DIALOG */
  140.   ROLE_OPTION_PANE,
  141.   /** An object that is a child of a page tab list */
  142.   ROLE_PAGE_TAB,
  143.   /**
  144.    * An object that presents a series of panels (or page tabs), one at a time,
  145.    * through some mechanism provided by the object.
  146.    */
  147.   ROLE_PAGE_TAB_LIST,
  148.   /** A generic container that is often used to group objects. */
  149.   ROLE_PANEL,
  150.   /**
  151.    * A text object uses for passwords, or other places where the text
  152.    * content is not shown visibly to the user.
  153.    */
  154.   ROLE_PASSWORD_TEXT,
  155.   /**
  156.    * A temporary window that is usually used to offer the user a list of
  157.    * choices, and then hides when the user selects one of those choices.
  158.    */
  159.   ROLE_POPUP_MENU,
  160.   /** An object used to indicate how much of a task has been completed. */
  161.   ROLE_PROGRESS_BAR,
  162.   /**
  163.    * An object the user can manipulate to tell the application to do
  164.    * something.
  165.    */
  166.   ROLE_PUSH_BUTTON,
  167.   /**
  168.    * A specialized check box that will cause other radio buttons in the
  169.    * same group to become uncghecked when this one is checked.
  170.    */
  171.   ROLE_RADIO_BUTTON,
  172.   /** Object is both a menu item and a "radio button" (see ROLE_RADIO_BUTTON) */
  173.   ROLE_RADIO_MENU_ITEM,
  174.   /**
  175.    * A specialized pane that has a glass pane and a layered pane as its
  176.    * children.
  177.    */
  178.   ROLE_ROOT_PANE,
  179.   /** The header for a row of data */
  180.   ROLE_ROW_HEADER,
  181.   /**
  182.    * An object usually used to allow a user to incrementally view a large
  183.    * amount of data by moving the bounds of a viewport along a one-dimensional axis.
  184.    */
  185.   ROLE_SCROLL_BAR,
  186.   /**
  187.    * An object that allows a user to incrementally view a large amount
  188.    * of information.  ROLE_SCROLL_PANE objects are usually accompanied by
  189.    * ROLE_SCROLL_BAR controllers, on which the RELATION_CONTROLLER_FOR and
  190.    * RELATION_CONTROLLED_BY reciprocal relations are set; \see 
  191.    * Accessibility::RelationSet.
  192.    */
  193.   ROLE_SCROLL_PANE,
  194.   /**
  195.    * An object usually contained in a menu to provide a visible and
  196.    * logical separation of the contents in a menu.
  197.    */
  198.   ROLE_SEPARATOR,
  199.   /** An object that allows the user to select from a bounded range */
  200.   ROLE_SLIDER,
  201.   /** 
  202.    * An object which allows one of a set of choices to be selected, 
  203.    * and which displays the current choice.  Unlike ROLE_SCROLL_BAR,
  204.    * ROLE_SLIDER objects need not control 'viewport'-like objects.
  205.    */
  206.   ROLE_SPIN_BUTTON,
  207.   /** A specialized panel that presents two other panels at the same time. */
  208.   ROLE_SPLIT_PANE,
  209.   /** Object displays non-quantitative status information (c.f. ROLE_PROGRESS_BAR) */
  210.   ROLE_STATUS_BAR,
  211.   /** An object used to repesent information in terms of rows and columns. */
  212.   ROLE_TABLE,
  213.   /** A 'cell' or discrete child within a Table. \note Table cells need not have ROLE_TABLE_CELL, 
  214.    * other RoleType values are valid as well.  */
  215.   ROLE_TABLE_CELL,
  216.   /** An object which labels a particular column in a Table. */
  217.   ROLE_TABLE_COLUMN_HEADER,
  218.   /** An object which labels a particular row in a Table. Table rows and columns may also be 
  219.    * labelled via the RELATION_LABEL_FOR/RELATION_LABELLED_BY relationships; 
  220.    * \see Accessibility::RelationSet. */
  221.   ROLE_TABLE_ROW_HEADER,
  222.   /** Object allows menu to be removed from menubar and shown in its own window. */
  223.   ROLE_TEAROFF_MENU_ITEM,
  224.   /** An object that emulates a terminal */
  225.   ROLE_TERMINAL,
  226.   /** An object that presents text to the user, of nonspecific type. */
  227.   ROLE_TEXT,
  228.   /**
  229.    * A specialized push button that can be checked or unchecked, but does
  230.    * not procide a separate indicator for the current state.
  231.    */
  232.   ROLE_TOGGLE_BUTTON,
  233.   /**
  234.    * A bar or palette usually composed of push buttons or toggle buttons
  235.    */
  236.   ROLE_TOOL_BAR,
  237.   /**
  238.    * An object that provides information about another object
  239.    */
  240.   ROLE_TOOL_TIP,
  241.   /** An object used to repsent hierarchical information to the user. */
  242.   ROLE_TREE,
  243.   /** An object that presents both tabular and hierarchical info to the user */
  244.   ROLE_TREE_TABLE,
  245.   /**
  246.    * The object contains some Accessible information, but its role is
  247.    * not known.  
  248.    */
  249.   ROLE_UNKNOWN,
  250.   /** An object usually used in a scroll pane, or to otherwise clip a larger object or 
  251.    * content renderer to a specific onscreen viewport. */
  252.   ROLE_VIEWPORT,
  253.   /** A ┬¿top level window┬¿ with no title or border. */
  254.   ROLE_WINDOW,
  255.   /** 
  256.    * means that the role for this item is known, but not included in the 
  257.    * core enumeration 
  258.    */
  259.   ROLE_EXTENDED,
  260.   /** An object that serves as a document header. */
  261.   ROLE_HEADER,
  262.   /** An object that serves as a document footer. */
  263.   ROLE_FOOTER,
  264.   /** An object which is contains a single paragraph of text content. \see also ROLE_TEXT. */
  265.   ROLE_PARAGRAPH,
  266.   /**
  267.    * An object which describes margins and tab stops, etc. 
  268.    * for text objects which it controls 
  269.    * (should have CONTROLLER_FOR relation to such). 
  270.    */
  271.   ROLE_RULER,
  272.   /**
  273.    * An object corresponding to the toplevel accessible of an 
  274.    * application, which may contain ROLE_FRAME objects or other
  275.    * accessible objects.  Children of AccessibleDesktop objects 
  276.    * are generally ROLE_APPLICATION objects.
  277.    */
  278.   ROLE_APPLICATION,
  279.   /**
  280.    * The object is a dialog or list containing items for insertion 
  281.    * into an entry widget, for instance a list of words for completion 
  282.    * of a text entry.
  283.    */
  284.   ROLE_AUTOCOMPLETE,
  285.   /**
  286.    * The object is an editable text object in a toolbar.
  287.    */
  288.   ROLE_EDITBAR,
  289.   /**
  290.    * The object is an embedded component container.  This role is a 
  291.    * "grouping" hint that the contained objects share a context which is 
  292.    * different from the container in which this accessible is embedded.
  293.    * In particular, it is used for some kinds of document embedding, and
  294.    * for embedding of out-of-process component, "panel applets", etc.
  295.    */
  296.   ROLE_EMBEDDED,
  297.  
  298.   /**
  299.    * The object is a component whose textual content may be entered or modified by the user,
  300.    * provided STATE_EDITABLE is present.  
  301.    * @note a readonly ROLE_ENTRY object (i.e. where STATE_EDITABLE is not present) implies a
  302.    * read-only ┬¿text field┬¿ in a form, as opposed to a title, label, or caption.
  303.    *
  304.    * @since AT-SPI 1.7.0
  305.    */
  306.   ROLE_ENTRY,
  307.   /**
  308.    * The object is a graphical depiction of quantitative data.  It may contain multiple
  309.    * subelements whose attributes and/or description may be queried to obtain both the
  310.    * quantitative data and information about how the data is being presented.
  311.    * The LABELLED_BY relation is particularly important in interpreting objects of this type,
  312.    * as is the accessible-description property.  
  313.    * @see ROLE_CAPTION
  314.    *
  315.    * @since AT-SPI 1.7.0
  316.    */
  317.   ROLE_CHART,
  318.   /**
  319.    * The object contains descriptive information, usually textual, about another user interface
  320.    * element such as a table, chart, or image.
  321.    *
  322.    * @since AT-SPI 1.7.0
  323.    */
  324.   ROLE_CAPTION,
  325.   /**
  326.    * The object is a visual frame or container which contains a view of document content.  
  327.    * Document frames may occur within another Document instance, in which case the second 
  328.    * document may be said to be embedded in the containing instance.  HTML frames are
  329.    * often ROLE_DOCUMENT_FRAME.  Either this object, or a singleton descendant, should implement
  330.    * the Document interface.
  331.    *
  332.    * @since AT-SPI 1.7.0
  333.    */
  334.   ROLE_DOCUMENT_FRAME,
  335.   /**
  336.    * The object serves as a heading for content which follows it in a document.
  337.    * The 'heading level' of the heading, if availabe,  may be obtained by
  338.    * querying the object's attributes. 
  339.    *
  340.    * @since AT-SPI 1.7.0
  341.    */
  342.   ROLE_HEADING,
  343.   /**
  344.    * The object is a containing instance which encapsulates a page of 
  345.    * information.  ROLE_PAGE is used in documents and content which support
  346.    * a paginated navigation model.
  347.    * 
  348.    * @since AT-SPI 1.7.0
  349.    */
  350.   ROLE_PAGE,
  351.   /**
  352.    * The object is a containing instance of document content which constitutes
  353.    * a particular 'logical' section of the document.  The type of content within
  354.    * a section, and the nature of the section division itself, may be obtained
  355.    * by querying the object's attributes.  Sections may be nested.
  356.    *
  357.    * @since AT-SPI 1.7.0
  358.    */
  359.   ROLE_SECTION,
  360.   /**
  361.    * The object is redundant with another object in the hierarchy, 
  362.    * and is exposed for purely technical reasons.  Objects of this role 
  363.    * should be ignored by clients, if they are encountered at all. 
  364.    *
  365.    * @since AT-SPI 1.7.6
  366.    */
  367.   ROLE_REDUNDANT_OBJECT,
  368.   /**
  369.    * The object is a containing instance of document content which constitutes
  370.    * a particular 'logical' section of the document.  The type of content within
  371.    * a section, and the nature of the section division itself, may be obtained
  372.    * by querying the object's attributes.  Sections may be nested.
  373.    *
  374.    * @since AT-SPI 1.7.6
  375.    */
  376.   ROLE_FORM,
  377.   /**
  378.    * The object is a hypertext anchor, i.e. a "link" in a
  379.    * hypertext document.  Such objects are distinct from 'inline'
  380.    * content which may also use the Hypertext/Hyperlink interfaces
  381.    * to indicate the range/location within a text object where
  382.    * an inline or embedded object lies.
  383.    *
  384.    * @since AT-SPI 1.7.6
  385.    */
  386.   ROLE_LINK,
  387.   /**
  388.    * The object is a window or similar viewport which is used
  389.    * to allow composition or input of a 'complex character',
  390.    * in other words it is an "input method window."
  391.    *
  392.    * @since AT-SPI 1.7.6
  393.    */
  394.   ROLE_INPUT_METHOD_WINDOW,
  395.  
  396.   /** not a valid role, used for finding end of enumeration. */
  397.   ROLE_LAST_DEFINED
  398.   };
  399. };
  400.  
  401. #endif
  402.