summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/accessibility
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
commit940b4d1848e8c70ab7642901a68594e8016caffc (patch)
treeeb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /offapi/com/sun/star/accessibility
parentInitial commit. (diff)
downloadlibreoffice-upstream.tar.xz
libreoffice-upstream.zip
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--offapi/com/sun/star/accessibility/Accessible.idl50
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleContext.idl61
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleEventId.idl448
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleEventObject.idl61
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRelation.idl60
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRelationType.idl123
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRole.idl749
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleScrollType.idl81
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleStateType.idl247
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl82
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl74
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleTextType.idl99
-rw-r--r--offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl46
-rw-r--r--offapi/com/sun/star/accessibility/MSAAService.idl32
-rw-r--r--offapi/com/sun/star/accessibility/TextSegment.idl79
-rw-r--r--offapi/com/sun/star/accessibility/XAccessible.idl78
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleAction.idl113
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleComponent.idl214
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleContext.idl198
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleContext2.idl56
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleContext3.idl45
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEditableText.idl228
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl54
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleEventListener.idl47
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleExtendedAttributes.idl37
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl87
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleGetAccFlowTo.idl38
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleGroupPosition.idl40
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl131
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleHypertext.idl106
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleImage.idl78
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl81
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl136
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl100
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleSelection.idl154
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleStateSet.idl98
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTable.idl377
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTableSelection.idl42
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleText.idl527
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl98
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl124
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleTextSelection.idl49
-rw-r--r--offapi/com/sun/star/accessibility/XAccessibleValue.idl98
-rw-r--r--offapi/com/sun/star/accessibility/XMSAAService.idl46
44 files changed, 5772 insertions, 0 deletions
diff --git a/offapi/com/sun/star/accessibility/Accessible.idl b/offapi/com/sun/star/accessibility/Accessible.idl
new file mode 100644
index 000000000..c3d5d5e52
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/Accessible.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_Accessible_idl__
+#define __com_sun_star_accessibility_Accessible_idl__
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** Every class has to support this service in order to be accessible.
+
+ <p>It provides the means to derive a XAccessibleContext
+ object--which may but usually is not the same object as the object that
+ supports the XAccessible 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
+*/
+service Accessible
+{
+ interface XAccessible;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleContext.idl b/offapi/com/sun/star/accessibility/AccessibleContext.idl
new file mode 100644
index 000000000..e3233a3ee
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleContext.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_AccessibleContext_idl__
+#define __com_sun_star_accessibility_AccessibleContext_idl__
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleContext;
+ 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
+ XAccessibleContext 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
+*/
+service AccessibleContext
+{
+ interface XAccessibleContext;
+
+ /** is implemented by accessible contexts that supports broadcasting of
+ accessible events.
+
+ @see AccessibleEventObject
+ @see AccessibleEventId
+ */
+ [optional] interface XAccessibleEventBroadcaster;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleEventId.idl b/offapi/com/sun/star/accessibility/AccessibleEventId.idl
new file mode 100644
index 000000000..c7f5b488b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleEventId.idl
@@ -0,0 +1,448 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#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 AccessibleEventObject
+ objects.
+
+ <p>The AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+*/
+constants AccessibleEventId
+{
+ /** Use this event type to indicate a change of the name string
+ of an accessible object. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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 AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields contain the
+ old and new value respectively. To set a state put the state id
+ into the AccessibleEventObject::NewValue field and
+ leave AccessibleEventObject::OldValue empty. To
+ reset a state put the state id into the
+ AccessibleEventObject::OldValue field and leave
+ AccessibleEventObject::NewValue 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 AccessibleEventObject::NewValue
+ contains the now active object. The
+ AccessibleEventObject::OldValue 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 it is not necessary to send an event.
+
+ <p>Use this event rather than the
+ VISIBLE_DATA_EVENT 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 AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue remain empty. Use
+ a call to the XAccessibleComponent::getBounds()
+ 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields determines
+ which of both has taken place.
+
+ <p>If a new child has been added then
+ the AccessibleEventObject::NewValue contains a
+ reference to this new object and
+ AccessibleEventObject::OldValue remains empty.</p>
+
+ <p>If a child has been removed then the
+ AccessibleEventObject::OldValue contains a
+ reference to this object and
+ AccessibleEventObject::NewValue remains empty.</p>
+
+ <p>If a child has been added and 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
+ CHILD event for every old child indicating that
+ this child is about to be removed and then sending one
+ CHILD 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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 XAccessibleComponent and
+ XAccessibleExtendedComponent interfaces. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue fields are left empty.
+ */
+ const short VISIBLE_DATA_CHANGED = 10;
+
+ /** This constant indicates changes of the value of an
+ XAccessibleValue interface. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+ XAccessibleValue::getCurrentValue() function.
+ */
+
+ const short VALUE_CHANGED = 11;
+
+ /** Identifies the change of a relation set: The content flow has
+ changed.
+
+ <p>Not used: The AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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 AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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 XAccessibleText interface of the
+ event source for this information. The type of content of the
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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 XAccessibleText and
+ XAccessibleEditableText interfaces.
+
+ <p>The affected text ranges are represented by
+ com::sun::star::accessibility::TextSegment structures.<p>
+
+ <p>The content of the AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue expresses the type
+ of text change: <ul> <li>Insertion: the
+ AccessibleEventObject::NewValue field specifies the
+ inserted text after the insertion, the
+ AccessibleEventObject::OldValue field remains
+ empty.</li> <li>Deletion: the
+ AccessibleEventObject::OldValue field specifies the
+ deleted text before the deletion, the
+ AccessibleEventObject::NewValue field remains
+ empty.</li> <li>Update/Replace/Modification: the
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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> </ul>
+
+ <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 AccessibleEventObject::OldValue field
+ contains the start index of previously focused element. The
+ AccessibleEventObject::NewValue 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
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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 AccessibleEventObject::NewValue field contains
+ the column index. The
+ AccessibleEventObject::OldValue is left empty.
+ */
+ const short TABLE_COLUMN_DESCRIPTION_CHANGED = 26;
+
+ /** Constant used to indicate that the column header has changed. The
+ AccessibleEventObject::OldValue is empty, the
+ AccessibleEventObject::NewValue field contains an
+ AccessibleTableModelChange representing the header
+ change.
+ */
+ const short TABLE_COLUMN_HEADER_CHANGED = 27;
+
+ /** Constant used to indicate that the table data has changed. The
+ AccessibleEventObject::OldValue is empty, the
+ AccessibleEventObject::NewValue field contains an
+ AccessibleTableModelChange representing the data
+ change.
+ */
+ const short TABLE_MODEL_CHANGED = 28;
+
+ /** Constant used to indicate that the row description has changed. The
+ AccessibleEventObject::NewValue field contains the
+ row index. The AccessibleEventObject::OldValue is
+ left empty.
+ */
+ const short TABLE_ROW_DESCRIPTION_CHANGED = 29;
+
+ /** Constant used to indicate that the row header has changed. The
+ AccessibleEventObject::OldValue is empty, the
+ AccessibleEventObject::NewValue field contains an
+ AccessibleTableModelChange representing the header
+ change.
+ */
+ const short TABLE_ROW_HEADER_CHANGED = 30;
+
+ /** Constant used to indicate that the table summary has changed. The
+ AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue 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.
+ AccessibleEventObject::OldValue is empty.
+ AccessibleEventObject::NewValue 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.
+ AccessibleEventObject::OldValue is empty.
+ AccessibleEventObject::NewValue contains the collapsed list box entry.
+
+ @since OOo 3.2
+ */
+ const short LISTBOX_ENTRY_COLLAPSED = 33;
+
+ /** Constant used to determine when the active descendant of a component
+ has been removed but unlike ACTIVE_DESCENDANT_CHANGED the descendant
+ that is to be removed does not have focus. The active descendant
+ is used in objects with transient children.
+
+ <p>AccessibleEventObject::OldValue contains the item to be removed.</p>
+ <p>AccessibleEventObject::NewValue is empty.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short ACTIVE_DESCENDANT_CHANGED_NOFOCUS = 34;
+
+ /** An item in a container has been added to an already present selection
+
+ Example: a second list item has been selected in a listbox.
+
+ <p>AccessibleEventObject::OldValue is empty.</p>
+ <p>AccessibleEventObject::NewValue contains the item to be added.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short SELECTION_CHANGED_ADD = 35;
+
+ /** An item in a container has been removed from the selection.
+
+ <p>AccessibleEventObject::OldValue contains the item to be removed.</p>
+ <p>AccessibleEventObject::NewValue is empty.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short SELECTION_CHANGED_REMOVE = 36;
+
+ /** Multiple items in a container object have been added or removed
+ from the selection.
+
+ <p>AccessibleEventObject::OldValue and
+ AccessibleEventObject::NewValue is empty.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short SELECTION_CHANGED_WITHIN = 37;
+
+ /** A change of page or slide.
+
+ @since LibreOffice 4.3
+ */
+ const short PAGE_CHANGED = 38;
+
+ /** The cursor has moved to/from a section
+
+ @since LibreOffice 4.3
+ */
+ const short SECTION_CHANGED = 39;
+
+ /** The cursor has moved to/from a section
+
+ @since LibreOffice 4.3
+ */
+ const short COLUMN_CHANGED = 40;
+
+ /** Constant used to indicate that the role of an accessible object has
+ changed.
+
+ @since LibreOffice 4.3
+ */
+ const short ROLE_CHANGED =41;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleEventObject.idl b/offapi/com/sun/star/accessibility/AccessibleEventObject.idl
new file mode 100644
index 000000000..883e9af29
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleEventObject.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_AccessibleEventObject_idl__
+#define __com_sun_star_accessibility_AccessibleEventObject_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** this struct describes an accessible event, that is broadcasted from
+ the XAccessibleEventBroadcaster and notified to
+ XAccessibleEventListener.
+
+ <p>It is usually implemented by AccessibleContext.
+
+ @since OOo 1.1.2
+*/
+struct AccessibleEventObject: ::com::sun::star::lang::EventObject
+{
+ /** specifies the type of this event.
+
+ <p>For a list of possible events see AccessibleEventId.
+ */
+ short EventId;
+
+ /** for events that specifies a value change, this is
+ the new value.
+
+ Depending on the #EventId, this can be void.
+ */
+ any NewValue;
+
+ /** for events that specifies a value change, this is
+ the old value.
+
+ Depending on the #EventId, this can be void.
+ */
+ any OldValue;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleRelation.idl b/offapi/com/sun/star/accessibility/AccessibleRelation.idl
new file mode 100644
index 000000000..f3b5e8402
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRelation.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_AccessibleRelation_idl__
+#define __com_sun_star_accessibility_AccessibleRelation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** An AccessibleRelation 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
+*/
+struct AccessibleRelation
+{
+ /** Type of the relation.
+
+ <p>Its value has to be one of the constants defined by
+ AccessibleRelationType. 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleRelationType.idl b/offapi/com/sun/star/accessibility/AccessibleRelationType.idl
new file mode 100644
index 000000000..0ea803a81
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRelationType.idl
@@ -0,0 +1,123 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#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 AccessibleRelation.</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
+*/
+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;
+
+ /** Described-by relation type.
+
+ <p>Indicates an object is described by the target object.</p>
+
+ @since OOo 3.5
+ */
+ const short DESCRIBED_BY = 10;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleRole.idl b/offapi/com/sun/star/accessibility/AccessibleRole.idl
new file mode 100644
index 000000000..9cf23aecd
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleRole.idl
@@ -0,0 +1,749 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#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 XAccessible 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
+ getAccessibleRole() method of the
+ XAccessibleContext 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
+*/
+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 FRAME, GLASS_PANE, and
+ LAYERED_PANE.</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 PUSH_BUTTON, TOGGLE_BUTTON,
+ and RADIO_BUTTON.</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 DATE_EDITOR is a component that allows users to edit date and time.</p>
+ */
+ const short DATE_EDITOR = 8;
+
+ /** An iconified internal frame in a DESKTOP_PANE.
+
+ <p>See also DESKTOP_PANE and
+ INTERNAL_FRAME.</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 FILE_CHOOSER.</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 FRAME and WINDOW.</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 DIRECTORY_PANE.</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 FONT_CHOOSER 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 DIALOG, CANVAS, and
+ WINDOW.</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 ROOT_PANE and CANVAS.</p>
+ */
+ const short GLASS_PANE = 22;
+
+ /** Graphical object.
+ */
+ const short GRAPHIC = 23;
+
+ /** Group box role.
+
+ <p>A GROUP_BOX 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 DESKTOP_ICON, DESKTOP_PANE,
+ and FRAME.</p>
+ */
+ const short INTERNAL_FRAME = 29;
+
+ /** An object used to present an icon or short string in an interface.
+ <p>See also TEXT and STATIC.</p>
+ */
+ 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 GLASS_PANE and
+ ROOT_PANE.</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 SCROLL_PANE and
+ LIST_ITEM.</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 SCROLL_PANE and LIST.</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 MENU_BAR, MENU_ITEM,
+ SEPARATOR, RADIO_BUTTON,
+ CHECK_BOX, and POPUP_MENU.</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 MENU, POPUP_MENU, and
+ LAYERED_PANE.</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 MENUBAR, SEPARATOR, and
+ POPUP_MENU.</p>
+ */
+ const short MENU_ITEM = 36;
+
+ /** A specialized pane whose primary use is inside a DIALOG.
+
+ <p>See also DIALOG.</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 PAGE_TAB_LIST.</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 PAGE_TAB.</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 MENU and MENU_ITEM.</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 CHECK_BOX, TOGGLE_BUTTON,
+ RADIO_BUTTON, BUTTON_MENU and
+ BUTTON_DROPDOWN.</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 PUSH_BUTTON, TOGGLE_BUTTON,
+ and CHECK_BOX.</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 GLASS_PANE and LAYERED_PANE.</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 SCROLL_PANE.</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 SCROLL_BAR and VIEW_PORT.</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 MENU and MENU_ITEM.</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 SPIN_BOX 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 STATUS_BAR 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 or static text.</p>
+
+ <p>See also LABEL and STATIC.</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 PUSH_BUTTON, CHECK_BOX and
+ RADIO_BUTTON.</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 SCROLL_PANE.</p>
+ */
+ const short VIEW_PORT = 66;
+
+ /** A top level window with no title or border.
+
+ <p>See also FRAME and DIALOG.</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 PUSH_BUTTON and BUTTON_MENU.</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 PUSH_BUTTON and BUTTON_DROPDOWN.</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 TREE and TREE_TABLE.</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 COMMENT_END.</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 COMMENT.</p>
+
+ <p>This object and the corresponding object representing the comment shall be
+ in relation of type MEMBER_OF.</p>
+
+ @since OOo 3.2
+ */
+ const short COMMENT_END = 82;
+
+ /** View of a presentation document.
+
+ <p>It's an specific variation of DOCUMENT for presentations.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short DOCUMENT_PRESENTATION = 83;
+
+ /** View of an spreadsheet document.
+
+ <p>It's an specific variation of DOCUMENT for spreadsheets.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short DOCUMENT_SPREADSHEET = 84;
+
+ /** View of a text document.
+
+ <p>It's an specific variation of DOCUMENT for text.</p>
+
+ @since LibreOffice 4.3
+ */
+ const short DOCUMENT_TEXT = 85;
+
+ /** Static text role.
+
+ <p>An object that presents a brief amount of information to the user.
+ The text is not editable by the user as opposed to a text, and not
+ meant to have a relation with another object as opposed to a
+ label.</p>
+
+ <p>See also LABEL and TEXT.</p>
+ */
+ const short STATIC = 86;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleScrollType.idl b/offapi/com/sun/star/accessibility/AccessibleScrollType.idl
new file mode 100644
index 000000000..fd096b09b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleScrollType.idl
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_AccessibleScrollType_idl__
+#define __com_sun_star_accessibility_AccessibleScrollType_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** Scroll types
+
+ <p>Describes the type of scrolling that are available for the methods of
+ the XAccessibleScrollableText interface.</p>
+
+ @since LibreOffice 7.0
+*/
+enum AccessibleScrollType
+{
+ /**
+ Scroll the top left corner of the object or string such that the
+ top left corner is within the top level window.
+ */
+ SCROLL_TOP_LEFT,
+
+ /**
+ Scroll the bottom right corner of the object or string such that the
+ bottom right corner is within the top level window.
+ */
+ SCROLL_BOTTOM_RIGHT,
+
+ /**
+ Scroll the top edge of the object or string such that the top edge is
+ within the top level window.
+ */
+ SCROLL_TOP_EDGE,
+
+ /**
+ Scroll the bottom edge of the object or string such that the bottom
+ edge is within the top level window.
+ */
+ SCROLL_BOTTOM_EDGE,
+
+ /**
+ Scroll the left edge of the object or string such that the left edge
+ is within the top level window.
+ */
+ SCROLL_LEFT_EDGE,
+
+ /**
+ Scroll the right edge of the object or string such that the right edge
+ is within the top level window.
+ */
+ SCROLL_RIGHT_EDGE,
+
+ /**
+ Scroll the object or string such that as much as possible of the
+ object or string is within the top level window.
+ */
+ SCROLL_ANYWHERE
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleStateType.idl b/offapi/com/sun/star/accessibility/AccessibleStateType.idl
new file mode 100644
index 000000000..7f64a6380
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleStateType.idl
@@ -0,0 +1,247 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#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 XAccessibleContext 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
+*/
+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 an 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 SHOWING state if itself and
+ all of its parents have set the VISIBLE 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;
+
+ /** Object information is stale and might not be up to date
+
+ <p>Indicates that the information that is returned from this object
+ might be out of sync with the application.</p>
+ */
+ 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 VISIBLE state indicates that an object wants
+ to be displayed on the screen. It is displayed, as indicated by a
+ set SHOWING state, if all of its parents have also
+ set the VISIBLE state and the object lies at least
+ partly in the visible area of its parent.</p>
+ */
+ const short VISIBLE = 30;
+
+ // The following constants have been introduced with the IA2 CWS:
+
+ // MOVEABLE only exists in MSAA/IA2, but not in ATK/JAA/NSAccessibility.
+ /** Indicates the position of the object is not fixed.
+ */
+ const short MOVEABLE = 31;
+
+ // DEFAULT exists in MSAA/IA2, and now also in ATK and NSAccessibility.
+ /** Indicates the object is the default button in a window
+ */
+ const short DEFAULT = 32;
+
+ // OFFSCREEN only exists in MSAA/IA2, but not in ATK/JAA/NSAccessibility.
+ // MT: Shouldn't this be the same like !SHOWING in UAA/ATK?
+ /** Indicates the object is outside of the screen area
+ */
+ const short OFFSCREEN = 33;
+
+ // COLLAPSED exists in MSAA/IA2, and now also in JAA, but not in ATK/NSAccessibility. In NSAccessibility, there is a notification for collapse.
+ // In opposite to MSAA, UAA has EXPANDABLE, so EXPANDABLE && !EXPANDED should be the same like COLLAPSED.
+ /** Indicates that the object is collapsed
+ */
+ const short COLLAPSE = 34;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl b/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl
new file mode 100644
index 000000000..ae49447ce
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTableModelChange.idl
@@ -0,0 +1,82 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_AccessibleTableModelChange_idl__
+#define __com_sun_star_accessibility_AccessibleTableModelChange_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+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 AccessibleTableModelChange structure
+ give access to the type and cell range of a change of a table model. See
+ AccessibleTableModelChangeType 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
+*/
+struct AccessibleTableModelChange
+{
+ /** The type of the event as defined in
+ AccessibleTableModelChangeType.
+
+ <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
+ AccessibleTableModelChangeType 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl b/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl
new file mode 100644
index 000000000..88729f6a4
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTableModelChangeType.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_AccessibleTableModelChangeType_idl__
+#define __com_sun_star_accessibility_AccessibleTableModelChangeType_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+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
+ AccessibleTableModelChange structure to specify the
+ type of change that has been made to a table model.</p>
+
+ <p>Two of the constants,
+ AccessibleTableModelChangeType::INSERT and
+ AccessibleTableModelChangeType::DELETE describe
+ changes to the table's geometry. One or more rows and/or columns have
+ been inserted or deleted. In contrast, the remaining constant
+ AccessibleTabelModelChangeType::UPDATE specifies a
+ change of the table's content.</p>
+
+ @since OOo 1.1.2
+*/
+constants AccessibleTableModelChangeType
+{
+ /** One or more rows and/or columns have been inserted.
+
+ <p>Use the fields of the AccessibleTableModelChange
+ 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
+ AccessibleTableModelChange 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 AccessibleTableModelChange structure have
+ been changed.</p>
+ */
+ const short UPDATE = 3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/AccessibleTextType.idl b/offapi/com/sun/star/accessibility/AccessibleTextType.idl
new file mode 100644
index 000000000..17871d1a5
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/AccessibleTextType.idl
@@ -0,0 +1,99 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#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
+ XAccessibleText interface.</p>
+
+ @since OOo 1.1.2
+*/
+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 CHARACTER,
+ WORD, SENTENCE, and
+ PARAGRAPH 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl b/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl
new file mode 100644
index 000000000..053ed162b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_IllegalAccessibleComponentStateException_idl__
+#define __com_sun_star_accessibility_IllegalAccessibleComponentStateException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+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
+ XAccessibleContext::getLocale().</p>
+
+ @see XAccessibleContext::getLocale()
+
+ @since OOo 1.1.2
+*/
+exception IllegalAccessibleComponentStateException
+ : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/MSAAService.idl b/offapi/com/sun/star/accessibility/MSAAService.idl
new file mode 100644
index 000000000..5d59596ae
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/MSAAService.idl
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_Accessible_idl__
+#define __com_sun_star_accessibility_Accessible_idl__
+
+#include <com/sun/star/accessibility/XMSAAService.idl>
+
+module com { module sun { module star { module accessibility {
+
+service MSAAService: XMSAAService;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/TextSegment.idl b/offapi/com/sun/star/accessibility/TextSegment.idl
new file mode 100644
index 000000000..e75c77851
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/TextSegment.idl
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#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
+ XAccessibleText interface to describe a text portion that
+ was inserted into or deleted from an accessible text.
+
+ <p>The indices TextSegment::SegmentStart and
+ TextSegment::SegmentEnd refer to the enclosing text.
+ The TextSegment::SegmentText 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 XAccessibleText interface that represents the
+ enclosing text.</p>
+
+ <p>An empty text segment is expressed by
+ TextSegment::SegmentStart and
+ TextSegment::SegmentEnd 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 #SegmentText 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
+*/
+
+struct TextSegment
+{
+ /** A copy of the text segment of the enclosing text delimited by the
+ text indices TextSegment::SegmentStart and
+ TextSegment::SegmentEnd. 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessible.idl b/offapi/com/sun/star/accessibility/XAccessible.idl
new file mode 100644
index 000000000..f1548fd51
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessible.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessible_idl__
+#define __com_sun_star_accessibility_XAccessible_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+ 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 XAccessibleContext
+ interface but allows at the same time that the interface is implemented
+ by another class.</p>
+
+ <p>The distinction between the interfaces XAccessible and
+ XAccessibleContext 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
+ XAccessible::getAccessibleContext() 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 XAccessibleContext object the
+ XAccessible object has to return the same context for every
+ call to XAccessible::getAccessibleContext().
+ 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
+*/
+interface XAccessible : ::com::sun::star::uno::XInterface
+{
+ /** Returns the AccessibleContext associated with this object.
+
+ <p>The idea to let this interface only return an
+ XAccessibleContext 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 XAccessible
+ and XAccessibleContext in one class.</p>
+
+ @return
+ A reference to the object that contains the actual accessibility
+ information.
+
+ @see AccessibleContext
+ */
+ XAccessibleContext getAccessibleContext ();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleAction.idl b/offapi/com/sun/star/accessibility/XAccessibleAction.idl
new file mode 100644
index 000000000..509d8a294
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleAction.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
+#define __com_sun_star_accessibility_XAccessibleAction_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+ 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
+*/
+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
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ 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
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ 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 XAccessibleKeyBinding 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleComponent.idl b/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
new file mode 100644
index 000000000..181ab31ba
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleComponent.idl
@@ -0,0 +1,214 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
+#define __com_sun_star_accessibility_XAccessibleComponent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XFocusListener.idl>
+#include <com/sun/star/awt/XFont.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/util/Color.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** The XAccessibleComponent 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 XAccessibleExtendedComponent
+ 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
+ getLocationOnScreen() 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 getLocation()
+ 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 containsPoint() and
+ getAccessibleAtPoint() 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
+ XAccessibleAction interface of a component, provided that
+ it is supported, and use the XAccessibleAction::getAccessibleKeyBinding().
+ </p>
+
+ @see XAccessibleExtendedComponent
+
+ @since OOo 1.1.2
+*/
+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 getBounds(). 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 Point);
+
+ /** 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 Point
+ 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
+ getBounds(). 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 Point);
+
+ /** 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 getLocation() and
+ getSize() return the same information. With method
+ getLocationOnScreen() 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
+ getLocation(). 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. isFocusTraversable() 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>
+ */
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleContext.idl b/offapi/com/sun/star/accessibility/XAccessibleContext.idl
new file mode 100644
index 000000000..fb3b9c9ca
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleContext.idl
@@ -0,0 +1,198 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
+#define __com_sun_star_accessibility_XAccessibleContext_idl__
+
+#include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+ interface XAccessibleRelationSet;
+ interface XAccessibleSelection;
+ interface XAccessibleStateSet;
+
+/** Implement this interface for exposing various aspects of a class's
+ 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
+ AccessibleRole::BUTTON, its name is "OK", and its description
+ is something like "Accepts all changes made in the dialog".</p>
+
+ @since OOo 1.1.2
+*/
+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
+ XAccessibleContext::getAccessibleChild() 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
+ ::com::sun::star::lang::IndexOutOfBoundsException
+ 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 getAccessibleChild 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 XAccessibleContext::getAccessibleRole()'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>There 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 XAccessibleStateSet 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 IllegalAccessibleComponentStateException.
+
+ @throws IllegalAccessibleComponentStateException
+ when this object does not (yet) have a parent.
+ */
+ ::com::sun::star::lang::Locale getLocale ()
+ raises (IllegalAccessibleComponentStateException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleContext2.idl b/offapi/com/sun/star/accessibility/XAccessibleContext2.idl
new file mode 100644
index 000000000..e9d4feae1
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleContext2.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext2_idl__
+#define __com_sun_star_accessibility_XAccessibleContext2_idl__
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface for exposing more aspects of a class's
+ content.
+
+ <p>This is an extension of XAccessibleContext to add getAccessibleId().</p>
+
+ @since LibreOffice 6.3
+*/
+interface XAccessibleContext2 : ::com::sun::star::accessibility::XAccessibleContext
+{
+ /** Return the object's identifier.
+
+ <p>This is not meant to be presented to the user, but to be an ID
+ which is stable over application development. Typically, this is
+ the gtkbuilder ID. Such an ID can then be used to identify a given
+ well-known accessible object independently from the current locale,
+ user-visible labelling, or dialog structure. This can then be used for
+ tailored screen reading (e.g. automatically announcing the content of a
+ well-known object), or for automatic regression testing (to check the
+ behavior of well-known objects). Uniqueness within the window is thus
+ desirable when returning a non-empty string.</p>
+
+ @return
+ The returned string is the object's identifier.
+ */
+ string getAccessibleId ();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleContext3.idl b/offapi/com/sun/star/accessibility/XAccessibleContext3.idl
new file mode 100644
index 000000000..8bc4dee3d
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleContext3.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleContext3_idl__
+#define __com_sun_star_accessibility_XAccessibleContext3_idl__
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** Implement this interface to speed up operations when iterating over large amounts of children.
+ *
+ @since LibreOffice 6.4
+*/
+interface XAccessibleContext3 : ::com::sun::star::uno::XInterface
+{
+ /** Return the children.
+
+ <p>The order in which the children are enumerated is implementation
+ dependent.</p>
+ */
+ sequence<XAccessible> getAccessibleChildren();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl b/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl
new file mode 100644
index 000000000..f330ba0ec
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEditableText.idl
@@ -0,0 +1,228 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleEditableText_idl__
+#define __com_sun_star_accessibility_XAccessibleEditableText_idl__
+
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+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
+ XAccessibleText interface and extents it about the ability
+ to modify the text represented by that interface.</p>
+
+ @since OOo 1.1.2
+*/
+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 XAccessibleText::copyText() and then
+ XAccessibleEditableText::deleteText() with the given
+ start and end indices.</p>
+
+ <p>The text indices are interpreted like those in the
+ XAccessibleText::getTextRange() 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 XAccessibleEditableText::insertText()
+ 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
+ XAccessibleText::getTextRange() 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
+ XAccessibleEditableText::deleteText() with the two
+ indices and afterwards calling
+ XAccessibleEditableText::insertText() with the
+ replacement text and the start index.</p>
+
+ <p>The text indices are interpreted like those in the
+ XAccessibleText::getTextRange() 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
+ XAccessibleText::getTextRange() 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl b/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl
new file mode 100644
index 000000000..a8fa56ea4
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEventBroadcaster.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+#define __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleEventListener;
+
+/** makes it possible to register listeners which are called whenever
+ an accessibility event (see AccessibleEventObject) occurs.
+
+ @see AccessibleEventObject
+ @see XAccessibleEventListener
+
+ @since OOo 1.1.2
+ */
+interface XAccessibleEventBroadcaster: ::com::sun::star::uno::XInterface
+{
+
+ /** registers the given XAccessibleEventListener.
+ */
+ void addAccessibleEventListener( [in] XAccessibleEventListener xListener );
+
+
+ /** unregisters the given XAccessibleEventListener.
+ */
+ void removeAccessibleEventListener( [in] XAccessibleEventListener xListener );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl b/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl
new file mode 100644
index 000000000..e1645c4e9
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleEventListener.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleEventListener_idl__
+#define __com_sun_star_accessibility_XAccessibleEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/accessibility/AccessibleEventObject.idl>
+
+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
+ */
+interface XAccessibleEventListener: ::com::sun::star::lang::XEventListener
+{
+
+ /** is called whenever an accessible event (see AccessibleEventObject) occurs.
+ */
+ void notifyEvent( [in] AccessibleEventObject aEvent );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleExtendedAttributes.idl b/offapi/com/sun/star/accessibility/XAccessibleExtendedAttributes.idl
new file mode 100644
index 000000000..11eb96327
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleExtendedAttributes.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_XAccessibleAttribute_idl__
+#define __com_sun_star_accessibility_XAccessibleAttribute_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+interface XAccessibleExtendedAttributes : ::com::sun::star::uno::XInterface
+{
+ /* Returns the attribute of this object' formula */ // MT: I guess it's not formula only?
+ any getExtendedAttributes() raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl b/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl
new file mode 100644
index 000000000..a5af6c73b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleExtendedComponent.idl
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+#define __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XFocusListener.idl>
+#include <com/sun/star/awt/XFont.idl>
+#include <com/sun/star/awt/FontDescriptor.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** The XAccessibleExtendedComponent interface contains
+ additional methods to those of the XAccessibleComponent
+ 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 XAccessibleComponent
+ interface and only support the XAccessibleExtendedComponent
+ 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
+*/
+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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleGetAccFlowTo.idl b/offapi/com/sun/star/accessibility/XAccessibleGetAccFlowTo.idl
new file mode 100644
index 000000000..56246775b
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleGetAccFlowTo.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_XAccessibleGetAccFlowTo_idl_
+#define __com_sun_star_accessibility_XAccessibleGetAccFlowTo_idl_
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+// !!!
+// MT: When integrating this, interface and method names should be renamed somehow. Of course, file name also need to change then...
+// !!!
+interface XAccessibleGetAccFlowTo : ::com::sun::star::uno::XInterface
+{
+ sequence<any> getAccFlowTo([in] any aXShape, [in] long nType);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleGroupPosition.idl b/offapi/com/sun/star/accessibility/XAccessibleGroupPosition.idl
new file mode 100644
index 000000000..1c2ca50b7
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleGroupPosition.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_XAccessibleGroupPosition_idl__
+#define __com_sun_star_accessibility_XAccessibleGroupPosition_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+interface XAccessibleGroupPosition : ::com::sun::star::uno::XInterface
+{
+ /* Returns the group position of the object */
+ sequence<long> getGroupPosition( [in] any accoject ) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /* Returns the hyperlink URL info of the object */
+ string getObjectLink( [in] any accoject ) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl b/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl
new file mode 100644
index 000000000..067c529d6
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleHyperlink.idl
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleHyperlink_idl__
+#define __com_sun_star_accessibility_XAccessibleHyperlink_idl__
+
+#include <com/sun/star/accessibility/XAccessibleAction.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+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
+ XAccessibleAction interface. Especially that interface's
+ XAccessibleAction::getActionCount() method is needed to
+ obtain a maximum value for the indices passed to the
+ XAccessibleHyperlink::getAccessibleActionAnchor() and
+ XAccessibleHyperlink::getAccessibleActionObject()
+ methods.</p>
+
+ <p>Furthermore, the object that implements this interface has to be
+ connected implicitly or explicitly with an object that implements the
+ XAccessibleText interface. The XAccessibleHyperlink::getStartIndex() and
+ XAccessibleHyperlink::getEndIndex() methods return
+ indices with respect to the text exposed by that interface.</p>
+
+ @since OOo 1.1.2
+*/
+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 XAccessibleAction::getActionCount() 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 XAccessibleAction::getActionCount() 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 XAccessibleText
+ interface that owns this hyperlink.</p>
+
+ @return
+ The index relates to the text exposed by the
+ XAccessibleHypertext interface.
+ */
+ long getStartIndex ();
+
+ /** Returns the index at which the textual representation of the
+ hyperlink (group) ends.
+
+ <p>The returned value relates to the XAccessibleText
+ interface that owns this hyperlink.</p>
+
+ @return
+ The index relates to the text exposed by the
+ XAccessibleText 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl b/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl
new file mode 100644
index 000000000..24e87b0ea
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleHypertext.idl
@@ -0,0 +1,106 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleHypertext_idl__
+#define __com_sun_star_accessibility_XAccessibleHypertext_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleHyperlink;
+
+
+/** Implement this interface to expose the hypertext structure of a document.
+
+ <p>The XAccessibleHypertext 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
+ XAccessibleHypertext::getLinkIndex() method of this
+ interface and other character related methods of the
+ XAccessibleHyperlink interface, it is necessary to also
+ support the XAccessibleText interface.</p>
+
+ @see XAccessibleHyperlink, XAccessibleText
+
+ @since OOo 1.1.2
+*/
+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 XAccessibleHyperlink 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 XAccessibleText 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 than 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleImage.idl b/offapi/com/sun/star/accessibility/XAccessibleImage.idl
new file mode 100644
index 000000000..b63d182fb
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleImage.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleImage_idl__
+#define __com_sun_star_accessibility_XAccessibleImage_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+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
+*/
+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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl b/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl
new file mode 100644
index 000000000..9e03d7ddf
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleKeyBinding.idl
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleKeyBinding_idl__
+#define __com_sun_star_accessibility_XAccessibleKeyBinding_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/KeyStroke.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+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 ::com::sun::star::awt::KeyStroke
+ objects. The association of an action with a key binding is established
+ by the XAccessibleAction interface returning an
+ XAccessibleKeyBinding 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
+*/
+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 getAccessibleKeyBindingCount()
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
new file mode 100644
index 000000000..6b81009ab
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl
@@ -0,0 +1,136 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleMultiLineText_idl__
+#define __com_sun_star_accessibility_XAccessibleMultiLineText_idl__
+
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+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
+ XAccessibleText interface and extents it with a notion
+ of line numbers</p>
+
+ @since OOo 3.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
+ XAccessibleMultiLineText::getLineNumberAtIndex()
+ with the index of the last character. In a loop, the last line
+ has been reached when TextSegment::SegmentEnd
+ 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 XAccessibleText::getTextAtIndex() with
+ the index returned by XAccessibleText::getCaretPosition()
+ and type AccessibleTextType::LINE 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,
+ XAccessibleMultiLineText::getLineNumberAtIndex() 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 XAccessibleMultiLineText::getLineNumberAtIndex()
+ with the index returned by XAccessibleText::getCaretPosition()
+ 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,
+ XAccessibleMultiLineText::getLineNumberAtIndex() 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl b/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl
new file mode 100644
index 000000000..95db6b1e5
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleRelationSet.idl
@@ -0,0 +1,100 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleRelationSet_idl__
+#define __com_sun_star_accessibility_XAccessibleRelationSet_idl__
+
+#include <com/sun/star/accessibility/AccessibleRelation.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+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 AccessibleRelation
+ structure. This interface is used for representing sets of relations
+ between Accessible 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 add(),
+ addAll(), clear(), and
+ remove(). The other methods have been renamed to achieve
+ a greater conformance with the other accessibility interfaces.</p>
+
+ @since OOo 1.1.2
+*/
+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
+ AccessibleRelationType.
+
+ @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 AccessibleRelationType.
+
+ @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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleSelection.idl b/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
new file mode 100644
index 000000000..cc10cca44
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
@@ -0,0 +1,154 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
+#define __com_sun_star_accessibility_XAccessibleSelection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+ 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 XAccessibleSelection interface has to be implemented
+ in conjunction with the XAccessibleContext 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
+*/
+interface XAccessibleSelection : ::com::sun::star::uno::XInterface
+{
+ /** Selects the specified Accessible 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
+ XAccessibleContext::getAccessibleChildCount()-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
+ XAccessibleContext::getAccessibleChildCount()-1.
+ */
+ boolean isAccessibleChildSelected ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Clears the selection, so that no children of the
+ object are selected.
+ */
+ 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>
+ */
+ 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
+ XAccessibleSelection::getSelectedChild() and
+ XAccessibleSelection::deselectSelectedChild().</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 XAccessible 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
+ XAccessibleRelationSet::getAccessibleChildCount()-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
+ XAccessibleContext::getAccessibleChildCount().
+ */
+ void deselectAccessibleChild ([in] long nChildIndex)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl b/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl
new file mode 100644
index 000000000..910caf843
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleStateSet.idl
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleStateSet_idl__
+#define __com_sun_star_accessibility_XAccessibleStateSet_idl__
+
+#include <com/sun/star/accessibility/AccessibleStateType.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** Implement this interface to represent a set of states.
+
+ <p>The interface XAccessibleStateSet represents a set of
+ states of an accessible object. It can hold any combination of states
+ defined by the constants collection
+ AccessibleStateType.</p>
+
+ @since OOo 1.1.2
+*/
+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 AccessibleStateType.
+
+ @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 AccessibleStateType.
+
+ @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 contains() 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTable.idl b/offapi/com/sun/star/accessibility/XAccessibleTable.idl
new file mode 100644
index 000000000..0b365ccd3
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTable.idl
@@ -0,0 +1,377 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleTable_idl__
+#define __com_sun_star_accessibility_XAccessibleTable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessible;
+
+/** Implement this interface to give access to a two-dimensional table.
+
+ <p>The XAccessibleTable 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 XAccessible 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
+ XAccessibleTable::getAccessibleIndex(),
+ XAccessibleTable::getAccessibleRow(), and
+ XAccessibleTable::getAccessibleColumn().</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
+ XAccessibleTable::getAccessibleRowCount() and
+ XAccessibleTable::getAccessibleColumnCount(). 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
+*/
+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
+ XAccessibleTable::getAccessibleRowCount() - 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
+ XAccessibleTable::getAccessibleColumnCount() - 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
+ XAccessibleTable::getAccessibleRowCount() - 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
+ XAccessibleTable::getAccessibleColumnCount() - 1.
+ */
+ long getAccessibleColumnExtentAt ([in] long nRow, [in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the row headers as an XAccessibleTable
+ object.
+
+ <p>Content and size of the returned table are implementation
+ dependent.</p>
+
+ @return
+ Returns always a valid reference to an
+ XAccessibleTable object.
+ */
+ XAccessibleTable getAccessibleRowHeaders ();
+
+ /** Returns the column headers as an XAccessibleTable
+ object.
+
+ <p>Content and size of the returned table are implementation
+ dependent.</p>
+
+ @return
+ Returns always a valid reference to an
+ XAccessibleTable 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
+ XAccessibleTable::getAccessibleRowCount() - 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
+ XAccessibleTable::getAccessibleColumnCount() - 1.
+ */
+ boolean isAccessibleColumnSelected ([in] long nColumn)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ /** Returns the XAccessible object at the specified row
+ and column in the table.
+
+ <p>This method has been renamed from the Java name
+ <code>getAccessibleAt</code> to
+ XAccessibleTable::getAccessibleCellAt() to avoid
+ ambiguities with the
+ XAccessibleComponent::getAccessibleAt() 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
+ XAccessible 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
+ XAccessibleTable::getAccessibleColumnCount() - 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
+ XAccessible 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
+ XAccessibleContext::getAccessibleIndexInParent() 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTableSelection.idl b/offapi/com/sun/star/accessibility/XAccessibleTableSelection.idl
new file mode 100644
index 000000000..a5b3d2f26
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTableSelection.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_XAccessibleTableSelection_idl__
+#define __com_sun_star_accessibility_XAccessibleTableSelection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com { module sun { module star { module accessibility {
+
+interface XAccessible;
+
+interface XAccessibleTableSelection : ::com::sun::star::uno::XInterface
+{
+ boolean selectRow ([in] long row) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+ boolean unselectRow ([in] long row) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ boolean selectColumn ([in] long column) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+ boolean unselectColumn ([in] long column) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleText.idl b/offapi/com/sun/star/accessibility/XAccessibleText.idl
new file mode 100644
index 000000000..98af06445
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleText.idl
@@ -0,0 +1,527 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
+#define __com_sun_star_accessibility_XAccessibleText_idl__
+
+#include <com/sun/star/accessibility/AccessibleTextType.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/accessibility/TextSegment.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give read-only access to a text.
+
+ <p>The XAccessibleText 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 XAccessibleEditableText
+ interface.</p>
+
+ <p>The text length, i.e. the number of characters in the text, is
+ returned by XAccessibleText::getCharacterCount().
+ All methods that operate on particular characters (e.g.
+ XAccessibleText::getCharacterAt()) use character
+ indices from 0 to length-1. All methods that operate on character
+ positions (e.g. XAccessibleText::getTextRange())
+ 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
+*/
+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
+ AccessibleEventId::ACCESSIBLE_SELECTION_EVENT.</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
+ AccessibleEventId::ACCESSIBLE_CARET_EVENT.</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 getCharacterCount()
+ 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
+ aRequestedAttributes argument) requested attributes
+ of the specified character. Each attribute is represented by a
+ ::com::sun::star::beans::PropertyValue
+ 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
+
+ @see CharacterProperties
+ */
+ sequence<::com::sun::star::beans::PropertyValue>
+ getCharacterAttributes (
+ [in] long nIndex,
+ [in] sequence<string> aRequestedAttributes)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::beans::UnknownPropertyException);
+
+
+ /** 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 an AccessibleEventId::CARET 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 XAccessibleText::getCharacterBounds(). The method
+ XAccessibleText::getIndexAtPoint(), 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
+ XAccessibleText::getTextRange() 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
+ AccessibleEventId::ACCESSIBLE_CARET_EVENT.</p>
+
+ @param nStartIndex
+ The first character of the new selection.
+ The valid range is 0..length.
+
+ @param 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
+ XAccessibleText::getTextRange() 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 AccessibleTextType::WORD, 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
+ AccessibleTextType 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::IllegalArgumentException
+ 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
+ XAccessibleText::getTextAtIndex() with a
+ suitably decreased index value.</p>
+
+ <p>For example, if text type is
+ AccessibleTextType::WORD, 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
+ AccessibleTextType 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::IllegalArgumentException
+ 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
+ XAccessibleText::getTextAtIndex() with a
+ suitably increased index value.</p>
+
+ <p>For example, if text type is
+ AccessibleTextType::WORD, 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
+ AccessibleTextType 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::IllegalArgumentException
+ 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
+ XAccessibleText::getTextRange() method. </p>
+
+ <p>The other clipboard related methods
+ XAccessibleEditableText::cutText() and
+ XAccessibleEditableText::deleteText() can be found in
+ the XAccessibleEditableText 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);
+
+ /** Scroll the specified text to make it visible on screen.
+
+ @param nStartIndex
+ Start index of the text to scroll.
+ The valid range is 0..length.
+
+ @param nEndIndex
+ End index of the text to scroll.
+ The valid range is nStartIndex..length.
+
+ @param aScrollType
+ Type of scroll to perform. See AccessibleScrollType for the
+ complete list.
+
+ @return
+ Returns `TRUE` if the specified text has been scrolled
+ successfully.
+
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if the indices are invalid
+
+ @since LibreOffice 7.0
+ */
+ boolean
+ scrollSubstringTo ([in] long nStartIndex, [in] long nEndIndex,
+ [in] AccessibleScrollType aScrollType)
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl b/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl
new file mode 100644
index 000000000..f8d459be6
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTextAttributes.idl
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleTextAttributes_idl__
+#define __com_sun_star_accessibility_XAccessibleTextAttributes_idl__
+
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+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
+*/
+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 ::com::sun::star::beans::PropertyValue
+ object.
+ */
+ sequence<::com::sun::star::beans::PropertyValue>
+ getDefaultAttributes ( [in] sequence<string> RequestedAttributes )
+ raises ( ::com::sun::star::beans::UnknownPropertyException );
+
+ /** 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
+ ::com::sun::star::beans::PropertyValue 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::beans::UnknownPropertyException,
+ ::com::sun::star::lang::IndexOutOfBoundsException);
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl b/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl
new file mode 100644
index 000000000..bf9fb3617
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleTextMarkup_idl__
+#define __com_sun_star_accessibility_XAccessibleTextMarkup_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+#include <com/sun/star/accessibility/TextSegment.idl>
+
+module com { module sun { module star { module accessibility {
+
+ interface XAccessibleTextMarkup;
+
+
+/** Implement this interface to expose the text markups of a text.
+
+ <p>The XAccessibleTextMarkup 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
+ XAccessibleTextMarkup::getTextMarkupIndex() method of this
+ interface and other character related methods of the
+ XAccessibleTextMarkup interface, it is necessary to also
+ support the XAccessibleText 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 IllegalArgumentException, 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 TextMarkupType.
+
+ @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 IndexOutOfBoundsException, if given index
+ is out of valid range.</p>
+ <p>Throws IllegalArgumentException, 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
+ TextMarkupType.
+
+ @return
+ If the given index is in range [0..getTextMarkupCount(TextMarkupType)-1],
+ the text segment - see TextSegment - 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 IndexOutOfBoundsException, if given character
+ index is out of range [0..number of characters in the text).</p>
+ <p>Throws IllegalArgumentException, 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
+ TextMarkupType.
+
+ @return
+ If character index is in range [0..number of characters in the text-1],
+ a sequence of TextSegments 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleTextSelection.idl b/offapi/com/sun/star/accessibility/XAccessibleTextSelection.idl
new file mode 100644
index 000000000..ecc61e721
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleTextSelection.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_XAccessibleTextSelection_idl__
+#define __com_sun_star_accessibility_XAccessibleTextSelection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module accessibility {
+
+interface XAccessibleTextSelection : ::com::sun::star::uno::XInterface
+{
+ boolean scrollToPosition ([in] ::com::sun::star::awt::Point aPoint, [in] boolean isLeftTop) raises (::com::sun::star::lang::IllegalArgumentException);
+
+ long getSelectedPortionCount();
+
+ long getSeletedPositionStart ([in] long nSelectedPortionIndex) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ long getSeletedPositionEnd ([in] long nSelectedPortionIndex) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ long addSelection( [in] long selectionIndex, [in]long startOffset, [in] long endOffset) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+ boolean removeSelection( [in] long selectionIndex ) raises (::com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XAccessibleValue.idl b/offapi/com/sun/star/accessibility/XAccessibleValue.idl
new file mode 100644
index 000000000..d25c81435
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XAccessibleValue.idl
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_accessibility_XAccessibleValue_idl__
+#define __com_sun_star_accessibility_XAccessibleValue_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** Implement this interface to give access to a single numerical value.
+
+ <p>The XAccessibleValue 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
+*/
+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
+ getMaximumAccessibleValue() and
+ getMinimumAccessibleValue(), 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
+ getCurrentAccessibleValue().</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
+ getCurrentAccessibleValue().</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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/accessibility/XMSAAService.idl b/offapi/com/sun/star/accessibility/XMSAAService.idl
new file mode 100644
index 000000000..42b259196
--- /dev/null
+++ b/offapi/com/sun/star/accessibility/XMSAAService.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_accessibility_XMSAASERVICE_idl__
+#define __com_sun_star_accessibility_XMSAASERVICE_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+module com { module sun { module star { module accessibility {
+
+/** The interface must be implemented for a server that can support MSAA com objects and send win32 accessible events
+*/
+interface XMSAAService : ::com::sun::star::lang::XComponent
+{
+ /** Return com object pointer.
+
+ @return
+ A reference to the object that contains the actual accessibility information.
+
+ @see AccessibleContext
+ */
+ hyper getAccObjectPtr([in] hyper hWnd, [in] hyper lParam, [in] hyper wParam);
+
+ void handleWindowOpened([in] hyper i);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */