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_ROW_DIALOG_
00024 #define  _SO_ROW_DIALOG_
00025 
00026 #include <DialogViz/dialog/SoDialogGroup.h>
00027 
00077 class  SoRowDialog : public SoDialogGroup  
00078 {
00079   SO_DG_HEADER(SoRowDialog);
00080 
00081  public:
00082 
00086   SoSFInt32 rowSpacing;
00087 
00091   SoRowDialog();
00092 
00093   
00094  private:
00095   virtual void buildWidget(SoWidget parent, SbVec2i32 &rSize, SbVec2i32 & pos, SbBool isActive2d);
00096   static  void initClass();
00097   static  void exitClass();
00098   virtual void updateFromSensor(SoSensor* sensor);
00099 
00100  private:
00101   virtual      ~SoRowDialog();
00102   virtual void fixSizeWithBorder(SbVec2i32 &size, int revert = 1);
00103 
00104  private:
00105   void      computeNewChildrenHeight(SbVec2i32 &rSize);
00106   void      getDefaultSize(SbVec2i32 &size, SbVec2i32 &min, SbVec2i32 &max);
00107   void      fixPosWithComponentBorder(SbVec2i32 &pos);
00108   virtual SbVec2i32 getComponentInitSize();
00109   virtual void      setChildrenComponentSize();
00110   virtual void      setChildrenLabelSize();
00111   void      updateChildren();
00112 
00113 
00114   
00115   FIELD_SENSOR(rowSpacing);
00116   void changeRowSpacing();
00117   virtual void changeEdgeStyle();
00118 
00120 
00121 private:
00122 
00123 private:
00124   void update3DChildren();
00125 
00127 };
00128 
00129 #endif // _SO_ROW_DIALOG_
00130 
00131 
00132