Update ooo320-m1
[ooovba.git] / binfilter / inc / bf_sch / schgroup.hxx
bloba82c943d00fcd38a8e694301167760a01a790a6c
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: schgroup.hxx,v $
10 * $Revision: 1.5 $
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_SCHGROUP_HXX
32 #define _SCH_SCHGROUP_HXX
34 #ifndef _SVDOGRP_HXX //autogen
35 #include <bf_svx/svdogrp.hxx>
36 #endif
38 #include "chtmodel.hxx"
39 namespace binfilter {
41 /************************************************************************/
43 class SchObjGroup : public SdrObjGroup
45 public:
46 enum ChartGroupTypeNames {LEGEND, DIAGRAM, NOTHING};
48 private:
49 SdrObjTransformInfoRec aInfo;
50 ChartGroupTypeNames eChartGroupType; // FG: 11.3.97 Wird einfach auf TRUE gesetzt falls es
51 // das Chart selbst ist. Das muss beim Resize anders
52 // behandelt werden
53 ChartModel *pChartmodel; // Auch das ist nur fuer das Resize wichtig, um dort
54 // CreateChart() aufzurufen;
56 BOOL bAskForLogicRect; // Da die Groesse eines Gruppenobjektes durch die
57 // Mitlgieder berechnet wird, hilft ein Resize der Gruppe nichts.
58 // Bei BuildChart muss eine Neuberechnung bisweilen verhindert
59 // werden. (z.B falls der Benutzer die Gruppe selbst resized hat)
60 bool mbUseChartInventor;
62 public:
64 TYPEINFO();
66 SchObjGroup(ChartModel *pChmodel = NULL);
67 virtual ~SchObjGroup();
69 virtual UINT32 GetObjInventor() const;
70 virtual UINT16 GetObjIdentifier() const;
74 // FG: Damit soll ermöglicht werden dass man Objektgruppen im Chart resizen kann
75 void SetObjInfo(SdrObjTransformInfoRec aMyInfo);
77 // FG: Um das Verhalten bei einem Resize zu aendern muessen beide Routinen
78 // überladen werden.
80 // FG: 9.3.1997 Methode von Joe, die Überladen wird um zu Kennzeichnen
81 // ob die Gruppe jemals verschoben worden ist.
82 virtual void Move (const Size& rSiz);
84 void SetGroupType (ChartGroupTypeNames value) {eChartGroupType = value;}
85 ChartGroupTypeNames GetGroupType() {return eChartGroupType;}
86 void SetGroupIsChart() {eChartGroupType = DIAGRAM;}
87 BOOL GetGroupIsChart() {return (eChartGroupType == DIAGRAM);}
90 void SetModel (ChartModel *pChModel) {pChartmodel = pChModel; SdrObjGroup::SetModel( (SdrModel*) pChModel ); }
92 void SetAskForLogicRect(BOOL value) {bAskForLogicRect = value;}
93 BOOL GetAskForLogicRect() {return bAskForLogicRect;}
95 void SetUseChartInventor( bool bUseChartInventor );
98 } //namespace binfilter
99 #endif // _SCH_SCHGROUP_HXX