1 /*
2  Copyright (C) 2010-2014 Kristian Duske
3 
4  This file is part of TrenchBroom.
5 
6  TrenchBroom is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  TrenchBroom is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with TrenchBroom. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #include "RenameGroupsCommand.h"
21 
22 #include "View/MapDocumentCommandFacade.h"
23 
24 namespace TrenchBroom {
25     namespace View {
26         const Command::CommandType RenameGroupsCommand::Type = Command::freeType();
27 
rename(const String & newName)28         RenameGroupsCommand::Ptr RenameGroupsCommand::rename(const String& newName) {
29             return Ptr(new RenameGroupsCommand(newName));
30         }
31 
RenameGroupsCommand(const String & newName)32         RenameGroupsCommand::RenameGroupsCommand(const String& newName) :
33         DocumentCommand(Type, "Rename Groups"),
34         m_newName(newName) {}
35 
doPerformDo(MapDocumentCommandFacade * document)36         bool RenameGroupsCommand::doPerformDo(MapDocumentCommandFacade* document) {
37             m_oldNames = document->performRenameGroups(m_newName);
38             return true;
39         }
40 
doPerformUndo(MapDocumentCommandFacade * document)41         bool RenameGroupsCommand::doPerformUndo(MapDocumentCommandFacade* document) {
42             document->performUndoRenameGroups(m_oldNames);
43             return true;
44         }
45 
doIsRepeatable(MapDocumentCommandFacade * document) const46         bool RenameGroupsCommand::doIsRepeatable(MapDocumentCommandFacade* document) const {
47             return false;
48         }
49 
doCollateWith(UndoableCommand::Ptr command)50         bool RenameGroupsCommand::doCollateWith(UndoableCommand::Ptr command) {
51             return false;
52         }
53     }
54 }
55