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_ThreePaneMapView 21 #define TrenchBroom_ThreePaneMapView 22 23 #include "View/CameraLinkHelper.h" 24 #include "View/MultiMapView.h" 25 #include "View/ViewTypes.h" 26 27 class wxWindow; 28 29 namespace TrenchBroom { 30 class Logger; 31 32 namespace Renderer { 33 class MapRenderer; 34 class Vbo; 35 } 36 37 namespace View { 38 class CyclingMapView; 39 class GLContextManager; 40 class MapViewBase; 41 class MapView2D; 42 class MapView3D; 43 class MapViewToolBox; 44 class SplitterWindow2; 45 46 class ThreePaneMapView : public MultiMapView { 47 private: 48 Logger* m_logger; 49 MapDocumentWPtr m_document; 50 51 CameraLinkHelper m_linkHelper; 52 SplitterWindow2* m_hSplitter; 53 SplitterWindow2* m_vSplitter; 54 MapView3D* m_mapView3D; 55 MapView2D* m_mapViewXY; 56 CyclingMapView* m_mapViewZZ; 57 public: 58 ThreePaneMapView(wxWindow* parent, Logger* logger, MapDocumentWPtr document, MapViewToolBox& toolBox, Renderer::MapRenderer& mapRenderer, GLContextManager& contextManager); 59 private: 60 void createGui(MapViewToolBox& toolBox, Renderer::MapRenderer& mapRenderer, GLContextManager& contextManager); 61 private: // implement MultiMapView subclassing interface 62 void doMaximizeView(MapView* view); 63 void doRestoreViews(); 64 }; 65 } 66 } 67 68 #endif /* defined(TrenchBroom_ThreePaneMapView) */ 69