Mass++ Common Libraries v2.7.5
 All Classes Namespaces Files Functions Variables Enumerations Macros
PointsManager.h
Go to the documentation of this file.
1 
12 #ifndef __KOME_OBJECTS_POINTS_MANAGER_H__
13 #define __KOME_OBJECTS_POINTS_MANAGER_H__
14 
15 
16 #include "DefaultDataManager.h"
17 
18 #include <vector>
19 #include <map>
20 #include <utility>
21 
22 
23 namespace kome {
24  namespace objects {
25 
26  class Sample;
27  class Spectrum;
28  class Chromatogram;
29  class XYDataOperation;
30  class DataMapInfo;
31 
36  class DATA_OBJECTS_CLASS PointsManager : public DefaultDataManager {
37  protected:
42  PointsManager();
43 
48  virtual ~PointsManager();
49 
50  protected:
52  std::map< XYDataOperation*, int > m_countMap;
53 
55  std::map< Spectrum*, kome::core::DataPoints > m_specPointsMap;
56 
58  std::map< Chromatogram*, kome::core::DataPoints > m_chromPointsMap;
59 
61  std::map< Sample*, kome::core::DataPoints > m_samplePointsMap;
62 
64  std::map< Spectrum*, std::vector< XYDataOperation* > > m_specOperationMap;
65 
67  std::map< Chromatogram*, std::vector< XYDataOperation* > > m_chromOperationMap;
68 
70  std::map< Sample*, std::vector< XYDataOperation* > > m_sampleOperationMap;
71 
72  public:
79  kome::core::XYData* getXYData( Spectrum* spec );
80 
87  kome::core::XYData* getXYData( Chromatogram* chrom );
88 
94  void deleteXYData( Spectrum* spec );
95 
101  void deleteXYData( Chromatogram* chrom );
102 
109  void addOperation( Spectrum* spec, XYDataOperation* operation );
110 
117  void addOperation( Chromatogram* chrom, XYDataOperation* operation );
118 
125  void addOperation( Sample* sample, XYDataOperation* operation );
126 
133  void removeOperation( Spectrum* spec, XYDataOperation* operation );
134 
141  void removeOperation( Chromatogram* chrom, XYDataOperation* operation );
142 
149  void removeOperation( Sample* sample, XYDataOperation* operation );
150 
156  void clearOperations( Spectrum* spec );
157 
163  void clearOperations( Chromatogram* chrom );
164 
170  void clearOperations( Sample* sample );
171 
178  unsigned int getNumberOfOperations( Spectrum* spec );
179 
186  unsigned int getNumberOfOperations( Chromatogram* chrom );
187 
194  unsigned int getNumberOfOperations( Sample* sample );
195 
203  XYDataOperation* getOperation( Spectrum* spec, const unsigned int index );
204 
212  XYDataOperation* getOperation( Chromatogram* chrom, const unsigned int index );
213 
221  XYDataOperation* getOperation( Sample* sample, const unsigned int index );
222 
223  protected:
229  void deleteOperation( XYDataOperation* operation );
230 
238  static bool lessOperation( XYDataOperation* opt0, XYDataOperation* opt1 );
239  protected:
246  virtual void onCloseSample( Sample* sample, const bool deleting );
247 
254  virtual void onCloseSpectrum( Spectrum* spec, const bool deleting );
255 
262  virtual void onCloseChromatogram( Chromatogram* chrom, const bool deleting );
263 
264  public:
270  static PointsManager& getInstance();
271  };
272  }
273 }
274 
275 
276 #endif // __KOME_OBJECTS_POINTS_MANAGER_H__
abstraction class of two dimention coordinate data
Definition: XYData.h:34
sample information management class
Definition: Sample.h:34
std::map< Spectrum *, kome::core::DataPoints > m_specPointsMap
Definition: PointsManager.h:55
std::map< Spectrum *, std::vector< XYDataOperation * > > m_specOperationMap
Definition: PointsManager.h:64
std::map< Sample *, std::vector< XYDataOperation * > > m_sampleOperationMap
Definition: PointsManager.h:70
data points management class
Definition: PointsManager.h:36
interfaces of DefaultDataManager class
std::map< Chromatogram *, std::vector< XYDataOperation * > > m_chromOperationMap
Definition: PointsManager.h:67
std::map< XYDataOperation *, int > m_countMap
Definition: PointsManager.h:52
spectrum information management class
Definition: Spectrum.h:30
std::map< Sample *, kome::core::DataPoints > m_samplePointsMap
Definition: PointsManager.h:61
std::map< Chromatogram *, kome::core::DataPoints > m_chromPointsMap
Definition: PointsManager.h:58
chromatogram information management class
Definition: Chromatogram.h:33
xy data operation class