summaryrefslogtreecommitdiffstats
path: root/kdeprint/driver.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdeprint/driver.h')
-rw-r--r--kdeprint/driver.h383
1 files changed, 0 insertions, 383 deletions
diff --git a/kdeprint/driver.h b/kdeprint/driver.h
deleted file mode 100644
index 7064e5335..000000000
--- a/kdeprint/driver.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@swing.be>
- *
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License version 2 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- **/
-
-#ifndef DRIVER_H
-#define DRIVER_H
-
-#if !defined( _KDEPRINT_COMPILE ) && defined( __GNUC__ )
-#warning internal header, do not use except if you are a KDEPrint developer
-#endif
-
-#include <tqstring.h>
-#include <tqptrlist.h>
-#include <tqdict.h>
-#include <tqmap.h>
-#include <tqrect.h>
-#include <tqsize.h>
-
-#include <kdelibs_export.h>
-
-class DriverItem;
-class TQListView;
-
-/***********************
- * Forward definitions *
- ***********************/
-
-class DrBase;
-class DrMain;
-class DrGroup;
-class DrConstraint;
-class DrPageSize;
-
-/*************************************
- * Base class for all driver objects *
- *************************************/
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class KDEPRINT_EXPORT DrBase
-{
-public:
- enum Type { Base = 0, Main, ChoiceGroup, Group, String, Integer, Float, List, Boolean };
-
- DrBase();
- virtual ~DrBase();
-
- Type type() const { return m_type; }
- bool isOption() const { return (m_type >= DrBase::String); }
-
- const TQString& get(const TQString& key) const { return m_map[key]; }
- void set(const TQString& key, const TQString& val) { m_map[key] = val; }
- bool has(const TQString& key) const { return m_map.contains(key); }
- const TQString& name() const { return m_name; }
- void setName(const TQString& s) { m_name = s; }
- bool conflict() const { return m_conflict; }
- void setConflict(bool on) { m_conflict = on; }
-
- virtual TQString valueText();
- virtual TQString prettyText();
- virtual void setValueText(const TQString&);
- virtual DriverItem* createItem(DriverItem *parent, DriverItem *after = 0);
- virtual void setOptions(const TQMap<TQString,TQString>& opts);
- virtual void getOptions(TQMap<TQString,TQString>& opts, bool incldef = false);
- virtual DrBase* clone();
-
-protected:
- TQMap<TQString,TQString> m_map;
- QString m_name; // used as a search key, better to have defined directly
- Type m_type;
- bool m_conflict;
-};
-
-/**********************
- * Option group class *
- **********************/
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class KDEPRINT_EXPORT DrGroup : public DrBase
-{
-public:
- DrGroup();
- ~DrGroup();
-
- void addOption(DrBase *opt);
- void addGroup(DrGroup *grp);
- void addObject(DrBase *optgrp);
- void clearConflict();
- void removeOption(const TQString& name);
- void removeGroup(DrGroup *grp);
- bool isEmpty();
-
- virtual DriverItem* createItem(DriverItem *parent, DriverItem *after = 0);
- DrBase* findOption(const TQString& name, DrGroup **parentGroup = 0);
- DrGroup* findGroup(DrGroup *grp, DrGroup **parentGroup = 0);
- void setOptions(const TQMap<TQString,TQString>& opts);
- void getOptions(TQMap<TQString,TQString>& opts, bool incldef = false);
- DrBase* clone();
-
- const TQPtrList<DrGroup>& groups() { return m_subgroups; }
- const TQPtrList<DrBase>& options() { return m_listoptions; }
-
- static TQString groupForOption( const TQString& optname );
-
-protected:
- void createTree(DriverItem *parent);
- void flattenGroup(TQMap<TQString, DrBase*>&, int&);
-
-protected:
- TQPtrList<DrGroup> m_subgroups;
- TQDict<DrBase> m_options;
- TQPtrList<DrBase> m_listoptions; // keep track of order of appearance
-};
-
-/*********************
- * Main driver class *
- *********************/
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class KDEPRINT_EXPORT DrMain : public DrGroup
-{
-public:
- DrMain();
- ~DrMain();
-
- DriverItem* createTreeView(TQListView *parent);
- void addConstraint(DrConstraint *c) { m_constraints.append(c); }
- int checkConstraints();
- DrPageSize* findPageSize(const TQString& name) { return m_pagesizes.find(name); }
- void addPageSize(DrPageSize *sz);
- void removeOptionGlobally(const TQString& name);
- void removeGroupGlobally(DrGroup *grp);
- TQMap<TQString, DrBase*> flatten();
- DrMain* cloneDriver();
-
-protected:
- TQPtrList<DrConstraint> m_constraints;
- TQDict<DrPageSize> m_pagesizes;
-};
-
-/**********************************************************
- * Choice group class: a choice that involve a sub-option *
- **********************************************************/
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class DrChoiceGroup : public DrGroup
-{
-public:
- DrChoiceGroup();
- ~DrChoiceGroup();
-
- DriverItem* createItem(DriverItem *parent, DriverItem *after = 0);
-};
-
-/***********************
- * String option class *
- ***********************/
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class KDEPRINT_EXPORT DrStringOption : public DrBase
-{
-public:
- DrStringOption();
- ~DrStringOption();
-
- virtual TQString valueText();
- virtual void setValueText(const TQString& s);
-
-protected:
- QString m_value;
-};
-
-/**********************************
- * Integer numerical option class *
- **********************************/
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class KDEPRINT_EXPORT DrIntegerOption : public DrBase
-{
-public:
- DrIntegerOption();
- ~DrIntegerOption();
-
- virtual TQString valueText();
- virtual void setValueText(const TQString& s);
- TQString fixedVal();
-
-protected:
- int m_value;
-};
-
-/********************************
- * Float numerical option class *
- ********************************/
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class KDEPRINT_EXPORT DrFloatOption : public DrBase
-{
-public:
- DrFloatOption();
- ~DrFloatOption();
-
- virtual TQString valueText();
- virtual void setValueText(const TQString& s);
- TQString fixedVal();
-
-protected:
- float m_value;
-};
-
-/***********************
- * Single choice class *
- ***********************/
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class KDEPRINT_EXPORT DrListOption : public DrBase
-{
-public:
- DrListOption();
- ~DrListOption();
-
- void addChoice(DrBase *ch) { m_choices.append(ch); }
- TQPtrList<DrBase>* choices() { return &m_choices; }
- DrBase* currentChoice() const { return m_current; }
- DrBase* findChoice(const TQString& txt);
- void setChoice(int choicenum);
-
- virtual TQString valueText();
- virtual TQString prettyText();
- virtual void setValueText(const TQString& s);
- void setOptions(const TQMap<TQString,TQString>& opts);
- void getOptions(TQMap<TQString,TQString>& opts, bool incldef = false);
- DriverItem* createItem(DriverItem *parent, DriverItem *after = 0);
- DrBase* clone();
-
-protected:
- TQPtrList<DrBase> m_choices;
- DrBase *m_current;
-};
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class KDEPRINT_EXPORT DrBooleanOption : public DrListOption
-{
- /* just an overloaded class, with different type */
-public:
- DrBooleanOption() : DrListOption() { m_type = DrBase::Boolean; }
- ~DrBooleanOption() {}
-};
-
-/********************
- * Constraint class *
- ********************/
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class DrConstraint
-{
-public:
- DrConstraint(const TQString& o1, const TQString& o2, const TQString& c1 = TQString::null, const TQString& c2 = TQString::null);
- DrConstraint(const DrConstraint&);
-
- bool check(DrMain*);
-
-protected:
- QString m_opt1, m_opt2;
- QString m_choice1, m_choice2;
- DrListOption *m_option1, *m_option2;
-};
-
-/*******************
- * Page Size class *
- *******************/
-
-/**
- * @internal
- * This class is internal to KDEPrint and is not intended to be
- * used outside it. Please do not make use of this header, except
- * if you're a KDEPrint developer. The API might change in the
- * future and binary compatibility might be broken.
- */
-class DrPageSize
-{
-public:
- DrPageSize(const TQString& s, float width, float height, float left, float bottom, float right, float top);
- DrPageSize(const DrPageSize&);
-
- /**
- * All dimensions are int dot: 1/72th of an inch ( PostScript ).
- * When rounded, the rounding is made safely: upward for a margin,
- * downward for a page size.
- */
- float pageWidth() const { return m_width; }
- float pageHeight() const { return m_height; }
- float leftMargin() const { return m_left; }
- float rightMargin() const { return m_right; }
- float topMargin() const { return m_top; }
- float bottomMargin() const { return m_bottom; }
- TQString pageName() const { return m_name; }
-
- TQSize pageSize() const;
- TQRect pageRect() const;
- TQSize margins() const;
-
-protected:
- QString m_name;
- float m_width, m_height, m_left, m_bottom, m_right, m_top;
-};
-
-#endif