root/cafu/trunk/CaWE/ToolbarMaterials.hpp

Revision 457, 2.7 KB (checked in by Carsten, 4 months ago)

Using UltraEdit's multi-line search-and-replace-in-files feature, replaced


^#ifndef _(CAFU|CF|CFS|CA)_(.*)_$
^#define _\1_\2_$

with

#ifndef CAFU_\2_INCLUDED
#define CAFU_\2_INCLUDED

and


^#ifndef _(.*)_HPP_$
^#define _\1_HPP_$

with

#ifndef CAFU_\1_HPP_INCLUDED
#define CAFU_\1_HPP_INCLUDED

Closes #91.

Line 
1/*
2=================================================================================
3This file is part of Cafu, the open-source game engine and graphics engine
4for multiplayer, cross-platform, real-time 3D action.
5Copyright (C) 2002-2012 Carsten Fuchs Software.
6
7Cafu is free software: you can redistribute it and/or modify it under the terms
8of the GNU General Public License as published by the Free Software Foundation,
9either version 3 of the License, or (at your option) any later version.
10
11Cafu is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13PURPOSE. See the GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with Cafu. If not, see <http://www.gnu.org/licenses/>.
17
18For support and more information about Cafu, visit us at <http://www.cafu.de>.
19=================================================================================
20*/
21
22#ifndef CAFU_TOOLBAR_MATERIALS_HPP_INCLUDED
23#define CAFU_TOOLBAR_MATERIALS_HPP_INCLUDED
24
25#include "ObserverPattern.hpp"
26#include "Templates/Array.hpp"
27#include "wx/wx.h"
28
29
30class MapDocumentT;
31class EditorMaterialI;
32class EditorMatManT;
33
34
35/// The Materials toolbar (actually, a dialog).
36class MaterialsToolbarT : public wxPanel, public ObserverT
37{
38    public:
39
40    /// The constructor.
41    MaterialsToolbarT(wxWindow* Parent, MapDocumentT* MapDoc);
42
43    // Implementation of the ObserverT interface.
44    void NotifySubjectDies(SubjectT* Subject);
45
46    /// Overridden wxDialog::Show() function, because we also want to update the toolbar on Show(true).
47    bool Show(bool show=true);
48
49    /// Returns the current list of MRU materials (the first element is the selected material).
50    ArrayT<EditorMaterialI*> GetMRUMaterials() const;
51
52
53    private:
54
55    /// Pointer to the currently active document, or NULL when no document active.
56    MapDocumentT*   m_MapDoc;
57    EditorMatManT&  m_MatMan;
58
59    /// The controls.
60    wxChoice*       ChoiceCurrentMat;
61    wxStaticText*   StaticTextCurrentMatSize;
62    wxStaticBitmap* m_BitmapCurrentMat;
63
64    /// The event handlers.
65    void OnSelChangeCurrentMat(wxCommandEvent&  Event);
66    void OnButtonBrowse       (wxCommandEvent&  Event);
67    void OnButtonReplace      (wxCommandEvent&  Event);
68    void OnUpdateUI           (wxUpdateUIEvent& Event);
69
70    /// IDs for the controls in whose events we are interested.
71    enum
72    {
73        ID_CHOICE_CURRENT_MAT=wxID_HIGHEST+1,
74        ID_BUTTON_BROWSE_MATS,
75        ID_BUTTON_REPLACE_MATS
76    };
77
78    DECLARE_EVENT_TABLE()
79};
80
81#endif
Note: See TracBrowser for help on using the browser.