Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

pointers.h

00001 /**************
00002 FILE          : pointers.h
00003 ***************
00004 PROJECT       : SaX2 - library interface [header]
00005               :
00006 AUTHOR        : Marcus Schäfer <ms@suse.de>
00007               :
00008 BELONGS TO    : SaX2 - SuSE advanced X11 configuration 
00009               : 
00010               :
00011 DESCRIPTION   : native C++ class library to access SaX2
00012               : functionality. Easy to use interface for
00013               : //.../
00014               : - importing/exporting X11 configurations
00015               : - modifying/creating X11 configurations 
00016               : ---
00017               :
00018               :
00019 STATUS        : Status: Development
00020 **************/
00021 #ifndef SAX_POINTERS_H
00022 #define SAX_POINTERS_H 1
00023 
00024 //====================================
00025 // Includes...
00026 //------------------------------------
00027 #include "import.h"
00028 #include "device.h"
00029 
00030 namespace SaX {
00031 //====================================
00032 // Defines...
00033 //------------------------------------
00034 #define SAX_CORE_POINTER     1
00035 #define SAX_NEXT_POINTER(x)  ((x)+2)
00036 
00037 //====================================
00038 // Interface class for dlopen ability
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 // Class SaXManipulatePointers...
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 // Interface class for dlopen ability
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 // Class SaXManipulateMice...
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 // Interface class for dlopen ability
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 // Class SaXManipulateTablets...
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 // Interface class for dlopen ability
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 // Class SaXManipulateTouchscreens...
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 } // end namespace
00511 #endif

Generated on Wed Sep 14 10:27:01 2005 for libsax by  doxygen 1.4.4