xref: /aoo41x/main/sd/source/ui/inc/drawview.hxx (revision cdf0e10c)
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 SD_DRAW_VIEW_HXX
29 #define SD_DRAW_VIEW_HXX
30 
31 #include "View.hxx"
32 
33 
34 namespace sd {
35 
36 class DrawDocShell;
37 class DrawViewShell;
38 class FuSlideShow;
39 class SlideShow;
40 
41 #define SDDRAWVIEW_MAGIC  0x456789BA
42 
43 /*************************************************************************
44 |*
45 |* Ableitung von ::sd::View; enthaelt auch einen Zeiger auf das Dokument
46 |*
47 \************************************************************************/
48 
49 class DrawView : public ::sd::View
50 {
51 public:
52 	TYPEINFO();
53 
54     DrawView (
55         DrawDocShell* pDocSh,
56         OutputDevice* pOutDev,
57         DrawViewShell* pShell);
58 	virtual ~DrawView (void);
59 
60 	virtual void MarkListHasChanged();
61 	void CompleteRedraw(OutputDevice* pOutDev, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector = 0L);
62 
63 	virtual sal_Bool SetAttributes(const SfxItemSet& rSet, sal_Bool bReplaceAll = sal_False);
64 
65 	virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint);
66 
67 	void	BlockPageOrderChangedHint(sal_Bool bBlock);
68 
69 	sal_Bool	SetStyleSheet(SfxStyleSheet* pStyleSheet, sal_Bool bDontRemoveHardAttr = sal_False);
70 	virtual sal_Bool IsObjMarkable(SdrObject* pObj, SdrPageView* pPV) const;
71 
72 	virtual void MakeVisible(const Rectangle& rRect, ::Window& rWin);
73 	virtual void HideSdrPage(); // SdrPageView* pPV);
74 
75 	void    PresPaint(const Region& rRegion);
76 
77 	virtual void DeleteMarked(); // from SdrView
78 protected:
79 	virtual void ModelHasChanged();
80 
81 private:
82 	friend class DrawViewRedirector;
83 
84 	DrawDocShell* 	mpDocShell;
85 	DrawViewShell*	mpDrawViewShell;
86 	VirtualDevice*	mpVDev;
87 
88 	sal_uInt16			mnPOCHSmph;	// zum blockieren des PageOrderChangedHint
89 };
90 
91 } // end of namespace sd
92 
93 #endif
94