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 
28 #ifndef SC_ACCESSIBILITYHINTS_HXX
29 #define SC_ACCESSIBILITYHINTS_HXX
30 
31 #include "viewdata.hxx"
32 #include <com/sun/star/uno/XInterface.hpp>
33 #include <svl/smplhint.hxx>
34 #include <svl/hint.hxx>
35 
36 #define SC_HINT_ACC_SIMPLE_START	SFX_HINT_USER00
37 #define SC_HINT_ACC_TABLECHANGED	SC_HINT_ACC_SIMPLE_START + 1
38 #define SC_HINT_ACC_CURSORCHANGED	SC_HINT_ACC_SIMPLE_START + 2
39 #define SC_HINT_ACC_VISAREACHANGED	SC_HINT_ACC_SIMPLE_START + 3
40 #define SC_HINT_ACC_ENTEREDITMODE   SC_HINT_ACC_SIMPLE_START + 4
41 #define SC_HINT_ACC_LEAVEEDITMODE   SC_HINT_ACC_SIMPLE_START + 5
42 #define SC_HINT_ACC_MAKEDRAWLAYER   SC_HINT_ACC_SIMPLE_START + 6
43 #define SC_HINT_ACC_WINDOWRESIZED   SC_HINT_ACC_SIMPLE_START + 7
44 
45 class ScAccWinFocusLostHint : public SfxHint
46 {
47 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
48 				xOldAccessible;
49 public:
50 				TYPEINFO();
51 				ScAccWinFocusLostHint(
52 					const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xOld );
53 				~ScAccWinFocusLostHint();
54 
55 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
56 				GetOldAccessible() const { return xOldAccessible; }
57 };
58 
59 class ScAccWinFocusGotHint : public SfxHint
60 {
61 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
62 				xNewAccessible;
63 public:
64 				TYPEINFO();
65 				ScAccWinFocusGotHint(
66                     const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xNew );
67 				~ScAccWinFocusGotHint();
68 
69 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
70 				GetNewAccessible() const { return xNewAccessible; }
71 };
72 
73 class ScAccGridWinFocusLostHint : public ScAccWinFocusLostHint
74 {
75 	ScSplitPos	eOldGridWin;
76 public:
77 				TYPEINFO();
78 				ScAccGridWinFocusLostHint( ScSplitPos eOldGridWin,
79 					const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xOld );
80 				~ScAccGridWinFocusLostHint();
81 
82 	ScSplitPos	GetOldGridWin() const { return eOldGridWin; }
83 };
84 
85 class ScAccGridWinFocusGotHint : public ScAccWinFocusGotHint
86 {
87 	ScSplitPos	eNewGridWin;
88 public:
89 				TYPEINFO();
90 				ScAccGridWinFocusGotHint( ScSplitPos eNewGridWin,
91 					const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xNew );
92 				~ScAccGridWinFocusGotHint();
93 
94 	ScSplitPos	GetNewGridWin() const { return eNewGridWin; }
95 };
96 
97 #endif
98