00001
00002
00014 #ifndef _TupleCut_H_
00015 #define _TupleCut_H_
00016
00017 #include "axes/Range.h"
00018 #include "axes/AxesType.h"
00019
00020 #ifdef _MSC_VER
00021 #include <msdevstudio/MSconfig.h>
00022 #endif
00023
00024 class DataSource;
00025
00037 class MDL_HIPPOPLOT_API TupleCut
00038 {
00039 private:
00040
00043 std::string m_label;
00044
00049 Range m_range;
00050
00053 unsigned int m_column;
00054
00058 bool m_invert;
00059
00064 bool m_enabled;
00065
00066 public:
00067
00070 TupleCut ( );
00071
00072
00073
00074
00075
00078 void setColumn ( unsigned int col );
00079
00082 unsigned int getColumn () const;
00083
00086 void setRange ( const Range & range );
00087
00089 const Range& getRange() const;
00090
00093 void setInversion ( bool state );
00094
00096 bool getInversion () const;
00097
00100 void toggleInverted();
00101
00104 void setEnabled ( bool yes = true );
00105
00108 bool isEnabled ( ) const;
00109
00112 const std::string & getLabel () const;
00113
00116 void setLabel ( const std::string & label );
00117
00122 bool acceptRow ( const DataSource * source, unsigned int i ) const;
00123
00124 };
00125
00126 #endif // _TupleCut_H_