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_FaceInspector
21 #define TrenchBroom_FaceInspector
22 
23 #include "View/TabBook.h"
24 #include "View/ViewTypes.h"
25 
26 class wxWindow;
27 
28 namespace TrenchBroom {
29     namespace Model {
30         class BrushFace;
31         class Object;
32         class SelectionResult;
33     }
34 
35     namespace View {
36         class FaceAttribsEditor;
37         class GLContextManager;
38         class TextureBrowser;
39         class TextureCollectionEditor;
40         class TextureSelectedCommand;
41 
42         class FaceInspector : public TabBookPage {
43         private:
44             MapDocumentWPtr m_document;
45 
46             FaceAttribsEditor* m_faceAttribsEditor;
47             TextureBrowser* m_textureBrowser;
48             TextureCollectionEditor* m_textureCollectionEditor;
49         public:
50             FaceInspector(wxWindow* parent, MapDocumentWPtr document, GLContextManager& contextManager);
51 
52             void OnTextureSelected(TextureSelectedCommand& event);
53         private:
54             void createGui(MapDocumentWPtr document, GLContextManager& contextManager);
55             wxWindow* createFaceAttribsEditor(wxWindow* parent, MapDocumentWPtr document, GLContextManager& contextManager);
56             wxWindow* createTextureBrowser(wxWindow* parent, MapDocumentWPtr document, GLContextManager& contextManager);
57             wxWindow* createTextureCollectionEditor(wxWindow* parent, MapDocumentWPtr document);
58 
59             void bindEvents();
60         };
61     }
62 }
63 
64 #endif /* defined(TrenchBroom_FaceInspector) */
65