merge the formfield patch from ooo-build
[ooovba.git] / binfilter / inc / bf_sch / schview.hxx
blobfc35de3c306e04b6e1968fa2a83ac2235f4d4242
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: schview.hxx,v $
10 * $Revision: 1.7 $
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 _SCH_SCHVIEW_HXX
32 #define _SCH_SCHVIEW_HXX
34 #include <bf_svx/svdedxv.hxx>
35 #include <bf_svx/view3d.hxx>
36 #include <bf_svx/svdpage.hxx>
38 #include "chtmodel.hxx"
39 #include "docshell.hxx"
41 class Graphic;
42 namespace binfilter {
44 class SchViewShell;
45 class SchPage;
46 class SchWindow;
47 class ChartModel;
48 class SchDragServerRef;
49 class E3dScene;
50 } //namespace binfilter
52 namespace binfilter {//STRIP009
53 DECLARE_LIST(E3dLogicalObjList, E3dObject*)//STRIP008 DECLARE_LIST(E3dLogicalObjList, E3dObject*);
55 /*************************************************************************
57 |* View
59 \************************************************************************/
61 class SchView : public E3dView
63 protected:
64 ChartModel* pDoc;
65 SchChartDocShell* pDocSh;
66 SchViewShell* pViewSh;
67 BOOL bDragActive;
68 USHORT nLogicalMarked;
69 USHORT nLogicalEntered;
71 Timer aTimer;
72 void Construct();
73 // SchDragServerRef CreateDataObject(SchView* pView, const Point& rDragPos);
74 // SchDragServerRef CreateDataObject(ChartModel* pDocument);
75 void SetMarkHandles();
77 public:
79 //void NotifySelection();
80 DECL_LINK(NotifySelection,void*);
82 SchView(SchChartDocShell* pDocSh, OutputDevice* pOutDev, SchViewShell* pShell);
83 virtual ~SchView();
85 ChartModel& GetDoc() const { return *pDoc; }
88 // clipboard / drag and drop methods using XTransferable
90 void UpdateSelectionClipboard( BOOL bForceDeselect );
93 BOOL IsActive() const { return bDragActive; }
97 virtual void MarkListHasChanged();
100 FASTBOOL IsLogicalGroupMarked() { return (nLogicalMarked != 0); }
101 FASTBOOL IsLogicalGroupEntered() { return (nLogicalEntered != 0); }
105 SchChartDocShell* GetDocShell() const { return pDocSh; }
107 // drag and drop
110 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
113 } //namespace binfilter
114 #endif // _SCH_SCHVIEW_HXX