update dev300-m58
[ooovba.git] / sd / source / ui / inc / GraphicViewShell.hxx
blob419632ce8601656e97f1dd4bb70d9245d49a6b7e
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: GraphicViewShell.hxx,v $
10 * $Revision: 1.6 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef SD_GRAPHIC_VIEW_SHELL_HXX
32 #define SD_GRAPHIC_VIEW_SHELL_HXX
34 #include "DrawViewShell.hxx"
36 class Window;
38 namespace sd {
40 /** View shell of the Draw application.
42 <p>This class is an example of how not to do it: specialization by
43 inheritance. A graphic view shell is similar to a draw view shell
44 but lacks some of its features. Thus is should be at most a base
45 class of DrawViewShell. There even is special case code in
46 ViewShell that turns off some of the features for GraphicViewShell
47 instances.</p>
49 class GraphicViewShell
50 : public DrawViewShell
52 public:
53 TYPEINFO();
55 SFX_DECL_VIEWFACTORY(GraphicViewShell);
56 SFX_DECL_INTERFACE(SD_IF_SDGRAPHICVIEWSHELL)
58 GraphicViewShell (
59 SfxViewFrame* pFrame,
60 ::Window* pParentWindow,
61 const DrawViewShell& rShell);
63 /** Create a new view shell for the Draw application.
64 @param rViewShellBase
65 The new object will be stacked on this view shell base.
66 @param pFrameView
67 The frame view that makes it possible to pass information from
68 one view shell to the next.
70 GraphicViewShell (
71 SfxViewFrame* pFrame,
72 ViewShellBase& rViewShellBase,
73 ::Window* pParentWindow,
74 FrameView* pFrameView = NULL);
76 virtual ~GraphicViewShell (void);
78 /** This method is overloaded in order to have the layer mode allways
79 active.
81 virtual void ChangeEditMode (EditMode eMode, bool bIsLayerModeActive);
83 protected:
84 void ConstructGraphicViewShell (void);
85 virtual void ArrangeGUIElements (void);
87 private:
88 DECL_LINK(TabBarSplitHandler, TabBar*);
91 } // end of namespace sd
93 #endif