From 61700c16e1bde0dc1caa398f3fc80e5ce626d45c Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Thu, 14 Apr 2011 13:32:30 +0200 Subject: [PATCH] projectexplorer: s/IPropertiesPanel/PropertiesPanel. No need for subclassing. --- .../buildsettingspropertiespage.cpp | 39 +++---------------- .../buildsettingspropertiespage.h | 20 +--------- .../projectexplorer/dependenciespanel.cpp | 38 +++--------------- .../projectexplorer/dependenciespanel.h | 16 +------- .../editorsettingspropertiespage.cpp | 34 +++------------- .../editorsettingspropertiespage.h | 18 +-------- .../projectexplorer/iprojectproperties.h | 33 ++++++++++------ src/plugins/projectexplorer/projectwindow.cpp | 6 +-- src/plugins/projectexplorer/projectwindow.h | 8 ++-- .../runsettingspropertiespage.cpp | 38 +++--------------- .../runsettingspropertiespage.h | 18 +-------- .../projectexplorer/targetsettingspanel.cpp | 4 +- 12 files changed, 59 insertions(+), 213 deletions(-) diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp index e23d4d3a242..5c20acd3096 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp @@ -76,40 +76,13 @@ bool BuildSettingsPanelFactory::supports(Target *target) return target->buildConfigurationFactory(); } -IPropertiesPanel *BuildSettingsPanelFactory::createPanel(Target *target) +PropertiesPanel *BuildSettingsPanelFactory::createPanel(Target *target) { - return new BuildSettingsPanel(target); -} - - -/// -// BuildSettingsPanel -/// - -BuildSettingsPanel::BuildSettingsPanel(Target *target) : - m_widget(new BuildSettingsWidget(target)), - m_icon(":/projectexplorer/images/BuildSettings.png") -{ -} - -BuildSettingsPanel::~BuildSettingsPanel() -{ - delete m_widget; -} - -QString BuildSettingsPanel::displayName() const -{ - return QCoreApplication::translate("BuildSettingsPanel", "Build Settings"); -} - -QWidget *BuildSettingsPanel::widget() const -{ - return m_widget; -} - -QIcon BuildSettingsPanel::icon() const -{ - return m_icon; + PropertiesPanel *panel = new PropertiesPanel; + panel->setWidget(new BuildSettingsWidget(target)); + panel->setIcon(QIcon(":/projectexplorer/images/BuildSettings.png")); + panel->setDisplayName(QCoreApplication::translate("BuildSettingsPanel", "Build Settings")); + return panel; } /// diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.h b/src/plugins/projectexplorer/buildsettingspropertiespage.h index 689aa81d60c..f34664179b1 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.h +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.h @@ -62,23 +62,7 @@ public: QString displayName() const; bool supports(Target *target); - IPropertiesPanel *createPanel(Target *target); -}; - -class BuildSettingsWidget; - -class BuildSettingsPanel : public IPropertiesPanel -{ -public: - BuildSettingsPanel(Target *target); - ~BuildSettingsPanel(); - QString displayName() const; - QWidget *widget() const; - QIcon icon() const; - -private: - BuildSettingsWidget *m_widget; - const QIcon m_icon; + PropertiesPanel *createPanel(Target *target); }; class BuildConfigurationsWidget; @@ -111,7 +95,7 @@ private slots: private: void cloneConfiguration(BuildConfiguration *toClone); void deleteConfiguration(BuildConfiguration *toDelete); - QString uniqueName(const QString & name); + QString uniqueName(const QString &name); Target *m_target; BuildConfiguration *m_buildConfiguration; diff --git a/src/plugins/projectexplorer/dependenciespanel.cpp b/src/plugins/projectexplorer/dependenciespanel.cpp index f03ad21fafe..7dbcfa813a5 100644 --- a/src/plugins/projectexplorer/dependenciespanel.cpp +++ b/src/plugins/projectexplorer/dependenciespanel.cpp @@ -256,36 +256,6 @@ DependenciesWidget::DependenciesWidget(SessionManager *session, layout->addSpacerItem(new QSpacerItem(0, 0 , QSizePolicy::Expanding, QSizePolicy::Fixed)); } -// -// DependenciesPanel -// - -DependenciesPanel::DependenciesPanel(SessionManager *session, Project *project) : - m_widget(new DependenciesWidget(session, project)), - m_icon(":/projectexplorer/images/ProjectDependencies.png") -{ -} - -DependenciesPanel::~DependenciesPanel() -{ - delete m_widget; -} - -QString DependenciesPanel::displayName() const -{ - return QCoreApplication::translate("DependenciesPanel", "Dependencies"); -} - -QWidget *DependenciesPanel::widget() const -{ - return m_widget; -} - -QIcon DependenciesPanel::icon() const -{ - return m_icon; -} - // // DependenciesPanelFactory // @@ -311,9 +281,13 @@ bool DependenciesPanelFactory::supports(Project *project) return true; } -IPropertiesPanel *DependenciesPanelFactory::createPanel(Project *project) +PropertiesPanel *DependenciesPanelFactory::createPanel(Project *project) { - return new DependenciesPanel(m_session, project); + PropertiesPanel *panel = new PropertiesPanel; + panel->setWidget(new DependenciesWidget(m_session, project)); + panel->setIcon(QIcon(":/projectexplorer/images/ProjectDependencies.png")); + panel->setDisplayName(QCoreApplication::translate("DependenciesPanel", "Dependencies")); + return panel; } } // namespace Internal diff --git a/src/plugins/projectexplorer/dependenciespanel.h b/src/plugins/projectexplorer/dependenciespanel.h index 3ed68ad111d..5890e10de1b 100644 --- a/src/plugins/projectexplorer/dependenciespanel.h +++ b/src/plugins/projectexplorer/dependenciespanel.h @@ -62,26 +62,12 @@ public: QString id() const; QString displayName() const; bool supports(Project *project); - IPropertiesPanel *createPanel(Project *project); + PropertiesPanel *createPanel(Project *project); private: SessionManager *m_session; }; -class DependenciesPanel : public IPropertiesPanel -{ -public: - DependenciesPanel(SessionManager *session, Project *project); - ~DependenciesPanel(); - QString displayName() const; - QWidget *widget() const; - QIcon icon() const; - -private: - DependenciesWidget *m_widget; - const QIcon m_icon; -}; - // // DependenciesModel // diff --git a/src/plugins/projectexplorer/editorsettingspropertiespage.cpp b/src/plugins/projectexplorer/editorsettingspropertiespage.cpp index c67fd604c96..660cd7b4c48 100644 --- a/src/plugins/projectexplorer/editorsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/editorsettingspropertiespage.cpp @@ -55,35 +55,13 @@ bool EditorSettingsPanelFactory::supports(Project *project) return true; } -IPropertiesPanel *EditorSettingsPanelFactory::createPanel(Project *project) +PropertiesPanel *EditorSettingsPanelFactory::createPanel(Project *project) { - return new EditorSettingsPanel(project); -} - -EditorSettingsPanel::EditorSettingsPanel(Project *project) : - m_widget(new EditorSettingsWidget(project)), - m_icon(":/projectexplorer/images/EditorSettings.png") -{ -} - -EditorSettingsPanel::~EditorSettingsPanel() -{ - delete m_widget; -} - -QString EditorSettingsPanel::displayName() const -{ - return QCoreApplication::translate("EditorSettingsPanel", "Editor Settings"); -} - -QWidget *EditorSettingsPanel::widget() const -{ - return m_widget; -} - -QIcon EditorSettingsPanel::icon() const -{ - return m_icon; + PropertiesPanel *panel = new PropertiesPanel; + panel->setDisplayName(QCoreApplication::translate("EditorSettingsPanel", "Editor Settings")); + panel->setWidget(new EditorSettingsWidget(project)), + panel->setIcon(QIcon(":/projectexplorer/images/EditorSettings.png")); + return panel; } EditorSettingsWidget::EditorSettingsWidget(Project *project) : QWidget(), m_project(project) diff --git a/src/plugins/projectexplorer/editorsettingspropertiespage.h b/src/plugins/projectexplorer/editorsettingspropertiespage.h index a26994b2f7a..0ef493f2338 100644 --- a/src/plugins/projectexplorer/editorsettingspropertiespage.h +++ b/src/plugins/projectexplorer/editorsettingspropertiespage.h @@ -49,26 +49,10 @@ class EditorSettingsPanelFactory : public IProjectPanelFactory public: QString id() const; QString displayName() const; - IPropertiesPanel *createPanel(Project *project); + PropertiesPanel *createPanel(Project *project); bool supports(Project *project); }; -class EditorSettingsWidget; - -class EditorSettingsPanel : public IPropertiesPanel -{ -public: - EditorSettingsPanel(Project *project); - ~EditorSettingsPanel(); - QString displayName() const; - QWidget *widget() const; - QIcon icon() const; - -private: - EditorSettingsWidget *m_widget; - const QIcon m_icon; -}; - class EditorSettingsWidget : public QWidget { Q_OBJECT diff --git a/src/plugins/projectexplorer/iprojectproperties.h b/src/plugins/projectexplorer/iprojectproperties.h index 2665c124a3f..ef04c062792 100644 --- a/src/plugins/projectexplorer/iprojectproperties.h +++ b/src/plugins/projectexplorer/iprojectproperties.h @@ -36,8 +36,8 @@ #include "projectexplorer_export.h" #include <QtCore/QObject> - -QT_FORWARD_DECLARE_CLASS(QIcon) +#include <QtGui/QIcon> +#include <QtGui/QWidget> namespace ProjectExplorer { class Project; @@ -47,17 +47,26 @@ namespace Constants { const int PANEL_LEFT_MARGIN = 70; } -class PROJECTEXPLORER_EXPORT IPropertiesPanel +class PROJECTEXPLORER_EXPORT PropertiesPanel { + Q_DISABLE_COPY(PropertiesPanel) + public: - IPropertiesPanel() - { } - virtual ~IPropertiesPanel() - { } + PropertiesPanel() {} + ~PropertiesPanel() { delete m_widget; } - virtual QString displayName() const = 0; - virtual QIcon icon() const = 0; - virtual QWidget *widget() const = 0; + QString displayName() const { return m_displayName; } + QIcon icon() const { return m_icon; } + QWidget *widget() const { return m_widget; } + + void setDisplayName(const QString &name) { m_displayName = name; } + void setIcon(const QIcon &icon) { m_icon = icon; } + void setWidget(QWidget *widget) { m_widget = widget; } + +private: + QString m_displayName; + QWidget *m_widget; + QIcon m_icon; }; class PROJECTEXPLORER_EXPORT IPanelFactory : public QObject @@ -73,7 +82,7 @@ class PROJECTEXPLORER_EXPORT IProjectPanelFactory : public IPanelFactory Q_OBJECT public: virtual bool supports(Project *project) = 0; - virtual IPropertiesPanel *createPanel(Project *project) = 0; + virtual PropertiesPanel *createPanel(Project *project) = 0; }; class PROJECTEXPLORER_EXPORT ITargetPanelFactory : public IPanelFactory @@ -81,7 +90,7 @@ class PROJECTEXPLORER_EXPORT ITargetPanelFactory : public IPanelFactory Q_OBJECT public: virtual bool supports(Target *target) = 0; - virtual IPropertiesPanel *createPanel(Target *target) = 0; + virtual PropertiesPanel *createPanel(Target *target) = 0; }; } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index c9f81ea1387..41dda128ac7 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -162,7 +162,7 @@ PanelsWidget::~PanelsWidget() * | widget (with contentsmargins adjusted!) | * +--------+-------------------------------------------+ BELOW_CONTENTS_MARGIN */ -void PanelsWidget::addPropertiesPanel(IPropertiesPanel *panel) +void PanelsWidget::addPropertiesPanel(PropertiesPanel *panel) { QTC_ASSERT(panel, return); @@ -200,7 +200,7 @@ void PanelsWidget::addPropertiesPanel(IPropertiesPanel *panel) addPanelWidget(panel, widgetRow); } -void PanelsWidget::addPanelWidget(IPropertiesPanel *panel, int row) +void PanelsWidget::addPanelWidget(PropertiesPanel *panel, int row) { QWidget *widget = panel->widget(); widget->setContentsMargins(Constants::PANEL_LEFT_MARGIN, @@ -436,7 +436,7 @@ void ProjectWindow::showProperties(int index, int subIndex) if (fac) { removeCurrentWidget(); - IPropertiesPanel *panel = 0; + PropertiesPanel *panel = 0; if (ITargetPanelFactory *ipf = qobject_cast<ITargetPanelFactory *>(fac)) panel = ipf->createPanel(project->activeTarget()); else if (IProjectPanelFactory *ipf = qobject_cast<IProjectPanelFactory *>(fac)) diff --git a/src/plugins/projectexplorer/projectwindow.h b/src/plugins/projectexplorer/projectwindow.h index 0b933e44ee2..26a5078566c 100644 --- a/src/plugins/projectexplorer/projectwindow.h +++ b/src/plugins/projectexplorer/projectwindow.h @@ -45,7 +45,7 @@ QT_END_NAMESPACE namespace ProjectExplorer { -class IPropertiesPanel; +class PropertiesPanel; class Project; class Target; class BuildConfiguration; @@ -62,12 +62,12 @@ public: PanelsWidget(QWidget *parent); ~PanelsWidget(); // Adds a widget - void addPropertiesPanel(IPropertiesPanel *panel); + void addPropertiesPanel(PropertiesPanel *panel); private: - void addPanelWidget(IPropertiesPanel *panel, int row); + void addPanelWidget(PropertiesPanel *panel, int row); - QList<IPropertiesPanel *> m_panels; + QList<PropertiesPanel *> m_panels; QGridLayout *m_layout; QWidget *m_root; }; diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp index d036a8870c3..68505107277 100644 --- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp @@ -89,39 +89,13 @@ bool RunSettingsPanelFactory::supports(Target *target) return true; } -IPropertiesPanel *RunSettingsPanelFactory::createPanel(Target *target) +PropertiesPanel *RunSettingsPanelFactory::createPanel(Target *target) { - return new RunSettingsPanel(target); -} - -/// -/// RunSettingsPanel -/// - -RunSettingsPanel::RunSettingsPanel(Target *target) : - m_widget(new RunSettingsWidget(target)), - m_icon(":/projectexplorer/images/RunSettings.png") -{ -} - -RunSettingsPanel::~RunSettingsPanel() -{ - delete m_widget; -} - -QString RunSettingsPanel::displayName() const -{ - return QCoreApplication::translate("RunSettingsPanel", "Run Settings"); -} - -QWidget *RunSettingsPanel::widget() const -{ - return m_widget; -} - -QIcon RunSettingsPanel::icon() const -{ - return m_icon; + PropertiesPanel *panel = new PropertiesPanel; + panel->setWidget(new RunSettingsWidget(target)); + panel->setIcon(QIcon(":/projectexplorer/images/RunSettings.png")); + panel->setDisplayName(QCoreApplication::translate("RunSettingsPanel", "Run Settings")); + return panel; } /// diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.h b/src/plugins/projectexplorer/runsettingspropertiespage.h index 122ab5eb2ff..1c7774fe692 100644 --- a/src/plugins/projectexplorer/runsettingspropertiespage.h +++ b/src/plugins/projectexplorer/runsettingspropertiespage.h @@ -61,7 +61,6 @@ namespace Ui { class RunSettingsPropertiesPage; } -class RunSettingsWidget; class BuildStepListWidget; class RunSettingsPanelFactory : public ITargetPanelFactory @@ -70,22 +69,7 @@ public: QString id() const; QString displayName() const; bool supports(Target *target); - IPropertiesPanel *createPanel(Target *target); -}; - -class RunSettingsPanel : public IPropertiesPanel -{ -public: - RunSettingsPanel(Target *target); - ~RunSettingsPanel(); - - QString displayName() const; - QWidget *widget() const; - QIcon icon() const; - -private: - RunSettingsWidget *m_widget; - QIcon m_icon; + PropertiesPanel *createPanel(Target *target); }; class RunSettingsWidget : public QWidget diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp index e6bcb8b582c..fba6071fa8f 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.cpp +++ b/src/plugins/projectexplorer/targetsettingspanel.cpp @@ -182,12 +182,12 @@ void TargetSettingsPanelWidget::currentTargetChanged(int targetIndex, int subInd foreach (ITargetPanelFactory *panelFactory, ExtensionSystem::PluginManager::instance()->getObjects<ITargetPanelFactory>()) { if (panelFactory->id() == QLatin1String(BUILDSETTINGS_PANEL_ID)) { - IPropertiesPanel *panel = panelFactory->createPanel(target); + PropertiesPanel *panel = panelFactory->createPanel(target); buildPanel->addPropertiesPanel(panel); continue; } if (panelFactory->id() == QLatin1String(RUNSETTINGS_PANEL_ID)) { - IPropertiesPanel *panel = panelFactory->createPanel(target); + PropertiesPanel *panel = panelFactory->createPanel(target); runPanel->addPropertiesPanel(panel); continue; } -- GitLab