|
wiRedPanda
Logic Circuit Simulator
|
| App | |
| BeWavedDolphin | |
| BeWavedDolphin.cpp | |
| BeWavedDolphin.h | BewavedDolphin waveform editor: digital signal creation, display, and export |
| BeWavedDolphinUI.cpp | |
| BeWavedDolphinUI.h | BewavedDolphinUi: hand-written UI class for the BeWavedDolphin main window |
| DolphinClipboard.cpp | |
| DolphinClipboard.h | DolphinClipboard: copy/paste of waveform cell rectangles to/from a data stream |
| DolphinCommands.cpp | |
| DolphinCommands.h | DolphinCommands: undo/redo commands for the beWavedDolphin waveform editor |
| DolphinEdits.cpp | |
| DolphinEdits.h | DolphinEdits: pure value-grid mutations for the beWavedDolphin waveform table |
| DolphinExporter.cpp | |
| DolphinExporter.h | DolphinExporter: renders/serializes a SignalModel to images and text artifacts |
| DolphinFile.cpp | |
| DolphinFile.h | DolphinFile: reads/writes a SignalModel to .dolphin/.csv files on disk |
| DolphinHost.h | DolphinHost: the host-application context the beWavedDolphin editor depends on |
| DolphinModelBuilder.cpp | |
| DolphinModelBuilder.h | DolphinModelBuilder: maps a circuit scene's I/O elements to waveform signal rows |
| DolphinZoom.cpp | |
| DolphinZoom.h | DolphinZoom: zoom state and metrics for the beWavedDolphin waveform table |
| Serializer.cpp | |
| Serializer.h | DolphinSerializer: encoding and decoding of .dolphin and .csv waveform files |
| SignalDelegate.cpp | |
| SignalDelegate.h | SignalDelegate: paints digital waveform graphics into table cells |
| SignalModel.cpp | |
| SignalModel.h | SignalModel for the beWavedDolphin waveform table |
| WaveformSimulator.cpp | |
| WaveformSimulator.h | Drives the wiRedPanda circuit simulation column-by-column for the waveform table |
| CodeGen | |
| ArduinoCodeGen.cpp | |
| ArduinoCodeGen.h | Arduino sketch code generator: translates a circuit into an uploadable .ino file |
| CodeGenUtils.h | Shared string utilities used by all code generators |
| SystemVerilogCodeGen.cpp | |
| SystemVerilogCodeGen.h | SystemVerilog code generator: translates a circuit into a synthesisable module |
| Core | |
| Application.cpp | |
| Application.h | Custom QApplication subclass with exception handling and main-window access |
| Common.cpp | |
| Common.h | Common logging utilities, the Pandaception error type, and helper macros |
| Constants.h | Shared numeric constants used across layers |
| ContextDirProvider.h | Interface for resolving a scene's associated .panda file directory |
| DragDropPayload.cpp | |
| DragDropPayload.h | Shared reader for wiRedPanda's drag-and-drop MIME payload format |
| Enums.cpp | |
| Enums.h | Central enumeration types for element types, groups, and signal status |
| ExerciseTourResources.cpp | |
| ExerciseTourResources.h | Discovery and translation lookup for Exercise/Tour step content |
| InstallRelativePaths.cpp | |
| InstallRelativePaths.h | Per-platform resolution of install-relative content directories |
| ItemWithId.cpp | |
| ItemWithId.h | Defines ItemWithId, the base class for all uniquely identified circuit items |
| MimeTypes.h | MIME type string constants for drag-and-drop operations |
| Priorities.h | Graph algorithms for topological priority assignment and cycle detection |
| SentryHelpers.h | Lightweight Sentry helpers gated behind HAVE_SENTRY |
| Settings.cpp | |
| Settings.h | Typed wrappers around QSettings for all application preferences |
| SimulationHost.h | Interface exposing the narrow slice of Scene that Simulation depends on |
| StatusOps.h | Four-state logic operations for gate evaluation |
| StepEngineCore.h | Shared step-navigation state machine for ExerciseEngine/TourEngine |
| ThemeManager.cpp | |
| ThemeManager.h | Theme management types and singleton ThemeManager |
| UpdateChecker.cpp | |
| UpdateChecker.h | Checks the GitHub Releases API for newer versions of wiRedPanda |
| Element | |
| GraphicElements | |
| And.cpp | |
| And.h | Graphic element for the AND gate |
| AudioBox.cpp | |
| AudioBox.h | Graphic element for the AudioBox (external audio file player) output |
| AudioOutputElement.cpp | |
| AudioOutputElement.h | Shared base class for audio output elements (AudioBox and Buzzer) |
| Buzzer.cpp | |
| Buzzer.h | Graphic element for the buzzer tone output |
| Clock.cpp | |
| Clock.h | Graphic element for the real-time clock input |
| Demux.cpp | |
| Demux.h | Graphic element for the Demultiplexer (DEMUX) |
| DFlipFlop.cpp | |
| DFlipFlop.h | Graphic element for the D flip-flop |
| Display14.cpp | |
| Display14.h | Graphic element for the 14-segment LED display |
| Display16.cpp | |
| Display16.h | Graphic element for the 16-segment LED display |
| Display7.cpp | |
| Display7.h | Graphic element for the 7-segment LED display |
| DLatch.cpp | |
| DLatch.h | Graphic element for the D latch |
| InputButton.cpp | |
| InputButton.h | Graphic element for a momentary push-button input |
| InputGND.cpp | |
| InputGND.h | Graphic element for the GND (logic-0 constant) input |
| InputRotary.cpp | |
| InputRotary.h | Graphic element for the rotary switch input |
| InputSwitch.cpp | |
| InputSwitch.h | Graphic element for a bistable toggle switch input |
| InputVCC.cpp | |
| InputVCC.h | Graphic element for the VCC (logic-1 constant) input |
| JKFlipFlop.cpp | |
| JKFlipFlop.h | Graphic element for the JK flip-flop |
| Led.cpp | |
| Led.h | Graphic element for the LED output indicator |
| Line.cpp | |
| Line.h | Graphic element for a decorative line shape (no simulation) |
| Mux.cpp | |
| Mux.h | Graphic element for the Multiplexer (MUX) |
| Nand.cpp | |
| Nand.h | Graphic element for the NAND gate |
| Node.cpp | |
| Node.h | Graphic element for a wire junction node |
| Nor.cpp | |
| Nor.h | Graphic element for the NOR gate |
| Not.cpp | |
| Not.h | Graphic element for the NOT (inverter) gate |
| Or.cpp | |
| Or.h | Graphic element for the OR gate |
| SRFlipFlop.cpp | |
| SRFlipFlop.h | Graphic element for the clocked SR flip-flop |
| SRLatch.cpp | |
| SRLatch.h | Graphic element for the SR latch |
| Text.cpp | |
| Text.h | Graphic element for a free-text annotation label (no simulation) |
| TFlipFlop.cpp | |
| TFlipFlop.h | Graphic element for the T (toggle) flip-flop |
| ToneGenerator.h | QIODevice that generates a continuous sine-wave tone for audio playback |
| TruthTable.cpp | |
| TruthTable.h | Graphic element for a user-programmable truth table |
| Xnor.cpp | |
| Xnor.h | Graphic element for the XNOR gate |
| Xor.cpp | |
| Xor.h | Graphic element for the XOR gate |
| ElementAppearance.cpp | |
| ElementAppearance.h | Owns a GraphicElement's pixmap / SVG appearance, appearance list, and selection paint |
| ElementFactory.cpp | |
| ElementFactory.h | Singleton factory for all circuit element types |
| ElementInfo.h | Self-registering element trait template and compile-time constraint validation |
| ElementLabel.cpp | |
| ElementLabel.h | Draggable element icon+label widget used in the element palette |
| ElementMetadata.cpp | |
| ElementMetadata.h | Element metadata struct and global registry for compile-time element registration |
| ElementOrientation.cpp | |
| ElementOrientation.h | Owns a GraphicElement's rotation angle and flip (mirror) state |
| ElementPorts.cpp | |
| ElementPorts.h | Owns a GraphicElement's input/output port vectors and their creation/resize lifecycle |
| ElementSimState.cpp | |
| ElementSimState.h | Per-element simulation runtime state (input/output values and the connection graph) |
| GraphicElement.cpp | |
| GraphicElement.h | Abstract base class for all graphical circuit elements |
| GraphicElementInput.cpp | |
| GraphicElementInput.h | Abstract base class for user-controllable input elements |
| GraphicElementSerializer.cpp | |
| GraphicElementSerializer.h | GraphicElementSerializer: reads/writes a GraphicElement to a versioned QDataStream |
| IC.cpp | |
| IC.h | Integrated Circuit (IC) graphic element that encapsulates a sub-circuit file |
| ICLoader.cpp | |
| ICLoader.h | ICLoader: loads an IC's sub-circuit from file or embedded blob |
| ICPreviewPopup.cpp | |
| ICPreviewPopup.h | Frameless popup widget that shows a preview of an IC's internal circuit |
| ICRenderer.cpp | |
| ICRenderer.h | ICRenderer: draws an IC's body and builds its cached pixmaps |
| ICSimulation.cpp | |
| ICSimulation.h | ICSimulation: builds and runs an IC's internal simulation graph |
| PropertyDescriptor.h | PropertyDescriptor struct for describing editable element properties |
| Exercise | |
| ExerciseEngine.cpp | |
| ExerciseEngine.h | |
| ExerciseOverlay.cpp | |
| ExerciseOverlay.h | |
| ExerciseStep.h | |
| IO | |
| ExternalFilePath.h | Single, shared implementation of how an element's external-file reference (an appearance image, a custom audio file, a file-based IC sub-circuit) gets resolved on load and represented on save. Every class that owns such a reference routes through these functions instead of reimplementing the same path arithmetic – three independent copies of it had already silently drifted apart before this was extracted (see the "avoid this bug class" thread this was written for) |
| FileUtils.h | |
| RecentFiles.cpp | |
| RecentFiles.h | Recent-files list management with filesystem watching |
| Serialization.cpp | |
| Serialization.h | Circuit and waveform file serialization/deserialization utilities |
| SerializationContext.h | Deserialization/serialization context structs passed through load()/save() call chains |
| VersionInfo.h | Named version predicates for file-format compatibility checks |
| Scene | |
| ClipboardManager.cpp | |
| ClipboardManager.h | ClipboardManager: handles copy, cut, paste and clone-drag operations |
| Commands.cpp | |
| Commands.h | All QUndoCommand subclasses and the CommandUtils helper namespace |
| ConnectionManager.cpp | |
| ConnectionManager.h | ConnectionManager: manages wire creation, deletion, validation and hover feedback |
| GraphicsView.cpp | |
| GraphicsView.h | Extended QGraphicsView with zoom, pan, and fast-rendering modes |
| ICRegistry.cpp | |
| ICRegistry.h | IC definition registry with file watching and embedded blob storage |
| InlineLabelEditor.cpp | |
| InlineLabelEditor.h | InlineLabelEditor: on-canvas inline editing of an element's label |
| PortHoverLabel.cpp | |
| PortHoverLabel.h | PortHoverLabel: a transient tooltip-style chip showing a port's label on the canvas |
| PropertyShortcutHandler.cpp | |
| PropertyShortcutHandler.h | PropertyShortcutHandler: dispatches keyboard shortcuts that cycle element properties |
| Scene.cpp | |
| Scene.h | Main circuit editing scene with undo/redo and user interaction |
| SceneDropHandler.cpp | |
| SceneDropHandler.h | SceneDropHandler: decodes drag-and-drop payloads into scene elements |
| SceneInteraction.cpp | |
| SceneInteraction.h | SceneInteraction: owns the scene's mouse-driven editing state and gestures |
| SceneItemRegistry.cpp | |
| SceneItemRegistry.h | SceneItemRegistry: maps stable integer IDs to the scene's identifiable items |
| VisibilityManager.cpp | |
| VisibilityManager.h | VisibilityManager: controls gate and wire visibility in the scene |
| Workspace.cpp | |
| Workspace.h | WorkSpace widget: the complete circuit editing environment for one tab |
| Simulation | |
| Simulation.cpp | |
| Simulation.h | Synchronous cycle-based simulation engine with event-driven clock support |
| SimulationBlocker.cpp | |
| SimulationBlocker.h | RAII guard that temporarily stops the simulation while in scope |
| SimulationThrottleDisabler.cpp | |
| SimulationThrottleDisabler.h | RAII guard that disables the visual refresh throttle while in scope |
| Tour | |
| TourEngine.cpp | |
| TourEngine.h | |
| TourOverlay.cpp | |
| TourOverlay.h | |
| TourStep.h | |
| UI | |
| CircuitExporter.cpp | |
| CircuitExporter.h | CircuitExporter: render a Scene to PDF or PNG image |
| ClockDialog.cpp | |
| ClockDialog.h | ClockDialog: dialog for selecting a clock wave's period (in time-step columns) |
| ClockDialogUI.cpp | |
| ClockDialogUI.h | ClockDialogUi: hand-written UI class for the ClockDialog |
| ElementContextMenu.cpp | |
| ElementContextMenu.h | ElementContextMenu free function for building the element right-click menu |
| ElementEditor.cpp | |
| ElementEditor.h | ElementEditor widget for inspecting and modifying selected circuit element properties |
| ElementEditorUI.cpp | |
| ElementEditorUI.h | ElementEditorUi: hand-written UI class for the ElementEditor widget |
| ElementPalette.cpp | |
| ElementPalette.h | ElementPalette: manages the left-panel element palette and search UI |
| ElementTabNavigator.cpp | |
| ElementTabNavigator.h | ElementTabNavigator event filter for Tab/Backtab cycling between scene elements |
| ExportController.cpp | |
| ExportController.h | ExportController: orchestrates exporting the current circuit to its output formats |
| FileDialogProvider.cpp | |
| FileDialogProvider.h | Abstract file dialog interface for testability |
| ICController.cpp | |
| ICController.h | ICController: integrated-circuit embed / extract / import / removal operations |
| ICDropZone.cpp | |
| ICDropZone.h | ICDropZone: drop target widget for cross-section IC palette drops |
| LabeledSlider.cpp | |
| LabeledSlider.h | LabeledSlider: QSlider subclass that draws numeric labels beneath each tick mark |
| LanguageManager.cpp | |
| LanguageManager.h | LanguageManager: Qt translation loading and language metadata |
| LengthDialog.cpp | |
| LengthDialog.h | LengthDialog: dialog for setting the BeWavedDolphin simulation length |
| LengthDialogUI.cpp | |
| LengthDialogUI.h | LengthDialogUi: hand-written UI class for the LengthDialog |
| MainWindow.cpp | |
| MainWindow.h | Main application window providing menus, toolbars, and tab management |
| MainWindowHost.h | MainWindowHost: the application context that MainWindow's extracted controllers depend on |
| MainWindowUI.cpp | |
| MainWindowUI.h | MainWindowUi: hand-written UI class for the MainWindow |
| MinimapWidget.cpp | |
| MinimapWidget.h | |
| SceneUiBinder.cpp | |
| SceneUiBinder.h | SceneUiBinder: wires the active tab's scene into the shared editor chrome |
| SelectionCapabilities.cpp | |
| SelectionCapabilities.h | SelectionCapabilities struct and computeCapabilities() free function |
| TrashButton.cpp | |
| TrashButton.h | TrashButton: a push-button that accepts drag-and-drop of IC files for deletion |
| UpdateController.cpp | |
| UpdateController.h | UpdateController: drives the application's check-for-updates workflow |
| WorkspaceManager.cpp | |
| WorkspaceManager.h | WorkspaceManager: owns the circuit tabs and their file lifecycle |
| Wiring | |
| Connection.cpp | |
| Connection.h | Connection: a wire that connects an output port to an input port in the circuit scene |
| ConnectionSerializer.cpp | |
| ConnectionSerializer.h | ConnectionSerializer: reads/writes a Connection to a versioned QDataStream |
| Port.cpp | |
| Port.h | Port classes: Port (base), InputPort, and OutputPort |
| Main.cpp | |
| Versions.h | File-format version constants and application version accessor |
| MCP | |
| Server | |
| Core | |
| JsonRpcError.h | Numeric error codes returned in MCP responses, per JSON-RPC 2.0 |
| MCPProcessor.cpp | |
| MCPProcessor.h | |
| MCPValidator.cpp | |
| MCPValidator.h | |
| Handlers | |
| BaseHandler.cpp | |
| BaseHandler.h | |
| ConnectionHandler.cpp | |
| ConnectionHandler.h | |
| ElementHandler.cpp | |
| ElementHandler.h | |
| FileHandler.cpp | |
| FileHandler.h | |
| HistoryHandler.cpp | |
| HistoryHandler.h | |
| ICHandler.cpp | |
| ICHandler.h | |
| ServerInfoHandler.cpp | |
| ServerInfoHandler.h | |
| SimulationHandler.cpp | |
| SimulationHandler.h | |
| ThemeHandler.cpp | |
| ThemeHandler.h |