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