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
00084 class SoDialogLabel : public SoDialogComponent
00085 {
00086 SO_DG_HEADER(SoDialogLabel);
00087
00088 public:
00089
00093 SoDialogLabel();
00094
00095
00096 private:
00097 virtual void buildWidget(SoWidget parent, SbVec2i32 &rSize, SbVec2i32 & pos, SbBool isActive2d);
00098 static void initClass();
00099 static void exitClass();
00100 virtual void updateFromSensor(SoSensor* sensor);
00101 void updateLabelWidget();
00102 void destroyWidget();
00103
00104 private:
00105
00106 virtual ~SoDialogLabel();
00107 virtual SbVec2i32 getComponentInitSize();
00108 virtual void getDefaultSize(SbVec2i32 &size, SbVec2i32 &min, SbVec2i32 &max);
00109 virtual SbVec2i32 getLabelInitSize();
00110
00111 private:
00112 SbVec2i32 m_ollSize;
00113
00114 void createLabelWidget();
00115
00116
00117 virtual void changeEnable();
00118 virtual void changeWidgetEnable(SbBool state);
00119 virtual void changeLabel();
00120 virtual void changeLabelAlignment();
00121 virtual void changeEdgeStyle();
00122
00124
00125 private:
00126
00127 private:
00128
00129 SO_DG_CATALOG_ENTRY_HEADER(labelSep);
00130 SO_DG_CATALOG_ENTRY_HEADER(labelProp);
00131
00132 SoText3 *labelText;
00133 SoTranslation *labelTextTranslation;
00134
00135 private:
00136
00137 void create3DDialogLabel();
00138 void update3DLabel();
00139
00140 virtual void change3DLabel();
00141 virtual void change3DLabelAlignment();
00142
00144 };
00145
00146
00147 #endif // _SO_DIALOG_LABEL_
00148
00149
00150