00001 /*---------------------------------------------------------------------------*\ 00002 * OpenSG * 00003 * * 00004 * * 00005 * Copyright (C) 2000-2002 by the OpenSG Forum * 00006 * * 00007 * www.opensg.org * 00008 * * 00009 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de * 00010 * * 00011 \*---------------------------------------------------------------------------*/ 00012 /*---------------------------------------------------------------------------*\ 00013 * License * 00014 * * 00015 * This library is free software; you can redistribute it and/or modify it * 00016 * under the terms of the GNU Library General Public License as published * 00017 * by the Free Software Foundation, version 2. * 00018 * * 00019 * This library is distributed in the hope that it will be useful, but * 00020 * WITHOUT ANY WARRANTY; without even the implied warranty of * 00021 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00022 * Library General Public License for more details. * 00023 * * 00024 * You should have received a copy of the GNU Library General Public * 00025 * License along with this library; if not, write to the Free Software * 00026 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * 00027 * * 00028 \*---------------------------------------------------------------------------*/ 00029 /*---------------------------------------------------------------------------*\ 00030 * Changes * 00031 * * 00032 * * 00033 * * 00034 * * 00035 * * 00036 * * 00037 \*---------------------------------------------------------------------------*/ 00038 00039 /*****************************************************************************\ 00040 ***************************************************************************** 00041 ** ** 00042 ** This file is automatically generated. ** 00043 ** ** 00044 ** Any changes made to this file WILL be lost when it is ** 00045 ** regenerated, which can become necessary at any time. ** 00046 ** ** 00047 ** Do not change this file, changes should be done in the derived ** 00048 ** class QTWindow 00049 ** ** 00050 ***************************************************************************** 00051 \*****************************************************************************/ 00052 00053 00054 #ifndef _OSGQTWINDOWBASE_H_ 00055 #define _OSGQTWINDOWBASE_H_ 00056 #ifdef __sgi 00057 #pragma once 00058 #endif 00059 00060 00061 #include <OSGConfig.h> 00062 #include <OSGWindowQTDef.h> 00063 00064 #include <OSGBaseTypes.h> 00065 00066 #include <OSGQTWindowDataFields.h> // GlWidget type 00067 00068 // Parent 00069 #ifdef WIN32 00070 #include "OSGWIN32Window.h" 00071 #else 00072 #include "OSGXWindow.h" 00073 #endif 00074 00075 #include <OSGQTWindowFields.h> 00076 00077 OSG_BEGIN_NAMESPACE 00078 00079 class QTWindow; 00080 class BinaryDataHandler; 00081 00083 00084 #ifdef WIN32 00085 class OSG_WINDOWQTLIB_DLLMAPPING QTWindowBase : public WIN32Window 00086 #else 00087 class OSG_WINDOWQTLIB_DLLMAPPING QTWindowBase : public XWindow 00088 #endif 00089 { 00090 private: 00091 00092 #ifdef WIN32 00093 typedef WIN32Window Inherited; 00094 #else 00095 typedef XWindow Inherited; 00096 #endif 00097 00098 /*========================== PUBLIC =================================*/ 00099 public: 00100 00101 enum 00102 { 00103 GlWidgetFieldId = Inherited::NextFieldId, 00104 NextFieldId = GlWidgetFieldId + 1 00105 }; 00106 00107 static const OSG::BitVector GlWidgetFieldMask; 00108 00109 /*---------------------------------------------------------------------*/ 00113 static FieldContainerType &getClassType (void); 00114 static UInt32 getClassTypeId (void); 00115 00117 /*---------------------------------------------------------------------*/ 00121 virtual FieldContainerType &getType (void); 00122 virtual const FieldContainerType &getType (void) const; 00123 00124 virtual UInt32 getContainerSize(void) const; 00125 00127 /*---------------------------------------------------------------------*/ 00131 inline SFOSGQGLWidgetP *getSFGlWidget (void); 00132 00133 inline OSGQGLWidgetP &getGlWidget (void); 00134 inline const OSGQGLWidgetP &getGlWidget (void) const; 00135 00137 /*---------------------------------------------------------------------*/ 00141 inline void setGlWidget ( const OSGQGLWidgetP &value ); 00142 00144 /*---------------------------------------------------------------------*/ 00148 virtual void executeSync( FieldContainer &other, 00149 const BitVector &whichField); 00150 00152 /*---------------------------------------------------------------------*/ 00156 virtual UInt32 getBinSize (const BitVector &whichField); 00157 virtual void copyToBin ( BinaryDataHandler &pMem, 00158 const BitVector &whichField); 00159 virtual void copyFromBin( BinaryDataHandler &pMem, 00160 const BitVector &whichField); 00161 00162 00164 /*---------------------------------------------------------------------*/ 00168 static QTWindowPtr create (void); 00169 static QTWindowPtr createEmpty (void); 00170 00173 /*---------------------------------------------------------------------*/ 00177 virtual FieldContainerPtr shallowCopy (void) const; 00178 00180 /*========================= PROTECTED ===============================*/ 00181 protected: 00182 00183 /*---------------------------------------------------------------------*/ 00187 SFOSGQGLWidgetP _sfGlWidget; 00188 00190 /*---------------------------------------------------------------------*/ 00194 QTWindowBase(void); 00195 QTWindowBase(const QTWindowBase &source); 00196 00198 /*---------------------------------------------------------------------*/ 00202 virtual ~QTWindowBase(void); 00203 00205 /*---------------------------------------------------------------------*/ 00209 void executeSyncImpl( QTWindowBase *pOther, 00210 const BitVector &whichField); 00211 00213 /*========================== PRIVATE ================================*/ 00214 private: 00215 00216 friend class FieldContainer; 00217 00218 static FieldDescription *_desc[]; 00219 static FieldContainerType _type; 00220 00221 00222 // prohibit default functions (move to 'public' if you need one) 00223 void operator =(const QTWindowBase &source); 00224 }; 00225 00226 //--------------------------------------------------------------------------- 00227 // Exported Types 00228 //--------------------------------------------------------------------------- 00229 00230 00231 typedef QTWindowBase *QTWindowBaseP; 00232 00233 OSG_END_NAMESPACE 00234 00235 #define OSGQTWINDOWBASE_HEADER_CVSID "@(#)$Id: $" 00236 00237 #endif /* _OSGQTWINDOWBASE_H_ */
1.4.3