Fri, 04 Mar 2022 11:37:50 +0200
Major refactoring
- Model now just stores objects
- Document contains business logic
- Model::EditContext is now ModelEditor, no longer a nested class
/* * LDForge: LDraw parts authoring CAD * Copyright (C) 2013 - 2020 Teemu Piippo * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "edithistory.h" #include "modeleditcontext.h" EditHistory::EditHistory() { } void InsertHistoryEntry::undo(ModelEditor &editContext) { editContext.remove(this->position); } void InsertHistoryEntry::redo(ModelEditor &editContext) { } void DeleteHistoryEntry::undo(ModelEditor &editContext) { static_cast<InsertHistoryEntry*>(this)->redo(editContext); } void DeleteHistoryEntry::redo(ModelEditor &editContext) { static_cast<InsertHistoryEntry*>(this)->undo(editContext); } void EditHistoryEntry::undo(ModelEditor &editContext) { } void EditHistoryEntry::redo(ModelEditor &editContext) { }