00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SAX_POINTERS_H
00022 #define SAX_POINTERS_H 1
00023
00024
00025
00026
00027 #include "import.h"
00028 #include "device.h"
00029
00030 namespace SaX {
00031
00032
00033
00034 #define SAX_CORE_POINTER 1
00035 #define SAX_NEXT_POINTER(x) ((x)+2)
00036
00037
00038
00039
00047 class SaXManipulatePointersIF : public SaXException {
00048 public:
00049 virtual void setDriver ( const QString& ) = 0;
00050 virtual void setDevice ( const QString& ) = 0;
00051 virtual void setProtocol ( const QString& ) = 0;
00052 virtual void setNamePair ( const QString& , const QString& ) = 0;
00053 virtual void setOption ( const QString& , const QString& = 0 ) = 0;
00054 virtual void addOption ( const QString& , const QString& = 0 ) = 0;
00055 virtual void removeOption ( const QString& ) = 0;
00056
00057 public:
00058 virtual QString getDevice ( void ) = 0;
00059 virtual QString getDriver ( void ) = 0;
00060 virtual QString getProtocol ( void ) = 0;
00061 virtual QDict<QString> getOptions ( void ) = 0;
00062
00063 public:
00064 virtual bool selectPointer ( int ) = 0;
00065
00066 public:
00067 virtual ~SaXManipulatePointersIF ( void ) { }
00068 };
00069
00070
00071
00080 class SaXManipulatePointers : public SaXManipulatePointersIF {
00081 protected:
00082 SaXImport* mImport;
00083 int mPointer;
00084
00085 public:
00086 void setDriver ( const QString& );
00087 void setDevice ( const QString& );
00088 void setProtocol ( const QString& );
00089 void setNamePair ( const QString& , const QString& );
00090 void setOption ( const QString& , const QString& = 0 );
00091 void addOption ( const QString& , const QString& = 0 );
00092 void removeOption ( const QString& );
00093
00094 public:
00095 QString getDevice ( void );
00096 QString getDriver ( void );
00097 QString getProtocol ( void );
00098 QDict<QString> getOptions ( void );
00099
00100 public:
00101 bool selectPointer ( int );
00102
00103 protected:
00104 SaXManipulatePointers ( SaXImport*, int = 1 );
00105 };
00106
00107
00108
00109
00117 class SaXManipulateMiceIF : public SaXManipulatePointers {
00118 public:
00119 virtual void setMouse ( const QString& ) = 0;
00120 virtual void setMouse ( const QString&,const QString& ) = 0;
00121 virtual void enableWheelEmulation ( int ) = 0;
00122 virtual void disableWheelEmulation ( void ) = 0;
00123 virtual void enable3ButtonEmulation ( void ) = 0;
00124 virtual void disable3ButtonEmulation ( void ) = 0;
00125 virtual void enableWheel ( void ) = 0;
00126 virtual void disableWheel ( void ) = 0;
00127
00128 public:
00129 virtual QList<QString> getMouseList ( void ) = 0;
00130 virtual QList<QString> getMouseVendorList ( void ) = 0;
00131 virtual QList<QString> getMouseModelList ( const QString& ) = 0;
00132 virtual QDict<QString> getMouseData ( const QString& ) = 0;
00133 virtual QDict<QString> getMouseData ( const QString&,const QString& ) = 0;
00134 virtual int getWheelEmulatedButton ( void ) = 0;
00135
00136 public:
00137 virtual bool isWheelEnabled ( void ) = 0;
00138 virtual bool isWheelEmulated ( void ) = 0;
00139 virtual bool isButtonEmulated ( void ) = 0;
00140 virtual bool isMouse ( void ) = 0;
00141
00142 public:
00143 virtual ~SaXManipulateMiceIF ( void ) { }
00144
00145 protected:
00146 SaXManipulateMiceIF (SaXImport*in,int id): SaXManipulatePointers (in,id) { }
00147 };
00148
00149
00150
00194 class SaXManipulateMice : public SaXManipulateMiceIF {
00195 private:
00196 SaXProcess* mCDBMice;
00197 QList<QString> mCDBMouseList;
00198 QDict<QString> mCDBMouseData;
00199
00200 public:
00201 void setMouse ( const QString& );
00202 void setMouse ( const QString&,const QString& );
00203 void enableWheelEmulation ( int );
00204 void disableWheelEmulation ( void );
00205 void enable3ButtonEmulation ( void );
00206 void disable3ButtonEmulation ( void );
00207 void enableWheel ( void );
00208 void disableWheel ( void );
00209
00210 public:
00211 QList<QString> getMouseList ( void );
00212 QList<QString> getMouseVendorList ( void );
00213 QList<QString> getMouseModelList ( const QString& );
00214 QDict<QString> getMouseData ( const QString& );
00215 QDict<QString> getMouseData ( const QString&,const QString& );
00216 int getWheelEmulatedButton ( void );
00217
00218 public:
00219 bool isWheelEnabled ( void );
00220 bool isWheelEmulated ( void );
00221 bool isButtonEmulated ( void );
00222 bool isMouse ( void );
00223
00224 public:
00225 SaXManipulateMice ( SaXImport*, int = 1 );
00226 };
00227
00228
00229
00230
00238 class SaXManipulateTabletsIF : public SaXManipulatePointers {
00239 public:
00240 virtual QDict<QString> getTabletData ( const QString& ) = 0;
00241 virtual QDict<QString> getTabletData ( const QString&,const QString& ) = 0;
00242 virtual QDict<QString> getPenData ( const QString& ) = 0;
00243 virtual QDict<QString> getPenData ( const QString&,const QString& ) = 0;
00244 virtual QList<QString> getTabletVendorList ( void ) = 0;
00245 virtual QList<QString> getTabletModelList ( const QString& ) = 0;
00246 virtual QList<QString> getTabletList ( void ) = 0;
00247 virtual QList<QString> getPenList ( void ) = 0;
00248 virtual QList<QString> getTabletDrivers ( void ) = 0;
00249 virtual QDict<QString> getTabletOptions ( const QString& ) = 0;
00250 virtual QDict<QString> getOptions ( void ) = 0;
00251 virtual void setTablet ( const QString&,const QString& ) = 0;
00252 virtual void setTablet ( const QString& ) = 0;
00253 virtual void setType ( const QString& ) = 0;
00254 virtual void setMode ( const QString& ) = 0;
00255 virtual int addPen ( const QString& ) = 0;
00256 virtual int addPen ( const QString&,const QString& ) = 0;
00257 virtual int removePen ( int ) = 0;
00258
00259 public:
00260 virtual QString getName ( void ) = 0;
00261 virtual QString getVendor ( void ) = 0;
00262 virtual QString getType ( void ) = 0;
00263 virtual QString getMode ( void ) = 0;
00264 virtual bool isTablet ( void ) = 0;
00265 virtual bool isPen ( void ) = 0;
00266 virtual bool isEraser ( void ) = 0;
00267
00268 public:
00269 virtual ~SaXManipulateTabletsIF ( void ) { }
00270
00271 protected:
00272 SaXManipulateTabletsIF (
00273 SaXImport*in,int id
00274 ): SaXManipulatePointers (in,id) { }
00275 };
00276
00277
00278
00344 class SaXManipulateTablets : public SaXManipulateTabletsIF {
00345 private:
00346 SaXProcess* mCDBTablets;
00347 SaXProcess* mCDBTabletModules;
00348 QList<QString> mCDBTabletList;
00349 QDict<QString> mCDBTabletData;
00350 SaXProcess* mCDBPens;
00351 QList<QString> mCDBPenList;
00352 QList<QString> mCDBTabletDrivers;
00353 QDict<QString> mCDBTabletOptions;
00354
00355 private:
00356 SaXManipulateDevices* mManipInputDevices;
00357
00358 public:
00359 QDict<QString> getTabletData ( const QString& );
00360 QDict<QString> getTabletData ( const QString&,const QString& );
00361 QDict<QString> getPenData ( const QString& );
00362 QDict<QString> getPenData ( const QString&,const QString& );
00363 QList<QString> getTabletVendorList ( void );
00364 QList<QString> getTabletModelList ( const QString& );
00365 QList<QString> getTabletList ( void );
00366 QList<QString> getPenList ( void );
00367 QList<QString> getTabletDrivers ( void );
00368 QDict<QString> getTabletOptions ( const QString& );
00369 QDict<QString> getOptions ( void );
00370 void setTablet ( const QString&,const QString& );
00371 void setTablet ( const QString& );
00372 void setType ( const QString& );
00373 void setMode ( const QString& );
00374 int addPen ( const QString& );
00375 int addPen ( const QString&,const QString& );
00376 int removePen ( int );
00377
00378 public:
00379 QString getName ( void );
00380 QString getVendor ( void );
00381 QString getType ( void );
00382 QString getMode ( void );
00383 bool isTablet ( void );
00384 bool isPen ( void );
00385 bool isEraser ( void );
00386
00387 public:
00388 SaXManipulateTablets ( SaXImport*, SaXImport* , int = 1 );
00389 };
00390
00391
00392
00393
00401 class SaXManipulateTouchscreensIF : public SaXManipulatePointers {
00402 public:
00403 virtual QList<QString> getPanelList ( void ) = 0;
00404 virtual QList<QString> getPanelVendorList ( void ) = 0;
00405 virtual QList<QString> getPanelModelList ( const QString& ) = 0;
00406 virtual QDict<QString> getPanelData ( const QString& ) = 0;
00407 virtual QDict<QString> getPanelData ( const QString&,const QString& ) = 0;
00408 virtual void setTouchPanel ( const QString&,const QString& ) = 0;
00409 virtual void setTouchPanel ( const QString& ) = 0;
00410
00411 public:
00412 virtual bool isTouchpanel ( void ) = 0;
00413 virtual QString getName ( void ) = 0;
00414 virtual QString getVendor ( void ) = 0;
00415 virtual QString getType ( void ) = 0;
00416
00417 public:
00418 virtual ~SaXManipulateTouchscreensIF ( void ) { }
00419
00420 protected:
00421 SaXManipulateTouchscreensIF (
00422 SaXImport*in,int id
00423 ): SaXManipulatePointers (in,id) { }
00424 };
00425
00426
00427
00486 class SaXManipulateTouchscreens : public SaXManipulateTouchscreensIF {
00487 private:
00488 SaXProcess* mCDBPanels;
00489 QList<QString> mCDBPanelList;
00490 QDict<QString> mCDBPanelData;
00491
00492 public:
00493 QList<QString> getPanelList ( void );
00494 QList<QString> getPanelVendorList ( void );
00495 QList<QString> getPanelModelList ( const QString& );
00496 QDict<QString> getPanelData ( const QString& );
00497 QDict<QString> getPanelData ( const QString&,const QString& );
00498 void setTouchPanel ( const QString&,const QString& );
00499 void setTouchPanel ( const QString& );
00500
00501 public:
00502 bool isTouchpanel ( void );
00503 QString getName ( void );
00504 QString getVendor ( void );
00505 QString getType ( void );
00506
00507 public:
00508 SaXManipulateTouchscreens ( SaXImport*, int = 1 );
00509 };
00510 }
00511 #endif