Step2::Step2(Wizard *wizard,const QHash<QString,Input*> &modelData)
: m_wizard(wizard), m_modelData(modelData)
{
QRadioButton *r;
QVBoxLayout *layout = new QVBoxLayout(this);
//---------------------------------------------------
m_extractModeGroup = new QButtonGroup(this);
m_extractMode = new QGroupBox(this);
m_extractMode->setTitle(tr("Select the desired extraction mode:"));
QGridLayout *gbox = new QGridLayout( m_extractMode );
r = new QRadioButton(tr("Documented entities only"));
r->setChecked(true);
m_extractModeGroup->addButton(r, 0);
gbox->addWidget(r,1,0);
// 1 -> EXTRACT_ALL = NO
r = new QRadioButton(tr("All Entities"));
m_extractModeGroup->addButton(r, 1);
gbox->addWidget(r,2,0);
// 2 -> EXTRACT_ALL = YES
m_crossRef = new QCheckBox(m_extractMode);
m_crossRef->setText(tr("Include cross-referenced source code in the output"));
// m_crossRef -> SOURCE_BROWSER = YES/NO
gbox->addWidget(m_crossRef,3,0);
layout->addWidget(m_extractMode);
//---------------------------------------------------
QFrame *f = new QFrame( this );
f->setFrameStyle( QFrame::HLine | QFrame::Sunken );
layout->addWidget(f);
m_optimizeLangGroup = new QButtonGroup(this);
m_optimizeLang = new QGroupBox(this);
m_optimizeLang->setTitle(tr("Select programming language to optimize the results for"));
gbox = new QGridLayout( m_optimizeLang );
r = new QRadioButton(m_optimizeLang);
r->setText(tr("Optimize for C++ output"));
r->setChecked(true);
m_optimizeLangGroup->addButton(r, 0);
// 0 -> OPTIMIZE_OUTPUT_FOR_C = NO
// OPTIMIZE_OUTPUT_JAVA = NO
// OPTIMIZE_FOR_FORTRAN = NO
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = NO
// OPTIMIZE_OUTPUT_SLICE = NO
gbox->addWidget(r,0,0);
r = new QRadioButton(tr("Optimize for C++/CLI output"));
gbox->addWidget(r,1,0);
m_optimizeLangGroup->addButton(r, 1);
// 1 -> OPTIMIZE_OUTPUT_FOR_C = NO
// OPTIMIZE_OUTPUT_JAVA = NO
// OPTIMIZE_FOR_FORTRAN = NO
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = YES
// HIDE_SCOPE_NAMES = NO
// OPTIMIZE_OUTPUT_SLICE = NO
r = new QRadioButton(tr("Optimize for Java or C# output"));
m_optimizeLangGroup->addButton(r, 2);
// 2 -> OPTIMIZE_OUTPUT_FOR_C = NO
// OPTIMIZE_OUTPUT_JAVA = YES
// OPTIMIZE_FOR_FORTRAN = NO
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = NO
// OPTIMIZE_OUTPUT_SLICE = NO
gbox->addWidget(r,2,0);
r = new QRadioButton(tr("Optimize for C or PHP output"));
m_optimizeLangGroup->addButton(r, 3);
// 3 -> OPTIMIZE_OUTPUT_FOR_C = YES
// OPTIMIZE_OUTPUT_JAVA = NO
// OPTIMIZE_FOR_FORTRAN = NO
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = YES
// OPTIMIZE_OUTPUT_SLICE = NO
gbox->addWidget(r,3,0);
r = new QRadioButton(tr("Optimize for Fortran output"));
m_optimizeLangGroup->addButton(r, 4);
// 4 -> OPTIMIZE_OUTPUT_FOR_C = NO
// OPTIMIZE_OUTPUT_JAVA = NO
// OPTIMIZE_FOR_FORTRAN = YES
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = NO
// OPTIMIZE_OUTPUT_SLICE = NO
gbox->addWidget(r,4,0);
r = new QRadioButton(tr("Optimize for VHDL output"));
m_optimizeLangGroup->addButton(r, 5);
// 5 -> OPTIMIZE_OUTPUT_FOR_C = NO
// OPTIMIZE_OUTPUT_JAVA = NO
// OPTIMIZE_FOR_FORTRAN = NO
// OPTIMIZE_OUTPUT_VHDL = YES
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = NO
// OPTIMIZE_OUTPUT_SLICE = NO
gbox->addWidget(r,5,0);
r = new QRadioButton(tr("Optimize for SLICE output"));
m_optimizeLangGroup->addButton(r, 6);
// 5 -> OPTIMIZE_OUTPUT_FOR_C = NO
// OPTIMIZE_OUTPUT_JAVA = NO
// OPTIMIZE_FOR_FORTRAN = NO
// OPTIMIZE_OUTPUT_VHDL = NO
// CPP_CLI_SUPPORT = NO
// HIDE_SCOPE_NAMES = NO
// OPTIMIZE_OUTPUT_SLICE = YES
gbox->addWidget(r,6,0);