Mass++ Common Libraries v2.7.5
 All Classes Namespaces Files Functions Variables Enumerations Macros
DataGroupNode.h
Go to the documentation of this file.
1 
12 #ifndef __KOME_OBJECTS_DATA_GROUP_NODE_H__
13 #define __KOME_OBJECTS_DATA_GROUP_NODE_H__
14 
15 
16 #include <string>
17 #include <vector>
18 #include <set>
19 
20 #include "DataSet.h"
21 
22 
23 namespace kome {
24  namespace objects {
25 
26  class Sample;
27  class Chromatogram;
28 
33  class DATA_OBJECTS_CLASS DataGroupNode : public DataSet {
34  public:
41  DataGroupNode( Sample* sample, const char* name );
42 
47  virtual ~DataGroupNode();
48 
49  protected:
52 
54  std::string m_name;
55 
57  int m_index;
58 
60  short m_level;
61 
63  std::vector< DataGroupNode* > m_children;
64 
66  std::string m_specXTitle;
68  std::string m_specYTitle;
69 
71  std::string m_chromXTitle;
73  std::string m_chromYTitle;
74 
77 
80 
82  int m_groupId;
83 
86 
87  public:
93  void setId( int id );
94 
100  int getId();
101 
102  public:
108  void setName( const char* name );
109 
115  const char* getName();
116 
122  void setGroupIndex( const int index );
123 
129  int getGroupIndex();
130 
136  DataGroupNode* getParentGroup();
137 
144  DataGroupNode* createChildGroup( const char* name );
145 
151  void removeChildGroup( DataGroupNode* child );
152 
158  unsigned int getNumberOfChildren();
159 
166  DataGroupNode* getChild( const unsigned int index );
167 
174  void getDataSet( DataSet* dataSet );
175 
181  void setAutoScanNumber( const bool autoScanNumber );
182 
188  bool isAutoScanNumber();
189 
190  public:
196  void setSpecXTitle( const char* title );
197 
203  const char* getSpecXTitle();
204 
210  void setSpecYTitle( const char* title );
211 
217  const char* getSpecYTitle();
218 
224  void setChromXTitle( const char* title );
225 
231  const char* getChromXTitle();
232 
238  void setChromYTitle( const char* title );
239 
245  const char* getChromYTitle();
246 
252  unsigned int getLevel();
253 
259  kome::core::Properties& getProperties();
260 
266  kome::core::Properties& getUserProperties();
267 
268  protected:
274  void setParentDataGroupNode( DataGroupNode* parent );
275 
280  void createDefaultChromatogram();
281 
282  public:
287  virtual void sortSpectra();
288 
295  virtual void insertSpectrum( Spectrum* spectrum, const int idx );
296 
303  virtual void insertChromatogram( Chromatogram* chrom, const int idx );
304  };
305  }
306 }
307 
308 #endif // __KOME_OBJECTS_DATA_GROUP_NODE_H__
group of spectrum management class
Definition: DataGroupNode.h:33
sample information management class
Definition: Sample.h:34
keys and values management class
Definition: Properties.h:29
interfaces of DataSet class
std::vector< DataGroupNode * > m_children
Definition: DataGroupNode.h:63
spectrum information management class
Definition: Spectrum.h:30
one or more spectra management class
Definition: DataSet.h:31
chromatogram information management class
Definition: Chromatogram.h:33
kome::core::Properties m_properties
Definition: DataGroupNode.h:76
kome::core::Properties m_userProperties
Definition: DataGroupNode.h:79