00001 #ifndef IGUANA_GL_BROWSERS_IG_3D_MSTRING_CONTROL_H
00002 # define IGUANA_GL_BROWSERS_IG_3D_MSTRING_CONTROL_H
00003
00004
00005
00006 # include "Iguana/GLBrowsers/interface/Ig3DFieldControl.h"
00007 # include <Inventor/SbLinear.h>
00008 # include <Inventor/fields/SoMFString.h>
00009 # include <vector>
00010
00011
00012
00013
00014
00015 class QComboBox;
00016 class IgQtLineEdit;
00017
00018
00019
00020
00021
00022 class IGUANA_GL_BROWSERS_API Ig3DMStringControl : public Ig3DFieldControl
00023 {
00024 Q_OBJECT
00025 public:
00026 Ig3DMStringControl (IgControlCategory *pane, QString label);
00027
00028
00029
00030
00031 SoMFString * field (void) const;
00032 void setField (SoMFString *field);
00033 const SbString* fieldValue (void) const;
00034
00035 const SbString* value (void) const;
00036 QWidget* widget(void) const;
00037 virtual void resize (unsigned int size);
00038
00039 public slots:
00040 virtual void setValue (unsigned int size, const SbString* newval);
00041 virtual void newIndex (int);
00042
00043 protected:
00044 virtual void applyValue (void);
00045 virtual void updateValue (void);
00046
00047 private slots:
00048
00049 void textChanged (const QString& newvalue);
00050
00051 private:
00052 QWidget *m_value;
00053 IgQtLineEdit *m_lineEdit;
00054 QComboBox *m_indexs;
00055 std::vector<SbString> m_strings;
00056 };
00057
00058
00059
00060
00061 #endif // IGUANA_GL_BROWSERS_IG_3D_MSTRING_CONTROL_H