00001
00028 #ifndef _GLUIFVECTORSPINNER_H
00029 #define _GLUIFVECTORSPINNER_H
00030
00031 #include <UserInterface.H>
00032 #include <GL/glui.h>
00033
00034 namespace xchen
00035 {
00036
00037 class UI :: gluifVectorSpinner
00038 {
00039 enum { spinners = MaxCtrlVecSz };
00040 static void spinner_cb(int i) { sp->Synchronize( i ); }
00041 public:
00042 gluifVectorSpinner(GLUI* glui);
00043
00044 void Synchronize(int idx) { if(bound_data) bound_data[idx] = data[idx]; }
00045
00046 void UnBind(float* d);
00047 void Bind(const string& doc_str, float* d, int sz);
00048
00049 private:
00050 float data[spinners];
00051 float* bound_data;
00052 GLUI_Spinner* float_spinner[spinners];
00053 GLUI_StaticText* txt;
00054 };
00055
00056 }
00057
00058
00059
00060 #endif