ppdloader.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PPDLOADER_H
00021 #define PPDLOADER_H
00022
00023 #include <qvaluestack.h>
00024 #include <qstring.h>
00025 #include <qstringlist.h>
00026 #include <qvariant.h>
00027 #include <qdict.h>
00028
00029 class DrGroup;
00030 class DrBase;
00031 class DrMain;
00032 struct PS_private;
00033
00034 class PPDLoader
00035 {
00036 public:
00037 PPDLoader();
00038 ~PPDLoader();
00039
00040 DrMain* readFromFile( const QString& filename );
00041
00042 bool openUi( const QString& name, const QString& desc, const QString& type );
00043 bool endUi( const QString& name );
00044 bool openGroup( const QString& name, const QString& desc );
00045 bool endGroup( const QString& name );
00046 bool putStatement( const QString& keyword, const QString& name, const QString& desc, const QStringList& values );
00047 bool putStatement2( const QString& keyword, const QString& value );
00048 bool putDefault( const QString& keyword, const QString& value );
00049 bool putConstraint( const QString& opt1, const QString& opt2, const QString& ch1, const QString& ch2 );
00050 bool putFooData( const QString& data );
00051 bool putFooProcessedData( const QVariant& var );
00052 bool putPaperDimension( const QString& name, const QString& s );
00053 bool putImageableArea( const QString& name, const QString& s );
00054
00055 void setErrorMsg( const QString& msg );
00056 QString errorMsg() const;
00057
00058 static DrMain* loadDriver( const QString& filename, QString* msg = NULL );
00059
00060 private:
00061 QValueStack<DrGroup*> m_groups;
00062 DrBase* m_option;
00063 QDict<PS_private> m_ps;
00064 QStringList m_fonts;
00065 QString m_errormsg;
00066
00067 friend int kdeprint_ppdparse(void*);
00068 DrGroup* findOrCreateGroupForOption( const QString& );
00069 void processPageSizes( DrMain* );
00070 };
00071
00072 #endif
This file is part of the documentation for kdeprint Library Version 3.3.0.