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