[Compbench-devel] CompBenchmarks++/Qt-4/Plan PlanDefineBatch.cpp, 1.11, 1.12 PlanDefineBatch.h, 1.9
Brought to you by:
xfred
|
From: Frederic T. <xf...@us...> - 2007-09-13 18:18:37
|
Update of /cvsroot/compbench/CompBenchmarks++/Qt-4/Plan In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv24218 Modified Files: PlanDefineBatch.cpp PlanDefineBatch.h Log Message: Option groups can be registered. Index: PlanDefineBatch.cpp =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/Qt-4/Plan/PlanDefineBatch.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** PlanDefineBatch.cpp 12 Sep 2007 19:33:12 -0000 1.11 --- PlanDefineBatch.cpp 13 Sep 2007 18:18:34 -0000 1.12 *************** *** 44,47 **** --- 44,57 ---- addAction(QIcon(":/icons/remove.png"), tr("Remove option set"), this, SLOT(doOptionSetUnregister())); + + + if ((item->type()==PIOptionSet) || + (item->type()==PIOptions)) + addAction(QIcon(":/icons/add.png"), tr("Add options"), + this, SLOT(doOptionsRegister())); + + if (item->type()==PIOptions) + addAction(QIcon(":/icons/remove.png"), tr("Remove options"), + this, SLOT(doOptionsUnregister())); *************** *** 100,103 **** --- 110,139 ---- } + + + void PlanDefineBatchContextMenu::doOptionsRegister(void) + { + CBM::PlanBatch *B = item->Parent(PIPlanBatch)->Batch(); + + PlanDefineBatchListItem *OS = item; + + if ((B) && (OS)) + App->planOptionsRegister(B,OS->OptionSet()); + } + + void PlanDefineBatchContextMenu::doOptionsUnregister(void) + { + CBM::CompilerOptions *O = item->OptionsGroup(); + CBM::CompilerOptionSet *OS = item->Parent(PIOptionSet)->OptionSet(); + CBM::PlanBatch *B = item->Parent(PIPlanBatch)->Batch(); + + if ((B) && (OS) && (O)) + App->planOptionsUnregister(B, OS, O); + } + + + + + PlanDefineBatchContextMenu::~PlanDefineBatchContextMenu() { *************** *** 108,111 **** --- 144,148 ---- CompilerHolder(0), OptionSetHolder(0), + OptionsHolder(0), OptionHolder(0), BenchmarkHolder(0), *************** *** 137,140 **** --- 174,178 ---- CompilerHolder(0), OptionSetHolder(0), + OptionsHolder(0), OptionHolder(0), BenchmarkHolder(0), *************** *** 158,161 **** --- 196,200 ---- CompilerHolder(_compiler), OptionSetHolder(0), + OptionsHolder(0), OptionHolder(0), BenchmarkHolder(0), *************** *** 169,172 **** --- 208,225 ---- CompilerHolder(0), OptionSetHolder(_options), + OptionsHolder(0), + OptionHolder(0), + BenchmarkHolder(0), + PlanBatchHolder(0) + { + setFlags(Qt::ItemIsEditable | flags()); + } + + PlanDefineBatchListItem::PlanDefineBatchListItem(CBM::CompilerOptions *_options) + : QTreeWidgetItem(QStringList(_options->Id().c_str()), + PIOptions), + CompilerHolder(0), + OptionSetHolder(0), + OptionsHolder(_options), OptionHolder(0), BenchmarkHolder(0), *************** *** 181,184 **** --- 234,238 ---- CompilerHolder(0), OptionSetHolder(0), + OptionsHolder(0), OptionHolder(_option), BenchmarkHolder(0), *************** *** 280,286 **** Qt::QueuedConnection); connect(this, SIGNAL(itemChanged(QTreeWidgetItem*, int)), this, SLOT(itemEdited(QTreeWidgetItem*, int))); ! headerItem()->setHidden(true); --- 334,368 ---- Qt::QueuedConnection); + + + + + connect(this, SIGNAL(sigOptionsRegister(CBM::PlanBatch*, + CBM::CompilerOptionSet*)), + this, SLOT(doOptionsRegister(CBM::PlanBatch*, + CBM::CompilerOptionSet*)), + Qt::QueuedConnection); + + connect(this, SIGNAL(sigOptionsUnregister(CBM::PlanBatch*, + CBM::CompilerOptionSet*, + CBM::CompilerOptions*)), + this, SLOT(doOptionsUnregister(CBM::PlanBatch*, + CBM::CompilerOptionSet*, + CBM::CompilerOptions*)), + Qt::QueuedConnection); + + connect(this, SIGNAL(sigOptionsRenamed(CBM::PlanBatch*, + CBM::CompilerOptionSet*, + CBM::CompilerOptions*, + QString)), + this, SLOT(doOptionsRenamed(CBM::PlanBatch*, + CBM::CompilerOptionSet*, + CBM::CompilerOptions*, + QString)), + Qt::QueuedConnection); + connect(this, SIGNAL(itemChanged(QTreeWidgetItem*, int)), this, SLOT(itemEdited(QTreeWidgetItem*, int))); ! headerItem()->setHidden(true); *************** *** 314,317 **** --- 396,400 ---- + printf("Item(batch,_set) > B=%x\n", _batch); PlanDefineBatchListItem *R = B->Nearest(PIOptionSets); PlanDefineBatchListItem *C; *************** *** 321,328 **** int i, n = R->childCount(); ! for(i=0; i<n; i++) { C=(PlanDefineBatchListItem*) R->child(i); if (C->type()==PIOptionSet) { if (C->OptionSet()==_options) { return(C); --- 404,414 ---- int i, n = R->childCount(); ! ! printf("R childs=%d\n", n); for(i=0; i<n; i++) { C=(PlanDefineBatchListItem*) R->child(i); + printf("Child : %x, %d\n", C, C->type()); if (C->type()==PIOptionSet) { + printf("Item(batch,_set) > Child=%x, checking\n", C); if (C->OptionSet()==_options) { return(C); *************** *** 333,336 **** --- 419,459 ---- } + + + + + + + + + PlanDefineBatchListItem *PlanDefineBatchList::Item(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options) + { + PlanDefineBatchListItem *S = Item(_batch, _set); + + if (!S) + return(0); + + + PlanDefineBatchListItem *R = S->Parent(PIOptionSet); + PlanDefineBatchListItem *C; + + if (!R) + return(0); + + int i, n = R->childCount(); + + for(i=0; i<n; i++) { + C=(PlanDefineBatchListItem*) R->child(i); + if (C->type()==PIOptions) { + if (C->OptionsGroup()==_options) { + return(C); + } + } + } + return(0); + } + void PlanDefineBatchList::dragUpdateSelection(int x, int y) { *************** *** 456,459 **** --- 579,638 ---- } + void PlanDefineBatchList::doOptionsRegister(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set) + { + printf("R In\n"); + PlanDefineBatchListItem *R = Item(_batch, _set); + + printf("R=%x\n", R); + if (R) { + std::string n = "option group "; + char c[16]; + + new_options_idx++; + sprintf(c, "%d", new_options_idx); + n+=c; + + CBM::CompilerOptions *O = new CBM::CompilerOptions(n); + if (_set->add(O)) { + PlanDefineBatchListItem *I = new PlanDefineBatchListItem(O); + R->addChild(I); + } else + delete(O); + } + } + + void PlanDefineBatchList::doOptionsRenamed(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options, + QString _newname) + { + PlanDefineBatchListItem *I = Item(_batch, _set, _options); + + if (I) { + printf("Rename should be OK\n"); + _options->setId(_newname.toStdString()); + } + } + + + void PlanDefineBatchList::doOptionsUnregister(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options) + { + PlanDefineBatchListItem *B = Item(_batch, _set, _options); + + if (!B) + return; + + + PlanDefineBatchListItem *R = B->Nearest(PIOptions); + + if (R) { + R->takeChild(R->indexOfChild(B)); + delete(R->OptionsGroup()); + delete(B); + } + } void PlanDefineBatchList::planBatchRegister(CBM::PlanBatch *_batch) *************** *** 504,507 **** --- 683,708 ---- } + void PlanDefineBatchList::optionsRegister(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set) + { + emit sigOptionsRegister(_batch, _set); + } + + void PlanDefineBatchList::optionsUnregister(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options) + { + emit sigOptionsUnregister(_batch, _set, _options); + } + + void PlanDefineBatchList::optionsRenamed(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options, + QString _newname) + { + emit sigOptionsRenamed(_batch, _set, _options, + _newname); + } + void PlanDefineBatchList::contextMenuEvent(QContextMenuEvent *event) { Index: PlanDefineBatch.h =================================================================== RCS file: /cvsroot/compbench/CompBenchmarks++/Qt-4/Plan/PlanDefineBatch.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** PlanDefineBatch.h 12 Sep 2007 19:33:12 -0000 1.9 --- PlanDefineBatch.h 13 Sep 2007 18:18:34 -0000 1.10 *************** *** 9,12 **** --- 9,13 ---- #include <Compiler/CompilerHolder.h> #include <Basic/OptionHolder.h> + #include <Basic/OptionsHolder.h> #include <Basic/OptionSetHolder.h> #include <Basic/BenchmarkHolder.h> *************** *** 47,50 **** --- 48,54 ---- void doOptionSetUnregister(void); + void doOptionsRegister(void); + void doOptionsUnregister(void); + public: PlanDefineBatchContextMenu(class PlanDefineBatchListItem *_item); *************** *** 56,59 **** --- 60,64 ---- public CompilerHolder, public OptionSetHolder, + public OptionsHolder, public OptionHolder, public BenchmarkHolder, *************** *** 65,68 **** --- 70,74 ---- PlanDefineBatchListItem(PlanItemType _type); PlanDefineBatchListItem(CBM::CompilerOptionSet *_options); + PlanDefineBatchListItem(CBM::CompilerOptions *_options); PlanDefineBatchListItem(CBM::CompilerOption *_option); PlanDefineBatchListItem(CBM::PlanBatch *_batch); *************** *** 84,87 **** --- 90,96 ---- virtual PlanDefineBatchListItem *Item(CBM::PlanBatch *_batch, CBM::CompilerOptionSet *_options); + virtual PlanDefineBatchListItem *Item(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options); virtual void dragUpdateSelection(int x, int y); *************** *** 115,118 **** --- 124,138 ---- QString _newname); + void sigOptionsRegister(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set); + void sigOptionsUnregister(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options); + void sigOptionsRenamed(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options, + QString _newname); + + protected slots: *************** *** 135,138 **** --- 155,173 ---- QString _newname); + + virtual void doOptionsRegister(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set); + + virtual void doOptionsUnregister(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options); + + virtual void doOptionsRenamed(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options, + QString _newname); + + + public: PlanDefineBatchList(QWidget *parent = 0); *************** *** 155,158 **** --- 190,203 ---- QString _newname); + virtual void optionsRegister(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set); + virtual void optionsUnregister(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options); + virtual void optionsRenamed(CBM::PlanBatch *_batch, + CBM::CompilerOptionSet *_set, + CBM::CompilerOptions *_options, + QString _newname); + virtual ~PlanDefineBatchList(); }; |