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;
}
///
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;
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;
}
//
-// 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
//
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
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
//
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)
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
#include "projectexplorer_export.h"
#include <QtCore/QObject>
-
-QT_FORWARD_DECLARE_CLASS(QIcon)
+#include <QtGui/QIcon>
+#include <QtGui/QWidget>
namespace ProjectExplorer {
class Project;
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
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
Q_OBJECT
public:
virtual bool supports(Target *target) = 0;
- virtual IPropertiesPanel *createPanel(Target *target) = 0;
+ virtual PropertiesPanel *createPanel(Target *target) = 0;
};
} // namespace ProjectExplorer
* | widget (with contentsmargins adjusted!) |
* +--------+-------------------------------------------+ BELOW_CONTENTS_MARGIN
*/
-void PanelsWidget::addPropertiesPanel(IPropertiesPanel *panel)
+void PanelsWidget::addPropertiesPanel(PropertiesPanel *panel)
{
QTC_ASSERT(panel, return);
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,
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))
namespace ProjectExplorer {
-class IPropertiesPanel;
+class PropertiesPanel;
class Project;
class Target;
class BuildConfiguration;
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;
};
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;
}
///
class RunSettingsPropertiesPage;
}
-class RunSettingsWidget;
class BuildStepListWidget;
class RunSettingsPanelFactory : public ITargetPanelFactory
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
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;
}