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
24 #ifndef _BIBSHORTCUTHANDLER_HXX
25 #define _BIBSHORTCUTHANDLER_HXX
26
27 #include <vcl/window.hxx>
28 #include <vcl/splitwin.hxx>
29 #include <vcl/tabpage.hxx>
30
31 // additional classes to handle shortcuts
32 // code in bibcont.cxx
33
34
35 class BibShortCutHandler
36 {
37 private:
38 Window* pBaseClass; // in cases, where BibShortCutHandler also has to be a window
39
40 protected:
41 inline BibShortCutHandler( Window* pBaseClass );
42
43 public:
44 virtual ~BibShortCutHandler();
45 virtual sal_Bool HandleShortCutKey( const KeyEvent& rKeyEvent ); // returns true, if key was handled
46
47 inline Window* GetWindow( void );
48 };
49
BibShortCutHandler(Window * _pBaseClass)50 inline BibShortCutHandler::BibShortCutHandler( Window* _pBaseClass ) : pBaseClass( _pBaseClass )
51 {
52 }
53
GetWindow(void)54 inline Window* BibShortCutHandler::GetWindow( void )
55 {
56 return pBaseClass;
57 }
58
59
60 class BibWindow : public Window, public BibShortCutHandler
61 {
62 public:
63 BibWindow( Window* pParent,WinBits nStyle = WB_3DLOOK);
64 virtual ~BibWindow();
65 };
66
67
68 class BibSplitWindow : public SplitWindow, public BibShortCutHandler
69 {
70 public:
71 BibSplitWindow( Window* pParent,WinBits nStyle = WB_3DLOOK);
72 virtual ~BibSplitWindow();
73 };
74
75
76 class BibTabPage : public TabPage, public BibShortCutHandler
77 {
78 public:
79 BibTabPage( Window* pParent, const ResId& rResId );
80 virtual ~BibTabPage();
81 };
82
83 #endif
84