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 Q3Dict<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 Q3Dict<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 virtual void enableLeftHandMapping ( void ) = 0;
00133 virtual void disableLeftHandMapping ( void ) = 0;
00134
00135 public:
00136 virtual QList<QString> getMouseList ( void ) = 0;
00137 virtual QList<QString> getMouseVendorList ( void ) = 0;
00138 virtual QList<QString> getMouseModelList ( const QString& ) = 0;
00139 virtual Q3Dict<QString> getMouseData ( const QString& ) = 0;
00140 virtual Q3Dict<QString> getMouseData ( const QString&,const QString& ) = 0;
00141 virtual int getWheelEmulatedButton ( void ) = 0;
00142
00143 public:
00144 virtual bool isWheelEnabled ( void ) = 0;
00145 virtual bool isWheelEmulated ( void ) = 0;
00146 virtual bool isButtonEmulated ( void ) = 0;
00147 virtual bool isXAxisInverted ( void ) = 0;
00148 virtual bool isYAxisInverted ( void ) = 0;
00149 virtual bool isLeftHandEnabled ( void ) = 0;
00150 virtual bool isMouse ( void ) = 0;
00151
00152 public:
00153 virtual ~SaXManipulateMiceIF ( void ) { }
00154
00155 protected:
00156 SaXManipulateMiceIF (SaXImport*in,int id): SaXManipulatePointers (in,id) { }
00157 };
00158
00159
00160
00204 class SaXManipulateMice : public SaXManipulateMiceIF {
00205 private:
00206 SaXProcess* mCDBMice;
00207 QList<QString> mCDBMouseList;
00208 Q3Dict<QString> mCDBMouseData;
00209
00210 public:
00211 void setMouse ( const QString& );
00212 void setMouse ( const QString&,const QString& );
00213 void enableWheelEmulation ( int );
00214 void disableWheelEmulation ( void );
00215 void enable3ButtonEmulation ( void );
00216 void disable3ButtonEmulation ( void );
00217 void enableWheel ( void );
00218 void enableWheelOn ( int,int );
00219 void disableWheel ( void );
00220 void enableXAxisInvertation ( void );
00221 void enableYAxisInvertation ( void );
00222 void disableXAxisInvertation ( void );
00223 void disableYAxisInvertation ( void );
00224 void enableLeftHandMapping ( void );
00225 void disableLeftHandMapping ( void );
00226
00227 public:
00228 QList<QString> getMouseList ( void );
00229 QList<QString> getMouseVendorList ( void );
00230 QList<QString> getMouseModelList ( const QString& );
00231 Q3Dict<QString> getMouseData ( const QString& );
00232 Q3Dict<QString> getMouseData ( const QString&,const QString& );
00233 int getWheelEmulatedButton ( void );
00234
00235 public:
00236 bool isWheelEnabled ( void );
00237 bool isWheelEmulated ( void );
00238 bool isButtonEmulated ( void );
00239 bool isXAxisInverted ( void );
00240 bool isYAxisInverted ( void );
00241 bool isLeftHandEnabled ( void );
00242 bool isMouse ( void );
00243
00244 public:
00245 SaXManipulateMice ( SaXImport*, int = 1 );
00246 };
00247
00248
00249
00250
00258 class SaXManipulateTabletsIF : public SaXManipulatePointers {
00259 public:
00260 virtual Q3Dict<QString> getTabletData ( const QString& ) = 0;
00261 virtual Q3Dict<QString> getTabletData ( const QString&,const QString& ) = 0;
00262 virtual Q3Dict<QString> getPenData ( const QString& ) = 0;
00263 virtual Q3Dict<QString> getPenData ( const QString&,const QString& ) = 0;
00264 virtual QList<QString> getTabletVendorList ( void ) = 0;
00265 virtual QList<QString> getTabletModelList ( const QString& ) = 0;
00266 virtual QList<QString> getTabletList ( void ) = 0;
00267 virtual QList<QString> getPenList ( void ) = 0;
00268 virtual QList<QString> getTabletDrivers ( void ) = 0;
00269 virtual Q3Dict<QString> getTabletOptions ( const QString& ) = 0;
00270 virtual void setTablet ( const QString&,const QString& ) = 0;
00271 virtual void setTablet ( const QString& ) = 0;
00272 virtual void setType ( const QString& ) = 0;
00273 virtual void setMode ( const QString& ) = 0;
00274 virtual int addPen ( const QString& ) = 0;
00275 virtual int addPen ( const QString&,const QString& ) = 0;
00276 virtual int addPad ( const QString& ) = 0;
00277 virtual int addPad ( const QString&,const QString& ) = 0;
00278 virtual int removePen ( int ) = 0;
00279 virtual int removePad ( int ) = 0;
00280
00281 public:
00282 virtual QString getName ( void ) = 0;
00283 virtual QString getVendor ( void ) = 0;
00284 virtual QString getType ( void ) = 0;
00285 virtual QString getMode ( void ) = 0;
00286 virtual bool isTablet ( void ) = 0;
00287 virtual bool isPen ( void ) = 0;
00288 virtual bool isEraser ( void ) = 0;
00289 virtual bool isPad ( void ) = 0;
00290
00291 public:
00292 virtual ~SaXManipulateTabletsIF ( void ) { }
00293
00294 protected:
00295 SaXManipulateTabletsIF (
00296 SaXImport*in,int id
00297 ): SaXManipulatePointers (in,id) { }
00298 };
00299
00300
00301
00367 class SaXManipulateTablets : public SaXManipulateTabletsIF {
00368 private:
00369 SaXProcess* mCDBTablets;
00370 SaXProcess* mCDBTabletModules;
00371 QList<QString> mCDBTabletList;
00372 Q3Dict<QString> mCDBTabletData;
00373 SaXProcess* mCDBPens;
00374 SaXProcess* mCDBPads;
00375 QList<QString> mCDBPenList;
00376 QList<QString> mCDBTabletDrivers;
00377 Q3Dict<QString> mCDBTabletOptions;
00378
00379 private:
00380 SaXManipulateDevices* mManipInputDevices;
00381
00382 public:
00383 Q3Dict<QString> getTabletData ( const QString& );
00384 Q3Dict<QString> getTabletData ( const QString&,const QString& );
00385 Q3Dict<QString> getPenData ( const QString& );
00386 Q3Dict<QString> getPenData ( const QString&,const QString& );
00387 QList<QString> getTabletVendorList ( void );
00388 QList<QString> getTabletModelList ( const QString& );
00389 QList<QString> getTabletList ( void );
00390 QList<QString> getPenList ( void );
00391 QList<QString> getTabletDrivers ( void );
00392 Q3Dict<QString> getTabletOptions ( const QString& );
00393 void setTablet ( const QString&,const QString& );
00394 void setTablet ( const QString& );
00395 void setType ( const QString& );
00396 void setMode ( const QString& );
00397 int addPen ( const QString& );
00398 int addPen ( const QString&,const QString& );
00399 int addPad ( const QString& );
00400 int addPad ( const QString&,const QString& );
00401 int removePen ( int );
00402 int removePad ( int );
00403
00404 public:
00405 QString getName ( void );
00406 QString getVendor ( void );
00407 QString getType ( void );
00408 QString getMode ( void );
00409 bool isTablet ( void );
00410 bool isPen ( void );
00411 bool isEraser ( void );
00412 bool isPad ( void );
00413
00414 public:
00415 SaXManipulateTablets ( SaXImport*, SaXImport* , int = 1 );
00416 };
00417
00418
00419
00420
00428 class SaXManipulateTouchscreensIF : public SaXManipulatePointers {
00429 public:
00430 virtual QList<QString> getPanelList ( void ) = 0;
00431 virtual QList<QString> getPanelVendorList ( void ) = 0;
00432 virtual QList<QString> getPanelModelList ( const QString& ) = 0;
00433 virtual Q3Dict<QString> getPanelData ( const QString& ) = 0;
00434 virtual Q3Dict<QString> getPanelData ( const QString&,const QString& ) = 0;
00435 virtual void setTouchPanel ( const QString&,const QString& ) = 0;
00436 virtual void setTouchPanel ( const QString& ) = 0;
00437
00438 public:
00439 virtual bool isTouchpanel ( void ) = 0;
00440 virtual QString getName ( void ) = 0;
00441 virtual QString getVendor ( void ) = 0;
00442 virtual QString getType ( void ) = 0;
00443
00444 public:
00445 virtual ~SaXManipulateTouchscreensIF ( void ) { }
00446
00447 protected:
00448 SaXManipulateTouchscreensIF (
00449 SaXImport*in,int id
00450 ): SaXManipulatePointers (in,id) { }
00451 };
00452
00453
00454
00513 class SaXManipulateTouchscreens : public SaXManipulateTouchscreensIF {
00514 private:
00515 SaXProcess* mCDBPanels;
00516 QList<QString> mCDBPanelList;
00517 Q3Dict<QString> mCDBPanelData;
00518
00519 public:
00520 QList<QString> getPanelList ( void );
00521 QList<QString> getPanelVendorList ( void );
00522 QList<QString> getPanelModelList ( const QString& );
00523 Q3Dict<QString> getPanelData ( const QString& );
00524 Q3Dict<QString> getPanelData ( const QString&,const QString& );
00525 void setTouchPanel ( const QString&,const QString& );
00526 void setTouchPanel ( const QString& );
00527
00528 public:
00529 bool isTouchpanel ( void );
00530 QString getName ( void );
00531 QString getVendor ( void );
00532 QString getType ( void );
00533
00534 public:
00535 SaXManipulateTouchscreens ( SaXImport*, int = 1 );
00536 };
00537 }
00538 #endif