17 m_showGates = visible;
18 const auto items = m_scene->items();
20 for (
auto *item : items) {
22 auto *element = qgraphicsitem_cast<GraphicElement *>(item);
26 const auto group = element->elementGroup();
30 if ((group != ElementGroup::Input) && (group != ElementGroup::Output) && (group != ElementGroup::Other)) {
31 item->setVisible(visible);
39 m_showWires = visible;
40 const auto items = m_scene->items();
42 for (
auto *item : items) {
44 item->setVisible(visible);
49 auto *element = qgraphicsitem_cast<GraphicElement *>(item);
53 if (element->elementType() == ElementType::Node) {
54 element->setVisible(visible);
58 for (
auto *inputPort : element->inputs()) {
59 inputPort->setVisible(visible);
62 for (
auto *outputPort : element->outputs()) {
63 outputPort->setVisible(visible);
Connection: a wire that connects an output port to an input port in the circuit scene.
Abstract base class for all graphical circuit elements.
Main circuit editing scene with undo/redo and user interaction.
VisibilityManager: controls gate and wire visibility in the scene.
Main circuit editing scene.
VisibilityManager(Scene *scene)
void showWires(bool visible)
Shows or hides connection wires, node elements, and port handles.
void reapply()
Reapplies current visibility state (used after structural changes).
void showGates(bool visible)
Shows or hides gate elements (Input/Output/Other groups are always visible).