xref: /aoo4110/main/svx/inc/svx/galbrws.hxx (revision b1cdbd2c)
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 #ifndef _SVX_GALBRWS_HXX_
23 #define _SVX_GALBRWS_HXX_
24 
25 #include <sfx2/ctrlitem.hxx>
26 #include <sfx2/dockwin.hxx>
27 #include <vcl/graph.hxx>
28 #include <tools/urlobj.hxx>
29 #include "svx/svxdllapi.h"
30 
31 // -------------------------
32 // - SvxGalleryChildWindow -
33 // -------------------------
34 
35 class SVX_DLLPUBLIC GalleryChildWindow : public SfxChildWindow
36 {
37 public:
38 						GalleryChildWindow( Window*, sal_uInt16, SfxBindings*, SfxChildWinInfo* );
39 						~GalleryChildWindow();
40 
41 						SFX_DECL_CHILDWINDOW( GalleryChildWindow );
42 };
43 
44 // ------------------
45 // - FormModel -
46 // ------------------
47 
48 class FmFormModel;
49 
50 // ------------------
51 // - GalleryBrowser -
52 // ------------------
53 
54 class GalleryBrowser1;
55 class GalleryBrowser2;
56 class GallerySplitter;
57 class Gallery;
58 
59 class SVX_DLLPUBLIC GalleryBrowser : public SfxDockingWindow
60 {
61 	friend class GalleryBrowser1;
62 	friend class GalleryBrowser2;
63 	friend class GallerySplitter;
64 	using Window::KeyInput;
65 
66 private:
67 	Size					maLastSize;
68 	GallerySplitter*		mpSplitter;
69 	GalleryBrowser1*		mpBrowser1;
70 	GalleryBrowser2*		mpBrowser2;
71 	Gallery*				mpGallery;
72 
73     /// bitfield
74     void                    InitSettings();
75 
76 	virtual sal_Bool 		Close();
77 	virtual void			Resize();
78 	virtual void			GetFocus();
79 
80 							DECL_LINK( SplitHdl, void* );
81 
82 protected:
83 
84 	void					ThemeSelectionHasChanged();
85 
86 public:
87 
88 							GalleryBrowser( SfxBindings* pBindings, SfxChildWindow* pCW,
89 											Window* pParent, const ResId& rResId );
90 							~GalleryBrowser();
91 
92     sal_Bool                    KeyInput( const KeyEvent& rKEvt, Window* pWindow );
93 };
94 
95 #endif // _SVX_GALBRWS_HXX_
96