FacilityView::FacilityView(bool isIP, const openstudio::model::Model& model, QWidget * parent) : ModelSubTabView(new FacilityTreeWidget(model, parent), new FacilityInspectorView(isIP, model, parent), false, parent) { this->itemSelectorButtons()->hide(); connect(this, &FacilityView::toggleUnitsClicked, modelObjectInspectorView(), &ModelObjectInspectorView::toggleUnitsClicked); }
LoadsView::LoadsView(bool isIP, const openstudio::model::Model& model, QWidget * parent) : ModelSubTabView(new ModelObjectTypeListView(LoadsView::modelObjectTypesAndNames(), model, true, OSItemType::CollapsibleListHeader, parent), new LoadsInspectorView(isIP, model,parent), false, parent) { connect(this, &LoadsView::toggleUnitsClicked, modelObjectInspectorView(), &ModelObjectInspectorView::toggleUnitsClicked); }
void ModelSubTabController::onRemoveItem(OSItem* item) { // get selected items auto modelSubTabView = qobject_cast<ModelSubTabView *>(subTabView()); auto modelObjectInspectorView = modelSubTabView->modelObjectInspectorView(); if (modelObjectInspectorView->supportsMultipleObjectSelection()) { for (auto &obj : modelObjectInspectorView->selectedObjects()) { onRemoveObject(obj); } } else { ModelObjectItem* modelObjectItem = qobject_cast<ModelObjectItem*>(item); OS_ASSERT(modelObjectItem); model::ModelObject modelObject = modelObjectItem->modelObject(); if (!modelObject.handle().isNull()){ onRemoveObject(modelObject); } } }
void ModelSubTabController::onCopyItem() { // get selected items auto modelSubTabView = qobject_cast<ModelSubTabView *>(subTabView()); auto modelObjectInspectorView = modelSubTabView->modelObjectInspectorView(); if (modelObjectInspectorView->supportsMultipleObjectSelection()) { for (auto &obj : modelObjectInspectorView->selectedObjects()) { if (!obj.handle().isNull()){ onCopyObject(obj); } } } else { boost::optional<openstudio::model::ModelObject> selectedModelObject = this->selectedModelObject(); if (selectedModelObject && !selectedModelObject->handle().isNull()){ onCopyObject(*selectedModelObject); } } }
void ModelSubTabController::onAddItem() { // get selected items auto modelSubTabView = qobject_cast<ModelSubTabView *>(subTabView()); auto modelObjectInspectorView = modelSubTabView->modelObjectInspectorView(); openstudio::IddObjectType currentIddObjectType = this->currentIddObjectType(); if (modelObjectInspectorView->supportsMultipleObjectSelection()) { // Always make at least one if (!modelObjectInspectorView->selectedObjects().size()) { onAddObject(currentIddObjectType); } else { for (auto &obj : modelObjectInspectorView->selectedObjects()) { onAddObject(obj); } } } else { onAddObject(currentIddObjectType); } }