logic: added C/C++ project setup from Code::Blocks

* also changed xml elements in sourcegroup settings that specify the used language standard, so that one sourcegroup can maintain multiple language standards
* added migration and migrated sample projects
This commit is contained in:
mlangkabel
2018-06-08 12:10:38 +02:00
parent ce0a8a6444
commit 704808b26f
86 changed files with 2376 additions and 543 deletions
@@ -0,0 +1,60 @@
#include "qt/window/project_wizzard/QtProjectWizzardContentJavaStandard.h"
#include <QComboBox>
#include <QLabel>
#include "settings/SourceGroupSettingsWithJavaStandard.h"
QtProjectWizzardContentJavaStandard::QtProjectWizzardContentJavaStandard(
std::shared_ptr<SourceGroupSettingsWithJavaStandard> sourceGroupSettings,
QtProjectWizzardWindow* window
)
: QtProjectWizzardContent(window)
, m_sourceGroupSettings(sourceGroupSettings)
, m_standard(nullptr)
{
}
void QtProjectWizzardContentJavaStandard::populate(QGridLayout* layout, int& row)
{
if (!isInForm())
{
layout->setRowMinimumHeight(row, 15);
row++;
}
m_standard = new QComboBox();
layout->addWidget(createFormLabel("Java Standard"), row, QtProjectWizzardWindow::FRONT_COL, Qt::AlignRight);
layout->addWidget(m_standard, row, QtProjectWizzardWindow::BACK_COL, Qt::AlignLeft);
row++;
if (!isInForm())
{
layout->setRowMinimumHeight(row, 15);
layout->setRowStretch(row, 1);
}
}
void QtProjectWizzardContentJavaStandard::load()
{
m_standard->clear();
if (m_sourceGroupSettings)
{
std::vector<std::string> standards = m_sourceGroupSettings->getAvailableJavaStandards();
for (size_t i = 0; i < standards.size(); i++)
{
m_standard->insertItem(i, standards[i].c_str());
}
m_standard->setCurrentText(QString::fromStdString(m_sourceGroupSettings->getJavaStandard()));
}
}
void QtProjectWizzardContentJavaStandard::save()
{
if (m_sourceGroupSettings)
{
m_sourceGroupSettings->setJavaStandard(m_standard->currentText().toStdString());
}
}