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_Inspector
21 #define TrenchBroom_Inspector
22 
23 #include "View/ViewTypes.h"
24 
25 #include <wx/panel.h>
26 
27 namespace TrenchBroom {
28     namespace Renderer {
29         class Camera;
30     }
31 
32     namespace View {
33         class EntityInspector;
34         class FaceInspector;
35         class GLContextManager;
36         class MapInspector;
37         class TabBook;
38 
39         class Inspector : public wxPanel {
40         public:
41             typedef enum {
42                 InspectorPage_Map = 0,
43                 InspectorPage_Entity = 1,
44                 InspectorPage_Face = 2
45             } InspectorPage;
46         private:
47             TabBook* m_tabBook;
48             MapInspector* m_mapInspector;
49             EntityInspector* m_entityInspector;
50             FaceInspector* m_faceInspector;
51         public:
52             Inspector(wxWindow* parent, MapDocumentWPtr document, GLContextManager& contextManager);
53             void connectTopWidgets(wxWindow* master);
54             void switchToPage(InspectorPage page);
55         private:
56             void OnTopWidgetSize(wxSizeEvent& event);
57         };
58     }
59 }
60 
61 #endif /* defined(TrenchBroom_Inspector) */
62