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_SEPARATOR_
00024 #define _SO_DIALOG_SEPARATOR_
00025
00026 #include <DialogViz/dialog/SoDialogComponent.h>
00027
00090 class SoDialogSeparator : public SoDialogComponent
00091 {
00092 SO_DG_HEADER(SoDialogSeparator);
00093
00094 public:
00095
00099 SoDialogSeparator();
00100
00101
00102
00103 private:
00104 virtual void buildWidget(SoWidget parent, SbVec2i32 &rSize, SbVec2i32 & pos, SbBool isActive2d);
00105 virtual void destroyWidget();
00106 static void initClass();
00107 static void exitClass();
00108 virtual void updateFromSensor(SoSensor* ) {};
00109 void setOrientationHorz(SbBool orentation = TRUE);
00110 void updateSeparatorWidget();
00111
00112 private:
00113
00114 virtual ~SoDialogSeparator();
00115
00116 private:
00117 SoWidget m_separatorWidget;
00118 SbBool m_orientationHorz;
00119
00120 void createSeparatorWidget();
00121 virtual void getDefaultSize(SbVec2i32 &size, SbVec2i32 &min, SbVec2i32 &max);
00122 virtual void changeEdgeStyle();
00123
00124
00126
00127 private:
00128 static char* DialogSeparator;
00129 static void change3DSkin();
00130 static SbBool isSkinLoaded();
00131 static void setSkinLoaded(SbBool loaded);
00132
00133 private:
00134 SO_DG_CATALOG_ENTRY_HEADER(frameSep);
00135 SO_DG_CATALOG_ENTRY_HEADER(frameSwitch);
00136 SO_DG_CATALOG_ENTRY_HEADER(hFrame);
00137 SO_DG_CATALOG_ENTRY_HEADER(vFrame);
00138
00139 private:
00140 SoScale* separatorFrameScale;
00141 static SbBool m_isSkinLoaded;
00142
00143 void create3DSeparator();
00144 void update3DSeparator();
00145
00147 };
00148
00149 #endif // _SO_DIALOG_SEPARATOR_
00150
00151
00152