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_TextureCollectionEditor 21 #define TrenchBroom_TextureCollectionEditor 22 23 #include "View/ViewTypes.h" 24 25 #include <wx/panel.h> 26 27 class wxBitmapButton; 28 class wxListBox; 29 30 namespace TrenchBroom { 31 namespace IO { 32 class Path; 33 } 34 35 namespace View { 36 class TextureCollectionEditor : public wxPanel { 37 private: 38 MapDocumentWPtr m_document; 39 40 wxListBox* m_collections; 41 public: 42 TextureCollectionEditor(wxWindow* parent, MapDocumentWPtr document); 43 ~TextureCollectionEditor(); 44 45 void OnAddTextureCollectionsClicked(wxCommandEvent& event); 46 void OnRemoveTextureCollectionsClicked(wxCommandEvent& event); 47 void OnMoveTextureCollectionUpClicked(wxCommandEvent& event); 48 void OnMoveTextureCollectionDownClicked(wxCommandEvent& event); 49 void OnUpdateRemoveButtonUI(wxUpdateUIEvent& event); 50 void OnUpdateMoveUpButtonUI(wxUpdateUIEvent& event); 51 void OnUpdateMoveDownButtonUI(wxUpdateUIEvent& event); 52 private: 53 void createGui(); 54 55 void bindObservers(); 56 void unbindObservers(); 57 58 void documentWasNewed(MapDocument* document); 59 void documentWasLoaded(MapDocument* document); 60 void textureCollectionsDidChange(); 61 void preferenceDidChange(const IO::Path& path); 62 63 void updateControls(); 64 }; 65 } 66 } 67 68 #endif /* defined(TrenchBroom_TextureCollectionEditor) */ 69