| # kdecore Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# kconfigdialogmanager.h

    00001 /*
    00002  *  This file is part of the KDE libraries
    00003  *  Copyright (C) 2003 Benjamin C Meyer (ben+kdelibs at meyerhome dot net)
    00004  *  Copyright (C) 2003 Waldo Bastian <bastian@kde.org>
    00005  *
    00006  *  This library is free software; you can redistribute it and/or
    00007  *  modify it under the terms of the GNU Library General Public
    00008  *  License as published by the Free Software Foundation; either
    00009  *  version 2 of the License, or (at your option) any later version.
    00010  *
    00011  *  This library is distributed in the hope that it will be useful,
    00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00014  *  Library General Public License for more details.
    00015  *
    00016  *  You should have received a copy of the GNU Library General Public License
    00017  *  along with this library; see the file COPYING.LIB.  If not, write to
    00018  *  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00019  *  Boston, MA 02111-1307, USA.
    00020  */
    00021 #ifndef KCONFIGDIALOGMANAGER_H
    00022 #define KCONFIGDIALOGMANAGER_H
    00023
    00024 #include <qobject.h>
    00025 #include <qptrlist.h>
    00026 #include "kdelibs_export.h"
    00027
    00028 class KConfigSkeleton;
    00029 class KConfigSkeletonItem;
    00030 class QWidget;
    00031 class QSqlPropertyMap;
    00032
    00078 class KDECORE_EXPORT KConfigDialogManager : public QObject {
    00079
    00080 Q_OBJECT
    00081
    00082 signals:
    00088   void settingsChanged();
    00089
    00097   void settingsChanged( QWidget *widget );
    00098
    00106   void widgetModified();
    00107
    00108
    00109 public:
    00110
    00117    KConfigDialogManager(QWidget *parent, KConfigSkeleton *conf, const char *name=0);
    00118
    00122   ~KConfigDialogManager();
    00123
    00128   void addWidget(QWidget *widget);
    00129
    00134   bool hasChanged();
    00135
    00140   bool isDefault();
    00141
    00142 public slots:
    00149   void updateSettings();
    00150
    00158   void updateWidgets();
    00159
    00166   void updateWidgetsDefault();
    00167
    00168 protected:
    00169
    00176   void init(bool trackChanges);
    00177
    00188   bool parseChildren(const QWidget *widget, bool trackChanges);
    00189
    00193   void setProperty(QWidget *w, const QVariant &v);
    00194
    00198   QVariant property(QWidget *w);
    00199
    00203   void setupWidget(QWidget *widget, KConfigSkeletonItem *item);
    00204
    00205 protected:
    00209   KConfigSkeleton *m_conf;
    00210
    00214   QWidget *m_dialog;
    00215
    00219   QSqlPropertyMap *propertyMap;
    00220
    00224   QMap<QString, QCString> changedMap;
    00225
    00226 private:
    00227   class Private;
    00231   Private *d;
    00232
    00233 };
    00234
    00235 #endif // KCONFIGDIALOGMANAGER_H
    00236

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:18:03 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003