schema_editor/comdel/display/schema_display.cpp

31 lines
801 B
C++

#include "component_display.h"
#include "schema_display.h"
namespace display {
Schema::Schema()
{
this->setScene(&scene);
}
void Schema::setSchema(domain::Schema* schema)
{
scene.clear();
this->schema = schema;
if(schema != nullptr) {
for(auto &instance: schema->componentInstances) {
ComponentWrapper *component = ComponentWrapper::ofComponent(&instance);
component->setPos(instance.position.first, instance.position.second);
scene.addItem(component);
}
for(auto &instance: schema->busInstances) {
ComponentWrapper *bus = ComponentWrapper::ofBus(&instance);
bus->setPos(instance.position.first, instance.position.second);
scene.addItem(bus);
}
}
}
} // namespace display