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 namespace hippodraw {
00025
00026 class DataSource;
00027
00043 class MDL_HIPPOPLOT_API TupleCut
00044 {
00045 private:
00046
00049 std::string m_label;
00050
00055 Range m_range;
00056
00059 unsigned int m_column;
00060
00064 bool m_invert;
00065
00070 bool m_enabled;
00071
00072 public:
00073
00076 TupleCut ( );
00077
00078
00079
00080
00081
00084 void setColumn ( unsigned int col );
00085
00088 unsigned int getColumn () const;
00089
00092 void setRange ( const Range & range );
00093
00095 const Range& getRange() const;
00096
00099 void setInversion ( bool state );
00100
00102 bool getInversion () const;
00103
00106 void toggleInverted();
00107
00110 void setEnabled ( bool yes = true );
00111
00114 bool isEnabled ( ) const;
00115
00118 const std::string & getLabel () const;
00119
00122 void setLabel ( const std::string & label );
00123
00128 bool acceptRow ( const DataSource * source, unsigned int i ) const;
00129
00130 };
00131
00132 }
00133
00134 #endif // _TupleCut_H_