wiRedPanda
Logic Circuit Simulator
Loading...
Searching...
No Matches
DolphinCommands.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
10#include <functional>
11
12#include <QList>
13#include <QPair>
14#include <QUndoCommand>
15
16class SignalModel;
17
31class SetCellsCommand : public QUndoCommand
32{
33public:
34 SetCellsCommand(SignalModel *model, const QList<QPair<int, int>> &cells,
35 const QList<int> &oldValues, std::function<void()> onApplied,
36 QUndoCommand *parent = nullptr);
37
38 void redo() override;
39 void undo() override;
40
41private:
42 void applyValues(const QList<int> &values);
43
44 SignalModel *m_model;
45 QList<QPair<int, int>> m_cells;
46 QList<int> m_oldValues;
47 QList<int> m_newValues;
48 std::function<void()> m_onApplied;
49};
void undo() override
void redo() override
SetCellsCommand(SignalModel *model, const QList< QPair< int, int > > &cells, const QList< int > &oldValues, std::function< void()> onApplied, QUndoCommand *parent=nullptr)
QStandardItemModel subclass that makes all cells non-editable.
Definition SignalModel.h:21