summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/accessibility
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/accessibility')
-rw-r--r--offapi/com/sun/star/accessibility/AccessBridge.idl54
-rw-r--r--offapi/com/sun/star/accessibility/Accessible.idl56
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleContext.idl67
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleEventId.idl387
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleEventObject.idl69
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRelation.idl68
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRelationType.idl121
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRole.idl720
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleStateType.idl225
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl90
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl82
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTextType.idl105
-rw-r--r--offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl54
-rw-r--r--offapi/com/sun/star/accessibility/TextSegment.idl85
-rw-r--r--offapi/com/sun/star/accessibility/XAccessible.idl86
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleAction.idl123
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleComponent.idl236
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleContext.idl215
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEditableText.idl240
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl64
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEventListener.idl59
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl109
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl142
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleHypertext.idl118
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleImage.idl86
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl93
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl148
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl113
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleSelection.idl164
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleStateSet.idl109
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTable.idl387
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleText.idl519
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl105
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl140
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleValue.idl106
-rw-r--r--offapi/com/sun/star/accessibility/makefile.mk80
36 files changed, 5625 insertions, 0 deletions
diff --git a/offapi/com/sun/star/accessibility/AccessBridge.idl b/offapi/com/sun/star/accessibility/AccessBridge.idl
new file mode 100644
index 000000000000..39dc60791337
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessBridge.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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_accessibility_AccessBridge_idl__
+#define __com_sun_star_accessibility_AccessBridge_idl__
+
+module com { module sun { module star { module lang {
+ published interface XInitialization;
+}; }; }; };
+
+module com { module sun { module star { module accessibility {
+
+/** The UNO <-> Java Access Bridge allows any native frame window
+ to become accessible by implementing the XAccessible interface.
+
+ <p>Therefor the UNO <-> Java Access Bridge utilizes the Java <-> Windows
+ and Java <-> GNOME access bridge by registering the native frames as
+ Java windows.</p>
+
+ @since OOo 1.1.2
+*/
+
+published service AccessBridge
+{
+ /** Expects and instance of XExtendedToolkit as first parameter */
+ interface ::com::sun::star::lang::XInitialization;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/Accessible.idl b/offapi/com/sun/star/accessibility/Accessible.idl
new file mode 100644
index 000000000000..2b8395dea192
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/Accessible.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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_accessibility_Accessible_idl__
+#define __com_sun_star_accessibility_Accessible_idl__
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+
+/** Every class has to support this service in order to be accessible.
+
+ <p>It provides the means to derive a <type>XAccessibleContext</type>
+ object--which may but usually is not the same object as the object that
+ supports the <type>XAccessible</type> interface--that provides the
+ actual information that is needed to make it accessible.</p>
+
+ <p>Service <code>Accessible</code> is just a wrapper for the interface
+ <code>XAccessible</code>. See the interface's documentation for more
+ information.</p>
+
+ @see XAccessible
+
+ @since OOo 1.1.2
+*/
+published service Accessible
+{
+ interface XAccessible;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleContext.idl b/offapi/com/sun/star/accessibility/AccessibleContext.idl
new file mode 100644
index 000000000000..f9ccf67ec324
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleContext.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * 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_accessibility_AccessibleContext_idl__
+#define __com_sun_star_accessibility_AccessibleContext_idl__
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleContext;
+ published interface XAccessibleEventBroadcaster;
+
+/** Central service of the Accessibility API that gives access to various
+ facets of an object's content.
+
+ <p>This service has to be implemented by every class that represents the
+ actual accessibility information of another UNO service. It exposes two
+ kinds of information: A tree structure in which all accessible objects
+ are organized can be navigated in freely. It typically represents
+ spatial relationship of one object containing a set of children like a
+ dialog box contains a set of buttons. Additionally the
+ <type>XAccessibleContext</type> interface of this service exposes
+ methods that provide access to the actual object's content. This can be
+ the object's role, name, description, and so on.</p>
+
+ @see XAccessibleContext
+
+ @since OOo 1.1.2
+*/
+published service AccessibleContext
+{
+ interface XAccessibleContext;
+
+ /** is implemented by accessible contexts that supports broadcasting of
+ accessible events.
+
+ @see AccessibleEventObject
+ @see AccessibleEventId
+ */
+ [optional] interface XAccessibleEventBroadcaster;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleEventId.idl b/offapi/com/sun/star/accessibility/AccessibleEventId.idl
new file mode 100644
index 000000000000..960a4c5d425c
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleEventId.idl
@@ -0,0 +1,387 @@
+/*************************************************************************
+ *
+ * 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_accessibility_AccessibleEventId_idl__
+#define __com_sun_star_accessibility_AccessibleEventId_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** These constants identify the type of <type>AccessibleEventObject</type>
+ objects.
+
+ <p>The <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain, where
+ applicable and not otherwise stated, the old and new value of the
+ property in question.</p>
+
+ @see AccessibleEventObject
+ @see XAccessibleEventListener
+
+ @since OOo 1.1.2
+*/
+published constants AccessibleEventId
+{
+ /** Use this event type to indicate a change of the name string
+ of an accessible object. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ name before and after the change.
+ */
+ const short NAME_CHANGED = 1;
+
+ /** Use this event type to indicate a change of the description string
+ of an accessible object. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ description before and after the change.
+ */
+ const short DESCRIPTION_CHANGED = 2;
+
+ /** The change of the number or attributes of actions of an accessible
+ object is signaled by events of this type.
+ <p>The <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new number of actions.
+ */
+ const short ACTION_CHANGED = 3;
+
+ /** State changes are signaled with this event type. Use one event for
+ every state that is set or reset. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new value respectively. To set a state put the state id
+ into the <member>AccessibleEventObject::NewValue</member> field and
+ leave <member>AccessibleEventObject::OldValue</member> empty. To
+ reset a state put the state id into the
+ <member>AccessibleEventObject::OldValue</member> field and leave
+ <member>AccessibleEventObject::NewValue</member> empty.
+ */
+ const short STATE_CHANGED = 4;
+
+ /** Constant used to determine when the active descendant of a component
+ has changed. The active descendant is used in objects with
+ transient children. The <member>AccessibleEventObject::NewValue</member>
+ contains the now active object. The
+ <member>AccessibleEventObject::OldValue</member> contains the
+ previously active child. Empty references indicate that no child
+ has been respectively is currently active.
+ */
+ const short ACTIVE_DESCENDANT_CHANGED = 5;
+
+ /** This event indicates a change of the bounding rectangle of an
+ accessible object with respect only to its size or relative
+ position. If the absolute position changes but not the relative
+ position then its is not necessary to send an event.
+
+ <p>Use this event rather than the
+ <const>VISIBLE_DATA_EVENT</const> when really only the
+ (relative) bounding box of an accessible object has changed. It is
+ much more specific than the later one and reduces the number of
+ calls an AT-Tool has to make to retrieve all affected data.</p>
+
+ <p>The <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> remain empty. Use
+ a call to the <member>XAccessibleComponent::getBounds()</member>
+ method to determine the new bounding box.</p>
+ */
+ const short BOUNDRECT_CHANGED = 6;
+
+ /** A child event indicates the addition of a new or the removal of an
+ existing child. The contents of the
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields determines
+ which of both has taken place.
+
+ <p>If a new child has been added then
+ the <member>AccessibleEventObject::NewValue</member> contains a
+ reference to this new object and
+ <member>AccessibleEventObject::OldValue</member> remains empty.</p>
+
+ <p>If a child has been removed then the
+ <member>AccessibleEventObject::OldValue</member> contains a
+ reference to this object and
+ <member>AccessibleEventObject::NewValue</member> remains empty.</p>
+
+ <p>If a child has been added and a another one has been removed
+ don't set both fields at the same. Send separate events
+ instead.</p>
+
+ <p>Note that a child event is sent after a child has been added or
+ removed. Especially in the case of a removal this means that the
+ removed object does not have a parent anymore.</p>
+ */
+ const short CHILD = 7;
+
+ /** Use this event to tell the listeners to re-retrieve the whole set of
+ children. This should be used by a parent object which exchanges all
+ or most of its children. It is a short form of first sending one
+ <const>CHILD</const> event for every old child indicating that
+ this child is about to be removed and then sending one
+ <const>CHILD</const> for every new child indicating that this
+ child has been added to the list of children.
+
+ <p>When this API is used by Java or Gnome AT-Tools then a bridge can
+ generate the events described above automatically.</p>
+ */
+ const short INVALIDATE_ALL_CHILDREN = 8;
+
+ /** Events of this type indicate changes of the selection. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields remain empty.
+ */
+ const short SELECTION_CHANGED = 9;
+
+ /** A visible data event indicates the change of the visual appearance
+ of an accessible object. This includes for example most of the
+ attributes available over the <type>XAccessibleComponent</type> and
+ <type>XAccessibleExtendedComponent</type> interfaces. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields are left empty.
+ */
+ const short VISIBLE_DATA_CHANGED = 10;
+
+ /** This constant indicates changes of the value of an
+ <type>XAccessibleValue</type> interface. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> field contain the
+ old and new value as a number. Its exact type is implementation
+ dependent but has to be the same as is returned by the
+ <member>XAccessibleValue::getCurrentValue</member> function.
+ */
+
+ const short VALUE_CHANGED = 11;
+
+ /** Identifies the change of a relation set: The content flow has
+ changed.
+
+ <p>Not used: The <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain
+ references to the old and new predecessor. Note that both references
+ my be <NULL/> to indicate that a flow to the sending object has not
+ existed or does not exist anymore.</p>
+ */
+ const short CONTENT_FLOWS_FROM_RELATION_CHANGED = 12;
+
+ /** Identifies the change of a relation set: The content flow has
+ changed.
+
+ <p>Not used: The <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain
+ references to the old and new successor. Note that both references
+ my be <NULL/> to indicate that a flow from the sending object has not
+ existed or does not exist anymore.</p>
+ */
+ const short CONTENT_FLOWS_TO_RELATION_CHANGED = 13;
+
+ /** Identifies the change of a relation set: The target object that is
+ doing the controlling has changed. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new controlling objects.
+ */
+ const short CONTROLLED_BY_RELATION_CHANGED = 14;
+
+ /** Identifies the change of a relation set: The controller for the
+ target object has changed. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new number of controlled objects.
+ */
+ const short CONTROLLER_FOR_RELATION_CHANGED = 15;
+
+ /** Identifies the change of a relation set: The target group for a
+ label has changed. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new number labeled objects.
+ */
+ const short LABEL_FOR_RELATION_CHANGED = 16;
+
+ /** Identifies the change of a relation set: The objects that are doing
+ the labeling have changed. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new accessible label.
+ */
+ const short LABELED_BY_RELATION_CHANGED = 17;
+
+ /** Identifies the change of a relation set: The group membership has
+ changed. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new number of members.
+ */
+ const short MEMBER_OF_RELATION_CHANGED = 18;
+
+ /** Identifies the change of a relation set: The sub-window-of relation
+ has changed. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new accessible parent window objects.
+ */
+ const short SUB_WINDOW_OF_RELATION_CHANGED = 19;
+
+ /** Events of this type are sent when the caret has moved to a new
+ position. The old and new position can be found in the
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields.
+ */
+ const short CARET_CHANGED = 20;
+
+ /** Events of this type signal changes of the selection. The old or new
+ selection is <em>not</em> available through the event object. You
+ have to query the <type>XAccessibleText</type> interface of the
+ event source for this information. The type of content of the
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields is not
+ specified at the moment. This may change in the future.
+ */
+ const short TEXT_SELECTION_CHANGED = 21;
+
+ /** Use this id to indicate general text changes, i.e. changes to text
+ that is exposed through the <type>XAccessibleText</type> and
+ <type>XAccessibleEditableText</type> interfaces.
+
+ <p>The affected text ranges are represented by <type
+ scope="com::sun::star::accessibility">TextSegment</type> structures.<p>
+
+ <p>The content of the <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> expresses the type
+ of text change: <ul> <li>Insertion: the
+ <member>AccessibleEventObject::NewValue</member> field specifies the
+ inserted text after the insertion, the
+ <member>AccessibleEventObject::OldValue</member> field remains
+ empty.</li> <li>Deletion: the
+ <member>AccessibleEventObject::OldValue</member> field specifies the
+ deleted text before the deletion, the
+ <member>AccessibleEventObject::NewValue</member> field remains
+ empty.</li> <li>Update/Replace/Modification: the
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields specify the
+ modified text before respectively after the modification.</li>
+ <li>Unknown: when the type of text change or the place where it took
+ place can not be determined by the event broadcaster then both
+ fields remain empty. In this case the whole text may have changed
+ and the listener should refetch the text completely.</li> </ol>
+
+ <p>When broadcasting an event always prefer the first three cases
+ to the last one. Use it only as a last resort.</p>
+
+ <p> Text ranges should be as small as possible but, of course,
+ include all the text that is involved in a modification. That means
+ that when two or more discontinuous text ranges are inserted,
+ deleted, or otherwise modified the two fields of the event have to
+ cover all the affected text ranges as well as the text in
+ between.</p>
+ */
+ const short TEXT_CHANGED = 22;
+
+
+ /** This entry is reserved for future extension. Don't use it right now.
+ */
+ const short TEXT_ATTRIBUTE_CHANGED = 23;
+
+ /** Constant used to indicate that a hypertext element has received
+ focus. The <member>AccessibleEventObject::OldValue</member> field
+ contains the start index of previously focused element. The
+ <member>AccessibleEventObject::NewValue</member> field holds the
+ start index in the document of the current element that has focus. A
+ value of -1 indicates that an element does not or did not have
+ focus.
+ */
+ const short HYPERTEXT_CHANGED = 24;
+ /** Constant used to indicate that the table caption has changed. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new accessible objects representing the table caption.
+ */
+ const short TABLE_CAPTION_CHANGED = 25;
+
+ /** Constant used to indicate that the column description has changed.
+ The <member>AccessibleEventObject::NewValue</member> field contains
+ the column index. The
+ <member>AccessibleEventObject::OldValue</member> is left empty.
+ */
+ const short TABLE_COLUMN_DESCRIPTION_CHANGED = 26;
+
+ /** Constant used to indicate that the column header has changed. The
+ <member>AccessibleEventObject::OldValue</member> is empty, the
+ <member>AccessibleEventObject::NewValue</member> field contains an
+ <type>AccessibleTableModelChange</type> representing the header
+ change.
+ */
+ const short TABLE_COLUMN_HEADER_CHANGED = 27;
+
+ /** Constant used to indicate that the table data has changed. The
+ <member>AccessibleEventObject::OldValue</member> is empty, the
+ <member>AccessibleEventObject::NewValue</member> field contains an
+ <type>AccessibleTableModelChange</type> representing the data
+ change.
+ */
+ const short TABLE_MODEL_CHANGED = 28;
+
+ /** Constant used to indicate that the row description has changed. The
+ <member>AccessibleEventObject::NewValue</member> field contains the
+ row index. The <member>AccessibleEventObject::OldValue</member> is
+ left empty.
+ */
+ const short TABLE_ROW_DESCRIPTION_CHANGED = 29;
+
+ /** Constant used to indicate that the row header has changed. The
+ <member>AccessibleEventObject::OldValue</member> is empty, the
+ <member>AccessibleEventObject::NewValue</member> field contains an
+ <type>AccessibleTableModelChange</type> representing the header
+ change.
+ */
+ const short TABLE_ROW_HEADER_CHANGED = 30;
+
+ /** Constant used to indicate that the table summary has changed. The
+ <member>AccessibleEventObject::OldValue</member> and
+ <member>AccessibleEventObject::NewValue</member> fields contain the
+ old and new accessible objects representing the table summary.
+ */
+ const short TABLE_SUMMARY_CHANGED = 31;
+
+ /** Constant used to indicate that a list box entry has been expanded.
+ <member>AccessibleEventObject::OldValue</member> is empty.
+ <member>AccessibleEventObject::NewValue</member> contains the expanded list box entry.
+
+ @since OOo 3.2
+ */
+ const short LISTBOX_ENTRY_EXPANDED = 32;
+
+ /** Constant used to indicate that a list box entry has been collapsed.
+ <member>AccessibleEventObject::OldValue</member> is empty.
+ <member>AccessibleEventObject::NewValue</member> contains the collapsed list box entry.
+
+ @since OOo 3.2
+ */
+ const short LISTBOX_ENTRY_COLLAPSED = 33;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleEventObject.idl b/offapi/com/sun/star/accessibility/AccessibleEventObject.idl
new file mode 100644
index 000000000000..c1a4e5c39d07
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleEventObject.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * 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_accessibility_AccessibleEventObject_idl__
+#define __com_sun_star_accessibility_AccessibleEventObject_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** this struct describes an accessible event, that is broadcasted from
+ the <type>XAccessibleEventBroadcaster</type> and notified to
+ <type>XAccessibleEventListener</type>.
+
+ <p>It is usualy implemented by <type>AccessibleContext</type>.
+
+ @since OOo 1.1.2
+*/
+published struct AccessibleEventObject: ::com::sun::star::lang::EventObject
+{
+ /** specifies the type of this event.
+
+ <p>For a list of possible events see <type>AccessibleEventId</type>.
+ */
+ short EventId;
+
+ /** for events that specifies a value change, this is
+ the new value.
+
+ Depending on the <member>EventId</member>, this can be void.
+ */
+ any NewValue;
+
+ /** for events that specifies a value change, this is
+ the old value.
+
+ Depending on the <member>EventId</member>, this can be void.
+ */
+ any OldValue;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleRelation.idl b/offapi/com/sun/star/accessibility/AccessibleRelation.idl
new file mode 100644
index 000000000000..8df475e9fa0e
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRelation.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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_accessibility_AccessibleRelation_idl__
+#define __com_sun_star_accessibility_AccessibleRelation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** An <type>AccessibleRelation</type> object defines a one-to-many
+ relation.
+
+ <p>The represented relation points from the implementing object to a set
+ of target objects.</p>
+
+ @since OOo 1.1.2
+*/
+published struct AccessibleRelation
+{
+ /** Type of the relation.
+
+ <p>Its value has to be one of the constants defined by
+ <type>AccessibleRelationType</type>. If that value is INVALID then
+ the whole relation is regarded as invalid. The content of the
+ targetSet is then undefined.</p>
+
+ @see AccessibleRelationType
+ */
+ short RelationType;
+
+ /** Set of objects that are the relation's targets.
+
+ <p>The content of this set is undefined if the relation's type is
+ INVALID. The set must not contain references to one object more
+ than once.</p>
+ */
+ sequence< ::com::sun::star::uno::XInterface> TargetSet;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleRelationType.idl b/offapi/com/sun/star/accessibility/AccessibleRelationType.idl
new file mode 100644
index 000000000000..ead836dcec36
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRelationType.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * 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_accessibility_AccessibleRelationType_idl__
+#define __com_sun_star_accessibility_AccessibleRelationType_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** Collection of relation types.
+
+ <p>This list of constants defines the available types of relations that
+ are usable by <type>AccessibleRelation</type>.</p>
+
+ <p>We are using constants instead of a more typesafe enum. The reason
+ for this is that IDL enums may not be extended. Therefore, in order to
+ include future extensions to the set of roles we have to use constants
+ here.</p>
+
+ @since OOo 1.1.2
+*/
+published constants AccessibleRelationType
+{
+ /** Invalid relation type.
+
+ <p>Indicates an invalid relation type. This is used to indicate
+ that a retrieval method could not find a requested relation.</p>
+ */
+ const short INVALID = 0;
+
+ /** Content-flows-from relation.
+
+ <p>Indicates a content flow between the related objects.</p>
+ */
+ const short CONTENT_FLOWS_FROM = 1;
+
+ /** Content-flows-to relation.
+
+ <p>Indicates a content flow between the related objects.</p>
+ */
+ const short CONTENT_FLOWS_TO = 2;
+
+ /** Controlled-by relation type.
+
+ <p>Indicates an object is controlled by one or more target
+ objects.</p>
+ */
+ const short CONTROLLED_BY = 3;
+
+ /** Controller-for relation type.
+
+ <p>Indicates an object is a controller for one or more target
+ objects.</p>
+ */
+ const short CONTROLLER_FOR = 4;
+
+ /** Label-for relation type.
+
+ <p>Indicates an object is a label for one or more target
+ objects.</p>
+ */
+ const short LABEL_FOR = 5;
+
+ /** Labeled-by relation type.
+
+ <p>Indicates an object is labeled by one or more target objects.</p>
+ */
+ const short LABELED_BY = 6;
+
+ /** Member-of relation type.
+
+ <p>Indicates an object is a member of a group of one or more target
+ objects.</p>
+ */
+ const short MEMBER_OF = 7;
+
+ /** Sub-Window-of relation type.
+
+ <p>With this relation you can realize an alternative parent-child
+ relationship. The target of the relation contains the parent
+ window. Note that there is no relation that points the other way,
+ from the parent window to the child window.</p>
+ */
+ const short SUB_WINDOW_OF = 8;
+
+ /** Node-Child-of relation type.
+
+ <p>Indicates an object is a cell in a tree or tree table which is
+ displayed because a cell in the same column is expanded and
+ identifies that cell.</p>
+
+ @since OOo 3.0
+ */
+ const short NODE_CHILD_OF = 9;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleRole.idl b/offapi/com/sun/star/accessibility/AccessibleRole.idl
new file mode 100644
index 000000000000..3caf7d6fd6fe
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRole.idl
@@ -0,0 +1,720 @@
+/*************************************************************************
+ *
+ * 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_accessibility_AccessibleRole_idl__
+#define __com_sun_star_accessibility_AccessibleRole_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** Collection of roles.
+
+ <p>This collection of constants defines the set of possible roles of
+ classes implementing the <type>XAccessible</type> interface according to
+ the Java class javax.accessibility.AccessibleRole. The role of an
+ object describes its generic function like 'button', 'menu', or 'text'.
+ You can obtain an object's role by calling the
+ <member>getAccessibleRole</member> method of the
+ <type>XAccessibleContext</type> interface.</p>
+
+ <p>We are using constants instead of a more typesafe enum. The reason
+ for this is that IDL enums may not be extended. Therefore, in order to
+ include future extensions to the set of roles we have to use constants
+ here.</p>
+
+ <p>For some roles there exist two labels with the same value. Please
+ use the one with the underscores. The other ones are somewhat
+ deprecated and will be removed in the future. </p>
+
+ @see XAccessibleContext
+
+ @since OOo 1.1.2
+*/
+published constants AccessibleRole
+{
+
+ /** Unknown role.
+
+ <p>The object contains some Accessible information, but its role is
+ not known.</p>
+ */
+ const short UNKNOWN = 0;
+
+ /** Object is used to alert the user about something.
+ */
+ const short ALERT = 1;
+
+ /** The header for a column of data.
+ */
+ const short COLUMN_HEADER = 2;
+
+ /** Object that can be drawn into and is used to trap events.
+
+ <p>See also <const>FRAME</const>, <const>GLASS_PANE</const>, and
+ <const>LAYERED_PANE</const>.</p>
+ */
+ const short CANVAS = 3;
+
+ /** Check box role.
+
+ <p>A choice that can be checked or unchecked and provides a separate
+ indicator for the current state.</p>
+
+ <p>See also <const>PUSH_BUTTON</const>, <const>TOGGLE_BUTTON</const>,
+ and <const>RADIO_BUTTON</const>.</p>
+ */
+ const short CHECK_BOX = 4;
+
+ /** This role is used for check buttons that are menu items.
+
+ @see CHECK_BOX, MENU_ITEM
+ */
+ const short CHECK_MENU_ITEM = 5;
+
+ /** A specialized dialog that lets the user choose a color.
+ */
+ const short COLOR_CHOOSER = 6;
+
+ /** Combo box role.
+
+ <p>A list of choices the user can select from. Also optionally
+ allows the user to enter a choice of their own.</p>
+ */
+ const short COMBO_BOX = 7;
+
+ /** Date editor role.
+
+ <p>A <const>DATE_EDITOR</const> is a component that allows users to
+ edit java.util.Date and java.util.Time objects.</p>
+ */
+ const short DATE_EDITOR = 8;
+
+ /** An iconified internal frame in a DESKTOP_PANE.
+
+ <p>See also <const>DESKTOP_PANE</const> and
+ <const>INTERNAL_FRAME</const>.</p>
+ */
+ const short DESKTOP_ICON = 9;
+
+ /** Desktop pane role.
+
+ <p>A pane that supports internal frames and iconified versions of
+ those internal frames.</p>
+ */
+ const short DESKTOP_PANE = 10;
+
+ /** Directory pane role.
+
+ <p>A pane that allows the user to navigate through and select the
+ contents of a directory. May be used by a file chooser.</p>
+
+ <p>See also <const>FILE_CHOOSER</const>.</p>
+ */
+ const short DIRECTORY_PANE = 11;
+
+ /** Dialog box role.
+
+ <p>A top level window with title bar and a border. A dialog is
+ similar to a frame, but it has fewer properties and is often used as
+ a secondary window for an application.</p>
+
+ <p>See also <const>FRAME</const> and <const>WINDOW</const>.</p>
+ */
+ const short DIALOG = 12;
+
+ /** View of a document.
+
+ <p>The view of an actual document. Its content depends on the
+ document type.</p>
+ */
+ const short DOCUMENT = 13;
+
+ /** Embedded (OLE) object.
+ */
+ const short EMBEDDED_OBJECT = 14;
+
+ /** Text that is used as an endnote (footnote at the end of a chapter or
+ section.
+ */
+ const short END_NOTE = 15;
+
+ /** File chooser role.
+
+ <p>A specialized dialog that displays the files in the directory
+ and lets the user select a file, browse a different directory, or
+ specify a filename. May use the directory pane to show the contents
+ of a directory.</p>
+
+ <p>See also <const>DIRECTORY_PANE</const>.</p>
+ */
+ const short FILE_CHOOSER = 16;
+
+ /** Filler role.
+
+ <p>An object that fills up space in a user interface. It is often
+ used in interfaces to tweak the spacing between components, but
+ serves no other purpose.</p>
+ */
+ const short FILLER = 17;
+
+ /** Font chooser role.
+
+ <p>A <const>FONT_CHOOSER</const> is a component that lets the user pick various
+ attributes for fonts.</p>
+ */
+ const short FONT_CHOOSER = 18;
+
+ /** Footer of a document page.
+ @see HEADER
+ */
+ const short FOOTER = 19;
+
+ /** Text that is used as a footnote.
+ */
+ const short FOOTNOTE = 20;
+
+ /** Frame role.
+
+ <p>A top level window with a title bar, border, menu bar, etc. It
+ is often used as the primary window for an application.</p>
+
+ <p>See also <const>DIALOG</const>, <const>CANVAS</const>, and
+ <const>WINDOW</const>.</p>
+ */
+ const short FRAME = 21;
+
+ /** Glass pane role.
+
+ <p>A pane that is guaranteed to be painted on top of all panes
+ beneath it.</p>
+
+ <p>See also <const>ROOT_PANE</const> and <const>CANVAS</const>.</p>
+ */
+ const short GLASS_PANE = 22;
+
+ /** Graphical object.
+ */
+ const short GRAPHIC = 23;
+
+ /** Group box role.
+
+ <p>A <const>GROUP_BOX</const> is a simple container that contains a
+ border around it and contains components inside it.</p>
+ */
+ const short GROUP_BOX = 24;
+
+ /** Header of a document page.
+ @see FOOTER
+ */
+ const short HEADER = 25;
+
+ /** Chapter or section heading.
+ */
+ const short HEADING = 26;
+
+ /** A hypertext anchor.
+ */
+ const short HYPER_LINK = 27;
+
+ /** A small fixed size picture, typically used to decorate components.
+ */
+ const short ICON = 28;
+
+ /** Internal frame role.
+
+ <p>A frame-like object that is clipped by a desktop pane. The
+ desktop pane, internal frame, and desktop icon objects are often
+ used to create multiple document interfaces within an
+ application.</p>
+
+ <p>See also <const>DESKTOP_ICON</const>, <const>DESKTOP_PANE</const>,
+ and <const>FRAME</const>.</p>
+ */
+ const short INTERNAL_FRAME = 29;
+
+ /** An object used to present an icon or short string in an interface.
+ */
+ const short LABEL = 30;
+
+ /** layered pane role.
+
+ <p>A specialized pane that allows its children to be drawn in
+ layers, providing a form of stacking order. This is usually the pane
+ that holds the menu bar as well as the pane that contains most of
+ the visual components in a window.</p>
+
+ <p>See also <const>GLASS_PANE</const> and
+ <const>ROOT_PANE</const>.</p>
+ */
+ const short LAYERED_PANE = 31;
+
+ /** List role.
+
+ <p>An object that presents a list of objects to the user and allows
+ the user to select one or more of them. A list is usually contained
+ within a scroll pane.</p>
+
+ <p>See also <const>SCROLL_PANE</const> and
+ <const>LIST_ITEM</const>.</p>
+ */
+ const short LIST = 32;
+
+ /** List item role.
+
+ <p>An object that presents an element in a list. A list is usually
+ contained within a scroll pane.</p>
+
+ <p>See also <const>SCROLL_PANE</const> and <const>LIST</const>.</p>
+ */
+ const short LIST_ITEM = 33;
+
+ /** Menu role.
+
+ <p>An object usually found inside a menu bar that contains a list of
+ actions the user can choose from. A menu can have any object as its
+ children, but most often they are menu items, other menus, or
+ rudimentary objects such as radio buttons, check boxes, or
+ separators. For example, an application may have an "Edit" menu that
+ contains menu items for "Cut" and "Paste."</p>
+
+ <p>See also <const>MENU_BAR</const>, <const>MENU_ITEM</const>,
+ <const>SEPARATOR</const>, <const>RADIO_BUTTON</const>,
+ <const>CHECK_BOX</const>, and <const>POPUP_MENU</const>.</p>
+ */
+ const short MENU = 34;
+
+ /** Menu bar role.
+
+ <p>An object usually drawn at the top of the primary dialog box of
+ an application that contains a list of menus the user can choose
+ from. For example, a menu bar might contain menus for "File,"
+ "Edit," and "Help."</p>
+
+ <p>See also <const>MENU</const>, <const>POPUP_MENU</const>, and
+ <const>LAYERED_PANE</const>.</p>
+ */
+ const short MENU_BAR = 35;
+
+ /** Menu item role.
+
+ <p>An object usually contained in a menu that presents an action the
+ user can choose. For example, the "Cut" menu item in an "Edit" menu
+ would be an action the user can select to cut the selected area of
+ text in a document.</p>
+
+ <p>See also <const>MENUBAR</const>, <const>SEPARATOR</const>, and
+ <const>POPUP_MENU</const>.</p>
+ */
+ const short MENU_ITEM = 36;
+
+ /** A specialized pane whose primary use is inside a <const>DIALOG</const>.
+
+ <p>See also <const>DIALOG</const>.</p>
+ */
+ const short OPTION_PANE = 37;
+
+ /** Page tab role.
+
+ <p>An object that is a child of a page tab list. Its sole child is
+ the panel that is to be presented to the user when the user selects
+ the page tab from the list of tabs in the page tab list.</p>
+
+ <p>See also <const>PAGE_TAB_LIST</const>.</p>
+ */
+ const short PAGE_TAB = 38;
+
+ /** Page tab list role.
+
+ <p>An object that presents a series of panels (or page tabs), one at
+ a time, through some mechanism provided by the object. The most
+ common mechanism is a list of tabs at the top of the panel. The
+ children of a page tab list are all page tabs.</p>
+
+ <p>See also <const>PAGE_TAB</const>.</p>
+ */
+ const short PAGE_TAB_LIST = 39;
+
+ /** A generic container that is often used to group objects.
+ */
+ const short PANEL = 40;
+
+ /** Paragraph of text.
+ */
+ const short PARAGRAPH = 41;
+
+ /** Password text role.
+
+ <p>A text object used for passwords, or other places where the text
+ contents is not shown visibly to the user.</p>
+ */
+ const short PASSWORD_TEXT = 42;
+
+ /** Pop-up menu role.
+
+ <p>A temporary window that is usually used to offer the user a list
+ of choices, and then hides when the user selects one of those
+ choices.</p>
+
+ <p>See also <const>MENU</const> and <const>MENU_ITEM</const>.</p>
+ */
+ const short POPUP_MENU = 43;
+
+ /** Push button role.
+
+ <p>An object the user can manipulate to tell the application to do
+ something.</p>
+
+ <p>See also <const>CHECK_BOX</const>, <const>TOGGLE_BUTTON</const>,
+ <const>RADIO_BUTTON</const>, <const>BUTTON_MENU</const> and
+ <const>BUTTON_DROPDOWN</const>.</p>
+ */
+ const short PUSH_BUTTON = 44;
+
+ /** An object used to indicate how much of a task has been completed.
+ */
+ const short PROGRESS_BAR = 45;
+
+ /** Radio button role.
+
+ <p>A specialized check box that will cause other radio buttons in
+ the same group to become unchecked when this one is checked.</p>
+
+ <p>See also <const>PUSH_BUTTON</const>, <const>TOGGLE_BUTTON</const>,
+ and <const>CHECK_BOX</const>.</p>
+ */
+ const short RADIO_BUTTON = 46;
+
+ /** This role is used for radio buttons that are menu items.
+
+ @see RADIO_BUTTON, MENU_ITEM
+ */
+ const short RADIO_MENU_ITEM = 47;
+
+ /** The header for a row of data.
+ */
+ const short ROW_HEADER = 48;
+
+ /** Root pane role.
+
+ <p>A specialized pane that has a glass pane and a layered pane as
+ its children.</p>
+
+ <p>See also <const>GLASS_PANE</const> and <const>LAYERED_PANE</const>.</p>
+ */
+ const short ROOT_PANE = 49;
+
+ /** Scroll bar role.
+
+ <p>An object usually used to allow a user to incrementally view a
+ large amount of data. Usually used only by a scroll pane.</p>
+
+ <p>See also <const>SCROLL_PANE</const>.</p>
+ */
+ const short SCROLL_BAR = 50;
+
+ /** Scroll pane role.
+
+ <p>An object that allows a user to incrementally view a large amount
+ of information. Its children can include scroll bars and a
+ viewport.</p>
+
+ <p>See also <const>SCROLL_BAR</const> and <const>VIEW_PORT</const>.</p>
+ */
+ const short SCROLL_PANE = 51;
+
+ /** Object with graphical representation used to represent content on
+ draw pages.
+
+ @see com::sun::star::drawing::AccessibleShape
+ */
+ const short SHAPE = 52;
+
+ /** Separator role.
+
+ <p>An object usually contained in a menu to provide a visual and
+ logical separation of the contents in a menu. For example, the
+ "File" menu of an application might contain menu items for "Open,"
+ "Close," and "Exit," and will place a separator between "Close" and
+ "Exit" menu items.</p>
+
+ <p>See also <const>MENU</const> and <const>MENU_ITEM</const>.</p>
+ */
+ const short SEPARATOR = 53;
+
+ /** Slider role.
+
+ <p>An object that allows the user to select from a bounded
+ range. For example, a slider might be used to select a number
+ between 0 and 100.</p>
+ */
+ const short SLIDER = 54;
+
+ /** Spin box role.
+
+ <p>A <const>SPIN_BOX</const> is a simple spinner component and its
+ main use is for simple numbers.</p>
+ */
+ const short SPIN_BOX = 55;
+
+ /** Split pane role.
+
+ <p>A specialized panel that presents two other panels at the same
+ time. Between the two panels is a divider the user can manipulate to
+ make one panel larger and the other panel smaller.</p>
+ */
+ const short SPLIT_PANE = 56;
+
+ /** Status bar role.
+
+ <p>A <const>STATUS_BAR</const> is an simple component that can
+ contain multiple labels of status information to the user.</p>
+ */
+ const short STATUS_BAR = 57;
+
+ /** Table component.
+
+ <p>An object used to present information in terms of rows and
+ columns. An example might include a spreadsheet application.</p>
+ */
+ const short TABLE = 58;
+
+ /** Single cell in a table.
+ */
+ const short TABLE_CELL = 59;
+
+ /** Text role.
+
+ <p>An object that presents text to the user. The text is usually
+ editable by the user as opposed to a label.</p>
+
+ <p>See also <const>LABEL</const>.</p>
+ */
+ const short TEXT = 60;
+
+ /** Collection of objects that constitute a logical text entity.
+ */
+ const short TEXT_FRAME = 61;
+
+ /** Toggle button role.
+
+ <p>A specialized push button that can be checked or unchecked, but
+ does not provide a separate indicator for the current state.</p>
+
+ <p>See also <const>PUSH_BUTTON</const>, <const>CHECK_BOX</const> and
+ <const>RADIO_BUTTON</const>.</p>
+ */
+ const short TOGGLE_BUTTON = 62;
+
+ /** Tool bar role.
+
+ <p>A bar or palette usually composed of push buttons or toggle
+ buttons. It is often used to provide the most frequently used
+ functions for an application.</p>
+ */
+ const short TOOL_BAR = 63;
+
+ /** Tool tip role.
+
+ <p>An object that provides information about another object. The
+ accessible Description property of the tool tip is often displayed to
+ the user in a small "help bubble" when the user causes the mouse to
+ hover over the object associated with the tool tip.</p>
+ */
+ const short TOOL_TIP = 64;
+
+ /** Tree role.
+
+ <p>An object used to present hierarchical information to the
+ user. The individual nodes in the tree can be collapsed and expanded
+ to provide selective disclosure of the tree's contents.</p>
+ */
+ const short TREE = 65;
+
+ /** Viewport role.
+
+ <p>An object usually used in a scroll pane. It represents the
+ portion of the entire data that the user can see. As the user
+ manipulates the scroll bars, the contents of the viewport can
+ change.</p>
+
+ <p>See also <const>SCROLL_PANE</const>.</p>
+ */
+ const short VIEW_PORT = 66;
+
+ /** A top level window with no title or border.
+
+ <p>See also <const>FRAME</const> and <const>DIALOG</const>.</p>
+ */
+ const short WINDOW = 67;
+
+ /** Button dropdown role
+
+ <p>The object represents a button that drops down a list of items.</p>
+
+ <p>See also <const>PUSH_BUTTON</const> and <const>BUTTON_MENU</const>.</p>
+
+ @since OOo 3.0
+ */
+ const short BUTTON_DROPDOWN = 68;
+
+ /** Button menu role
+
+ <p>The object represents a button that drops down a menu.</p>
+
+ <p>See also <const>PUSH_BUTTON</const> and <const>BUTTON_DROPDOWN</const>.</p>
+
+ @since OOo 3.0
+ */
+ const short BUTTON_MENU = 69;
+
+ /** Caption role
+
+ <p>The object contains descriptive information, usually textual, about
+ another user interface element such as a table, chart, or image.</p>.
+
+ @since OOo 3.0
+ */
+ const short CAPTION = 70;
+
+ /** Chart role
+
+ <p>The object is a graphical depiction of quantitative data. It may contain multiple
+ subelements whose attributes and/or description may be queried to obtain both
+ the quantitative data and information about how the data is being presented.</p>
+
+ @since OOo 3.0
+ */
+ const short CHART = 71;
+
+ /** Edit bar role
+
+ <p>A role indicating the object acts as a formula for calculating a value.</p>
+
+ @since OOo 3.0
+ */
+ const short EDIT_BAR = 72;
+
+ /** Form role
+
+ <p>The object is a container for form controls, for instance as part of a web form
+ or user-input form within a document.</p>
+
+ @since OOo 3.0
+ */
+ const short FORM = 73;
+
+ /** Image map role
+
+ <p>Usually a graphic with multiple hotspots, where each hotspot can be activated
+ resulting in the loading of another document or section of a document.</p>
+
+ @since OOo 3.0
+ */
+ const short IMAGE_MAP = 74;
+
+ /** Note role
+
+ <p>An embedded note which is not visible until activated.</p>
+
+ @since OOo 3.0
+ */
+ const short NOTE = 75;
+
+ /** Page role
+
+ <p>An object representing a page of document content. It is used in documents
+ which are accessed by the user on a page by page basis.</p>
+
+ @since OOo 3.0
+ */
+ const short PAGE = 76;
+
+ /** Ruler role
+
+ <p>An object which describes margins and tab stops, etc. for text objects which it controls.</p>
+
+ @since OOo 3.0
+ */
+ const short RULER = 77;
+
+ /** Section role
+
+ <p>The object is a containing instance of document content which constitutes a particular
+ 'logical' section of the document.</p>
+
+ @since OOo 3.0
+ */
+ const short SECTION = 78;
+
+ /** Tree item role
+
+ <p>An object that presents an element in a tree</p>
+
+ </p>See also <const>TREE</const> and <const>TREE_TABLE</const>.</p>
+
+ @since OOo 3.0
+ */
+ const short TREE_ITEM = 79;
+
+ /** Tree table role
+
+ <p>An object which represents both hierarchical and tabular information.</p>
+
+ @since OOo 3.0
+ */
+ const short TREE_TABLE = 80;
+
+ /** Comment role
+
+ <p>An object which represents a comment.</p>
+
+ <p>A comment is anchored at a certain content position in the document and
+ annotates this document content position or a certain text range of the document content.
+ In the OpenDocument file format a comment is known as an annotation.</p>
+
+ <p>See also <const>COMMENT_END</const>.</p>
+
+ @since OOo 3.2
+ */
+ const short COMMENT = 81;
+
+ /** Comment end role
+
+ <p>An invisible object which represents the end position of a text range which
+ is annotated by a comment - see <const>COMMENT</const>.</p>
+
+ <p>This object and the corresponding object representing the comment shall be
+ in relation of type <const>MEMBER_OF</const>.</p>
+
+ @since OOo 3.2
+ */
+ const short COMMENT_END = 82;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleStateType.idl b/offapi/com/sun/star/accessibility/AccessibleStateType.idl
new file mode 100644
index 000000000000..1d83932d0344
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleStateType.idl
@@ -0,0 +1,225 @@
+/*************************************************************************
+ *
+ * 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_accessibility_AccessibleStateType_idl__
+#define __com_sun_star_accessibility_AccessibleStateType_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** Collection of state types.
+
+ <p>This list of constants defines the available set of states that an
+ object that implements <type>XAccessibleContext</type> can be in.</p>
+
+ <p>The comments describing the states is taken verbatim from the Java
+ Accessibility API 1.4 documentation.</p>
+
+ <p>We are using constants instead of a more typesafe enum. The reason
+ for this is that IDL enums may not be extended. Therefore, in order to
+ include future extensions to the set of roles we have to use constants
+ here.</p>
+
+ @since OOo 1.1.2
+*/
+published constants AccessibleStateType
+{
+ /** Indicates an invalid state.
+ */
+ const short INVALID = 0;
+
+ /** Indicates a window is currently the active window.
+ */
+ const short ACTIVE = 1;
+
+ /** Indicates that the object is armed.
+ */
+ const short ARMED = 2;
+
+ /** Indicates the current object is busy.
+ */
+ const short BUSY = 3;
+
+ /** Indicates this object is currently checked.
+ */
+ const short CHECKED = 4;
+
+ /** User interface object corresponding to this object no longer exists.
+
+ <p>Indicates the user interface object corresponding to this object
+ no longer exists.</p>
+ */
+ const short DEFUNC = 5;
+
+ /** Indicates the user can change the contents of this object.
+ */
+ const short EDITABLE = 6;
+
+ /** Indicates this object is enabled.
+ */
+ const short ENABLED = 7;
+
+ /** Indicates this object allows progressive disclosure of its children.
+ */
+ const short EXPANDABLE = 8;
+
+ /** Indicates this object is expanded.
+ */
+ const short EXPANDED = 9;
+
+ /** Object can accept the keyboard focus.
+
+ <p>Indicates this object can accept keyboard focus, which means all
+ events resulting from typing on the keyboard will normally be passed
+ to it when it has focus.</p>
+ */
+ const short FOCUSABLE = 10;
+
+ /** Indicates this object currently has the keyboard focus.
+ */
+ const short FOCUSED = 11;
+
+ /** Indicates the orientation of this object is horizontal.
+ */
+ const short HORIZONTAL = 12;
+
+ /** Indicates this object is minimized and is represented only by an
+ icon.
+ */
+ const short ICONIFIED = 13;
+
+ /** Sometimes UI elements can have a state indeterminate.
+ This can happen e.g. if a check box reflects the bold state of text in a text processor.
+ When the current selection contains text which is bold and also text which is not bold, the state is indeterminate.
+
+ */
+ const short INDETERMINATE = 14;
+
+ /** Indicates the most (all) children are transient and it is not
+ necessary to add listener to the children. Only the active descendant
+ (given by the event) should be not transient to make it possible
+ to add listener to this object and recognize changes in this object.
+
+ The state is added to make a performance improvement. Now it is no
+ longer necessary to iterate over all children to find out whether
+ they are transient or not to decide whether to add listener or not.
+ If there is a object with this state no one should iterate over the
+ children to add listener. Only the active descendant should get
+ listener if it is not transient.
+ */
+ const short MANAGES_DESCENDANTS = 15;
+
+ /** Object is modal.
+
+ <p>Indicates something must be done with this object before the user
+ can interact with an object in a different window.</p>
+ */
+ const short MODAL = 16;
+
+ /** Indicates this (text) object can contain multiple lines of text
+ */
+ const short MULTI_LINE = 17;
+
+ /** More than one child may be selected at the same time.
+
+ <p>Indicates this object allows more than one of its children to be
+ selected at the same time.</p>
+ */
+ const short MULTI_SELECTABLE = 18;
+
+ /** Indicates this object paints every pixel within its rectangular
+ region.
+ */
+ const short OPAQUE = 19;
+
+ /** Indicates this object is currently pressed.
+ */
+ const short PRESSED = 20;
+
+ /** Indicates the size of this object is not fixed.
+ */
+ const short RESIZABLE = 21;
+
+ /** Object is selectable.
+
+ <p>Indicates this object is the child of an object that allows its
+ children to be selected, and that this child is one of those
+ children that can be selected.</p>
+ */
+ const short SELECTABLE = 22;
+
+ /** Object is selected.
+
+ <p>Indicates this object is the child of an object that allows its
+ children to be selected, and that this child is one of those
+ children that has been selected.</p>
+ */
+ const short SELECTED = 23;
+
+ /** Indicates this object is sensitive.
+ */
+ const short SENSITIVE = 24;
+
+ /** Object is displayed on the screen.
+
+ <p>An object has set the <const>SHOWING</const> state if itself and
+ all of its parents have set the <const>VISIBLE</const> state and it
+ lies at least partly inside the visible area of its parent. It is,
+ though, not necessarily visible on the screen because it may be
+ occluded by other objects.</p>
+ */
+ const short SHOWING = 25;
+
+ /** Indicates this (text) object can contain only a single line of text
+ */
+ const short SINGLE_LINE = 26;
+
+ /** ???
+ */
+ const short STALE = 27;
+
+ /** Indicates this object is transient.
+ */
+ const short TRANSIENT= 28;
+
+ /** Indicates the orientation of this object is vertical.
+ */
+ const short VERTICAL = 29;
+
+ /** Object wants to be displayed on the screen.
+
+ <p>A set <const>VISIBLE</const> state indicates that an object wants
+ to be displayed on the screen. It is displayed, as indicated by a
+ set <const>SHOWING</const> state, if all of its parents have also
+ set the <const>VISIBLE</const> state and the object lies at least
+ partly in the visible area of its parent.</p>
+ */
+ const short VISIBLE = 30;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl b/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl
new file mode 100644
index 000000000000..f38bbf9e17ac
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * 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_accessibility_AccessibleTableModelChange_idl__
+#define __com_sun_star_accessibility_AccessibleTableModelChange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** This structure lets an event give access to a change of a table model.
+
+ <p>The data members of the <type>AccessibleTableModelChange</type> structure
+ give access to the type and cell range of a change of a table model. See
+ <type>AccessibleTableModelChangeType</type> for details of the change
+ type. The range of the affected rows, columns, and/or cells can be
+ obtained by accessing the other four data members.</p>
+
+ @since OOo 1.1.2
+*/
+published struct AccessibleTableModelChange
+{
+ /** The type of the event as defined in
+ <type>AccessibleTableModelChangeType</type>.
+
+ <p>The model change either inserted or deleted one or more rows
+ and/or columns or modified the content of a number of cells. See
+ <type>AccessibleTableModelChangeType</type> for details of the type
+ of the model change.</p>
+ */
+ short Type;
+
+ /** The lowest index of a row that has changed.
+
+ <p>The first row that has been changed or that contains
+ modified cells.</p>
+ */
+ long FirstRow;
+
+ /** The highest index of a row that has changed.
+
+ <p>The last row that has been changed or that contains modified
+ cells.</p>
+ */
+ long LastRow;
+
+ /** The lowest index of a column that has changed.
+
+ <p>The first column that has been changed or contains modified
+ cells.</p>
+ */
+ long FirstColumn;
+
+ /** The highest index of a column that has changed.
+
+ <p>The last column that has been changed or contains modified
+ cells.</p>
+ */
+ long LastColumn;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl b/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl
new file mode 100644
index 000000000000..bdc57865db98
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleTableModelChange_idl__
+#define __com_sun_star_accessibility_XAccessibleTableModelChange_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Type of a change made to a table model.
+
+ <p>The value of this constants group are used by the
+ <type>AccessibleTableModelChange</type> structure to specify the
+ type of change that has been made to a table model.</p>
+
+ <p>Two of the constants,
+ <const>AccessibleTableModelChangeType::INSERT</const> and
+ <const>AccessibleTableModelChangeType::DELETE</const> describe
+ changes to the table's geometry. One or more rows and/or columns have
+ been inserted or deleted. In contrast, the remaining constant
+ <const>AccessibleTabelModelChangeType::UPDATE</const> specifies a
+ change of the table's content.</p>
+
+ @since OOo 1.1.2
+*/
+published constants AccessibleTableModelChangeType
+{
+ /** One or more rows and/or columns have been inserted.
+
+ <p>Use the fields of the <type>AccessibleTableModelChange</type>
+ structure to determine the indices of the rows and/or columns that
+ have been inserted.</p>
+ */
+ const short INSERT = 1;
+
+ /** One or more rows and/or columns have been deleted.
+
+ <p>The affected area of the table is stored in the fields of the
+ <type>AccessibleTableModelChange</type> structure.</p>
+ */
+ const short DELETE = 2;
+
+ /** Some of the table data has changed.
+
+ <p>The number of rows and columns remains unchanged. Only (some of)
+ the content of the cells in the range that is specified by the
+ fields of the <type>AccessibleTableModelChange</type> structure have
+ been changed.</p>
+ */
+ const short UPDATE = 3;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/AccessibleTextType.idl b/offapi/com/sun/star/accessibility/AccessibleTextType.idl
new file mode 100644
index 000000000000..33dfd5d7beb3
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTextType.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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_accessibility_AccessibleTextType_idl__
+#define __com_sun_star_accessibility_AccessibleTextType_idl__
+
+module com { module sun { module star { module accessibility {
+
+
+/** Collection of types of text portions.
+
+ <p>This collection describes the types of text portions that can be
+ accessed with the help of the methods of the
+ <type>XAccessibleText</type> interface.</p>
+
+ @since OOo 1.1.2
+*/
+published constants AccessibleTextType
+{
+ /** Single character.
+
+ <p>Indicates that single (multibyte) characters are used.</p>
+ */
+ const short CHARACTER = 1;
+
+ /** Single word.
+
+ <p>Indicates that single words are used. The definition of what a
+ word is is implementation and language/locale dependent. While in
+ English a word is ended by a space or a special character like a
+ comma or a period, this is not necessarily true in other
+ languages.</p>
+ */
+ const short WORD = 2;
+
+ /** Single sentence.
+
+ <p>Indicates that single sentences are used. The definition of what
+ a sentence is is implementation and language/locale dependent.
+ While in English a sentence is ended by a period, this is not
+ necessarily true in other languages.</p>
+ */
+ const short SENTENCE = 3;
+
+ /** Single paragraph.
+
+ <p>Indicates that single paragraphs are used. The definition of
+ what a paragraph is is implementation and language/locale
+ dependent.</p>
+ */
+ const short PARAGRAPH = 4;
+
+ /** Single line.
+
+ <p>Indicates that single lines, as displayed on the screen, are
+ used. In contrast to the constants <const>CHARACTER</const>,
+ <const>WORD</const>, <const>SENTENCE</const>, and
+ <const>PARAGRAPH</const> which are content oriented this constant is
+ view oriented. It can be used to retrieve hyphenation
+ information.</p>
+ */
+ const short LINE = 5;
+
+ /** Single glyph.
+
+ <p>Glyphs are runs of one or more (multibyte) characters which are
+ displayed as one symbol.</p>
+ */
+ const short GLYPH = 6;
+
+ /** Attribute run.
+
+ <p>Each attribute run is a character run of maximal length where all
+ characters have the same attributes set.</p>
+ */
+ const short ATTRIBUTE_RUN = 7;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl b/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl
new file mode 100644
index 000000000000..a90733f0a13b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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_accessibility_IllegalAccessibleComponentStateException_idl__
+#define __com_sun_star_accessibility_IllegalAccessibleComponentStateException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Indicates invalid or unavailable state information.
+
+ <p>This exception is thrown to indicate the an accessibility component
+ has been queried for state information that it can not provide. Used by
+ <member>XAccessibleContext::getLocale</member>.</p>
+
+ @see XAccessibleContext::getLocale()
+
+ @since OOo 1.1.2
+*/
+published exception IllegalAccessibleComponentStateException
+ : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/TextSegment.idl b/offapi/com/sun/star/accessibility/TextSegment.idl
new file mode 100644
index 000000000000..650433598539
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/TextSegment.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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_accessibility_TextSegment_idl__
+#define __com_sun_star_accessibility_TextSegment_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** This structure describes a text segment that is embedded in a larger
+ portion of text. It is used for example by the
+ <type>XAccessibleText</type> interface to describe a text portion that
+ was inserted into or deleted from an accessible text.
+
+ <p>The indices <member>TextSegment::SegmentStart</member> and
+ <member>TextSegment::SegmentEnd</member> refer to the enclosing text.
+ The <member>TextSegment::SegmentText</member> member contains the text
+ between these two indices including the start index but not the end
+ index. With it you can use this structure without having to
+ access the <type>XAccessibleText</type> interface that represents the
+ enclosing text.</p>
+
+ <p>An empty text segment is expressed by
+ <member>TextSegment::SegmentStart</member> and
+ <member>TextSegment::SegmentEnd</member> set to the same value. While a
+ value of -1 signals an error (like the request for a word after the last
+ character of a text) all other values define the empty string at that
+ position.</p>
+
+ <p>The <member>SegmentText</member> member is a copy of the
+ corresponding text segment of the enclosing text. Modifying this
+ structure does not alter the enclosing text.</p>
+
+ @see XAccessibleText
+
+ @since OOo 1.1.2
+*/
+
+published struct TextSegment
+{
+ /** A copy of the text segment of the enclosing text delimited by the
+ text indices <member>TextSegment::SegmentStart</member> and
+ <member>TextSegment::SegmentEnd</member>. Modifying it does not
+ alter the enclosing text.
+ */
+ string SegmentText;
+
+ /** Index of the first character of the text segment represented by this
+ structure. The index refers to the enclosing text.
+ */
+ long SegmentStart;
+
+ /** Index of the character directly behind the last character of the
+ text segment represented by this structure. The index refers to the
+ enclosing text.
+ */
+ long SegmentEnd;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessible.idl b/offapi/com/sun/star/accessibility/XAccessible.idl
new file mode 100644
index 000000000000..d195da413c8a
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessible.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessible_idl__
+#define __com_sun_star_accessibility_XAccessible_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleContext;
+
+/** This interface has to be implemented by any class that wants to be
+ accessible.
+
+ <p>It is used to provide access to the <type>XAccessibleContext</type>
+ interface but allows at the same time that that interface is implemented
+ by another class.</p>
+
+ <p>The distinction between the interfaces <type>XAccessible</type> and
+ <type>XAccessibleContext</type> makes it possible to split up the
+ implementation of the
+ class that is made accessible and the actual accessibility code into two
+ (mostly) independent parts. The only necessary dependence is the
+ <member scope="XAccessible">getAccessibleContext()</member> function
+ that returns the accessible context. This one-way link has to be
+ persistent in some sense: As long as there is at least one reference to
+ a specific <type>XAccessibleContext</type> object the
+ <type>XAccessible</type> object has to return the same context for every
+ call to <member scope="XAccessible">getAccessibleContext()</member>.
+ This is necessary to allow the use of object identity for comparing
+ accessibility contexts for being equal.</p>
+
+ @see AccessibleContext
+
+ @since OOo 1.1.2
+*/
+published interface XAccessible : ::com::sun::star::uno::XInterface
+{
+ /** Returns the AccessibleContext associated with this object.
+
+ <p>The idea to let this interface only return an
+ <type>XAccessibleContext</type> instead of directly supporting its
+ functions is to allow the separation of the implementation of the
+ functions that make a class accessible from the implementation of
+ that class. You may, of course, implement <type>XAccessible</type>
+ and <type>XAccessibleContext</type> in one class.</p>
+
+ @return
+ A reference to the object that contains the actual accessibility
+ information.
+
+ @see AccessibleContext
+ */
+ XAccessibleContext getAccessibleContext ();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleAction.idl b/offapi/com/sun/star/accessibility/XAccessibleAction.idl
new file mode 100644
index 000000000000..4d25f9a71ea2
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleAction.idl
@@ -0,0 +1,123 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleAction_idl__
+#define __com_sun_star_accessibility_XAccessibleAction_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleKeyBinding;
+
+/** Implement this interface to give access to actions that can be executed
+ for accessible objects.
+
+ <p>Every accessible object that can be manipulated beyond its methods
+ exported over the accessibility API should support this interface to
+ expose all actions that it can perform. Each action can be performed or
+ be queried for a description or associated key bindings.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleAction : ::com::sun::star::uno::XInterface
+{
+ /** Returns the number of accessible actions available in this object.
+
+ <p>If there are more than one, the first one is considered the
+ "default" action of the object.</p>
+
+ @return
+ The returned value of the number of actions is zero if there are
+ no actions.
+ */
+ long getAccessibleActionCount ();
+
+ /** Perform the specified Action on the object.
+
+ @param nIndex
+ This index specifies the action to perform. If it lies outside
+ the valid range <FALSE/> is returned and no action is performed.
+ @return
+ Returns <TRUE/> if the action was successfully performed. If
+ the action could not be performed successfully <FALSE/> is
+ returned.
+
+ @throws IndexOutOfBoundsException
+ If no action with the given index exists then an
+ <type scope="::com::sun::star::lang">IndexOutOfBoundsException</type>
+ exception is thrown.
+ */
+ boolean doAccessibleAction ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns a description of the specified action of the object.
+
+ @param nIndex
+ This index specifies the action of which to return a
+ description. If it lies outside the valid range an empty string
+ is returned.
+
+ @return
+ The returned value is a localized string of the specified action.
+
+ @throws IndexOutOfBoundsException
+ If the given index lies not in the valid range then an
+ <type scope="::com::sun::star::lang">IndexOutOfBoundsException</type>
+ exception is thrown.
+ */
+ string getAccessibleActionDescription ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns a key binding object, if there is one, associated with the
+ specified action. Note that there can be several alternative key
+ bindings for an action. See <type>XAccessibleKeyBinding</type> for
+ more information about how key bindings are represented.
+
+ @param nIndex
+ This index specifies the action of which to return the key
+ binding.
+
+ @return
+ The returned object describes a set of key bindings associated
+ with the specified action.
+
+ @throws IndexOutOfBoundsException
+ if the given index is not valid.
+ */
+ XAccessibleKeyBinding getAccessibleActionKeyBinding ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleComponent.idl b/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
new file mode 100644
index 000000000000..2e1b980fc8d9
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
@@ -0,0 +1,236 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleComponent_idl__
+#define __com_sun_star_accessibility_XAccessibleComponent_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_XFocusListener_idl__
+#include <com/sun/star/awt/XFocusListener.idl>
+#endif
+#ifndef __com_sun_star_awt_XFont_idl__
+#include <com/sun/star/awt/XFont.idl>
+#endif
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+
+/** The <type>XAccessibleComponent</type> interface should be supported by
+ any class that can be rendered on the screen.
+
+ <p>This interface provides the standard mechanism for an assistive
+ technology to retrieve information concerning the graphical
+ representation of an object. This interface combines methods from
+ the Java interfaces <code>javax.accessibility.AccessibleComponent</code>
+ and <code>javax.accessibility.AccessibleExtendedComponent</code>.</p>
+
+ <p>Further information about the graphical appearance of an object can
+ be expressed with the <type>XAccessibleExtendedComponent</type>
+ interface.</p>
+
+ <p>Coordinates used by the functions of this interface are specified in
+ different coordinate systems. Their scale is the same and is equal to
+ that of the screen coordinate system. In other words all coordinates
+ are measured in pixel. They differ in their respective origin:
+ <ul><li>The screen coordinate system has its origin in the upper left
+ corner of the current screen. Used by the
+ <method>getLocationOnScreen</method> function.</li>
+ <li>The origin of the parent coordinate system is the upper left corner
+ of the parent's bounding box. With no parent the screen coordinate
+ system is used instead. Used by the <method>getLocation</method>
+ function.</li>
+ <li>The object coordinate system is relative to the upper left corner of
+ an object's bounding box. It is relative to itself so to speak. Used
+ by the <method>containsPoint</method> and
+ <method>getAccessibleAtPoint</method> functions.</li>
+ </ul></p>
+
+ <p>Key bindings which are associated with an accessible component can be
+ retrieved at the component's action. The reason for this is that key
+ bindings are associated with actions and directly with a component.
+ This distinction becomes important when there are more than one action.
+ To get access to the key bindings you have to get the
+ <type>XAccessibleAction</type> interface of a component, provided that
+ it is supported, and use the <method
+ scope="XAccessibleAction">getAccessibleKeyBinding()</method>.</p>
+
+ @see XAccessibleExtendedComponent
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleComponent : ::com::sun::star::uno::XInterface
+{
+ /** Tests whether the specified point lies within this object's bounds.
+
+ <p>The test point's coordinates are defined relative to the
+ coordinate system of the object. That means that when the object is
+ an opaque rectangle then both the points (0,0) and (with-1,height-1)
+ would yield a <TRUE/> value.</p>
+
+ @param point
+ Coordinates of the point to test. The origin of the coordinate
+ system is the upper left corner of the object's bounding box as
+ returned by the <method>getBounds</method>. The scale of the
+ coordinate system is identical to that of the screen coordinate
+ system.
+
+ @return
+ Returns <TRUE/> if the point lies within or on the object's bounding
+ box and <FALSE/> otherwise.
+ */
+ boolean containsPoint ([in] ::com::sun::star::awt::Point aPoint);
+
+ /** Returns the Accessible child that is rendered under the given point.
+
+ <p>The test point's coordinates are defined relative to the
+ coordinate system of the object. That means that when the object is
+ an opaque rectangle then both the points (0,0) and (with-1,height-1)
+ would yield a <TRUE/> value.</p>
+
+ @param aPoint
+ Coordinates of the test point for which to find the Accessible
+ child. The origin of the coordinate system is the upper left
+ corner of the object's bounding box as returned by the
+ <method>getBounds</method>. The scale of the coordinate
+ system is identical to that of the screen coordinate system.
+
+ @return
+ If there is one child which is rendered so that its bounding box
+ contains the test point then a reference to that object is
+ returned. If there is more than one child which satisfies that
+ condition then a reference to that one is returned that is
+ painted on top of the others. If no there is no child which is
+ rendered at the test point an empty reference is returned.
+ */
+ XAccessible getAccessibleAtPoint ([in] ::com::sun::star::awt::Point aPoint);
+
+ /** Returns the bounding box of this object.
+
+ <p>The returned bounding box has the form of a rectangle. Its
+ coordinates are relative to the object's parent coordinate system.
+ Note that the two methods <method>getLocation</methodmber> and
+ <method>getSize</method> return the same information. With method
+ <method>getLocationOnScreen</method> you can get the bound box
+ position in screen coordinates.</p>
+
+ @return
+ The coordinates of the returned rectangle are relative to this
+ object's parent or relative to the screen on which this object
+ is rendered if it has no parent. If the object is not on any
+ screen the returned rectangle is empty and located at position
+ (0,0).
+ */
+ ::com::sun::star::awt::Rectangle getBounds ();
+
+ /** Returns the location of the upper left corner of the object's
+ bounding box relative to the parent.</p>
+
+ <p>The coordinates of the bounding box are given relative to the
+ parent's coordinate system.</p>
+
+ @return
+ The coordinates of the returned position are relative to this
+ object's parent or relative to the screen on which this object
+ is rendered if it has no parent. If the object is not on any
+ screen the returned position is (0,0).
+ */
+ ::com::sun::star::awt::Point getLocation ();
+
+ /** Returns the location of the upper left corner of the object's
+ bounding box in screen coordinates.
+
+ <p>This method returns the same point as does the method
+ <method>getLocation</method>. The difference is that the
+ coordinates are absolute screen coordinates of the screen to which
+ the object is rendered instead of being relative to the object's
+ parent.</p>
+
+ @return
+ The coordinates of the returned position are relative to the
+ screen on which this object is rendered. If the object is not
+ on any screen the returned position is (0,0).
+ */
+ ::com::sun::star::awt::Point getLocationOnScreen ();
+
+ /** Returns the size of this object's bounding box.
+
+ @return
+ The returned size is the size of this object or empty if it is
+ not rendered on any screen.
+ */
+ ::com::sun::star::awt::Size getSize();
+
+ /** Grabs the focus to this object.
+
+ <p>If this object can not accept the focus,
+ i.e. <method>isFocusTraversable</method> returns <FALSE/> for this
+ object then nothing happens. Otherwise the object will attempt to
+ take the focus. Nothing happens if that fails, otherwise the object
+ has the focus. This method is called <code>requestFocus</code> in
+ the Java Accessibility API 1.4.</p>
+ */
+ [oneway] void grabFocus ();
+
+ /** Returns the foreground color of this object.
+
+ @return
+ The returned color is the foreground color of this object or, if
+ that is not supported, the default foreground color.
+ */
+ ::com::sun::star::util::Color getForeground ();
+
+ /** Returns the background color of this object.
+
+ @return
+ The returned color is the background color of this object or, if
+ that is not supported, the default background color.
+ */
+ ::com::sun::star::util::Color getBackground ();
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleContext.idl b/offapi/com/sun/star/accessibility/XAccessibleContext.idl
new file mode 100644
index 000000000000..67ec7cf8d9a4
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleContext.idl
@@ -0,0 +1,215 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleContext_idl__
+#define __com_sun_star_accessibility_XAccessibleContext_idl__
+
+#ifndef __com_sun_star_accessibility_IllegalAccessibleComponentStateException_idl__
+#include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_Locale_idl__
+#include <com/sun/star/lang/Locale.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+ published interface XAccessibleRelationSet;
+ published interface XAccessibleSelection;
+ published interface XAccessibleStateSet;
+
+/** Implement this interface for exposing various aspects of a class'
+ content.
+
+ <p>This interface serves two purposes: On the one hand it gives access
+ to the tree structure in which all accessible objects are
+ organized. Each node in this tree supports this interface. On the other
+ hand it gives access to objects that expose the represented content.
+ That are role, state, name, description, and relations to other objects.
+ Take an OK button of a dialog as an example. Its role is
+ <const>AccessibleRole::BUTTON</const>, its name is 'OK', and its description
+ is something like 'Accepts all changes made in the dialog'.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleContext : ::com::sun::star::uno::XInterface
+{
+ /** Return the number of children.
+
+ <p>Returns the number of accessible children of the object.</p>
+
+ @return
+ The returned value is non-negative.
+ */
+ long getAccessibleChildCount();
+
+ /** Returns the i-th child of this object.
+
+ <p>The order in which the children are enumerated is implementation
+ dependent.</p>
+
+ @param i
+ The index may have any value. If it is outside the range from 0
+ to n-1, with n being the number of children as returned by
+ <member>XAccessibleContext::getAccessibleChild</member> an empty
+ reference is returned.
+ @return
+ If the object has an i-th child the returned value is a
+ reference to that child. Otherwise an empty reference is
+ returned.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ If no child with the given index exists then an
+ <type scope="::com::sun::star::lang">IndexOutOfBoundsException</type>
+ exception is thrown.
+ */
+ XAccessible getAccessibleChild ([in] long i)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the parent of this object.
+
+ <p>This function may be called for every node, including the root
+ node, of the accessible tree.</p>
+
+ @return
+ The returned reference points to a valid object for all but the
+ root node. If called for the root node an empty reference is
+ returned.
+ */
+ XAccessible getAccessibleParent ();
+
+ /** Returns the index of this object in its accessible parent.
+
+ <p>If you call getAccessibeChild on the object's parent with the
+ index returned by this function you get a reference to this
+ object.</p>
+
+ @return
+ The returned index is zero based.
+ */
+ long getAccessibleIndexInParent ();
+
+ /** Returns the role of this object.
+
+ <p>The role is a generic description of an objects function. The
+ relation between role and name is similar to the relation between
+ class and object.</p>
+
+ @return
+ The returned value is a role defined in the enumeration
+ AccessibleRole.
+
+ @see AccessibleRole
+ for a list of the available roles.
+ */
+ short getAccessibleRole ();
+
+ /** Returns the object's description.
+
+ <p>Returns the object's localized description. The description should
+ complement the more generic descriptions given by an object's role
+ and name.</p>
+
+ @return
+ The returned string is the object's localized description.
+ */
+ string getAccessibleDescription ();
+
+ /** Return the object's localized name.
+
+ <p>See <member>XAccessibleContext::getAccessibleRole</member>'s
+ documentation for the relation between an object's name and role.
+ Names should be unique, at least between children of the same
+ parent, although the uniqueness is neither enforced nor used inside
+ the API.</p>
+
+ @return
+ The returned string is the object's localized name.
+ */
+ string getAccessibleName ();
+
+ /** Returns the set of relations defined for this object.
+
+ <p>The returned set of relations is a copy of this object's relation
+ set: changing the returned object does not change this object's
+ relations.</p>
+
+ <p>aThere are two ways to represent an empty list of relations:
+ Return an empty reference or return a valid object that contains an
+ empty list.
+
+ @return
+ The returned value is either an empty reference or a reference to
+ a valid object that represents a copy of the objects list of
+ relations.
+ */
+ XAccessibleRelationSet getAccessibleRelationSet ();
+
+ /** Returns the set of states that are currently active for this
+ object.
+
+ <p>The returned state set is a copy: Changing the returned state set
+ will not be reflected by changing the object's set of states. See
+ the documentation of <type>XAccessibleStateSet</type> for a
+ description of the individual states.</p>
+
+ @return
+ A reference to this object's state set or an empty reference if
+ states are not supported.
+
+ @see XAccessibleStateSet
+ */
+ XAccessibleStateSet getAccessibleStateSet ();
+
+ /** Returns the locale of the component.
+
+ <p>This locale is used for example to determine the language to use
+ for the name and description texts.</p>
+
+ @return
+ If this object does not have a locale, the locale of its parent
+ is returned. If it does not have (yet) a parent it throws the
+ exception <type>IllegalAccessibleComponentStateException</type>.
+
+ @throws IllegalAccessibleComponentStateException
+ when this object does not (yet) have a parent.
+ */
+ ::com::sun::star::lang::Locale getLocale ()
+ raises (IllegalAccessibleComponentStateException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl b/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl
new file mode 100644
index 000000000000..1dc673f4a024
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl
@@ -0,0 +1,240 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleEditableText_idl__
+#define __com_sun_star_accessibility_XAccessibleEditableText_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give read and write access to a text
+ representation.
+
+ <p>This interface is typically used in conjunction with the
+ <type>XAccessibleText</type> interface and extents it about the ability
+ to modify the text represented by that interface.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleEditableText
+ : ::com::sun::star::accessibility::XAccessibleText
+{
+ /** Copies the text range into the clipboard.
+
+ <p>The specified text between and including the two given indices is
+ copied into the system clipboard and is deleted afterwards from the
+ text represented by this object. This is equivalent to calling
+ first <member>XAccessibleText::copyText</member> and then
+ <member>XAccessibleEditableText::deleteText</member> with the given
+ start and end indices.</p>
+
+ <p>The text indices are interpreted like those in the
+ <member>XAccessibleText::getTextRange</member> method. </p>
+
+ @param nStartIndex
+ Start index of the text to moved into the clipboard.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ End index of the text to moved into the clipboard.
+ The valid range is 0..length.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean cutText ([in] long nStartIndex, [in] long nEndIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Pastes text from the clipboard.
+
+ <p>The text in the system clipboard is pasted into the text
+ represented by this object at the given index. This method is
+ similar to the <member>XAccessibleEditableText::insertText</member>
+ method. If the index is not valid then the system clipboard text is
+ not inserted.</p>
+
+ @param nIndex
+ Index at which to insert the text from the system clipboard into
+ the text represented by this object.
+ The valid range is 0..length.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ */
+ boolean pasteText ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Deletes a range of text.
+
+ <p>The text between and including the two given indices is deleted
+ from the text represented by this object.</p>
+
+ <p>The text indices are interpreted like those in the
+ <member>XAccessibleText::getTextRange</member> method. </p>
+
+ @param nStartIndex
+ Start index of the text to be deleted.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ End index of the text to be deleted.
+ The valid range is 0..length.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean deleteText ([in] long nStartIndex, [in] long nEndIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Inserts text at the specified position.
+
+ <p>The specified string is inserted at the given index into the text
+ represented by this object.</p>
+
+ @param sText
+ Text that is inserted.
+
+ @param nIndex
+ Index at which to insert the text.
+ The valid range is 0..length.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean insertText ([in] string sText, [in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Replaces text.
+
+ <p>The text between the two given indices is replaced
+ by the specified replacement string. This method is
+ equivalent to calling first
+ <member>XAccessibleEditableText::deleteText</member> with the two
+ indices and afterwards calling
+ <member>XAccessibleEditableText::insertText</member> with the
+ replacement text and the start index.</p>
+
+ <p>The text indices are interpreted like those in the
+ <member>XAccessibleText::getTextRange</member> method. </p>
+
+ @param nStartIndex
+ Start index of the text to be replaced.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ Start index of the text to be replaced.
+ The valid range is 0..length.
+
+ @param sReplacement
+ The Text that replaces the text between the given indices.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean replaceText ([in] long nStartIndex, [in] long nEndIndex,
+ [in] string sReplacement)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Replaces the attributes of a text range by the given set of
+ attributes.
+
+ <p>Sets the attributes for the text between and including the two
+ given indices to those given. The old attributes of this text
+ portion are replaced by the new list of attributes.</p>
+
+ <p>The text indices are interpreted like those in the
+ <member>XAccessibleText::getTextRange</member> method. </p>
+
+ @param nStartIndex
+ Start index of the text whose attributes are modified.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ Start index of the text whose attributes are modified.
+ The valid range is 0..length.
+
+ @param aAttributeSet
+ Set of attributes that replaces the old list of attributes of
+ the specified text portion.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean setAttributes ([in] long nStartIndex, [in] long nEndIndex,
+ [in] sequence<::com::sun::star::beans::PropertyValue> aAttributeSet)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Replaces the whole text with the given text.
+
+ <p>The text content of this object is set to the given string.</p>
+
+ @param sText
+ The new text that replaces the old text.
+
+ @return
+ Returns a flag that indicates whether the operation has been
+ executed successfully.
+ */
+ boolean setText ([in] string sText);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl b/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl
new file mode 100644
index 000000000000..0635ad906da4
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleEventBroadcaster_idl__
+#define __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleEventListener;
+
+/** makes it possible to register listeners which are called whenever
+ an accessibility event (see <type>AccessibleEventObject</type>) occurs.
+
+ @see AccessibleEventObject
+ @see XAccessibleEventListener
+
+ @since OOo 1.1.2
+ */
+published interface XAccessibleEventBroadcaster: ::com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** registers the given <type>XAccessibleEventListener</type>.
+ */
+ [oneway] void addEventListener( [in] XAccessibleEventListener xListener );
+
+ //-------------------------------------------------------------------------
+
+ /** unregisters the given <type>XAccessibleEventListener</type>.
+ */
+ [oneway] void removeEventListener( [in] XAccessibleEventListener xListener );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl b/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl
new file mode 100644
index 000000000000..d673d71557b4
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleEventListener_idl__
+#define __com_sun_star_accessibility_XAccessibleEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_accessibility_AccessibleEventObject_idl__
+#include <com/sun/star/accessibility/AccessibleEventObject.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** makes it possible to register a component as a listener, which is called whenever
+ an accessibility event occurs.
+
+ @see XAccessibleEventBroadcaster
+
+ @since OOo 1.1.2
+ */
+published interface XAccessibleEventListener: ::com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** is called whenever a accessible event (see <type>AccessibleEventObject</type>) occurs.
+ */
+ void notifyEvent( [in] AccessibleEventObject aEvent );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl b/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl
new file mode 100644
index 000000000000..f7e9168ae881
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleExtendedComponent_idl__
+#define __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_XFocusListener_idl__
+#include <com/sun/star/awt/XFocusListener.idl>
+#endif
+#ifndef __com_sun_star_awt_XFont_idl__
+#include <com/sun/star/awt/XFont.idl>
+#endif
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** The <type>XAccessibleExtendedComponent</type> interface contains
+ additional methods to those of the <type>XAccessibleComponent</type>
+ interface. These methods provide information that is used not as often. The
+ division into two interfaces allows classes to support the more
+ frequently used methods of the <type>XAccessibleComponent</type>
+ interface and only support the <type>XAccessibleExtendedComponent</type>
+ interface if that makes sense for the class.
+
+ <p>This interface provides extended access to retrieve information
+ concerning the graphical representation of an object. This interface
+ combines methods from the Java interfaces
+ <code>javax.accessibility.AccessibleComponent</code> and
+ <code>javax.accessibility.AccessibleExtendedComponent</code>.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleExtendedComponent : XAccessibleComponent
+{
+ /** Returns the font of this object.
+
+ @return
+ The returned reference to a font object is empty if a font is not
+ supported by this object.
+ */
+ ::com::sun::star::awt::XFont getFont ();
+
+ /** Returns the titled border text.
+
+ <p>This method stems from the Java interface
+ <code>AccessibleExtendedComponent</code>.</p>
+
+ @return
+ The returned value is the titled border text of the object or
+ empty if that is not supported.
+ */
+ string getTitledBorderText ();
+
+ /** Returns the tool tip text of this object.
+
+ <p>This method stems from the Java interface
+ <code>AccessibleExtendedComponent</code>.</p>
+
+ @return
+ Returns the localized tool tip text of the object. If tool tips
+ are not supported and empty string is returned.
+ */
+ string getToolTipText ();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl b/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl
new file mode 100644
index 000000000000..464ebff4b838
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleHyperlink_idl__
+#define __com_sun_star_accessibility_XAccessibleHyperlink_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to represent a hyperlink or a group of
+ hyperlinks.
+
+ <p>Single hyperlinks correspond to simple &lt;a href&gt; tags. Groups
+ of hyperlinks are contained in client side image maps. Linked objects
+ and anchors are implementation dependent. This interface inherits the
+ <type>XAccessibleAction</type> interface. Especially that interface's
+ <member>XAccessibleAction::getActionCount</member> method is needed to
+ obtain a maximum value for the indices passed to the
+ <member>XAccessibleHyperlink::getAccessibleActionAnchor</member> and
+ <member>XAccessibleHyperlink::getAccessibleActionObject</member>
+ methods.</p>
+
+ <p>Furthermore, the object that implements this interface has to be
+ connected implicitly or explicitly with an object that implements the
+ the <type>XAccessibleText</type> interface. The
+ <member>XAccessibleHyperlink::getStartIndex</member> and
+ <member>XAccessibleHyperlink::getEndIndex</member> methods return
+ indices with respect to the text exposed by that interface.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleHyperlink :
+ ::com::sun::star::accessibility::XAccessibleAction
+{
+ /** Returns an object that represents the link anchor, as appropriate
+ for that link.
+
+ <p>For an HTML link for example, this method would return the string
+ enclosed by the &lt&a href&gt; tag.</p>
+
+ @param nIndex
+ This index identifies the anchor when, as in the case of an
+ image map, there is more than one link represented by this
+ object. The valid maximal index can be determined by calling
+ the <member>XAccessibleAction::getActionCount</member> method.
+
+ @return
+ If the index is not valid then an exception is thrown.
+ Otherwise it returns an implementation dependent value.
+ */
+ any getAccessibleActionAnchor ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns an object that represents the link anchor, as appropriate
+ for that link.
+
+ <p>For an HTML link for example, this method would return the URL of
+ the &lt&a href&gt; tag.</p>
+
+ @param nIndex
+ This index identifies the action object when, as in the case of
+ an image map, there is more than one link represented by this
+ object. The valid maximal index can be determined by calling
+ the <member>XAccessibleAction::getActionCount</member> method.
+
+ @return
+ If the index is not valid then an exception is thrown.
+ Otherwise it returns an implementation dependent value.
+ */
+ any getAccessibleActionObject ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the index at which the textual representation of the
+ hyperlink (group) starts.
+
+ <p>The returned value relates to the <type>XAccessibleText</type>
+ interface that owns this hyperlink.</p>
+
+ @return
+ The index relates to the text exposed by the
+ <type>XAccessibleHypertext</type> interface.
+ */
+ long getStartIndex ();
+
+ /** Returns the index at which the textual representation of the
+ hyperlink (group) ends.
+
+ <p>The returned value relates to the <type>XAccessibleText</type>
+ interface that owns this hyperlink.</p>
+
+ @return
+ The index relates to the text exposed by the
+ <type>XAccessibleText</type> interface.
+ */
+ long getEndIndex ();
+
+ /** Returns whether the document referenced by this links is
+ still valid.
+
+ <p>This is a volatile state that may change without further warning
+ like e.g. sending an appropriate event.</p>
+
+ @return
+ Returns <TRUE/> if the referenced document is still valid and
+ <FALSE/> otherwise.
+ */
+ boolean isValid ();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl b/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl
new file mode 100644
index 000000000000..1330ebd4a2eb
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleHypertext_idl__
+#define __com_sun_star_accessibility_XAccessibleHypertext_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessibleHyperlink;
+
+
+/** Implement this interface to expose the hypertext structure of a document.
+
+ <p>The <type>XAccessibleHypertext</type> interface is the main interface
+ to expose hyperlinks in a document, typically a text document, that are
+ used to reference other (parts of) documents. For supporting the
+ <member>XAccessibleHypertext::getLinkIndex</member> method of this
+ interface and other character related methods of the
+ <type>XAccessibleHyperlink</type> interface, it is necessary to also
+ support the <type>XAccessibleText</type> interface.</p>
+
+ @see XAccessibleHyperlink, XAccessibleText
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleHypertext
+ : ::com::sun::star::accessibility::XAccessibleText
+{
+ /** Returns the number of links and link groups contained within this
+ hypertext document.
+
+ @return
+ The number of links and link groups within this hypertext
+ document. Returns 0 if there is no link.
+ */
+ long getHyperLinkCount ();
+
+ /** Return the specified link.
+
+ <p>The returned <type>XAccessibleHyperlink</type> object
+ encapsulates the hyperlink and provides several kinds of information
+ describing it.</p>
+
+ @param nLinkIndex
+ This index specifies the hyperlink to return.
+
+ @return
+ If the given index is valid, i.e. lies in the interval from 0
+ to the number of links minus one, a reference to the specified
+ hyperlink object is returned. If the index is invalid then an
+ empty reference is returned.
+ */
+ XAccessibleHyperlink getHyperLink ([in] long nLinkIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Returns the index of the hyperlink that is associated with this
+ character index.
+
+ <p>In a HTML document this is the case when a &lt;a href&gt; tag
+ spans (includes) the given character index.</p>
+
+ @param nCharIndex
+ Index of the character for which to return the link index. If
+ the <type>XAccessibleText</type> interface is used to represent
+ the text containing the link, then the character index is only
+ valid if it is greater than or equal to zero and lower then the
+ number of characters in the text. See that interface's
+ documentation for more details.
+
+ @return
+ Returns the index of the hyperlink that is associated with this
+ character index, or throws an exception if there is no hyperlink
+ associated with this index.
+
+ @see XAccessibleText.
+ */
+ long getHyperLinkIndex ([in] long nCharIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleImage.idl b/offapi/com/sun/star/accessibility/XAccessibleImage.idl
new file mode 100644
index 000000000000..7b2dd7a8bbd0
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleImage.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleImage_idl__
+#define __com_sun_star_accessibility_XAccessibleImage_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to represent images and icons.
+
+ <p>This interface is used for a representation of images like icons of
+ buttons. The corresponding interface of the Java Accessibility API is
+ AccessibleIcon. This interface lets you retrieve an image's size and
+ description.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleImage : ::com::sun::star::uno::XInterface
+{
+ /** Returns the localized description of the image.
+
+ <p>It depends on the usage of an image whether the description
+ should express the image's function (e.g. for icons) or the actual
+ content of the image (e.g. for image maps or non-iconic images
+ embedded into a document.)</p>
+
+ @return
+ Returns a localized string that describes the image's function
+ or content.
+ */
+ string getAccessibleImageDescription ();
+
+ /** Returns the height of the image.
+
+ <p>The height is returned in units specified by the parents
+ coordinate system.</p>
+
+ @return
+ Returns the image's height with respect to the parent's
+ coordinate system.
+ */
+ long getAccessibleImageHeight ();
+
+ /** Returns the width of the image.
+
+ <p>The width is returned in units specified by the parents
+ coordinate system.</p>
+
+ @return
+ Returns the image's width with respect to the parent's
+ coordinate system.
+ */
+ long getAccessibleImageWidth ();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl b/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl
new file mode 100644
index 000000000000..c131d9c19815
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleKeyBinding_idl__
+#define __com_sun_star_accessibility_XAccessibleKeyBinding_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_KeyStroke_idl__
+#include <com/sun/star/awt/KeyStroke.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** This interface can be used to represent any number of key bindings which
+ then can be associated to a certain action.
+
+ <p>There can be zero, one, or more key bindings. Each key binding consists
+ of a sequence of <type scope="::com::sun::star::awt">KeyStroke</type>
+ objects. The association of an action with a key binding is established
+ by the <type>XAccessibleAction</type> interface returning an
+ <type>XAccessibleKeyBinding</type> object.</p>
+
+ <p>A key binding describes alternative ways how to invoke an action with
+ pressing one or more keys after each other. Each individual sequence of
+ key strokes </p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleKeyBinding : ::com::sun::star::uno::XInterface
+{
+ /** Return the number of available key bindings.
+ @return
+ The returned value may be 0 to indicate that there are no key
+ bindings or the positive number of the available key bindings.
+ */
+ long getAccessibleKeyBindingCount ();
+
+ /** The returned sequence of key strokes describes one method to invoke
+ the associated action (the one from which you obtained the object at
+ which you called this method) by pressing keys. The keys specified
+ by each of the returned key strokes have to be pressed at the same
+ time (the Control-key and the A-key for example). The keys of
+ one key stroke have to be released before pressing those of the
+ next. The order of the key strokes in the sequence define the order
+ in which to press them.
+ @param nIndex
+ The index selects one of alternative key bindings. It has to
+ non-negative and smaller then the number of key bindings as
+ returned by the <member>geetAccessibleKeyBindingCount()</member>
+ method.
+ @return
+ The returned sequence of key strokes specifies one way to invoke
+ the associated action. The sequence may be empty (but should
+ not be; better not to return such a key binding at all).
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is not valid.
+ */
+ sequence<::com::sun::star::awt::KeyStroke> getAccessibleKeyBinding ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
new file mode 100644
index 000000000000..7becd18a339d
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleMultiLineText_idl__
+#define __com_sun_star_accessibility_XAccessibleMultiLineText_idl__
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give provide a mapping between text index
+ and line numbers.
+
+ <p>This interface is typically used in conjunction with the
+ <type>XAccessibleText</type> interface and extents it with a notion
+ of line numbers</p>
+
+ @since OOo 3.0.0
+*/
+
+/// not yet published
+interface XAccessibleMultiLineText
+ : ::com::sun::star::accessibility::XAccessibleText
+{
+ /** Returns the line number at the specified index.
+
+ <p>For a text object that is spread over multiple lines, this method
+ provides a mapping from a text index to the corresponding line number.
+ </p>
+
+ @param nIndex
+ Index for which the line number should be returned.
+ The valid range is 0..length.
+
+ @return
+ Returns the line number of the specified text index.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid.
+ */
+ long getLineNumberAtIndex([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the text of the specified line.
+
+ <p>Returns the substring of text that makes up the specified line
+ number.</p>
+
+ <p>The number of lines can be obtained by calling
+ <member>XAccessibleMultiLineText::getLineNumberAtIndex</member>
+ with the index of the last character. In a loop, the last line
+ has been reached when <member>TextSegment::SegmentEnd</member>
+ of the returned value is equal to the index of the last
+ character of the text.</p>
+
+ @param nLineNo
+ The number of the line to return the substring from.
+ The valid range is 0..getLineNumberAtIndex(getCharacterCount()).
+
+ @return
+ Returns the requested text portion. This portion may be empty
+ or invalid when no appropriate text portion is found.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the line number is invalid
+ */
+
+ TextSegment getTextAtLineNumber([in] long nLineNo)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the text of the line in which the caret is located.
+
+ <p>The substring returned will most of the time be identical to
+ calling <member>XAccessibleText::getTextAtIndex</member> with
+ the index returned by <member>XAccessibleText::getCaretPosition</member>
+ and type <const scope="AccessibleTextType">LINE</type> beside the
+ following special case:</p>
+
+ <p>Some text implementations place the caret at the end of the current
+ line when the <b>End</b> key gets pressed. Since the index of this position
+ is identical to the one of the first character of the following line,
+ <member>XAccessibleMultiLineText::getLineNumberAtIndex</member> will
+ return the line following the current one in this case.</p>
+
+ @return
+ Returns the requested text portion. This portion may be empty
+ or invalid if the paragraph object does not have a valid caret
+ position.
+ */
+
+ TextSegment getTextAtLineWithCaret();
+
+ /** Returns the number of the line in which the caret is located.
+
+ <p>The line number returned will most of the time be identical to
+ calling <member>XAccessibleMultiLineText::getLineNumberAtIndex</member>
+ with the index returned by <member>XAccessibleText::getCaretPosition</member>
+ beside the following special case:</p>
+
+ <p>Some text implementations place the caret at the end of the current
+ line when the <b>End</b> key gets pressed. Since the index of this position
+ is identical to the one of the first character of the following line,
+ <member>XAccessibleMultiLineText::getLineNumberAtIndex</member> will
+ return the line following the current one in this case.</p>
+
+ @return
+ Returns the index of the line in which the caret is located or -1
+ if the paragraph does not have a valid caret position.
+ */
+
+ long getNumberOfLineWithCaret();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl b/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl
new file mode 100644
index 000000000000..5f1733b52588
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleRelationSet_idl__
+#define __com_sun_star_accessibility_XAccessibleRelationSet_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleRelation_idl__
+#include <com/sun/star/accessibility/AccessibleRelation.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give access to an object's set of relations.
+
+ <p>Such relation are modeled with the <type>AccessibleRelation</type>
+ structure. This interface is used for representing sets of relations
+ between <type>Accessible</type> objects. Most of the convenience
+ methods of the corresponding AccessibleRelationSet interface of the Java
+ Accessibility API have been removed from this interface in order to
+ clean it up. These methods are <member>add</member>,
+ <member>addAll</member>, <member>clear</member>, and
+ <member>remove</member>. The other methods have been renamed to achieve
+ a greater conformance with the other accessibility interfaces.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleRelationSet : ::com::sun::star::uno::XInterface
+{
+ /** Returns the number of relations in this relation set.
+
+ @return
+ Returns the number of relations or zero if there are none.
+ */
+ long getRelationCount ();
+
+ /** Returns the relation of this relation set that is specified by
+ the given index.
+
+ @param nIndex
+ This index specifies the relation to return.
+
+ @return
+ For a valid index, i.e. inside the range 0 to the number of
+ relations minus one, the returned value is the requested
+ relation. If the index is invalid then the returned relation
+ has the type INVALID.
+
+ */
+ AccessibleRelation getRelation ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Tests whether the relation set contains a relation matching the
+ specified key.
+
+ @param aRelationType
+ The type of relation to look for in this set of relations. This
+ has to be one of the constants of
+ <type>AccessibleRelationType</type>.
+
+ @return
+ Returns <TRUE/> if there is a (at least one) relation of the
+ given type and <FALSE/> if there is no such relation in the set.
+ */
+ boolean containsRelation ([in] short aRelationType);
+
+ /** Retrieve and return the relation with the given relation type.
+
+ @param aRelationType
+ The type of the relation to return. This has to be one of the
+ constants of <type>AccessibleRelationType</type>.
+
+ @return
+ If a relation with the given type could be found than (a copy
+ of) this relation is returned. Otherwise a relation with the
+ type INVALID is returned.
+ */
+ AccessibleRelation getRelationByType ([in] short aRelationType);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleSelection.idl b/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
new file mode 100644
index 000000000000..f0f9cc637184
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleSelection_idl__
+#define __com_sun_star_accessibility_XAccessibleSelection_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+
+/** Implement this interface to represent a selection of accessible objects.
+
+ <p>This interface is the standard mechanism to obtain and modify the
+ currently selected children. Every object that has children that can be
+ selected should support this interface.</p>
+
+ <p>The <type>XAccessibleSelection</type> interface has to be implemented
+ in conjunction with the <type>XAccessibleContext</type> interface that
+ provides the children on which the first operates.</p>
+
+ <p>It depends on the class implementing this interface, whether it
+ supports single or multi selection.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleSelection : ::com::sun::star::uno::XInterface
+{
+ /** Selects the specified <type>Accessible</type> child of the
+ object.
+
+ <p>Depending on the implementing class the child is added to the
+ current set a selected children (multi selection) or a previously
+ selected child is deselected first (single selection).</p>
+
+ @param nChildIndex
+ Index of the child which is to add to the selection. This index
+ refers to all the children of this object.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not lie in the valid range of 0 up to
+ the result of
+ <member>XAccessibleContext::getAccessibleChildCount()</member>-1.
+ */
+ void selectAccessibleChild ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Determines if the specified child of this object is selected.
+
+ @param nChildIndex
+ Index of the child for which to detect whether it is selected.
+ This index refers to all the children of this object.
+
+ @return
+ Returns <TRUE/> if the specified child is selected and <FALSE/>
+ if it is not selected.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not lie in the valid range of 0 up to
+ the result of
+ <member>XAccessibleContext::getAccessibleChildCount()</member>-1.
+ */
+ boolean isAccessibleChildSelected ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Clears the selection, so that no children of the
+ object are selected.
+ */
+ [oneway] void clearAccessibleSelection ();
+
+ /** Select all children.
+
+ <p>Causes every child of the object to be selected if the object
+ supports multiple selections. If multiple selection is not
+ supported then the first child, if it exists, is selected and all
+ other children are deselected.</p>
+ */
+ [oneway] void selectAllAccessibleChildren ();
+
+ /** Returns the number of Accessible children that are currently
+ selected.
+
+ <p>This number specifies the valid interval of indices that can be
+ used as arguments for the methods
+ <member>XAccessibleSelection::getSelectedChild</member> and
+ <member>XAccessibleSelection::deselectSelectedChild</member>.</p>
+
+ @return
+ Returns the number of selected children of this object or 0 if
+ no child is selected.
+ */
+ long getSelectedAccessibleChildCount ();
+
+ /** Returns the specified selected Accessible child.
+
+ @param nSelectedChildIndex
+ This index refers only to the selected children, not to all the
+ children of this object. Even if all children are selected, the
+ indices enumerating the selected children need not be the same
+ as those enumerating all children. If only single selection is
+ supported the only valid value is 0.
+
+ @return
+ If the index is valid, i.e. not negative and lower than the
+ number of selected children, then a valid reference to the
+ corresponding <type>XAccessible</type> child is returned.
+ Otherwise an exception is thrown.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not lie in the valid range of 0 up to
+ the result of
+ <member>XAccessibleRelationSet::getAccessibleChildCount()</member>-1.
+ */
+ XAccessible getSelectedAccessibleChild ([in] long nSelectedChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Removes the specified child from the set of this object's
+ selected children. Note that not all applications support
+ deselection: calls to this method may be silently ignored.
+
+ @param nChildIndex
+ This index refers to all children not just the selected ones.
+ If the specified child is not selected or it can not be
+ deselected for any reason then the method call is silently
+ ignored.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the given index does not lie in the valid range of 0 up to,
+ but not including, the result of
+ <member scope="XAccessibleContext">getAccessibleChildCount()</member>.
+ */
+ void deselectAccessibleChild ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl b/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl
new file mode 100644
index 000000000000..01b381349621
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleStateSet_idl__
+#define __com_sun_star_accessibility_XAccessibleStateSet_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleStateType_idl__
+#include <com/sun/star/accessibility/AccessibleStateType.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+
+/** Implement this interface to represent a set of states.
+
+ <p>The interface <type>XAccessibleStateSet</type> represents a set of
+ states of an accessible object. It can hold any combination of states
+ defined by the constants collection
+ <type>AccessibleStateType</type>.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleStateSet : ::com::sun::star::uno::XInterface
+{
+ /** Checks whether the current state set is empty.
+
+ @return
+ Returns <TRUE/> if there is no state in this state set and
+ <FALSE/> if there is at least one set state in it.
+ */
+ boolean isEmpty ();
+
+ /** Checks if the given state is a member of the state set of the called
+ object.
+
+ @param aState
+ The state for which to check membership. This has to be one of
+ the constants of <type>AccessibleStateType</type>.
+
+ @return
+ Returns <TRUE/> if the given state is a member of this object's
+ state set and <FALSE/> otherwise.
+ */
+ boolean contains ([in] short aState);
+
+ /** Checks if all of the given states are in the state set of the called
+ object.
+
+ @param aStateSet
+ This sequence of states is interpreted as set and every of its
+ members, duplicates are ignored, is checked for membership in
+ this object's state set. Each state has to be one of the
+ constants of <type>AccessibleStateType</type>.
+
+ @return
+ Returns <TRUE/> if all states of the given state set are members
+ of this object's state set. <FALSE/> is returned if at least
+ one of the states in the given state is not a member of this
+ object's state set.
+ */
+ boolean containsAll ([in] sequence<short> aStateSet);
+
+ /** Get all currently set states as a sequence of state ids.
+
+ <p>The purpose of this function is to reduce the communication
+ between accessibility objects and AT. Without this function an
+ AT-Tool had to call <member>contains()</member> for every state
+ type. Now a single call is sufficient.</p>
+
+ @return
+ The returned sequence contains one entry for every currently set
+ state. This entry is the id of that state. The order of the
+ states in the sequence is undefined.
+ */
+ sequence<short> getStates ();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTable.idl b/offapi/com/sun/star/accessibility/XAccessibleTable.idl
new file mode 100644
index 000000000000..708233a00cd7
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTable.idl
@@ -0,0 +1,387 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleTable_idl__
+#define __com_sun_star_accessibility_XAccessibleTable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ published interface XAccessible;
+
+/** Implement this interface to give access to a two-dimensional table.
+
+ <p>The <type>XAccessibleTable</type> interface is used to represent
+ two-dimensional tables. This interface combines the two interfaces
+ <code>javax.accessibility.AccessibleTable</code> and
+ <code>javax.accessibility.AccessibleExtendedTable</code> of the Java Accessibility API
+ (version 1.4).</p>
+
+ <p>All <type>XAccessible</type> objects that represent cells or
+ cell-clusters of a table have to be at the same time children of the
+ table. This is necessary to be able to convert row and column indices
+ into child indices and vice versa with the methods
+ <member>XAccessibleTable::getAccessibleIndex</member>,
+ <member>XAccessibleTable::getAccessibleRow</member>, and
+ <member>XAccessibleTable::getAccessibleColumn</member>.</p>
+
+ <p>The range of valid coordinates for this interface are implementation
+ dependent. However, that range includes at least the intervals from the
+ from the first row or column with the index 0 up to the last (but not
+ including) used row or column as returned by
+ <member>XAccessibleTable::getAccessibleRowCount</member> and
+ <member>XAccessibleTable::getAccessibleColumnCount</member>. In case of
+ the Calc the current range of valid indices for retrieving data include
+ the maximal table size--256 columns and 32000 rows--minus one.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleTable : ::com::sun::star::uno::XInterface
+{
+ /** Returns the number of used rows in the table.
+
+ <p>The implementation, however, may allow the access of columns
+ beyond this number.</p>
+
+ @return
+ Returns the number of used rows in the table or 0 for an empty
+ table.
+ */
+ long getAccessibleRowCount ();
+
+ /** Returns the number of used columns in the table.
+
+ <p>The implementation, however, may allow the access of columns
+ beyond this number.</p>
+
+ @return
+ Returns the number of used columns in the table or 0 for an empty
+ table.
+ */
+ long getAccessibleColumnCount ();
+
+ /** Returns the description text of the specified row in the
+ table.
+
+ @param nRow
+ The index of the row for which to retrieve the description.
+
+ @return
+ Returns the description text of the specified row in the table
+ if such a description exists. Otherwise an empty string is
+ returned.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified row index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ <member>XAccessibleTable::getAccessibleRowCount()</member> - 1.
+
+ */
+ string getAccessibleRowDescription ([in] long nRow)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the description text of the specified column in the
+ table.
+
+ @param nColumn
+ The index of the column for which to retrieve the description.
+
+ @return
+ Returns the description text of the specified row in the table
+ if such a description exists. Otherwise an empty string is
+ returned.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified column index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ <member>XAccessibleTable::getAccessibleColumnCount()</member> - 1.
+ */
+ string getAccessibleColumnDescription ([in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the number of rows occupied by the Accessible at the
+ specified row and column in the table.
+
+ <p>The result differs from 1 if the specified cell spans multiple
+ rows.</p>
+
+ @param nRow
+ Row index of the accessible for which to return the column
+ extent.
+
+ @param nColumn
+ Column index of the accessible for which to return the column
+ extent.
+
+ @return
+ Returns the row extent of the specified cell.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified row index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ <member>XAccessibleTable::getAccessibleRowCount()</member> - 1.
+ */
+ long getAccessibleRowExtentAt ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the number of columns occupied by the Accessible at the
+ specified row and column in the table.
+
+ <p>The result differs from 1 if the specified cell spans multiple
+ columns.</p>
+
+ @param nRow
+ Row index of the accessible for which to return the column
+ extent.
+
+ @param nColumn
+ Column index of the accessible for which to return the column
+ extent.
+
+ @return
+ Returns the column extent of the specified.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified column index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ <member>XAccessibleTable::getAccessibleColumnCount()</member> - 1.
+ */
+ long getAccessibleColumnExtentAt ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the row headers as an <type>XAccessibleTable</type>
+ object.
+
+ <p>Content and size of the returned table are implementation
+ dependent.</p>
+
+ @return
+ Returns allways a valid reference to an
+ <type>XAccessibleTable</type> object.
+ */
+ XAccessibleTable getAccessibleRowHeaders ();
+
+ /** Returns the column headers as an <type>XAccessibleTable</type>
+ object.
+
+ <p>Content and size of the returned table are implementation
+ dependent.</p>
+
+ @return
+ Returns allways a valid reference to an
+ <type>XAccessibleTable</type> object.
+ */
+ XAccessibleTable getAccessibleColumnHeaders ();
+
+ /** Returns a list of the indices of completely selected rows in a
+ table.
+
+ @return
+ The returned sequence contains indices of all completely
+ selected rows in the table. This sequence is in ascending
+ order. If no row is selected then the sequence is empty.
+ */
+ sequence<long> getSelectedAccessibleRows ();
+
+ /** Returns a list of the indices of completely selected columns in a
+ table.
+
+ @return
+ The returned sequence contains indices of all completely
+ selected columns in the table. This sequence is in ascending
+ order. If no column is selected then the sequence is empty.
+ */
+ sequence<long> getSelectedAccessibleColumns ();
+
+ /** Returns a boolean value indicating whether the specified row is
+ completely selected.
+
+ @param nRow
+ Index of the row for which to determine whether it is selected.
+
+ @return
+ Returns <TRUE/> if the specified row is selected completely and
+ <FALSE/> otherwise.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified row index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ <member>XAccessibleTable::getAccessibleRowCount()</member> - 1.
+ */
+ boolean isAccessibleRowSelected ([in] long nRow)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns a boolean value indicating whether the specified column
+ is completely selected.
+
+ @param nColumn
+ Index of the column for which to determine whether it is
+ selected.
+
+ @return
+ Returns <TRUE/> if the specified column is selected completely
+ and <FALSE/> otherwise.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified column index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ <member>XAccessibleTable::getAccessibleColumnCount()</member> - 1.
+ */
+ boolean isAccessibleColumnSelected ([in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the <type>XAccessible</type> object at the specified row
+ and column in the table.
+
+ <p>This method has been renamed from the Java name
+ <code>getAccessibleAt</code> to
+ <member>XAccessibleTable::getAccessibleCellAt</member> to avoid
+ ambiguities with the
+ <member>XAccessibleComponent::getAccessibleAt</member> method when
+ accessed, for instance, from StarBasic.</p>
+
+ @param nRow
+ The row index for which to retrieve the cell.
+
+ @param nColumn
+ The column index for which to retrieve the cell.
+
+ @return
+ If both row and column index are valid then the corresponding
+ <type>XAccessible</type> object is returned that represents the
+ requested cell regardless of whether the cell is currently
+ visible (on the screen).
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the specified column and/or row index is not valid, i.e. lies not inside
+ the valid range of 0 up to
+ <member>XAccessibleTable::getAccessibleColumnCount()</member> - 1.
+ */
+ XAccessible getAccessibleCellAt ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the caption for the table.
+
+ @return
+ If the table has a caption then a reference to it is returned,
+ else an empty reference is returned.
+ */
+ XAccessible getAccessibleCaption ();
+
+ /** Returns the summary description of the table.
+
+ @return
+ Returns a reference to an implementation dependent
+ <type>XAccessible</type> object representing the table's summary
+ or an empty reference if the table does not support a summary.
+ */
+ XAccessible getAccessibleSummary ();
+
+ /** Returns a boolean value indicating whether the accessible at the
+ specified row and column is selected.
+
+ @param nRow
+ Row index of the cell for which to determine if the accessible
+ object that spans that cell is selected.
+
+ @param nColumn
+ Column index of the cell for which to determine if the
+ accessible object that spans that cell is selected.
+
+ @return
+ Returns <TRUE/> if the given row and column indices are valid
+ and the specified accessible object is selected. Otherwise
+ <FALSE/> is returned.
+ */
+ boolean isAccessibleSelected ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the child index of the accessible object that spans the
+ specified cell.
+
+ <p>This is the same index that would be returned by calling
+ <member>XAccessibleContext::getAccessibleIndexInParent</member> for
+ that accessible object.</p>
+
+ @param nRow
+ Row index of the accessible object for which to return the child
+ index.
+
+ @param nColumn
+ Row index of the accessible object for which to return the child
+ index.
+
+ @return
+ Child index of the specified accessible object or -1 if one or
+ both of the given indices is/are invalid.
+ */
+ long getAccessibleIndex ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Translate the given child index into the corresponding row
+ index.
+
+ @param nChildIndex
+ Index of the child of the table for which to return the row
+ index.
+
+ @return
+ Returns the row index of the cell of the specified child or the
+ index of the first row if the child spans multiple rows.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if nChildIndex addresses an invalid row.
+ */
+ long getAccessibleRow ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Translate the given child index into the corresponding column
+ index.
+
+ @param nChildIndex
+ Index of the child of the table for which to return the column
+ index.
+
+ @return
+ Returns the column index of the cell of the specified child or
+ the index of the first column if the child spans multiple
+ columns.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if nChildIndex addresses an invalid column.
+ */
+ long getAccessibleColumn ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleText.idl b/offapi/com/sun/star/accessibility/XAccessibleText.idl
new file mode 100644
index 000000000000..c66cd3d6d5e7
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleText.idl
@@ -0,0 +1,519 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleText_idl__
+#define __com_sun_star_accessibility_XAccessibleText_idl__
+
+#ifndef __com_sun_star_accessibility_AccessibleTextType_idl__
+#include <com/sun/star/accessibility/AccessibleTextType.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+#ifndef __com_sun_star_accessibility_TextSegment_idl__
+#include <com/sun/star/accessibility/TextSegment.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give read-only access to a text.
+
+ <p>The <type>XAccessibleText</type> interface should be implemented by
+ all UNO components that present textual information on the display like
+ buttons, text entry fields, or text portions of the document window.
+ The interface provides access to the text's content, attributes, and
+ spatial location. However, text can not be modified with this
+ interface. That is the task of the <type>XAccessibleEditableText</type>
+ interface.</p>
+
+ <p>The text length, i.e. the number of characters in the text, is
+ returned by <member>XAccessibleText::getCharacterCount</member>.
+ All methods that operate on particular characters (e.g.
+ <member>XAccessibleText::getCharacterAt</member>) use character
+ indices from 0 to length-1. All methods that operate on character
+ positions (e.g. <member>XAccessibleText::getTextRange</member>)
+ use indices from 0 to length.</p>
+
+ <p>Please note that accessible text does not necessarily support
+ selection. In this case it should behave as if there where no
+ selection. An empty selection is used for example to express the
+ current cursor position.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleText : ::com::sun::star::uno::XInterface
+{
+ /** Return the position of the caret.
+
+ <p>Returns the offset of the caret. The caret is often called text
+ cursor. The caret is actually the position between two characters.
+ Its position/offset is that of the character to the right of it.</p>
+
+ @return
+ The returned offset is relative to the text represented by this
+ object.
+ */
+ long getCaretPosition ();
+
+ /** Set the position of the caret.
+
+ <p>The caret is often called text cursor. The caret is actually the
+ position between two characters. Its position/offset is that of the
+ character to the right of it.</p>
+
+ <p>Setting the caret position may or may not alter the current
+ selection. A change of the selection is notified to the
+ accessibility event listeners with an
+ <const>AccessibleEventId::ACCESSIBLE_SELECTION_EVENT</const>.</p>
+
+ <p>When the new caret position differs from the old one (which, of
+ course, is the standard case) this is notified to the accessibility
+ event listeners with an
+ <const>AccessibleEventId::ACCESSIBLE_CARET_EVENT</const>.</p>
+
+ @param nIndex
+ The new index of the caret. This caret is actually placed to
+ the left side of the character with that index. An index of 0
+ places the caret so that the next insertion goes before the
+ first character. An index of <member>getCharacterCount</member>
+ leads to insertion after the last character.
+
+ @return
+ Returns <TRUE/> if the caret has been moved and <FALSE/>
+ otherwise. A <TRUE/> value does not necessarily mean that the
+ caret has been positioned exactly at the required position.
+ If that position lies inside a read-only area the caret is
+ positioned before or behind it. Listen to the caret event to
+ determine the new position.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is not valid.
+ */
+ boolean setCaretPosition ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Return the character at the specified position.
+
+ <p>Returns the character at the given index.</p>
+
+ @param nIndex
+ The index of the character to return.
+ The valid range is 0..length-1.
+
+ @return
+ the character at the index nIndex.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ */
+ char getCharacter ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Get the attribute set for the specified position.
+
+ <p>Returns a set of attributes that are associated for the character
+ at the given index. To prevent the method from returning possibly
+ large sets of attributes that the caller is not interested in the
+ caller has to provide a list of attributes that he wants to be
+ returned.</p>
+
+ @param nIndex
+ The index of the character for which to return its attributes.
+ The valid range is 0..length-1.
+
+ @param aRequestedAttributes
+ This string sequence defines the set of attributes that the
+ caller is interested in. When there are attributes defined that
+ are not listed in the sequence then they are not returned. When
+ there are requested attributes that are not defined for the
+ character then they are ignored, too.
+
+ <p>An empty sequence signals the callers interest in all the
+ attributes. This is useful in two cases: a) Simply as a way to
+ avoid passing a potentially large array to the called object or
+ b) when the caller does not know what attributes the called
+ objects supports but is interested in all of them
+ nevertheless.</p>
+
+ @return
+ Returns the explicitly or implicitly (empty
+ <arg>aRequestedAttributes</arg> argument) requested attributes
+ of the specified character. Each attribute is represented by a
+ <type scope="::com::sun::star::beans">PropertyValue</type>
+ object. The returned list of attribute descriptions contains
+ all attributes that are both members of the sequence of
+ requested attributes and are defined for the character at the
+ specified index.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ */
+ sequence<::com::sun::star::beans::PropertyValue>
+ getCharacterAttributes (
+ [in] long nIndex,
+ [in] sequence<string> aRequestedAttributes)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Return the bounding box of the specified position.
+
+ <p>Returns the bounding box of the indexed character.</p>
+
+ <p>The virtual character after the last character of the represented
+ text, i.e. the one at position length is a special case. It
+ represents the current input position and will therefore typically
+ be queried by AT more often than other positions. Because it does
+ not represent an existing character its bounding box is defined in
+ relation to preceding characters. It should be roughly equivalent to
+ the bounding box of some character when inserted at the end of the
+ text. Its height typically being the maximal height of all the
+ characters in the text or the height of the preceding character, its
+ width being at least one pixel so that the bounding box is not
+ degenerate.<br>
+ Note that the index 'length' is not always valid. Whether it is
+ or not is implementation dependent. It typically is when text is
+ editable or otherwise when on the screen the caret can be placed
+ behind the text. You can be sure that the index is valid after you
+ have received a <const scope="AccessibleEventId">CARET</const> event
+ for this index.</p>
+ @param nIndex
+ Index of the character for which to return its bounding box.
+ The valid range is 0..length.
+
+ @return
+ The bounding box of the referenced character. The bounding box
+ of the virtual character at position length has to have
+ non-empty dimensions.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ */
+ ::com::sun::star::awt::Rectangle getCharacterBounds ([in] long nIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** Return the number of characters in the represented text.
+
+ <p>Returns the number of characters in the text represented by this
+ object or, in other words, the text length.</p>
+
+ @return
+ Returns the number of characters of this object's text. A zero
+ value indicates an empty text.
+ */
+ long getCharacterCount ();
+
+
+ /** Return the text position for the specified screen position.
+
+ <p>Given a point in local coordinates, i.e. relative to the
+ coordinate system of the object, return the zero-based index of
+ the character under that point. The same functionality could be
+ achieved by using the bounding boxes for each character as returned
+ by <member>XAccessibleText::getCharacterBounds</member>. The method
+ <member>XAccessibleText::getIndexAtPoint</member>, however, can be
+ implemented in a more efficient way.</p>
+
+ @param aPoint
+ The position for which to look up the index of the character
+ that is rendered on to the display at that point.
+
+ @return
+ Index of the character under the given point or -1 if the point
+ is invalid or there is no character under the point.
+ */
+ long getIndexAtPoint ([in] ::com::sun::star::awt::Point aPoint);
+
+ /** Return the selected text.
+
+ <p>Returns the portion of the text that is selected.</p>
+
+ @return
+ The returned text is the selected portion of the object's text.
+ If no text is selected when this method is called or when
+ selection is not supported an empty string is returned.
+ */
+ string getSelectedText ();
+
+ /** Return the position of the start of the selection.
+
+ <p>Returns the index of the start of the selected text.</p>
+
+ @return
+ If there is no selection or selection is not supported the
+ position of selection start and end will be the same undefined
+ value.
+ */
+ long getSelectionStart ();
+
+ /** Return the position of the end of the selection.
+
+ <p>Returns the index of the end of the selected text.</p>
+
+ @return
+ If there is no selection or selection is not supported the
+ position of selection start and end will be the same undefined
+ value.
+ */
+ long getSelectionEnd ();
+
+ /** Set a new selection.
+
+ <p>Sets the selected text portion according to the given indices.
+ The old selection is replaced by the new selection.</p>
+
+ <p>The selection encompasses the same string of text that
+ <member>XAccessibleText::getTextRange</member> would have
+ selected. See there for details.</p>
+
+ <p>Setting the selection may or may not change the caret position.
+ Typically the caret is moved to the position after the second
+ argument. When the caret is moved this is notified to the
+ accessibility event listeners with an
+ <const>AccessibleEventId::ACCESSIBLE_CARET_EVENT</const>.</p>
+
+ @param nStartIndex
+ The first character of the new selection.
+ The valid range is 0..length.
+
+ @parm nEndIndex
+ The position after the last character of the new selection.
+ The valid range is 0..length.
+
+ @return
+ Returns <TRUE/> if the selection has been set successfully and
+ <FALSE/> otherwise or when selection is not supported.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean setSelection ([in] long nStartIndex, [in] long nEndIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Return the whole text.
+
+ <p>Returns the complete text. This is equivalent to a call to
+ <member>XAccessibleText::getTextRange</member> with the arguments
+ zero and <code>getCharacterCount()-1</code>.</p>
+
+ @return
+ Returns a string that contains the complete text.
+ */
+ string getText ();
+
+ /** Return the specified text range.
+
+ <p>Returns the substring between the two given indices.</p>
+
+ <p>The substring starts with the character at nStartIndex
+ (inclusive) and up to the character at nEndIndex (exclusive),
+ if nStartIndex is less or equal nEndIndex. If nEndIndex is
+ lower than nStartIndex, the result is the same as a call with
+ the two arguments being exchanged.</p>
+
+ <p>The whole text can be requested by passing the indices zero and
+ <code>getCharacterCount()</code>. If both indices have the same
+ value, an empty string is returned.</p>
+
+ @param nStartIndex
+ Index of the first character to include in the returned string.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ Index of the last character to exclude in the returned string.
+ The valid range is 0..length.
+
+ @return
+ Returns the substring starting with the character at nStartIndex
+ (inclusive) and up to the character at nEndIndex (exclusive), if
+ nStartIndex is less than or equal to nEndIndex.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ string getTextRange ([in] long nStartIndex, [in] long nEndIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Get a text portion around the given position.
+
+ <p>Returns the substring of the specified text type that contains
+ the character at the given index, if any. For example, given the
+ text type <const scope="AccessibleTextType">WORD</type>, the word
+ which contains the character at position nIndex is returned, or an
+ empty string if no word is found at the that position.</p>
+
+ @param nIndex
+ Index of the character whose containing text portion is to be
+ returned.
+ The valid range is 0..length.
+
+ @param nTextType
+ The type of the text portion to return. See
+ <type>AccessibleTextType</type> for the complete list.
+
+ @return
+ Returns the requested text portion. This portion may be empty
+ or invalid when no appropriate text portion is found or text
+ type is invalid.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ @throws ::com::sun::star::lang::InvalidArgumentException
+ if the given text type is not valid.
+ */
+ TextSegment getTextAtIndex([in] long nIndex, [in] short nTextType)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::lang::IllegalArgumentException);
+
+ /** Get a text portion before the given position.
+
+ <p>Returns the substring of the specified text type that is
+ located before the given character and does not include
+ it. The result of this method should be same as a result for
+ <member>XAccessibleText::getTextAtIndex</member> with a
+ suitably decreased index value.</p>
+
+ <p>For example, if text type is <const
+ scope="AccessibleTextType">WORD</type>, then the complete word
+ that is closest to and located before nIndex is returned.</p>
+
+ <p>If the index is valid, but no suitable word (or other text
+ type) is found, an empty text segment is returned.</p>
+
+ @param nIndex
+ Index of the character for which to return the text part before
+ it. The index character will not be part of the returned
+ string.
+ The valid range is 0..length.
+
+ @param nTextType
+ The type of the text portion to return. See
+ <type>AccessibleTextType</type> for the complete list.
+
+ @return
+ Returns the requested text portion. This portion may be empty
+ or invalid when no appropriate text portion is found or text
+ type is invalid.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid.
+ @throws ::com::sun::star::lang::InvalidArgumentException
+ if the given text type is not valid.
+ */
+ TextSegment getTextBeforeIndex([in] long nIndex, [in] short nTextType)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::lang::IllegalArgumentException);
+
+ /** Get a text portion behind the given position.
+
+ <p>Returns the substring of the specified text type that is
+ located after the given character and does not include
+ it. The result of this method should be same as a result for
+ <member>XAccessibleText::getTextAtIndex</member> with a
+ suitably increased index value.</p>
+
+ <p>For example, if text type is <const
+ scope="AccessibleTextType">WORD</type>, then the complete word
+ that is closest to and located behind nIndex is returned.</p>
+
+ <p>If the index is valid, but no suitable word (or other text
+ type) is found, an empty string is returned.</p>
+
+ @param nIndex
+ Index of the character for which to return the text part after
+ it. The index character will be part of the returned string.
+ The valid range is 0..length.
+
+ @param nTextType
+ The type of the text portion to return. See
+ <type>AccessibleTextType</type> for the complete list.
+
+ @return
+ Returns the requested text portion. This portion may be empty
+ or invalid when no appropriate text portion is found or text
+ type is invalid.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ @throws ::com::sun::star::lang::InvalidArgumentException
+ if the given text type is not valid.
+ */
+ TextSegment getTextBehindIndex([in] long nIndex, [in] short nTextType)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::lang::IllegalArgumentException);
+
+ /** Copy the specified text into the clipboard.
+
+ <p>Copy the specified text into the clipboard. The text that is
+ copied is the same text that would have been selected by the
+ <member>XAccessibleText::getTextRange</member> method. </p>
+
+ <p>The other clipboard related methods
+ <member>XAccessibleEditableText::cutText</member> and
+ <member>XAccessibleEditableText::deleteText</member> can be found in
+ the <type>XAccessibleEditableText</type> because of their
+ destructive nature.</p>
+
+ @param nStartIndex
+ Start index of the text to copied into the clipboard.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ End index of the text to copied into the clipboard.
+ The valid range is 0..length.
+
+ @return
+ Returns <true/> if the specified text has been copied
+ successfully into the clipboard.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+ */
+ boolean copyText ([in] long nStartIndex, [in] long nEndIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl b/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl
new file mode 100644
index 000000000000..5bb632b0cbc2
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleTextAttributes_idl__
+#define __com_sun_star_accessibility_XAccessibleTextAttributes_idl__
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give access to the attributes of a text.
+
+ @since OOo 2.0.4
+*/
+published interface XAccessibleTextAttributes
+{
+ /** Get the default attribute set for the text.
+
+ <p>Returns a set of all default paragraph and default character
+ attributes that are associated for the text. To prevent the method
+ from returning possibly large sets of attributes that the caller
+ is not interested in the caller can provide a list of attributes
+ that he wants to be returned.</p>
+
+ @param RequestedAttributes
+ This string sequence defines the set of attributes that the
+ caller is interested in. When there are requested attributes
+ that are not defined for the text then they are ignored.
+
+ <p>When the sequence is empty all attributes are returned.</p>
+
+ @return
+ Returns the requested attributes of the text. Each attribute
+ is represented by a <type scope="::com::sun::star::beans">PropertyValue</type>
+ object.
+ */
+ sequence<::com::sun::star::beans::PropertyValue>
+ getDefaultAttributes ( [in] sequence<string> RequestedAttributes );
+
+ /** Get the run attribute set for the specified position.
+
+ <p>Returns a set of character attributes that are associated for
+ the character at the given index and are directly set or are set
+ via a character style. To prevent the method from returning all of
+ these attributes the caller can provide a list of attributes
+ that he wants to be returned.</p>
+
+ @param Index
+ The index of the character for which to return its attributes.
+ The valid range is 0..length of text-1.
+
+ @param RequestedAttributes
+ This string sequence defines the set of attributes that the
+ caller is interested in. When there are requested attributes
+ that are not defined for the text then they are ignored.
+
+ <p>When the sequence is empty all attributes are returned.</p>
+
+ @return
+ Returns the requested attributes of the specified character.
+ Each attribute is represented by a
+ <type scope="::com::sun::star::beans">PropertyValue</type> object.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the index is invalid
+ */
+ sequence<::com::sun::star::beans::PropertyValue>
+ getRunAttributes ( [in] long Index,
+ [in] sequence<string> RequestedAttributes )
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl b/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl
new file mode 100644
index 000000000000..5be710265d5e
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleTextMarkup_idl__
+#define __com_sun_star_accessibility_XAccessibleTextMarkup_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#endif
+#ifndef __com_sun_star_accessibility_TextSegment_idl__
+#include <com/sun/star/accessibility/TextSegment.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleTextMarkup;
+
+
+/** Implement this interface to expose the text markups of a text.
+
+ <p>The <type>XAccessibleTextMarkup</type> interface is the main interface
+ to expose text markups in a text, typically of a text document, that are
+ used to reference other (parts of) documents. For supporting the
+ <member>XAccessibleTextMarkup::getTextMarkupIndex</member> method of this
+ interface and other character related methods of the
+ <type>XAccessibleTextMarkup</type> interface, it is necessary to also
+ support the <type>XAccessibleText</type> interface.</p>
+
+ @see XAccessibleText
+
+ @since OOo 3.0
+*/
+interface XAccessibleTextMarkup
+ : ::com::sun::star::accessibility::XAccessibleText
+{
+ /** Returns the number of text markup of the given text markup type
+ of a text.
+
+ <p>Throws <type>IllegalArgumentException</type>, if given text
+ markup type is out of valid range.</p>
+
+ @param TextMarkupType
+ This specifies the type of text markups, whose count should
+ be returned - see <type>TextMarkupType</type>.
+
+ @return
+ The number of text markup of the given text markup type.
+ Returns 0 if there is no text markup.
+ */
+ long getTextMarkupCount ( [in] long TextMarkupType )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+ /** Returns the text segment of the text markup of the given index and
+ of the given text mark type
+
+ <p>Throws <type>IndexOutOfBoundsException</type>, if given index
+ is out of valid range.</p>
+ <p>Throws <type>IllegalArgumentException</type>, if given text
+ markup type is out of valid range.</p>
+
+ @param TextMarkupIndex
+ This index specifies the text markup to return.
+
+ @param TextMarkupType
+ This specifies the type of the text markup to be returned - see
+ <type>TextMarkupType</type>.
+
+ @return
+ If the given index is in range [0..getTextMarkupCount(TextMarkupType)-1],
+ the text segment - see <type>TextSegment</type> - of the text markup
+ of the given text markup type is returned.
+ */
+ TextSegment getTextMarkup ( [in] long TextMarkupIndex,
+ [in] long TextMarkupType )
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::lang::IllegalArgumentException);
+
+ /** returns a sequence of the text segments of the text markups at the given
+ character index and of the given text markup type.
+
+ <p>Throws <type>IndexOutOfBoundsException</type>, if given character
+ index is out of range [0..number of characters in the text).</p>
+ <p>Throws <type>IllegalArgumentException</type>, if given text
+ markup type is out of valid range.</p>
+
+ @param CharIndex
+ This index specifies the character index in the text.
+
+ @param TextMarkupType
+ This specifies the type of the text markups to be returned - see
+ <type>TextMarkupType</type>.
+
+ @return
+ If character index is in range [0..number of characters in the text-1],
+ a sequence of <type>TextSegment</type>s of the text markups at
+ given character index of the given text markup type are returned.
+ The sequence is empty, if no such text markup is found.
+ */
+ sequence<TextSegment> getTextMarkupAtIndex ( [in] long CharIndex,
+ [in] long TextMarkupType )
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::lang::IllegalArgumentException);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/XAccessibleValue.idl b/offapi/com/sun/star/accessibility/XAccessibleValue.idl
new file mode 100644
index 000000000000..b5d8cb8482ff
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleValue.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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_accessibility_XAccessibleValue_idl__
+#define __com_sun_star_accessibility_XAccessibleValue_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give access to a single numerical value.
+
+ <p>The <type>XAccessibleValue</type> interface represents a single
+ numerical value and should be implemented by any class that supports
+ numerical value like scroll bars and spin boxes. This interface lets
+ you access the value and its upper and lower bounds.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XAccessibleValue : ::com::sun::star::uno::XInterface
+{
+ /** Returns the value of this object as a number.
+
+ <p>The exact return type is implementation dependent. Typical types
+ are long and double.</p>
+
+ @return
+ Returns the current value represented by this object.
+ */
+ any getCurrentValue ();
+
+ /** Sets the value of this object to the given number.
+
+ <p>The argument is clipped to the valid interval whose upper and
+ lower bounds are returned by the methods
+ <member>getMaximumAccessibleValue</member> and
+ <member>getMinimumAccessibleValue</member>, i.e. if it is lower than
+ the minimum value the new value will be the minimum and if it is
+ greater than the maximum then the new value will be the maximum.</p>
+
+ @param aNumber
+ The new value represented by this object. The set of admissible
+ types for this argument is implementation dependent.
+
+ @return
+ Returns <TRUE/> if the new value could successfully be set and
+ <FALSE/> otherwise.
+ */
+ boolean setCurrentValue ([in] any aNumber);
+
+ /** Returns the maximal value that can be represented by this object.
+
+ <p>The type of the returned value is implementation dependent. It
+ does not have to be the same type as that returned by
+ <member>getCurrentAccessibleValue</member>.</p>
+
+ @return
+ Returns the maximal value in an implementation dependent type.
+ If this object has no upper bound then an empty object is
+ returned.
+ */
+ any getMaximumValue ();
+
+ /** Returns the minimal value that can be represented by this object.
+
+ <p>The type of the returned value is implementation dependent. It
+ does not have to be the same type as that returned by
+ <member>getCurrentAccessibleValue</member>.</p>
+
+ @return
+ Returns the minimal value in an implementation dependent type.
+ If this object has no upper bound then an empty object is
+ returned.
+ */
+ any getMinimumValue ();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/accessibility/makefile.mk b/offapi/com/sun/star/accessibility/makefile.mk
new file mode 100644
index 000000000000..29403d0e9d08
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/makefile.mk
@@ -0,0 +1,80 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssaccessibility
+PACKAGE=com$/sun$/star$/accessibility
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ AccessBridge.idl \
+ Accessible.idl \
+ AccessibleContext.idl \
+ AccessibleEventId.idl \
+ AccessibleEventObject.idl \
+ AccessibleRelation.idl \
+ AccessibleRelationType.idl \
+ AccessibleRole.idl \
+ AccessibleStateType.idl \
+ AccessibleTableModelChange.idl \
+ AccessibleTableModelChangeType.idl \
+ AccessibleTextType.idl \
+ IllegalAccessibleComponentStateException.idl \
+ TextSegment.idl \
+ XAccessible.idl \
+ XAccessibleAction.idl \
+ XAccessibleComponent.idl \
+ XAccessibleContext.idl \
+ XAccessibleEditableText.idl \
+ XAccessibleEventBroadcaster.idl \
+ XAccessibleEventListener.idl \
+ XAccessibleExtendedComponent.idl \
+ XAccessibleHyperlink.idl \
+ XAccessibleHypertext.idl \
+ XAccessibleImage.idl \
+ XAccessibleKeyBinding.idl \
+ XAccessibleMultiLineText.idl \
+ XAccessibleRelationSet.idl \
+ XAccessibleSelection.idl \
+ XAccessibleStateSet.idl \
+ XAccessibleTable.idl \
+ XAccessibleText.idl \
+ XAccessibleTextAttributes.idl \
+ XAccessibleTextMarkup.idl \
+ XAccessibleValue.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk