compile
[kdegraphics.git] / okular / interfaces / printinterface.h
blobc11ec53babcb5725ac805c584dc59be6afe420b1
1 /***************************************************************************
2 * Copyright (C) 2007 by Pino Toscano <pino@kde.org> *
3 * *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
8 ***************************************************************************/
10 #ifndef _OKULAR_PRINTINTERFACE_H_
11 #define _OKULAR_PRINTINTERFACE_H_
13 #include <okular/core/okular_export.h>
15 #include <QtCore/QObject>
17 class QWidget;
19 namespace Okular {
21 /**
22 * @short Abstract interface for advanced printing control
24 * This interface defines an advanced way of interfacing with the print
25 * process.
27 * How to use it in a custom Generator:
28 * @code
29 class MyGenerator : public Okular::Generator, public Okular::PrintInterface
31 Q_OBJECT
32 Q_INTERFACES( Okular::PrintInterface )
34 ...
36 * @endcode
37 * and - of course - implementing its methods.
39 class OKULAR_EXPORT PrintInterface
41 public:
42 /**
43 * Destroys the printer interface.
45 virtual ~PrintInterface() {}
47 /**
48 * Builds and returns a new printing configuration widget.
50 * @note don't keep a pointer to the new constructed widget, as it
51 * will be handled elsewhere (in the Okular KPart)
53 virtual QWidget* printConfigurationWidget() const = 0;
58 Q_DECLARE_INTERFACE( Okular::PrintInterface, "org.kde.okular.PrintInterface/0.1" )
60 #endif