bool CQPlotSubwidget::saveToPlotSpec() { CPlotSpecification *pspec = dynamic_cast< CPlotSpecification * >(mpObject); if (!pspec) return true; pspec->cleanup(); //title if (pspec->getTitle() != TO_UTF8(titleLineEdit->text())) { pspec->setTitle(TO_UTF8(titleLineEdit->text())); protectedNotify(ListViews::ObjectType::PLOT, ListViews::RENAME, mObjectCN); } //active? pspec->setActive(activeCheckBox->isChecked()); //scales pspec->setLogX(checkLogX->isChecked()); pspec->setLogY(checkLogY->isChecked()); // task types pspec->setTaskTypes(mTaskTypes); //curves CPlotItem *item; storeChanges(); QMap<QString, CPlotItem *>::iterator it; for (it = mList.begin(); it != mList.end(); ++it) { CPlotItem *currentItem = (*it); if (currentItem == NULL) continue; item = new CPlotItem(*currentItem, NO_PARENT); pspec->getItems().add(item, true); } // :TODO Bug 322: This should only be called when actual changes have been saved. // However we do not check whether the scan item are changed we delete all // and create them new. if (true) { if (mpDataModel != NULL) { mpDataModel->changed(); } // mChanged = false; } return true; }
void CQPlotsWidget::slotBtnDeactivateAllClicked() { CCopasiDataModel* pDataModel = (*CCopasiRootContainer::getDatamodelList())[0]; assert(pDataModel != NULL); if (!pDataModel->getModel()) return; for (size_t i = 0; i < pDataModel->getPlotDefinitionList()->size(); i++) { CPlotSpecification *pPS = static_cast<CPlotSpecification *>(pDataModel->getPlotDefinitionList()->operator[](i)); pPS->setActive(false); } mpTblPlots->doItemsLayout(); }