Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : :
29 : : #ifndef TOOLKIT_HELPER_ACCESSIBLE_FACTORY_HXX
30 : : #define TOOLKIT_HELPER_ACCESSIBLE_FACTORY_HXX
31 : :
32 : : #include <com/sun/star/uno/Reference.hxx>
33 : :
34 : : #include <rtl/ref.hxx>
35 : :
36 : : namespace com { namespace sun { namespace star { namespace accessibility {
37 : : class XAccessible;
38 : : class XAccessibleContext;
39 : : } } } }
40 : : class VCLXButton;
41 : : class VCLXCheckBox;
42 : : class VCLXRadioButton;
43 : : class VCLXListBox;
44 : : class VCLXFixedHyperlink;
45 : : class VCLXFixedText;
46 : : class VCLXScrollBar;
47 : : class VCLXEdit;
48 : : class VCLXComboBox;
49 : : class VCLXToolBox;
50 : : class VCLXWindow;
51 : : class Menu;
52 : :
53 : : //........................................................................
54 : : namespace toolkit
55 : : {
56 : : //........................................................................
57 : :
58 : : /** a function which is able to create a factory for the standard Accessible/Context
59 : : components needed for standard toolkit controls
60 : :
61 : : The returned pointer denotes an instance of the IAccessibleFactory, which has been acquired
62 : : <em>once</em>. The caller is responsible for holding this reference as long as it needs the
63 : : factory, and release it afterwards.
64 : : */
65 : : typedef void* (SAL_CALL * GetStandardAccComponentFactory)( );
66 : :
67 : : //================================================================
68 : : //= IAccessibleFactory
69 : : //================================================================
70 : 22 : class IAccessibleFactory : public ::rtl::IReference
71 : : {
72 : : public:
73 : : /** creates an accessible context for a button window
74 : : */
75 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
76 : : createAccessibleContext( VCLXButton* _pXWindow ) = 0;
77 : :
78 : : /** creates an accessible context for a checkbox window
79 : : */
80 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
81 : : createAccessibleContext( VCLXCheckBox* _pXWindow ) = 0;
82 : :
83 : : /** creates an accessible context for a radio button window
84 : : */
85 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
86 : : createAccessibleContext( VCLXRadioButton* _pXWindow ) = 0;
87 : :
88 : : /** creates an accessible context for a listbox window
89 : : */
90 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
91 : : createAccessibleContext( VCLXListBox* _pXWindow ) = 0;
92 : :
93 : : /** creates an accessible context for a fixed hyperlink window
94 : : */
95 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
96 : : createAccessibleContext( VCLXFixedHyperlink* _pXWindow ) = 0;
97 : :
98 : : /** creates an accessible context for a fixed text window
99 : : */
100 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
101 : : createAccessibleContext( VCLXFixedText* _pXWindow ) = 0;
102 : :
103 : : /** creates an accessible context for a scrollbar window
104 : : */
105 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
106 : : createAccessibleContext( VCLXScrollBar* _pXWindow ) = 0;
107 : :
108 : : /** creates an accessible context for a edit window
109 : : */
110 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
111 : : createAccessibleContext( VCLXEdit* _pXWindow ) = 0;
112 : :
113 : : /** creates an accessible context for a combo box window
114 : : */
115 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
116 : : createAccessibleContext( VCLXComboBox* _pXWindow ) = 0;
117 : :
118 : : /** creates an accessible context for a toolbox window
119 : : */
120 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
121 : : createAccessibleContext( VCLXToolBox* _pXWindow ) = 0;
122 : :
123 : : /** creates an accessible context for a generic window
124 : : */
125 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext >
126 : : createAccessibleContext( VCLXWindow* _pXWindow ) = 0;
127 : :
128 : : /** creates an accessible component for the given menu
129 : : */
130 : : virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
131 : : createAccessible( Menu* _pMenu, sal_Bool _bIsMenuBar ) = 0;
132 : :
133 : : protected:
134 : 0 : ~IAccessibleFactory() {}
135 : : };
136 : :
137 : : //........................................................................
138 : : } // namespace toolkit
139 : : //........................................................................
140 : :
141 : : #endif // TOOLKIT_HELPER_ACCESSIBLE_FACTORY_HXX
142 : :
143 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|