Update of /cvsroot/compbench/CompBenchmarks++/Qt-4/CompilerOption
In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv15743
Added Files:
CompilerOptionInfo.cpp CompilerOptionInfo.h
Log Message:
First import.
--- NEW FILE: CompilerOptionInfo.h ---
#ifndef H_CQT_COMPILEROPTIONINFO
#define H_CQT_COMPILEROPTIONINFO
#include <QTabWidget>
#include <Basic/Info.h>
#include <Compiler/Compiler.h>
// #include <Compiler/Compiler-Option.h>
#include <Compiler/Compiler-Option-Description.h>
namespace CQT {
class CompilerOptionInfo : public QTabWidget
{
Q_OBJECT
private:
CBM::Compiler *compiler;
CBM::CompilerOptionDescription *D;
QLineEdit *compilerName;
QLineEdit *optionString;
QLineEdit *shortDescription;
QTextEdit *editorDescription;
QLineEdit *passCompilation;
QLineEdit *passCompilationFirstOption;
QLineEdit *compilerDescriptionDirectory;
protected:
virtual void updateForOption(std::string _option);
protected slots:
public:
CompilerOptionInfo(std::string _option,
QWidget *parent = 0);
virtual ~CompilerOptionInfo();
};
}
#endif
--- NEW FILE: CompilerOptionInfo.cpp ---
#include <Basic/Info.h>
#include <main.h>
#include <CompilerOption/CompilerOptionInfo.h>
using namespace CQT;
CompilerOptionInfo::CompilerOptionInfo(std::string _option, QWidget *parent)
: QTabWidget(parent)
{
compiler=App->PlanCompilerSelected();
InfoTab *main = new InfoTab();
addTab(main, tr("Option"));
setTabToolTip(0, tr("General information found about selected option"));
if (!compiler) {
QLabel *l = new QLabel(tr("No compiler selected"));
main->Layout()->addWidget(l, 0, 0);
return;
}
CBM::CompilerOptionDescriptions *OD = compiler->OptionDescriptions();
D=OD->DescriptionLitteral(_option);
compilerName=main->addInfo(tr("Compiler :").toStdString(), "");
compilerName->setToolTip(tr("Compiler's name"));
optionString=main->addInfo(tr("Option :").toStdString(), "");
optionString->setToolTip(tr("Argument for option"));
shortDescription=main->addInfo(tr("Short description :").toStdString(), "");
shortDescription->setToolTip(tr("Option's short description"));
editorDescription=main->addText(tr("Editor's description :").toStdString(), "");
editorDescription->setToolTip(tr("Description from compiler's editor"));
main->addSpace();
if (D->CompilationTwoPassNeeded()) {
InfoTab *mpass = new InfoTab();
addTab(mpass, tr("Multiple passes"));
passCompilation=mpass->addInfo(tr("Pass number :").toStdString(), "");
passCompilation->setToolTip(tr("If option implies or is implied multiple compilations, shows which compilation number is associated to option"));
if (D->CompilationPass()==2) {
passCompilationFirstOption=mpass->addInfo(tr("First pass option :").toStdString(),
"");
passCompilationFirstOption->setToolTip(tr("Compilation option needed in first pass"));
}
mpass->addSpace();
}
InfoTab *meta = new InfoTab();
addTab(meta, tr("Meta-information"));
setTabToolTip(1, tr("Informations from CompBenchmarks knowledge-base for selected compiler"));
compilerDescriptionDirectory=meta->addInfo(tr("Nearest compatible branch :").toStdString(),
"");
meta->addSpace();
updateForOption(_option);
}
void CompilerOptionInfo::updateForOption(std::string _option)
{
compilerName->setText(compiler->Name().c_str());
compilerDescriptionDirectory->setText(compiler->relativeDescriptionDirectory().c_str());
if (D) {
optionString->setText(_option.c_str());
shortDescription->setText(D->ShortDescription().c_str());
editorDescription->setText(D->EditorDescription().c_str());
if (D->CompilationTwoPassNeeded()) {
QString n;
n.setNum(D->CompilationPass());
passCompilation->setText(n);
if (D->CompilationPass()==2) {
passCompilationFirstOption->setText(compiler->OptionDescriptions()->Description(D->CompilationFirstPassOption())->Option().c_str());
}
}
} else {
optionString->setText("");
shortDescription->setText("");
editorDescription->setText("");
}
/* QString n;
n.setNum(OD->DescriptionNumber());
*/
}
CompilerOptionInfo::~CompilerOptionInfo()
{
}
|