root/cafu/trunk/CaWE/ToolNewEntity.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_TOOL_NEW_ENTITY_HPP_INCLUDED
23#define CAFU_TOOL_NEW_ENTITY_HPP_INCLUDED
24
25#include "Tool.hpp"
26#include "wx/wx.h"
27
28
29class EntityClassT;
30class OptionsBar_NewEntityToolT;
31
32
33/// This class implements the "New Entity" tool.
34class ToolNewEntityT : public ToolT
35{
36    public:
37
38    /// The constructor.
39    ToolNewEntityT(MapDocumentT& MapDoc, ToolManagerT& ToolMan, wxWindow* ParentOptionsBar, bool CreateOptionsBar=true);
40
41
42    // Implementations/overrides of ToolT methods.
43    int       GetWxEventID() const { return ChildFrameT::ID_MENU_TOOLS_TOOL_NEWENTITY; }
44    wxWindow* GetOptionsBar();
45
46    bool OnKeyDown2D   (ViewWindow2DT& ViewWindow, wxKeyEvent&   KE);
47    bool OnLMouseDown2D(ViewWindow2DT& ViewWindow, wxMouseEvent& ME);
48    bool OnMouseMove2D (ViewWindow2DT& ViewWindow, wxMouseEvent& ME);
49
50    bool OnKeyDown3D   (ViewWindow3DT& ViewWindow, wxKeyEvent&   KE);
51    bool OnLMouseDown3D(ViewWindow3DT& ViewWindow, wxMouseEvent& ME);
52    bool OnMouseMove3D (ViewWindow3DT& ViewWindow, wxMouseEvent& ME);
53
54    void RenderTool2D(Renderer2DT& Renderer) const;
55    void RenderTool3D(Renderer3DT& Renderer) const;
56
57    // The TypeSys related declarations for this class.
58    virtual const cf::TypeSys::TypeInfoT* GetType() const { return &TypeInfo; }
59    static void* CreateInstance(const cf::TypeSys::CreateParamsT& Params);
60    static const cf::TypeSys::TypeInfoT TypeInfo;
61
62
63    protected:
64
65    /// Returns the class of the entity that is to be created by this tool.
66    /// The method is virtual so that e.g. ToolNewLightT can override it.
67    virtual const EntityClassT* GetNewEntClass() const;
68
69    OptionsBar_NewEntityToolT* m_OptionsBar;   ///< The options bar for this tool.
70};
71
72#endif
Note: See TracBrowser for help on using the browser.