You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					63 lines
				
				1.4 KiB
			
		
		
			
		
	
	
					63 lines
				
				1.4 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								#pragma once
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <QUndoCommand>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "tools/cabana/dbcmanager.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class EditMsgCommand : public QUndoCommand {
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								  EditMsgCommand(const QString &id, const QString &title, int size, QUndoCommand *parent = nullptr);
							 | 
						||
| 
								 | 
							
								  void undo() override;
							 | 
						||
| 
								 | 
							
								  void redo() override;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								private:
							 | 
						||
| 
								 | 
							
								  const QString id;
							 | 
						||
| 
								 | 
							
								  QString old_title, new_title;
							 | 
						||
| 
								 | 
							
								  int old_size = 0, new_size = 0;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class RemoveMsgCommand : public QUndoCommand {
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								  RemoveMsgCommand(const QString &id, QUndoCommand *parent = nullptr);
							 | 
						||
| 
								 | 
							
								  void undo() override;
							 | 
						||
| 
								 | 
							
								  void redo() override;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								private:
							 | 
						||
| 
								 | 
							
								  const QString id;
							 | 
						||
| 
								 | 
							
								  DBCMsg message;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class AddSigCommand : public QUndoCommand {
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								  AddSigCommand(const QString &id, const Signal &sig, QUndoCommand *parent = nullptr);
							 | 
						||
| 
								 | 
							
								  void undo() override;
							 | 
						||
| 
								 | 
							
								  void redo() override;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								private:
							 | 
						||
| 
								 | 
							
								  const QString id;
							 | 
						||
| 
								 | 
							
								  Signal signal = {};
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class RemoveSigCommand : public QUndoCommand {
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								  RemoveSigCommand(const QString &id, const Signal *sig, QUndoCommand *parent = nullptr);
							 | 
						||
| 
								 | 
							
								  void undo() override;
							 | 
						||
| 
								 | 
							
								  void redo() override;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								private:
							 | 
						||
| 
								 | 
							
								  const QString id;
							 | 
						||
| 
								 | 
							
								  Signal signal = {};
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class EditSignalCommand : public QUndoCommand {
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								  EditSignalCommand(const QString &id, const Signal *sig, const Signal &new_sig, QUndoCommand *parent = nullptr);
							 | 
						||
| 
								 | 
							
								  void undo() override;
							 | 
						||
| 
								 | 
							
								  void redo() override;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								private:
							 | 
						||
| 
								 | 
							
								  const QString id;
							 | 
						||
| 
								 | 
							
								  Signal old_signal = {};
							 | 
						||
| 
								 | 
							
								  Signal new_signal = {};
							 | 
						||
| 
								 | 
							
								};
							 |