void InstrumentWizard::on_addButton_clicked() { QList<QTreeWidgetItem*> wi = instrumentList->selectedItems(); if (wi.isEmpty()) return; InstrumentTemplateListItem* item = (InstrumentTemplateListItem*)wi.front(); const InstrumentTemplate* it = item->instrumentTemplate(); if (it == 0) return; PartListItem* pli = new PartListItem(it, partiturList); pli->op = ITEM_ADD; int n = it->staves; for (int i = 0; i < n; ++i) { StaffListItem* sli = new StaffListItem(pli); sli->op = ITEM_ADD; sli->staff = 0; sli->setPartIdx(i); sli->staffIdx = -1; if (i > MAX_STAVES) sli->setClef(CLEF_G); else sli->setClef(it->clefIdx[i]); } partiturList->setItemExpanded(pli, true); partiturList->clearSelection(); // should not be necessary partiturList->setItemSelected(pli, true); emit completeChanged(true); }
const InstrumentTemplate* SelectInstrument::instrTemplate() const { QList<QTreeWidgetItem*> wi = instrumentList->selectedItems(); if (wi.isEmpty()) return 0; InstrumentTemplateListItem* item = (InstrumentTemplateListItem*)wi.front(); return item->instrumentTemplate(); }