MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00005 00009 //---------------------------------------------------------------------------------- 00010 00011 #ifndef __CSOListRules_H 00012 #define __CSOListRules_H 00013 00014 00015 #include "MLCSOIncludes.h" 00016 00017 00018 ML_START_NAMESPACE 00019 00020 class CSO; 00021 class CSOList; 00022 00024 00026 enum CSORemoveEmptyGroupHandling { 00027 REMOVE_EMPTY_ALWAYS = 0, 00028 REMOVE_EMPTY_NEVER = 1, 00029 NUM_REMOVE_EMPTY_MODES = 2 00030 }; 00031 00033 00036 class MLCSO_EXPORT CSOListRules 00037 { 00038 00039 public: 00040 00042 CSOListRules(); 00044 ~CSOListRules(); 00045 00047 void reset(); 00048 00050 void setRemoveEmptyGroupHandling(CSORemoveEmptyGroupHandling handling) { _removeEmptyGroupHandling = handling; } 00052 CSORemoveEmptyGroupHandling getRemoveEmptyGroupHandling() const { return _removeEmptyGroupHandling; } 00053 00054 00056 void applyTo(CSOList& csoList); 00057 00059 static CSORemoveEmptyGroupHandling getDefaultRemoveEmptyGroupHandling() { return REMOVE_EMPTY_ALWAYS; } 00060 00062 static const char* sRemoveEmptyGroupHandlingStrings[NUM_REMOVE_EMPTY_MODES]; 00063 00064 protected: 00065 00066 00067 private: 00068 00070 CSORemoveEmptyGroupHandling _removeEmptyGroupHandling; 00071 00072 }; 00073 00075 00076 00077 ML_END_NAMESPACE 00078 00079 00080 #endif // __CSORules_H 00081 00082 00083