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 "ActionContext.h"
21 
22 namespace TrenchBroom {
23     namespace View {
actionContextName(const int actionContext)24         String actionContextName(const int actionContext) {
25             if (actionContext == ActionContext_Any)
26                 return "Any";
27 
28             StringList actionContexts;
29             if (actionContext & ActionContext_NodeSelection)
30                 actionContexts.push_back("Objects");
31             if (actionContext & ActionContext_FaceSelection)
32                 actionContexts.push_back("Textures");
33 
34             if ((actionContext & ActionContext_AnyTool) == ActionContext_AnyTool) {
35                 actionContexts.push_back("Any Tool");
36             } else {
37                 if (actionContext & ActionContext_CreateComplexBrushTool)
38                     actionContexts.push_back("Create Brush Tool");
39                 if (actionContext & ActionContext_VertexTool)
40                     actionContexts.push_back("Vertex Tool");
41                 if (actionContext & ActionContext_ClipTool)
42                     actionContexts.push_back("Clip Tool");
43                 if (actionContext & ActionContext_RotateTool)
44                     actionContexts.push_back("Rotate Tool");
45             }
46 
47             if (actionContext & ActionContext_FlyMode)
48                 actionContexts.push_back("Fly Mode");
49 
50             return StringUtils::join(actionContexts, ", ");
51         }
52     }
53 }
54