layout.h

00001 /**************
00002 FILE          : layout.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_LAYOUT_H
00022 #define SAX_LAYOUT_H 1
00023 
00024 //====================================
00025 // Includes...
00026 //------------------------------------
00027 #include "import.h"
00028 #include "card.h"
00029 
00030 namespace SaX {
00031 //====================================
00032 // Defines...
00033 //------------------------------------
00034 #define SAX_SINGLE_HEAD     300
00035 #define SAX_XINERAMA        301
00036 #define SAX_TRADITIONAL     302
00037 #define SAX_CLONE           303
00038 #define SAX_MERGED_FB       304
00039 #define SAX_MERGED_FB_CLONE 305
00040 #define SAX_UNKNOWN_MODE    306
00041 
00042 //====================================
00043 // Interface class for dlopen ability
00044 //------------------------------------
00052 class SaXManipulateLayoutIF : public SaXException {
00053         public:
00054         virtual void setXOrgMultiheadMode ( int ) = 0;
00055         virtual bool setXOrgLayout ( int, int, int, int, int ) = 0;
00056         virtual bool setRelative ( int, int, int, int ) = 0;
00057         virtual bool removeRelative ( int ) = 0;
00058 
00059         public:
00060         virtual int getMultiheadMode ( void ) = 0;
00061         virtual QList<QString> getXOrgLayout  ( int ) = 0;
00062         virtual QList<QString> getInputLayout ( void ) = 0;
00063         virtual void addInputLayout    ( int ) = 0;
00064         virtual void removeInputLayout ( int ) = 0;
00065 
00066         public:
00067         virtual ~SaXManipulateLayoutIF ( void ) { }
00068 };
00069 //====================================
00070 // Class SaXManipulateLayout...
00071 //------------------------------------
00132 class SaXManipulateLayout : public SaXManipulateLayoutIF {
00133         private:
00134         SaXImport* mLayout;
00135         SaXImport* mCard;
00136 
00137         public:
00138         void setXOrgMultiheadMode ( int );
00139         bool setXOrgLayout ( int, int, int, int, int );
00140         bool setRelative ( int, int, int, int );
00141         bool removeRelative ( int );
00142 
00143 
00144         public:
00145         int getMultiheadMode ( void );
00146         QList<QString> getXOrgLayout  ( int );
00147         QList<QString> getInputLayout ( void );
00148         void addInputLayout    ( int );
00149         void removeInputLayout ( int );
00150 
00151         public:
00152         SaXManipulateLayout ( SaXImport*,SaXImport* );
00153 };
00154 } // end namespace
00155 #endif

Generated on Mon Jan 7 17:25:36 2008 for libsax by  doxygen 1.4.6