MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLBase/mlStylePaletteOp.h
Go to the documentation of this file.
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