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
#include <kdelibs_export.h>
00030
00031
class DrGroup;
00032
class DrBase;
00033
class DrMain;
00034
struct PS_private;
00035
00036
class KDEPRINT_EXPORT PPDLoader
00037 {
00038
public:
00039 PPDLoader();
00040 ~PPDLoader();
00041
00042 DrMain* readFromFile(
const QString& filename );
00043
00044
bool openUi(
const QString& name,
const QString& desc,
const QString& type );
00045
bool endUi(
const QString& name );
00046
bool openGroup(
const QString& name,
const QString& desc );
00047
bool endGroup(
const QString& name );
00048
bool putStatement(
const QString& keyword,
const QString& name,
const QString& desc,
const QStringList& values );
00049
bool putStatement2(
const QString& keyword,
const QString& value );
00050
bool putDefault(
const QString& keyword,
const QString& value );
00051
bool putConstraint(
const QString& opt1,
const QString& opt2,
const QString& ch1,
const QString& ch2 );
00052
bool putFooData(
const QString& data );
00053
bool putFooProcessedData(
const QVariant& var );
00054
bool putPaperDimension(
const QString& name,
const QString& s );
00055
bool putImageableArea(
const QString& name,
const QString& s );
00056
00057
void setErrorMsg(
const QString& msg );
00058
QString errorMsg() const;
00059
00060 static DrMain* loadDriver( const
QString& filename,
QString* msg = NULL );
00061
00062 private:
00063
QValueStack<DrGroup*> m_groups;
00064 DrBase* m_option;
00065
QDict<PS_private> m_ps;
00066
QStringList m_fonts;
00067
QString m_errormsg;
00068
00069 friend
int kdeprint_ppdparse(
void*);
00070 DrGroup* findOrCreateGroupForOption( const
QString& );
00071
void processPageSizes( DrMain* );
00072 };
00073
00074 #endif
This file is part of the documentation for kdeprint Library Version 3.4.0.