lib/util/configwidgetproxy.h
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 Copyright (C) 2004 Jens Dagerbo <jens.dagerbo@swipnet.se> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 Boston, MA 02111-1307, USA. 00018 */ 00019 00020 #ifndef _CONFIGWIDGETPROXY_H 00021 #define _CONFIGWIDGETPROXY_H 00022 00023 #include <qobject.h> 00024 #include <qstring.h> 00025 #include <qmap.h> 00026 00027 class KDevCore; 00028 class KDialogBase; 00029 00064 class ConfigWidgetProxy : public QObject 00065 { 00066 Q_OBJECT 00067 00068 public: 00069 ConfigWidgetProxy( KDevCore * core ); 00070 virtual ~ConfigWidgetProxy(); 00071 00077 void createGlobalConfigPage( QString const & title, unsigned int pagenumber ); 00078 00084 void createProjectConfigPage( QString const & title, unsigned int pagenumber ); 00085 00090 void removeConfigPage( int pagenumber ); 00091 00092 signals: 00099 void insertConfigWidget( const KDialogBase * dlg, QWidget * page, unsigned int pagenumber ); 00100 00101 private slots: 00102 void slotConfigWidget( KDialogBase * ); 00103 void slotProjectConfigWidget( KDialogBase * ); 00104 void slotConfigWidgetDestroyed(); 00105 void slotAboutToShowPage( QWidget * page ); 00106 00107 private: 00108 typedef QMap<unsigned int, QString> TitleMap; 00109 typedef QMap<QWidget*, int> PageMap; 00110 00111 TitleMap _globalTitleMap; 00112 TitleMap _projectTitleMap; 00113 PageMap _pageMap; 00114 }; 00115 00116 #endif 00117 00118 // kate: space-indent off; indent-width 4; replace-tabs off; tab-width 4;