00001 #ifndef IGUANA_GL_BROWSERS_IG_QT_AXIS_ALIGNMENT_H
00002 # define IGUANA_GL_BROWSERS_IG_QT_AXIS_ALIGNMENT_H
00003
00004
00005
00006 # include "Iguana/GLBrowsers/interface/IgControlItem.h"
00007 # include "Iguana/GLBrowsers/interface/config.h"
00008 # include <Inventor/SbLinear.h>
00009
00010
00011
00012
00013
00014 class QWidget;
00015 class QButtonGroup;
00016 class QPushButton;
00017
00018
00019
00020
00021 class IGUANA_GL_BROWSERS_API IgQtAxisAlignment
00022 : public IgControlItem
00023 {
00024 Q_OBJECT
00025 public:
00026 IgQtAxisAlignment (QWidget *parent, float min = 0., float max = 1.,
00027 const char *name = 0);
00028
00029 SbVec3f value (void) const;
00030 QWidget* widget () const;
00031
00032 float minAxisAlign (void) const;
00033 float maxAxisAlign (void) const;
00034
00035 bool xAlign (void) const;
00036 bool yAlign (void) const;
00037 bool zAlign (void) const;
00038
00039 public slots:
00040 virtual void setMinAxisAlign (float newval);
00041 virtual void setMaxAxisAlign (float newval);
00042 virtual void setAlign (unsigned short axis);
00043 virtual void setXAlign (void);
00044 virtual void setYAlign (void);
00045 virtual void setZAlign (void);
00046
00047 private:
00048 QButtonGroup *m_widget;
00049 QPushButton *m_xalign;
00050 QPushButton *m_yalign;
00051 QPushButton *m_zalign;
00052 unsigned short m_alignAxis;
00053 float m_min;
00054 float m_max;
00055 };
00056
00057
00058
00059
00060 #endif // IGUANA_GL_BROWSERS_IG_QT_AXIS_ALIGNMENT_H