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_EntityInspector
21 #define TrenchBroom_EntityInspector
22 
23 #include "View/TabBook.h"
24 #include "View/ViewTypes.h"
25 
26 class wxButton;
27 class wxCollapsiblePaneEvent;
28 
29 namespace TrenchBroom {
30     namespace Model {
31         class Object;
32         class SelectionResult;
33     }
34 
35     namespace View {
36         class EntityBrowser;
37         class EntityDefinitionFileChooser;
38         class EntityAttributeEditor;
39         class GLContextManager;
40 
41         class EntityInspector : public TabBookPage {
42         private:
43             EntityAttributeEditor* m_attributeEditor;
44             EntityBrowser* m_entityBrowser;
45             EntityDefinitionFileChooser* m_entityDefinitionFileChooser;
46         public:
47             EntityInspector(wxWindow* parent, MapDocumentWPtr document, GLContextManager& contextManager);
48         private:
49             void createGui(MapDocumentWPtr document, GLContextManager& contextManager);
50             wxWindow* createAttributeEditor(wxWindow* parent, MapDocumentWPtr document);
51             wxWindow* createEntityBrowser(wxWindow* parent, MapDocumentWPtr document, GLContextManager& contextManager);
52             wxWindow* createEntityDefinitionFileChooser(wxWindow* parent, MapDocumentWPtr document);
53         };
54     }
55 }
56 
57 #endif /* defined(TrenchBroom_EntityInspector) */
58