MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00004 00009 //---------------------------------------------------------------------------------- 00010 00011 #ifndef __CSOLabelRenderer_H 00012 #define __CSOLabelRenderer_H 00013 00014 #include <SoCSOIncludes.h> 00015 #include <mlModuleIncludes.h> 00016 00017 #include "SoCSOLabelRenderer.h" 00018 00019 00020 ML_START_NAMESPACE 00021 00023 class SOCSO_EXPORT CSOLabelRenderer : public Module 00024 { 00025 public: 00026 00027 CSOLabelRenderer(); 00028 00029 00030 protected: 00031 00032 ~CSOLabelRenderer(); 00033 00034 virtual void handleNotification(Field* field); 00035 virtual void activateAttachments(); 00036 00037 private: 00038 00039 // generates the label string and name with Python 00040 void generateLabelString(CSO* cso, std::string& labelString, std::string& labelName, 00041 std::string& deviceOffsetX, std::string& deviceOffsetY); 00042 00043 StringField* _extensionIdFld; 00044 BoolField* _allowModificationFld; 00045 BoolField* _shouldRenderFld; 00046 00047 BoolField* _shouldDrawLabelBorderForSelectedCSOFld; 00048 00049 IntField* _labelBorderMarginXFld; 00050 IntField* _labelBorderMarginYFld; 00051 00052 // Fields we need at least: 00053 /* 00054 * DrawBoxMode: 00055 - Never 00056 - Always 00057 - Selected (only one at the moment) 00058 * Box margin X/Y 00059 * LabelColorMode: 00060 - General 00061 - As CSO 00062 * LabelColor / Alpha 00063 * FontSize 00064 */ 00065 00066 SoNodeField* _outSceneFld; 00067 BaseField* _outCSOListFld; 00068 IntField* _currentCSOIdFld; 00069 00070 StringField* _labelStringFld; 00071 StringField* _labelNameFld; 00072 StringField* _labelCodeFld; 00073 00074 StringField* _deviceOffsetXFld; 00075 StringField* _deviceOffsetYFld; 00076 00077 StringField* _userDataFields[8]; 00078 00079 NotifyField* _redrawAllLabelsFld; 00080 00081 NotifyField* _needsNewLabelStringFld; 00082 00083 void setLabelBorderMargins(); 00084 00085 SoCSOLabelRenderer _soCSOLabelRenderer; 00086 00087 friend class ::SoCSOLabelRenderer; 00088 00089 ML_MODULE_CLASS_HEADER(CSOLabelRenderer); 00090 }; 00091 00092 00093 ML_END_NAMESPACE 00094 00095 00096 #endif // __CSOLabelRenderer_H