00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _PO_XT_EDIT_TEXT_DATA_H
00025 #define _PO_XT_EDIT_TEXT_DATA_H
00026
00027 #if defined(WIN32)
00028 class PoEdit;
00029 #endif
00030
00031 #include <Inventor/dialog/PoXtElementData.h>
00032 #include <Inventor/SbString.h>
00033
00034 class PoXtLabelData;
00035 class SoCallbackList;
00036 #ifdef _WIN32
00037 class PoEdit;
00038 #endif
00039 class SoDEPRECATED PoXtEditTextData : public PoXtElementData
00052 {
00053
00054 public:
00055
00059 PoXtEditTextData(const SbString& label = "",
00060 const SbString& defaultString = "",
00061 int numCharToRead = 10);
00062
00063
00067 virtual ~PoXtEditTextData();
00068
00074 SoNONUNICODE void setLabel(const char * label);
00075
00079 void setLabel(const SbString& label);
00080
00084 SbString getLabel() const;
00085
00091 SoNONUNICODE void setString(const char * label);
00092
00096 void setString(const SbString& label);
00097
00101 SbString getString() const;
00102
00108 void setNumCharToRead(int number);
00109
00113 int getNumCharToRead() const;
00114
00118 virtual TypeXtElement getType() const;
00119
00123 virtual PoXtElementData * copy() const;
00124
00125
00126
00127 #ifndef _WIN32
00128 private:
00129
00130 virtual SoWidget buildWidget(SoWidget parent);
00131 virtual void addCallback(SoCallbackListCB * function, void * data);
00132 virtual void removeCallback(SoCallbackListCB * function, void * data);
00133
00134
00135 virtual void updateValues(const PoXtElementData * xtElement);
00136
00137
00138
00139
00140 virtual int getRealMinWidgetWidth() const;
00141
00142
00143 virtual void setMinWidgetWidth(int value);
00144
00145 virtual void setPositionElementIfResize();
00146
00147 private:
00148 PoXtEditTextData(const PoXtEditTextData & edit);
00149
00150 private:
00151 void attachLabelWidget();
00152
00153
00154 static void handleCallbackEnter(SoWidget textWidget,
00155 PoXtEditTextData * userData,
00156 XtPointer * data);
00157
00158
00159 static void handleCallbackCharMax(SoWidget text,
00160 PoXtEditTextData * userData,
00161 XtPointer * data);
00162 int _nbCharToRead;
00163
00164 SoWidget _labelWidget, _textWidget;
00165 SoCallbackList * _textCallback;
00166 PoXtLabelData * _label;
00167 char * _editTextStr;
00168 #else
00169 private:
00170 virtual void buildWidget (SoWidget parent, int verticalOffset);
00171
00172 virtual void updateValues (const PoXtElementData *);
00173
00174
00175 void setSize (int length, int verticalOffset);
00176 int getSize () const;
00177
00178 virtual void addCallback (SoCallbackListCB *f, void *data);
00179 virtual void removeCallback (SoCallbackListCB *f, void *data);
00180
00181 private:
00182 PoXtEditTextData (const PoXtEditTextData &);
00183
00184 private:
00185 static void handleCallback (void * edit, void * theEdit);
00186 static void updateCallback (void * edit, void * theEdit);
00187
00188 PoXtLabelData * _label;
00189 PoEdit * _edit;
00190
00191 int _editOffset;
00192 int _height;
00193 SbBool _changedValue;
00194
00195 int _maxCharNumber;
00196 SoCallbackList *_editCallback;
00197 #endif
00198 };
00199
00200 #endif //_PO_XT_EDIT_TEXT_DATA_H
00201
00202