1/*
2 This file is part of libkresources.
3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
4 Copyright (c) 2002 Jan-Pascal van Best <janpascal@vanbest.org>
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details.
15
16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA.
20*/
21/**
22 @file
23 This file is part of the KDE resource framework and defines the
24 ConfigWidget abstract base class.
25
26 @author Tobias Koenig
27 @author Jan-Pascal van Best
28*/
29
30#ifndef KRESOURCES_CONFIGWIDGET_H
31#define KRESOURCES_CONFIGWIDGET_H
32
33#include <QWidget>
34
35#include <kconfig.h>
36
37#include "resource.h"
38
39namespace KRES {
40
41/**
42 @brief
43 An abstract base class for deriving resource configuration dialogs.
44
45 This class provides an abstract base class for configuration dialog.
46*/
47class KRESOURCES_DEPRECATED_EXPORT ConfigWidget : public QWidget
48{
49 Q_OBJECT
50 public:
51 explicit ConfigWidget( QWidget *parent = 0 );
52
53 /**
54 Sets the widget to 'edit' mode. Reimplement this method if you are
55 interested in the mode change (to disable some GUI element for
56 example). By default the widget is in 'create new' mode.
57 */
58 virtual void setInEditMode( bool value );
59
60 public Q_SLOTS:
61 virtual void loadSettings( Resource *resource ) = 0;
62 virtual void saveSettings( Resource *resource ) = 0;
63
64 Q_SIGNALS:
65 void setReadOnly( bool value );
66
67 protected:
68 Resource *mResource;
69};
70
71}
72#endif
73