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 virtual void enableXAxisInvertation ( void ) = 0;
00128 virtual void enableYAxisInvertation ( void ) = 0;
00129 virtual void disableXAxisInvertation ( void ) = 0;
00130 virtual void disableYAxisInvertation ( void ) = 0;
00131
00132 public:
00133 virtual QList<QString> getMouseList ( void ) = 0;
00134 virtual QList<QString> getMouseVendorList ( void ) = 0;
00135 virtual QList<QString> getMouseModelList ( const QString& ) = 0;
00136 virtual QDict<QString> getMouseData ( const QString& ) = 0;
00137 virtual QDict<QString> getMouseData ( const QString&,const QString& ) = 0;
00138 virtual int getWheelEmulatedButton ( void ) = 0;
00139
00140 public:
00141 virtual bool isWheelEnabled ( void ) = 0;
00142 virtual bool isWheelEmulated ( void ) = 0;
00143 virtual bool isButtonEmulated ( void ) = 0;
00144 virtual bool isXAxisInverted ( void ) = 0;
00145 virtual bool isYAxisInverted ( void ) = 0;
00146 virtual bool isMouse ( void ) = 0;
00147
00148 public:
00149 virtual ~SaXManipulateMiceIF ( void ) { }
00150
00151 protected:
00152 SaXManipulateMiceIF (SaXImport*in,int id): SaXManipulatePointers (in,id) { }
00153 };
00154
00155
00156
00200 class SaXManipulateMice : public SaXManipulateMiceIF {
00201 private:
00202 SaXProcess* mCDBMice;
00203 QList<QString> mCDBMouseList;
00204 QDict<QString> mCDBMouseData;
00205
00206 public:
00207 void setMouse ( const QString& );
00208 void setMouse ( const QString&,const QString& );
00209 void enableWheelEmulation ( int );
00210 void disableWheelEmulation ( void );
00211 void enable3ButtonEmulation ( void );
00212 void disable3ButtonEmulation ( void );
00213 void enableWheel ( void );
00214 void disableWheel ( void );
00215 void enableXAxisInvertation ( void );
00216 void enableYAxisInvertation ( void );
00217 void disableXAxisInvertation ( void );
00218 void disableYAxisInvertation ( void );
00219
00220 public:
00221 QList<QString> getMouseList ( void );
00222 QList<QString> getMouseVendorList ( void );
00223 QList<QString> getMouseModelList ( const QString& );
00224 QDict<QString> getMouseData ( const QString& );
00225 QDict<QString> getMouseData ( const QString&,const QString& );
00226 int getWheelEmulatedButton ( void );
00227
00228 public:
00229 bool isWheelEnabled ( void );
00230 bool isWheelEmulated ( void );
00231 bool isButtonEmulated ( void );
00232 bool isXAxisInverted ( void );
00233 bool isYAxisInverted ( void );
00234 bool isMouse ( void );
00235
00236 public:
00237 SaXManipulateMice ( SaXImport*, int = 1 );
00238 };
00239
00240
00241
00242
00250 class SaXManipulateTabletsIF : public SaXManipulatePointers {
00251 public:
00252 virtual QDict<QString> getTabletData ( const QString& ) = 0;
00253 virtual QDict<QString> getTabletData ( const QString&,const QString& ) = 0;
00254 virtual QDict<QString> getPenData ( const QString& ) = 0;
00255 virtual QDict<QString> getPenData ( const QString&,const QString& ) = 0;
00256 virtual QList<QString> getTabletVendorList ( void ) = 0;
00257 virtual QList<QString> getTabletModelList ( const QString& ) = 0;
00258 virtual QList<QString> getTabletList ( void ) = 0;
00259 virtual QList<QString> getPenList ( void ) = 0;
00260 virtual QList<QString> getTabletDrivers ( void ) = 0;
00261 virtual QDict<QString> getTabletOptions ( const QString& ) = 0;
00262 virtual void setTablet ( const QString&,const QString& ) = 0;
00263 virtual void setTablet ( const QString& ) = 0;
00264 virtual void setType ( const QString& ) = 0;
00265 virtual void setMode ( const QString& ) = 0;
00266 virtual int addPen ( const QString& ) = 0;
00267 virtual int addPen ( const QString&,const QString& ) = 0;
00268 virtual int removePen ( int ) = 0;
00269
00270 public:
00271 virtual QString getName ( void ) = 0;
00272 virtual QString getVendor ( void ) = 0;
00273 virtual QString getType ( void ) = 0;
00274 virtual QString getMode ( void ) = 0;
00275 virtual bool isTablet ( void ) = 0;
00276 virtual bool isPen ( void ) = 0;
00277 virtual bool isEraser ( void ) = 0;
00278
00279 public:
00280 virtual ~SaXManipulateTabletsIF ( void ) { }
00281
00282 protected:
00283 SaXManipulateTabletsIF (
00284 SaXImport*in,int id
00285 ): SaXManipulatePointers (in,id) { }
00286 };
00287
00288
00289
00355 class SaXManipulateTablets : public SaXManipulateTabletsIF {
00356 private:
00357 SaXProcess* mCDBTablets;
00358 SaXProcess* mCDBTabletModules;
00359 QList<QString> mCDBTabletList;
00360 QDict<QString> mCDBTabletData;
00361 SaXProcess* mCDBPens;
00362 QList<QString> mCDBPenList;
00363 QList<QString> mCDBTabletDrivers;
00364 QDict<QString> mCDBTabletOptions;
00365
00366 private:
00367 SaXManipulateDevices* mManipInputDevices;
00368
00369 public:
00370 QDict<QString> getTabletData ( const QString& );
00371 QDict<QString> getTabletData ( const QString&,const QString& );
00372 QDict<QString> getPenData ( const QString& );
00373 QDict<QString> getPenData ( const QString&,const QString& );
00374 QList<QString> getTabletVendorList ( void );
00375 QList<QString> getTabletModelList ( const QString& );
00376 QList<QString> getTabletList ( void );
00377 QList<QString> getPenList ( void );
00378 QList<QString> getTabletDrivers ( void );
00379 QDict<QString> getTabletOptions ( const QString& );
00380 void setTablet ( const QString&,const QString& );
00381 void setTablet ( const QString& );
00382 void setType ( const QString& );
00383 void setMode ( const QString& );
00384 int addPen ( const QString& );
00385 int addPen ( const QString&,const QString& );
00386 int removePen ( int );
00387
00388 public:
00389 QString getName ( void );
00390 QString getVendor ( void );
00391 QString getType ( void );
00392 QString getMode ( void );
00393 bool isTablet ( void );
00394 bool isPen ( void );
00395 bool isEraser ( void );
00396
00397 public:
00398 SaXManipulateTablets ( SaXImport*, SaXImport* , int = 1 );
00399 };
00400
00401
00402
00403
00411 class SaXManipulateTouchscreensIF : public SaXManipulatePointers {
00412 public:
00413 virtual QList<QString> getPanelList ( void ) = 0;
00414 virtual QList<QString> getPanelVendorList ( void ) = 0;
00415 virtual QList<QString> getPanelModelList ( const QString& ) = 0;
00416 virtual QDict<QString> getPanelData ( const QString& ) = 0;
00417 virtual QDict<QString> getPanelData ( const QString&,const QString& ) = 0;
00418 virtual void setTouchPanel ( const QString&,const QString& ) = 0;
00419 virtual void setTouchPanel ( const QString& ) = 0;
00420
00421 public:
00422 virtual bool isTouchpanel ( void ) = 0;
00423 virtual QString getName ( void ) = 0;
00424 virtual QString getVendor ( void ) = 0;
00425 virtual QString getType ( void ) = 0;
00426
00427 public:
00428 virtual ~SaXManipulateTouchscreensIF ( void ) { }
00429
00430 protected:
00431 SaXManipulateTouchscreensIF (
00432 SaXImport*in,int id
00433 ): SaXManipulatePointers (in,id) { }
00434 };
00435
00436
00437
00496 class SaXManipulateTouchscreens : public SaXManipulateTouchscreensIF {
00497 private:
00498 SaXProcess* mCDBPanels;
00499 QList<QString> mCDBPanelList;
00500 QDict<QString> mCDBPanelData;
00501
00502 public:
00503 QList<QString> getPanelList ( void );
00504 QList<QString> getPanelVendorList ( void );
00505 QList<QString> getPanelModelList ( const QString& );
00506 QDict<QString> getPanelData ( const QString& );
00507 QDict<QString> getPanelData ( const QString&,const QString& );
00508 void setTouchPanel ( const QString&,const QString& );
00509 void setTouchPanel ( const QString& );
00510
00511 public:
00512 bool isTouchpanel ( void );
00513 QString getName ( void );
00514 QString getVendor ( void );
00515 QString getType ( void );
00516
00517 public:
00518 SaXManipulateTouchscreens ( SaXImport*, int = 1 );
00519 };
00520 }
00521 #endif