Subversion Repositories Scribus

Rev

Rev 4631 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4430 cbradney 1
/*
2
For general Scribus (>=1.3.2) copyright and licensing information please refer
3
to the COPYING file provided with the program. Following this notice may exist
4
a copyright and/or license notice that predates the release of Scribus 1.3.2
5
for which a new license (GPL+exception) is in place.
6
*/
3215 craig 7
#ifndef PREFSPANEL_H
8
#define PREFSPANEL_H
9
 
3213 craig 10
#include <qwidget.h>
4631 cbradney 11
#include "scribusapi.h"
3213 craig 12
 
13
/**
14
 * \brief A base class for all preferences panels.
15
 *
16
 * This class provides a simple interface for prefs panel widgets.
17
 * They must provide an apply() slot that applies any changes to
18
 * the app, and they must NOT apply any changes until and unless
19
 * this slot is called.
20
 */
21
class SCRIBUS_API PrefsPanel : public QWidget
22
{
23
        Q_OBJECT
24
 
25
        public:
5074 cbradney 26
                PrefsPanel(QWidget* parent, const char* name);
27
                virtual ~PrefsPanel();
3213 craig 28
 
29
        public slots:
30
                /**
31
                 * \brief applies changes made to prefs to the app.
32
                 *
33
                 * All subclasses MUST override this.
34
                 *
35
                 * This slot may be called multiple times, once, or not at all;
36
                 * no assumptions should be made.
37
                 */
38
                virtual void apply() = 0;
39
};
3215 craig 40
 
41
#endif