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 #ifndef TrenchBroom_ActionContext_h
21 #define TrenchBroom_ActionContext_h
22 
23 #include "StringUtils.h"
24 
25 namespace TrenchBroom {
26     namespace View {
27         typedef enum {
28             ActionContext_Default         = 1 << 1,
29             ActionContext_VertexTool      = 1 << 2,
30             ActionContext_CreateComplexBrushTool = 1 << 3,
31             ActionContext_ClipTool        = 1 << 4,
32             ActionContext_RotateTool      = 1 << 5,
33             ActionContext_FlyMode         = 1 << 6,
34             ActionContext_NodeSelection   = 1 << 7,
35             ActionContext_FaceSelection   = 1 << 8,
36             ActionContext_AnyTool         = ActionContext_VertexTool | ActionContext_ClipTool | ActionContext_RotateTool | ActionContext_CreateComplexBrushTool,
37             ActionContext_Any             = ActionContext_Default | ActionContext_AnyTool | ActionContext_FlyMode | ActionContext_NodeSelection | ActionContext_FaceSelection
38         } ActionContext;
39 
40         String actionContextName(int actionContext);
41 
42         typedef enum {
43             ActionView_Map2D = 0,
44             ActionView_Map3D = 1
45         } ActionView;
46 
47         static const size_t NumActionViews = 2;
48     }
49 }
50 
51 #endif
52