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