1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef ACCESSIBILITY_HELPER_COMBOLISTBOXHELPER_HXX
24 #define ACCESSIBILITY_HELPER_COMBOLISTBOXHELPER_HXX
25 
26 #include <tools/gen.hxx>
27 #include <tools/string.hxx>
28 #include <tools/wintypes.hxx>
29 
30 namespace com { namespace sun { namespace star { namespace datatransfer { namespace clipboard {
31     class XClipboard;
32 } } } } }
33 
34 class Window;
35 namespace accessibility
36 {
37 	class SAL_NO_VTABLE IComboListBoxHelper
38 	{
39 	public:
40 		virtual String			GetEntry( sal_uInt16 nPos ) const = 0;
41 		virtual Rectangle		GetDropDownPosSizePixel( ) const = 0;
42 		virtual Rectangle		GetBoundingRectangle( sal_uInt16 nItem ) const = 0;
43 		virtual Rectangle		GetWindowExtentsRelative( Window* pRelativeWindow ) = 0;
44 		virtual sal_Bool        	IsActive() const = 0;
45 		virtual sal_Bool        IsEnabled() const = 0;
46 		virtual sal_Bool			IsEntryVisible( sal_uInt16 nPos ) const = 0;
47 		virtual sal_uInt16			GetDisplayLineCount() const = 0;
48 		virtual void            GetMaxVisColumnsAndLines( sal_uInt16& rnCols, sal_uInt16& rnLines ) const = 0;
49 		virtual WinBits         GetStyle() const = 0;
50 		virtual sal_Bool            IsMultiSelectionEnabled() const = 0;
51 		virtual sal_uInt16			GetTopEntry() const = 0;
52 		virtual sal_Bool			IsEntryPosSelected( sal_uInt16 nPos ) const = 0;
53 		virtual sal_uInt16          GetEntryCount() const = 0;
54 		virtual void			Select() = 0;
55 		virtual void			SelectEntryPos( sal_uInt16 nPos, sal_Bool bSelect = sal_True ) = 0;
56 		virtual sal_uInt16			GetSelectEntryCount() const = 0;
57 		virtual void			SetNoSelection() = 0;
58 		virtual sal_uInt16			GetSelectEntryPos( sal_uInt16 nSelIndex = 0 ) const = 0;
59 		virtual sal_Bool            IsInDropDown() const = 0;
60         virtual Rectangle       GetEntryCharacterBounds( const sal_Int32 _nEntryPos, const sal_Int32 _nCharacterIndex ) const = 0;
61         virtual long            GetIndexForPoint( const Point& rPoint, sal_uInt16& nPos ) const = 0;
62         virtual ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboard >
63                                 GetClipboard() = 0;
64 	};
65 }
66 #endif // ACCESSIBILITY_HELPER_COMBOLISTBOXHELPER_HXX
67