MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00005 00010 //---------------------------------------------------------------------------------- 00011 00012 00013 #ifndef __mlStylePaletteOp_H 00014 #define __mlStylePaletteOp_H 00015 00016 00017 // ML-includes 00018 00019 #ifndef __mlModuleIncludes_H 00020 #include "mlModuleIncludes.h" 00021 #endif 00022 #ifndef __mlTreeNode_H 00023 #include "mlTreeNode.h" 00024 #endif 00025 00026 // Local includes 00027 #ifndef __mlBaseInit_H 00028 #include "mlBaseInit.h" 00029 #endif 00030 #ifndef __mlStylePalette_H 00031 #include "mlStylePalette.h" 00032 #endif 00033 00034 00035 00036 ML_START_NAMESPACE 00037 00038 00039 // Module class StylePaletteOp 00040 00041 //---------------------------------------------------------------------------------- 00044 //---------------------------------------------------------------------------------- 00045 class MLBASEEXPORT StylePaletteOp : public Module 00046 { 00047 public: 00048 00050 StylePaletteOp (); 00051 00053 virtual ~StylePaletteOp (); 00054 00055 00057 virtual void handleNotification (Field *field); 00058 00060 virtual void activateAttachments (); 00061 00062 00063 protected: 00064 00066 void createFields (); 00067 00069 void deleteFields (); 00070 00072 void updateStyles (); 00073 00075 void updateCurrentStyle (); 00076 00078 void updatePalette (); 00079 00081 MLssize_t fieldIndex (Field *field, Field **fieldArray, MLssize_t nEntries); 00082 00083 00084 private: 00085 00086 // --- Fields --- 00087 00089 BaseField *_fldOutStylePalette; 00091 BaseField* _fldInStylePalette; 00092 00094 ColorField **_fldColors; 00096 EnumField **_fldLineStyles; 00098 IntField **_fldLineWidths; 00100 EnumField **_fldMarkerTypes; 00102 IntField **_fldMarkerSizes; 00104 BoolField **_fldAntiAlias; 00106 StringField **_fldNames; 00107 00109 IntField *_fldCurrentStyleIndex; 00111 ColorField *_fldCurrentColor; 00113 EnumField *_fldCurrentLineStyle; 00115 IntField *_fldCurrentLineWidth; 00117 EnumField *_fldCurrentMarkerType; 00119 IntField *_fldCurrentMarkerSize; 00121 BoolField *_fldCurrentAntiAlias; 00123 StringField *_fldCurrentName; 00124 00126 IntField *_fldReservedEntries; 00127 00129 NotifyField *_fldColorDefaults; 00131 NotifyField *_fldMonoDefaults; 00133 NotifyField *_fldDump; 00134 00136 StylePalette _palette; 00137 00139 ML_MODULE_CLASS_HEADER(StylePaletteOp) 00140 00141 }; 00142 00143 00144 00145 ML_END_NAMESPACE 00146 00147 00148 #endif // __mlStylePaletteOp_H