1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_text_AccessibleParagraphView_idl__
28#define __com_sun_star_text_AccessibleParagraphView_idl__
29
30#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
31#include <com/sun/star/accessibility/XAccessibleContext.idl>
32#endif
33
34#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
35#include <com/sun/star/accessibility/XAccessibleComponent.idl>
36#endif
37
38#ifndef __com_sun_star_accessibility_XAccessibleEditableText_idl__
39#include <com/sun/star/accessibility/XAccessibleEditableText.idl>
40#endif
41
42#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
43#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
44#endif
45
46#ifndef __com_sun_star_accessibility_XAccessibleTextAttributes_idl__
47#include <com/sun/star/accessibility/XAccessibleTextAttributes.idl>
48#endif
49
50//=============================================================================
51
52module com {  module sun {  module star {  module text {
53
54//=============================================================================
55
56/** The accessible view of a paragraph fragment.
57
58
59	 @since OOo 1.1.2
60 */
61published service AccessibleParagraphView
62{
63	/** This interface gives access to a paragraph fragment that is at least
64	  	partially visible on the screen. A paragraph fragment is the portion
65		of a paragraph that is displayed on a single page or a in a single
66		column.
67
68		<ul>
69			<li>The parent returned by
70                <method scope="::com::sun::star::accessibility"
71                >XAccessibleContext::getAccessibleParent</method> is the
72                accessible view of a text document (in this case the
73                paragraph is contained in a page body) or the accessible
74                view of a header, footer, footnote, endnote, table cell,
75                text frame, page or shape.</li>
76            <li>The children returned by
77                <method scope="::com::sun::star::accessibility"
78                >XAccessibleContext::getAccessibleChild</method> are the
79                graphics, text boxes and OLE objects that are bound
80                <em>as</em> character within the paragraph. Graphics, text
81                boxes and OLE objects that are bound to the paragraph or
82                <em>to</em> a character within the paragraph are not
83                children of the paragraph fragment but of the document view
84                itself.</li>
85			<li>The role is either
86                <const scope="::com::sun::star::accessibility"
87                >AccessibleRole::PARAGRAPH</const> or
88                <const scope="::com::sun::star::accessibility"
89                >AccessibleRole::HEADING</const>. The later one is returned
90                if the paragraph's style is contained in the chapter
91                numbering of a text document.
92			<li>The name is "paragraph" or "heading" (or the equivalent term
93				in application's language) with a number appended.
94			<li>The description contains the term "paragraph" (or the equivalent
95				term in application's language) and the first sentence of
96				the paragraph.
97			<li>There are no relations.
98			<li>The following states are supported by the
99				<type scope="::com::sun::star::accessibility"
100                >XAccessibleStateSet</type> returned by
101				<method scope="::com::sun::star::accessibility"
102                >XAccessibleContext::getAccessibleStateSet</method>.
103				<ul>
104					<li><const scope="::com::sun::star::accessibility"
105                        >AccessibleStateType::DEFUNC</const> (indicates that
106                        the document window has been closed or the paragraph
107                        fragment is not existing any longer).
108					<li><const scope="::com::sun::star::accessibility"
109                        >AccessibleStateType::EDITABLE</const>
110					<li><const scope="::com::sun::star::accessibility"
111                        >AccessibleStateType::ENABLED</const> (always
112                        contained)
113					<li><const scope="::com::sun::star::accessibility"
114                        >AccessibleStateType::MULTILINE</const> (always
115                        contained)
116					<li><const scope="::com::sun::star::accessibility"
117                        >AccessibleStateType::MULTISELECTABLE</const>
118                        (always contained)
119					<li><const scope="::com::sun::star::accessibility"
120                        >AccessibleStateType::OPAQUE</const>
121					<li><const scope="::com::sun::star::accessibility"
122                        >AccessibleStateType::SHOWING</const>
123					<li><const scope="::com::sun::star::accessibility"
124                        >AccessibleStateType::VISIBLE</const>
125					<li><const scope="::com::sun::star::accessibility"
126                        >AccessibleStateType::FOCUSED</const>
127				</ul>
128			<li>Depending of the application's region setting, the locale is
129				the western, asian or complex language of the paragraph.
130		</ul>
131
132	 */
133	interface ::com::sun::star::accessibility::XAccessibleContext;
134
135	/** This interface describes the graphical representation of a paragraph
136	  	fragment.
137	 */
138	interface ::com::sun::star::accessibility::XAccessibleComponent;
139
140	/** This interface gives access to a paragraph fragment's text. The text
141	  	contains the paragraph's editable text as well as generated text,
142		like chapter numbers, hyphens or fields. Characters of generated
143		text contribute to the text's character indexing. However, it is not
144		possible to set the caret or start a selection within generated text.
145		<p>For text frames, graphics, etc. that are bound as character some
146		text is generated that contains the objects description.
147		<p>The attributes (or properties) returned by
148        <method scope="::com::sun::star::accessibility"
149        >XAccessibleText::getCharacterAttributes</method>
150		are a sub set of the properties described by the service
151		<type scope="::com::sun::star::style">CharacterProperties</type>. For
152		properties that have asian and complex counterparts, the value that
153		is visible is returned. This can be in fact the western, asian or
154		complex value.  Its not possible to change the value of any property
155		by using
156		<method scope="::com::sun::star::accessibility"
157        >XAccessibleEditableText::setAttributes</method>.
158		<p><em>TODO: If there is a demand, some attributes might be added that
159		tells whether the character at a certain index is editable or generated.
160		</em>
161
162	 */
163	[optional] interface ::com::sun::star::accessibility::XAccessibleEditableText;
164
165	/** This interface is a subset of
166		<type scope="::com::sun::star::accessibility"
167        >XAccessibleEditableText</type> and gives access to a paragraph
168        fragment's text in a read-only mode.  The text contains the
169        paragraph's text (changeable as well as generated text, like chapter
170        numbers, hyphens or fields). Characters of generated text contribute
171        to the text's character indexing.
172		<p>For text frames, graphics, etc. that are bound as character
173		some text is generated that contains the objects description.
174		<p>The attributes (or properties) returned by
175		<method scope="::com::sun::star::accessibility"
176        >XAccessibleText::getCharacterAttributes</method> are a sub set of the properties
177		described by the service
178		<type scope="::com::sun::star::style">CharacterProperties</type>. For
179		properties that have asian and complex counterparts, the value that
180		is visible is returned. This can be in fact the western, asian or
181		complex value.
182        <p><em>TODO: If there is a demand, some attributes might be added
183        that tells whether the character at a certain index is changeable or
184        generated.
185		</em>
186	 */
187    interface ::com::sun::star::accessibility::XAccessibleText;
188
189	/** This interface is for selecting the paragraph's children. Multi
190	    selection is supported only for children that are multi selectable
191		in the GUI, too.
192    */
193	[optional] interface ::com::sun::star::accessibility::XAccessibleSelection;
194
195	/** This is the interface for listeners.
196    */
197	interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
198
199        /** This interface gives access to the default attributes of a paragraph
200            and to the run attributes of a certain character in a paragraph
201
202            @since OOo 2.0.4
203        */
204        [optional] interface ::com::sun::star::accessibility::XAccessibleTextAttributes;
205
206};
207
208//=============================================================================
209
210}; }; }; };
211
212#endif
213