#ifndef DISPLAY_COMPONENT_H #define DISPLAY_COMPONENT_H #include #include #include namespace display { class Component: public QGraphicsItemGroup { public: static Component *ofComponent(domain::ComponentInstance *instance); static Component *ofBus(domain::BusInstance *instance); static Component *ofWire(domain::WireInstance *wire); void redraw(); private: domain::ComponentInstance *componentInstance = nullptr; domain::BusInstance *busInstance = nullptr; domain::WireInstance *wireInstance = nullptr; }; } // namespace display #endif // DISPLAY_COMPONENT_H