1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: schgroup.hxx,v $
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>
38 #include "chtmodel.hxx"
41 /************************************************************************/
43 class SchObjGroup
: public SdrObjGroup
46 enum ChartGroupTypeNames
{LEGEND
, DIAGRAM
, NOTHING
};
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
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
;
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
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