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