1 /*---------------------------------------------------------------------------*\
5 * Copyright (C) 2000-2006 by the OpenSG Forum *
9 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
15 * This library is free software; you can redistribute it and/or modify it *
16 * under the terms of the GNU Library General Public License as published *
17 * by the Free Software Foundation, version 2. *
19 * This library is distributed in the hope that it will be useful, but *
20 * WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
22 * Library General Public License for more details. *
24 * You should have received a copy of the GNU Library General Public *
25 * License along with this library; if not, write to the Free Software *
26 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
37 \*---------------------------------------------------------------------------*/
39 #ifndef _OSGCSMSTATISTICSFOREGROUND_H_
40 #define _OSGCSMSTATISTICSFOREGROUND_H_
45 #include "OSGCSMStatisticsForegroundBase.h"
46 #include "OSGStatisticsForeground.h"
51 class SimpleStatisticsForeground
;
53 /*! \brief CSMStatisticsForeground class. See \ref
54 PageContribCSMStatisticsForeground for a description.
57 class OSG_CONTRIBCSM_DLLMAPPING CSMStatisticsForeground
:
58 public CSMStatisticsForegroundBase
62 /*========================== PUBLIC =================================*/
66 typedef CSMStatisticsForegroundBase Inherited
;
67 typedef CSMStatisticsForeground Self
;
69 /*---------------------------------------------------------------------*/
73 virtual void changed(ConstFieldMaskArg whichField
,
78 /*---------------------------------------------------------------------*/
82 bool init(CSMWindow
*pCSMWin
);
85 /*---------------------------------------------------------------------*/
89 StatisticsForeground
*getOSGForeground(void);
92 /*---------------------------------------------------------------------*/
96 virtual void dump( UInt32 uiIndent
= 0,
97 const BitVector bvFlags
= 0) const;
100 /*========================= PROTECTED ===============================*/
104 // Variables should all be in CSMStatisticsForegroundBase.
106 StatisticsForegroundUnrecPtr _pStatFG
;
108 /*---------------------------------------------------------------------*/
109 /*! \name Constructors */
112 CSMStatisticsForeground(void);
113 CSMStatisticsForeground(const CSMStatisticsForeground
&source
);
116 /*---------------------------------------------------------------------*/
117 /*! \name Destructors */
120 virtual ~CSMStatisticsForeground(void);
123 /*---------------------------------------------------------------------*/
127 void addElement( SimpleStatisticsForeground
*pStatFG
,
128 const std::string
&szStatObj
,
129 const std::string
&szStatElem
,
130 const std::string
&szFormat
);
133 /*---------------------------------------------------------------------*/
137 virtual void draw(DrawEnv
*);
140 /*---------------------------------------------------------------------*/
144 virtual void resolveLinks(void);
147 /*---------------------------------------------------------------------*/
151 static void initMethod(InitPhase ePhase
);
154 /*========================== PRIVATE ================================*/
158 friend class FieldContainer
;
159 friend class CSMStatisticsForegroundBase
;
161 // prohibit default functions (move to 'public' if you need one)
162 void operator =(const CSMStatisticsForeground
&source
);
165 typedef CSMStatisticsForeground
*CSMStatisticsForegroundP
;
169 #include "OSGCSMStatisticsForegroundBase.inl"
170 #include "OSGCSMStatisticsForeground.inl"
172 #endif /* _OSGCSMSTATISTICSFOREGROUND_H_ */