00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _SO_DIALOG_LABEL_
00024 #define _SO_DIALOG_LABEL_
00025
00026 #include <DialogViz/dialog/SoDialogComponent.h>
00027
00085 class SoDialogLabel : public SoDialogComponent
00086 {
00087 SO_DG_HEADER(SoDialogLabel);
00088
00089 public:
00090
00094 SoDialogLabel();
00095
00096
00097 private:
00098 virtual void buildWidget(SoWidget parent, SbVec2i32 &rSize, SbVec2i32 & pos, SbBool isActive2d);
00099 static void initClass();
00100 static void exitClass();
00101 virtual void updateFromSensor(SoSensor* sensor);
00102 void updateLabelWidget();
00103 void destroyWidget();
00104
00105 private:
00106
00107 virtual ~SoDialogLabel();
00108 virtual SbVec2i32 getComponentInitSize();
00109 virtual void getDefaultSize(SbVec2i32 &size, SbVec2i32 &min, SbVec2i32 &max);
00110 virtual SbVec2i32 getLabelInitSize();
00111
00112 private:
00113 SbVec2i32 m_ollSize;
00114
00115 void createLabelWidget();
00116
00117
00118 virtual void changeEnable();
00119 virtual void changeWidgetEnable(SbBool state);
00120 virtual void changeLabel();
00121 virtual void changeLabelAlignment();
00122 virtual void changeEdgeStyle();
00123
00125
00126 private:
00127
00128 private:
00129
00130 SO_DG_CATALOG_ENTRY_HEADER(labelSep);
00131 SO_DG_CATALOG_ENTRY_HEADER(labelProp);
00132
00133 SoText3 *labelText;
00134 SoTranslation *labelTextTranslation;
00135
00136 private:
00137
00138 void create3DDialogLabel();
00139 void update3DLabel();
00140
00141 virtual void change3DLabel();
00142 virtual void change3DLabelAlignment();
00143
00145 };
00146
00147
00148 #endif // _SO_DIALOG_LABEL_
00149
00150
00151