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_COLUMN_DIALOG_
00024 #define _SO_COLUMN_DIALOG_
00025
00026 #include <DialogViz/dialog/SoDialogGroup.h>
00027
00075 class SoColumnDialog : public SoDialogGroup
00076 {
00077 SO_DG_HEADER(SoColumnDialog);
00078
00079 public:
00080
00084 SoSFInt32 columnSpacing;
00085
00089 SoColumnDialog();
00090
00091
00092 private:
00093 virtual void buildWidget(SoWidget parent, SbVec2i32 &rSize, SbVec2i32 & pos, SbBool isActive2d);
00094 static void initClass();
00095 static void exitClass();
00096 virtual void updateFromSensor(SoSensor* sensor);
00097
00098 private:
00099 virtual ~SoColumnDialog();
00100 virtual void fixSizeWithBorder(SbVec2i32 & size, int revert = 1) ;
00101
00102 private:
00103
00104
00105 virtual SbVec2i32 getComponentInitSize();
00106 void getDefaultSize(SbVec2i32 &size, SbVec2i32 &min, SbVec2i32 &max);
00107 virtual void setChildrenComponentSize();
00108 virtual void setChildrenLabelSize();
00109
00110 void updateChildren();
00111
00112
00113 FIELD_SENSOR(columnSpacing);
00114
00115
00116
00117 void computeNewChildrenWidth(SbVec2i32 &rSize);
00118 void fixPosWithComponentBorder(SbVec2i32 &pos);
00119
00120
00121 void changeColumnSpacing();
00122 virtual void changeEdgeStyle();
00123
00125
00126 private:
00127
00128 private:
00129 void update3DChildren();
00130
00132
00133 };
00134
00135 #endif // SO_COLUMN_DIALOG_
00136
00137
00138