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_ELEMENT_DATA_H_
00025 #define _PO_XT_ELEMENT_DATA_H_
00026
00027 #ifndef _WIN32
00028 # include <X11/Intrinsic.h>
00029 # include <Inventor/Xt/SoXtDef.h>
00030 #else
00031 # include <windows.h>
00032 # ifdef _SO_QT_
00033 # include <wingdi.h>
00034 # else
00035 # include <Inventor/Win/SoWinDef.h>
00036 # endif
00037 #endif
00038
00039 #include <Inventor/SbBasic.h>
00040 #include <Inventor/misc/SoCallbackList.h>
00041
00042
00043 #define HEIGHT_CURRENT 30
00044 class SoDEPRECATED PoXtElementData
00052 {
00053
00054 public:
00055
00059 enum TypeXtElement
00060 {
00061 INTEGER_SLIDER,
00062 REAL_SLIDER,
00063 TRIGGER_BUTTON,
00064 CHOICE_BUTTON,
00065 TOGGLE_BUTTON,
00066 EDITABLE_TEXT,
00067 LABEL,
00068 OTHERS
00069 } ;
00070
00074 virtual ~PoXtElementData();
00075
00079 virtual TypeXtElement getType() const { return OTHERS;}
00080
00084 virtual PoXtElementData * copy() const=0;
00085
00090 void setID(int ident);
00091
00095 int getID() const;
00096
00097
00098
00099 #ifndef _WIN32
00100 private:
00101 virtual SoWidget buildWidget(SoWidget parent)=0;
00102
00103
00104
00105 virtual void updateValues(const PoXtElementData * xtElement)=0;
00106
00107
00108
00109
00110 virtual int getRealMinWidgetWidth() const {return 0;}
00111
00112
00113 virtual void setMinWidgetWidth(int minWidth);
00114
00115
00116 virtual void setPositionElementIfResize();
00117
00118 virtual void addCallback(SoCallbackListCB * function, void * data=NULL);
00119 virtual void removeCallback(SoCallbackListCB * function, void * data=NULL);
00120
00121 int getHeightElement() const;
00122 SoWidget getWidget() const;
00123
00124 private:
00125 void setHeightElement(int width);
00126 PoXtElementData();
00127
00128 SoWidget _baseWidget;
00129 private:
00130 int _heightElement;
00131 int _ident;
00132 #else
00133 private:
00134 virtual void buildWidget (SoWidget parent, int verticalOffset) = 0;
00135 virtual void updateValues (const PoXtElementData * elt);
00136
00137 virtual void addCallback(SoCallbackListCB *f, void *data);
00138 virtual void removeCallback(SoCallbackListCB *f, void *data);
00139
00140 virtual void setSize (int value, int verticalOffset) = 0;
00141 virtual int getSize () const = 0;
00142
00143 static int heightOfElement;
00144 static int spaceBetweenFields;
00145 static int spaceFromSides;
00146 static int controlSize;
00147 static int heightOfElementMin;
00148 static int controlSizeMin;
00149
00150 private:
00151 PoXtElementData ():_ID(0) {}
00152 PoXtElementData (const PoXtElementData & elt);
00153
00154 int _ID;
00155 #endif
00156 };
00157
00158 #if defined(_WIN32)
00159
00160 inline void
00161 PoXtElementData::addCallback(SoCallbackListCB *, void *)
00162 {}
00163
00164 inline void
00165 PoXtElementData::removeCallback(SoCallbackListCB *, void *)
00166 {}
00167 #endif
00168
00169 #endif //_PO_XT_ELEMENT_DATA_H_
00170
00171