wiRedPanda
Logic Circuit Simulator
Loading...
Searching...
No Matches
SRLatch.h
Go to the documentation of this file.
1// Copyright 2015 - 2026, GIBIS-UNIFESP and the wiRedPanda contributors
2// SPDX-License-Identifier: GPL-3.0-or-later
3
7
8#pragma once
9
12
19class SRLatch : public GraphicElement
20{
21 Q_OBJECT
22
23public:
24 // --- Lifecycle ---
25
27 explicit SRLatch(QGraphicsItem *parent = nullptr);
28
29 // --- Visual ---
30
31 static QString pixmapPath()
32 {
33 return ":/Components/Memory/" + ThemeManager::themePath() + "/SR-latch.svg";
34 }
35
37 void updatePortsProperties() override;
38
40 void updateTheme() override;
41
43 void updateLogic() override;
44};
Abstract base class for all graphical circuit elements.
Theme management types and singleton ThemeManager.
GraphicElement(ElementType type, QGraphicsItem *parent=nullptr)
Constructs a graphic element of the given type, fetching all properties from the metadata registry.
void updateLogic() override
Updates Q based on S and R inputs.
Definition SRLatch.cpp:69
SRLatch(QGraphicsItem *parent=nullptr)
Constructs the element with optional parent.
Definition SRLatch.cpp:40
void updatePortsProperties() override
Updates port names for this latch.
Definition SRLatch.cpp:47
static QString pixmapPath()
Definition SRLatch.h:31
void updateTheme() override
Refreshes the pixmap when the application theme changes.
Definition SRLatch.cpp:62
static QString themePath()
Returns the resource path prefix for the current theme (e.g. "dark" or "light").