Changeset 392
- Timestamp:
- 09/23/11 10:30:21 (8 months ago)
- Location:
- cafu/trunk/CaWE/ModelEditor
- Files:
-
- 4 modified
-
ChildFrame.cpp (modified) (1 diff)
-
ElementsList.cpp (modified) (1 diff)
-
SkinsList.cpp (modified) (13 diffs)
-
SkinsList.hpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
cafu/trunk/CaWE/ModelEditor/ChildFrame.cpp
r383 r392 245 245 Right().Position(1)); 246 246 247 m_SkinsList=new SkinsPanelT(this, wxSize(230, 150) );247 m_SkinsList=new SkinsPanelT(this, wxSize(230, 150), SKIN); 248 248 m_AUIManager.AddPane(m_SkinsList, wxAuiPaneInfo(). 249 249 Name("SkinsList").Caption("Skins List"). -
cafu/trunk/CaWE/ModelEditor/ElementsList.cpp
r383 r392 395 395 item0->Add( item7, 0, wxEXPAND | wxTOP | wxBOTTOM, 3 ); 396 396 397 m_List=new ElementsListT(MainFrame, this, /*ID_LISTVIEW,*/ wxDefaultSize, Type);397 m_List=new ElementsListT(MainFrame, this, /*ID_LISTVIEW,*/ wxDefaultSize, m_TYPE); 398 398 item0->Add(m_List, 1, wxEXPAND, 0 ); 399 399 -
cafu/trunk/CaWE/ModelEditor/SkinsList.cpp
r390 r392 46 46 47 47 48 SkinsListT::SkinsListT(ChildFrameT* MainFrame, wxWindow* Parent, const wxSize& Size )48 SkinsListT::SkinsListT(ChildFrameT* MainFrame, wxWindow* Parent, const wxSize& Size, ModelElementTypeT Type) 49 49 : wxListView(Parent, wxID_ANY, wxDefaultPosition, Size, wxLC_REPORT | wxLC_EDIT_LABELS), 50 m_TYPE(Type), 50 51 m_ModelDoc(MainFrame->GetModelDoc()), 51 52 m_MainFrame(MainFrame), … … 74 75 { 75 76 if (m_IsRecursiveSelfNotify) return; 76 if (Type!= SKIN) return;77 if (Type!=m_TYPE) return; 77 78 78 79 m_IsRecursiveSelfNotify=true; … … 96 97 { 97 98 if (m_IsRecursiveSelfNotify) return; 98 if (Type!= SKIN) return;99 if (Type!=m_TYPE) return; 99 100 100 101 InitListItems(); … … 105 106 { 106 107 if (m_IsRecursiveSelfNotify) return; 107 if (Type!= SKIN) return;108 if (Type!=m_TYPE) return; 108 109 109 110 InitListItems(); … … 131 132 void SkinsListT::InitListItems() 132 133 { 133 const ArrayT<unsigned int>& S kinSel=m_ModelDoc->GetSelection(SKIN);134 const ArrayT<unsigned int>& Sel=m_ModelDoc->GetSelection(m_TYPE); 134 135 135 136 Freeze(); 136 137 DeleteAllItems(); 137 138 138 InsertItem(0, "default"); 139 SetItem(0, 1, "-1"); 140 if (SkinSel.Size()==0) Select(0); 141 142 for (unsigned long ElemNr=0; ElemNr<m_ModelDoc->GetModel()->GetSkins().Size(); ElemNr++) 143 { 144 InsertItem(ElemNr+1, m_ModelDoc->GetModel()->GetSkins()[ElemNr].Name); 145 SetItem(ElemNr+1, 1, wxString::Format("%lu", ElemNr)); 146 147 if (SkinSel.Find(ElemNr)!=-1) Select(ElemNr+1); 139 switch (m_TYPE) 140 { 141 case SKIN: 142 InsertItem(0, "default"); 143 SetItem(0, 1, "-1"); 144 if (Sel.Size()==0) Select(0); 145 146 for (unsigned long ElemNr=0; ElemNr<m_ModelDoc->GetModel()->GetSkins().Size(); ElemNr++) 147 { 148 InsertItem(ElemNr+1, m_ModelDoc->GetModel()->GetSkins()[ElemNr].Name); 149 SetItem(ElemNr+1, 1, wxString::Format("%lu", ElemNr)); 150 151 if (Sel.Find(ElemNr)!=-1) Select(ElemNr+1); 152 } 153 154 break; 148 155 } 149 156 … … 159 166 void SkinsListT::OnFocus(wxFocusEvent& FE) 160 167 { 161 m_MainFrame->SetLastUsedType( SKIN);168 m_MainFrame->SetLastUsedType(m_TYPE); 162 169 FE.Skip(); 163 170 } … … 192 199 case ID_MENU_ADD_NEW: 193 200 { 194 CafuModelT::SkinT Skin; 195 196 Skin.Name="New Skin"; 197 while (Skin.Materials.Size() < m_ModelDoc->GetModel()->GetMeshes().Size()) Skin.Materials.PushBack(NULL); 198 while (Skin.RenderMaterials.Size() < m_ModelDoc->GetModel()->GetMeshes().Size()) Skin.RenderMaterials.PushBack(NULL); 199 200 m_MainFrame->SubmitCommand(new CommandAddT(m_ModelDoc, Skin)); 201 if (m_TYPE==SKIN) 202 { 203 CafuModelT::SkinT Skin; 204 205 Skin.Name="New Skin"; 206 while (Skin.Materials.Size() < m_ModelDoc->GetModel()->GetMeshes().Size()) Skin.Materials.PushBack(NULL); 207 while (Skin.RenderMaterials.Size() < m_ModelDoc->GetModel()->GetMeshes().Size()) Skin.RenderMaterials.PushBack(NULL); 208 209 m_MainFrame->SubmitCommand(new CommandAddT(m_ModelDoc, Skin)); 210 } 201 211 break; 202 212 } … … 252 262 NewSel.PushBack(SelNr-1); 253 263 254 m_MainFrame->SubmitCommand(CommandSelectT::Set(m_ModelDoc, SKIN, NewSel));264 m_MainFrame->SubmitCommand(CommandSelectT::Set(m_ModelDoc, m_TYPE, NewSel)); 255 265 256 266 m_IsRecursiveSelfNotify=false; … … 280 290 281 291 282 SkinsPanelT::SkinsPanelT(ChildFrameT* MainFrame, const wxSize& Size )292 SkinsPanelT::SkinsPanelT(ChildFrameT* MainFrame, const wxSize& Size, ModelElementTypeT Type) 283 293 : wxPanel(MainFrame, -1, wxDefaultPosition, Size), 294 m_TYPE(Type), 284 295 m_ModelDoc(MainFrame->GetModelDoc()), 285 296 m_MainFrame(MainFrame), … … 311 322 item0->Add( item7, 0, wxEXPAND | wxTOP | wxBOTTOM, 3 ); 312 323 313 m_List=new SkinsListT(MainFrame, this, /*ID_LISTVIEW,*/ wxDefaultSize );324 m_List=new SkinsListT(MainFrame, this, /*ID_LISTVIEW,*/ wxDefaultSize, m_TYPE); 314 325 item0->Add(m_List, 1, wxEXPAND, 0 ); 315 326 … … 325 336 case ID_BUTTON_ADD: 326 337 { 327 CafuModelT::SkinT Skin; 328 329 Skin.Name="New Skin"; 330 while (Skin.Materials.Size() < m_ModelDoc->GetModel()->GetMeshes().Size()) Skin.Materials.PushBack(NULL); 331 while (Skin.RenderMaterials.Size() < m_ModelDoc->GetModel()->GetMeshes().Size()) Skin.RenderMaterials.PushBack(NULL); 332 333 m_MainFrame->SubmitCommand(new CommandAddT(m_ModelDoc, Skin)); 338 if (m_TYPE==SKIN) 339 { 340 CafuModelT::SkinT Skin; 341 342 Skin.Name="New Skin"; 343 while (Skin.Materials.Size() < m_ModelDoc->GetModel()->GetMeshes().Size()) Skin.Materials.PushBack(NULL); 344 while (Skin.RenderMaterials.Size() < m_ModelDoc->GetModel()->GetMeshes().Size()) Skin.RenderMaterials.PushBack(NULL); 345 346 m_MainFrame->SubmitCommand(new CommandAddT(m_ModelDoc, Skin)); 347 } 334 348 break; 335 349 } … … 337 351 case ID_BUTTON_DELETE: 338 352 { 339 CommandDeleteT* DelCmd=new CommandDeleteT(m_ModelDoc, SKIN, m_ModelDoc->GetSelection(SKIN));353 CommandDeleteT* DelCmd=new CommandDeleteT(m_ModelDoc, m_TYPE, m_ModelDoc->GetSelection(m_TYPE)); 340 354 bool Result=DelCmd->Do(); 341 355 … … 354 368 case ID_BUTTON_ADD: 355 369 { 356 UE.Enable( true);370 UE.Enable(m_TYPE==SKIN || m_TYPE==GFIX); 357 371 break; 358 372 } -
cafu/trunk/CaWE/ModelEditor/SkinsList.hpp
r383 r392 40 40 41 41 /// The constructor. 42 SkinsListT(ChildFrameT* MainFrame, wxWindow* Parent, const wxSize& Size );42 SkinsListT(ChildFrameT* MainFrame, wxWindow* Parent, const wxSize& Size, ModelElementTypeT Type); 43 43 44 44 /// The destructor. … … 66 66 DECLARE_EVENT_TABLE() 67 67 68 ModelDocumentT* m_ModelDoc; 69 ChildFrameT* m_MainFrame; 70 bool m_IsRecursiveSelfNotify; 68 const ModelElementTypeT m_TYPE; 69 ModelDocumentT* m_ModelDoc; 70 ChildFrameT* m_MainFrame; 71 bool m_IsRecursiveSelfNotify; 71 72 }; 72 73 … … 76 77 public: 77 78 78 SkinsPanelT(ChildFrameT* MainFrame, const wxSize& Size );79 SkinsPanelT(ChildFrameT* MainFrame, const wxSize& Size, ModelElementTypeT Type); 79 80 80 81 … … 94 95 void OnButtonUpdate(wxUpdateUIEvent& UE); 95 96 96 ModelDocumentT* m_ModelDoc; 97 ChildFrameT* m_MainFrame; 98 SkinsListT* m_List; 97 const ModelElementTypeT m_TYPE; 98 ModelDocumentT* m_ModelDoc; 99 ChildFrameT* m_MainFrame; 100 SkinsListT* m_List; 99 101 100 102 DECLARE_EVENT_TABLE()
