kutils Library API Documentation

kcmultidialog.h

00001 /* 00002 Copyright (c) 2000 Matthias Elter <elter@kde.org> 00003 Copyright (c) 2003 Daniel Molkentin <molkentin@kde.org> 00004 Copyright (c) 2003 Matthias Kretz <kretz@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 */ 00022 00023 #ifndef KCMULTIDIALOG_H 00024 #define KCMULTIDIALOG_H 00025 00026 #include <qptrdict.h> 00027 00028 #include <kdialogbase.h> 00029 #include <kservice.h> 00030 #include <klocale.h> 00031 00032 class KCModuleProxy; 00033 class KCModuleInfo; 00034 00042 class KCMultiDialog : public KDialogBase 00043 { 00044 Q_OBJECT 00045 00046 public: 00054 KCMultiDialog( QWidget *parent=0, const char *name=0, bool modal=false ); 00055 00069 KCMultiDialog( int dialogFace, const QString & caption, QWidget * parent = 0, const char * name = 0, bool modal = false ); 00070 00071 00095 KCMultiDialog( int dialogFace, const KGuiItem &user2, 00096 const KGuiItem &user3=KGuiItem(), int buttonMask=User2, 00097 const QString &caption=i18n("Configure"), QWidget *parent=0, 00098 const char *name=0, bool modal=false ); 00099 00103 virtual ~KCMultiDialog(); 00104 00114 void addModule(const QString& module, bool withfallback=true); 00115 00131 void addModule(const KCModuleInfo& moduleinfo, QStringList 00132 parentmodulenames = QStringList(), bool withfallback=false); 00133 00137 void removeAllModules(); 00138 00143 void show(); 00144 00145 signals: 00152 void configCommitted(); 00153 00169 void configCommitted( const QCString & instanceName ); 00170 00171 protected slots: 00178 virtual void slotDefault(); 00179 00186 virtual void slotUser1(); 00187 00194 virtual void slotApply(); 00195 00202 virtual void slotOk(); 00203 00210 virtual void slotHelp(); 00211 00212 private slots: 00213 00214 void slotAboutToShow(QWidget *); 00215 00216 void clientChanged(bool state); 00217 00218 private: 00219 void init(); 00220 void apply(); 00221 00222 struct CreatedModule 00223 { 00224 KCModuleProxy * kcm; 00225 KService::Ptr service; 00226 }; 00227 typedef QValueList<CreatedModule> ModuleList; 00228 ModuleList m_modules; 00229 00230 typedef QMap<KService::Ptr, KCModuleProxy*> OrphanMap; 00231 OrphanMap m_orphanModules; 00232 00233 QPtrDict<QStringList> moduleParentComponents; 00234 QString _docPath; 00235 int dialogface; 00236 00237 // For future use 00238 class KCMultiDialogPrivate; 00239 KCMultiDialogPrivate *d; 00240 }; 00241 00242 #endif //KCMULTIDIALOG_H 00243 00244 // vim: sw=4 sts=4 et
KDE Logo
This file is part of the documentation for kutils Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Aug 20 09:49:43 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003