7 #ifndef CAFU_MODELEDITOR_CHILD_FRAME_HPP_INCLUDED
8 #define CAFU_MODELEDITOR_CHILD_FRAME_HPP_INCLUDED
10 #include "../CommandHistory.hpp"
11 #include "ElementTypes.hpp"
12 #include "wx/docmdi.h"
13 #include "wx/aui/framemanager.h"
22 class ChannelInspectorT;
24 class GuiFixInspectorT;
25 class JointInspectorT;
26 class JointsHierarchyT;
31 class SubmodelsPanelT;
68 bool Save(
bool AskForFileName=
false);
78 void SetLastUsedType(ModelElementTypeT Type) { wxASSERT(Type<6); m_LastUsedType=Type; }
81 ScenePropGridT* GetScenePropGrid()
const {
return m_ScenePropGrid; }
87 void SaveMaterials(
const wxString& OldBaseName,
const wxString& BaseName);
90 void PaneToggleShow(wxAuiPaneInfo& PaneInfo);
93 wxString GetLodModelsString()
const;
96 ModelDocumentT* m_ModelDoc;
98 unsigned long m_LastSavedAtCommandNr;
99 ModelElementTypeT m_LastUsedType;
105 wxAuiManager m_AUIManager;
106 SceneView3DT* m_SceneView3D;
107 JointsHierarchyT* m_JointsHierarchy;
108 JointInspectorT* m_JointInspector;
109 ElementsPanelT* m_MeshesList;
110 MeshInspectorT* m_MeshInspector;
111 ElementsPanelT* m_SkinsList;
112 wxStaticText* m_SkinInspector;
113 ElementsPanelT* m_GuiFixturesList;
114 GuiFixInspectorT* m_GuiFixtureInspector;
115 ElementsPanelT* m_AnimsList;
116 AnimInspectorT* m_AnimInspector;
117 ElementsPanelT* m_ChannelsList;
118 ChannelInspectorT* m_ChannelInspector;
119 ScenePropGridT* m_ScenePropGrid;
120 SubmodelsPanelT* m_SubmodelsPanel;
121 wxStaticText* m_DlodModelsList;
127 ID_MENU_FILE_CLOSE=wxID_HIGHEST+1+2000,
131 ID_MENU_VIEW_AUIPANE_JOINTS_HIERARCHY,
132 ID_MENU_VIEW_AUIPANE_JOINT_INSPECTOR,
133 ID_MENU_VIEW_AUIPANE_MESHES_LIST,
134 ID_MENU_VIEW_AUIPANE_MESH_INSPECTOR,
135 ID_MENU_VIEW_AUIPANE_SKINS_LIST,
136 ID_MENU_VIEW_AUIPANE_SKIN_INSPECTOR,
137 ID_MENU_VIEW_AUIPANE_GUIFIXTURES_LIST,
138 ID_MENU_VIEW_AUIPANE_GUIFIXTURE_INSPECTOR,
139 ID_MENU_VIEW_AUIPANE_ANIMS_LIST,
140 ID_MENU_VIEW_AUIPANE_ANIM_INSPECTOR,
141 ID_MENU_VIEW_AUIPANE_CHANNELS_LIST,
142 ID_MENU_VIEW_AUIPANE_CHANNEL_INSPECTOR,
143 ID_MENU_VIEW_AUIPANE_SCENE_SETUP,
144 ID_MENU_VIEW_AUIPANE_SUBMODELS_LIST,
145 ID_MENU_VIEW_AUIPANE_DLOD_MODELS_LIST,
146 ID_MENU_VIEW_AUIPANE_TRANSFORM_DIALOG,
147 ID_MENU_VIEW_LOAD_DEFAULT_PERSPECTIVE,
148 ID_MENU_VIEW_LOAD_USER_PERSPECTIVE,
149 ID_MENU_VIEW_SAVE_USER_PERSPECTIVE,
151 ID_MENU_MODEL_ANIM_SKIP_BACKWARD,
152 ID_MENU_MODEL_ANIM_PLAY,
153 ID_MENU_MODEL_ANIM_PAUSE,
154 ID_MENU_MODEL_ANIM_SKIP_FORWARD,
155 ID_MENU_MODEL_TRANSFORM,
156 ID_MENU_MODEL_SKIN_ADD,
157 ID_MENU_MODEL_GUIFIXTURE_ADD,
158 ID_MENU_MODEL_ANIM_IMPORT,
159 ID_MENU_MODEL_CHANNEL_ADD,
160 ID_MENU_MODEL_LOAD_SUBMODEL,
161 ID_MENU_MODEL_UNLOAD_SUBMODELS
164 void OnMenuFile(wxCommandEvent& CE);
165 void OnMenuFileUpdate(wxUpdateUIEvent& UE);
166 void OnMenuUndoRedo(wxCommandEvent& CE);
167 void OnMenuUndoRedoUpdate(wxUpdateUIEvent& UE);
168 void OnMenuEdit(wxCommandEvent& CE);
169 void OnMenuEditUpdate(wxUpdateUIEvent& UE);
170 void OnMenuView(wxCommandEvent& CE);
171 void OnMenuViewUpdate(wxUpdateUIEvent& UE);
172 void OnMenuModel(wxCommandEvent& CE);
173 void OnMenuModelUpdate(wxUpdateUIEvent& UE);
174 void OnClose(wxCloseEvent& CE);
176 DECLARE_EVENT_TABLE()
bool Save(bool AskForFileName=false)
Saves the model under the known or a new file name.
Definition: ChildFrame.cpp:512
Definition: ChildFrame.hpp:35
void SetLastUsedType(ModelElementTypeT Type)
Sets the type of the most recently used (clicked) model element.
Definition: ChildFrame.hpp:78
bool SubmitNewSkin()
Creates a new skin, calls SubmitCommand() accordingly and returns its result.
Definition: ChildFrame.cpp:342
void ShowRelatedInspector(wxWindow *List, bool DoShow=true)
This method shows or hides the pane of the detail inspector that is related to the given list view...
Definition: ChildFrame.cpp:670
This class represents the CaWE parent (main) frame.
Definition: ParentFrame.hpp:33
~ChildFrameT()
The destructor.
Definition: ChildFrame.cpp:315
const ModelElementTypeT GetLastUsedType() const
Returns the type of the most recently used (clicked) model element.
Definition: ChildFrame.hpp:75
Definition: CommandHistory.hpp:13
ChildFrameT(ParentFrameT *Parent, const wxString &FileName, ModelDocumentT *ModelDoc)
The constructor for creating a new model editor child frame.
Definition: ChildFrame.cpp:61
bool SubmitNewGuiFixture()
Creates a new GUI fixture, calls SubmitCommand() accordingly and returns its result.
Definition: ChildFrame.cpp:354
bool SubmitNewChannel()
Creates a new animation channel, calls SubmitCommand() accordingly and returns its result...
Definition: ChildFrame.cpp:417
bool SubmitImportAnims()
Imports animation sequences from a user selected file, calls SubmitCommand() accordingly and returns ...
Definition: ChildFrame.cpp:365
bool SubmitCommand(CommandT *Command)
[...] All(!) commands for modifying the document must be submitted via this method.
Definition: ChildFrame.cpp:330
This class represents a general command for implementing modifications to the applications document...
Definition: CommandPattern.hpp:30
Definition: ModelDocument.hpp:30