Changeset 392

Show
Ignore:
Timestamp:
09/23/11 10:30:21 (8 months ago)
Author:
Carsten
Message:

Model Editor: Prepare for merging class SkinsListT back into ElementsListT.

Location:
cafu/trunk/CaWE/ModelEditor
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • cafu/trunk/CaWE/ModelEditor/ChildFrame.cpp

    r383 r392  
    245245                         Right().Position(1)); 
    246246 
    247     m_SkinsList=new SkinsPanelT(this, wxSize(230, 150)); 
     247    m_SkinsList=new SkinsPanelT(this, wxSize(230, 150), SKIN); 
    248248    m_AUIManager.AddPane(m_SkinsList, wxAuiPaneInfo(). 
    249249                         Name("SkinsList").Caption("Skins List"). 
  • cafu/trunk/CaWE/ModelEditor/ElementsList.cpp

    r383 r392  
    395395    item0->Add( item7, 0, wxEXPAND | wxTOP | wxBOTTOM, 3 ); 
    396396 
    397     m_List=new ElementsListT(MainFrame, this, /*ID_LISTVIEW,*/ wxDefaultSize, Type); 
     397    m_List=new ElementsListT(MainFrame, this, /*ID_LISTVIEW,*/ wxDefaultSize, m_TYPE); 
    398398    item0->Add(m_List, 1, wxEXPAND, 0 ); 
    399399 
  • cafu/trunk/CaWE/ModelEditor/SkinsList.cpp

    r390 r392  
    4646 
    4747 
    48 SkinsListT::SkinsListT(ChildFrameT* MainFrame, wxWindow* Parent, const wxSize& Size) 
     48SkinsListT::SkinsListT(ChildFrameT* MainFrame, wxWindow* Parent, const wxSize& Size, ModelElementTypeT Type) 
    4949    : wxListView(Parent, wxID_ANY, wxDefaultPosition, Size, wxLC_REPORT | wxLC_EDIT_LABELS), 
     50      m_TYPE(Type), 
    5051      m_ModelDoc(MainFrame->GetModelDoc()), 
    5152      m_MainFrame(MainFrame), 
     
    7475{ 
    7576    if (m_IsRecursiveSelfNotify) return; 
    76     if (Type!=SKIN) return; 
     77    if (Type!=m_TYPE) return; 
    7778 
    7879    m_IsRecursiveSelfNotify=true; 
     
    9697{ 
    9798    if (m_IsRecursiveSelfNotify) return; 
    98     if (Type!=SKIN) return; 
     99    if (Type!=m_TYPE) return; 
    99100 
    100101    InitListItems(); 
     
    105106{ 
    106107    if (m_IsRecursiveSelfNotify) return; 
    107     if (Type!=SKIN) return; 
     108    if (Type!=m_TYPE) return; 
    108109 
    109110    InitListItems(); 
     
    131132void SkinsListT::InitListItems() 
    132133{ 
    133     const ArrayT<unsigned int>& SkinSel=m_ModelDoc->GetSelection(SKIN); 
     134    const ArrayT<unsigned int>& Sel=m_ModelDoc->GetSelection(m_TYPE); 
    134135 
    135136    Freeze(); 
    136137    DeleteAllItems(); 
    137138 
    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; 
    148155    } 
    149156 
     
    159166void SkinsListT::OnFocus(wxFocusEvent& FE) 
    160167{ 
    161     m_MainFrame->SetLastUsedType(SKIN); 
     168    m_MainFrame->SetLastUsedType(m_TYPE); 
    162169    FE.Skip(); 
    163170} 
     
    192199        case ID_MENU_ADD_NEW: 
    193200        { 
    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            } 
    201211            break; 
    202212        } 
     
    252262            NewSel.PushBack(SelNr-1); 
    253263 
    254     m_MainFrame->SubmitCommand(CommandSelectT::Set(m_ModelDoc, SKIN, NewSel)); 
     264    m_MainFrame->SubmitCommand(CommandSelectT::Set(m_ModelDoc, m_TYPE, NewSel)); 
    255265 
    256266    m_IsRecursiveSelfNotify=false; 
     
    280290 
    281291 
    282 SkinsPanelT::SkinsPanelT(ChildFrameT* MainFrame, const wxSize& Size) 
     292SkinsPanelT::SkinsPanelT(ChildFrameT* MainFrame, const wxSize& Size, ModelElementTypeT Type) 
    283293    : wxPanel(MainFrame, -1, wxDefaultPosition, Size), 
     294      m_TYPE(Type), 
    284295      m_ModelDoc(MainFrame->GetModelDoc()), 
    285296      m_MainFrame(MainFrame), 
     
    311322    item0->Add( item7, 0, wxEXPAND | wxTOP | wxBOTTOM, 3 ); 
    312323 
    313     m_List=new SkinsListT(MainFrame, this, /*ID_LISTVIEW,*/ wxDefaultSize); 
     324    m_List=new SkinsListT(MainFrame, this, /*ID_LISTVIEW,*/ wxDefaultSize, m_TYPE); 
    314325    item0->Add(m_List, 1, wxEXPAND, 0 ); 
    315326 
     
    325336        case ID_BUTTON_ADD: 
    326337        { 
    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            } 
    334348            break; 
    335349        } 
     
    337351        case ID_BUTTON_DELETE: 
    338352        { 
    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)); 
    340354            bool            Result=DelCmd->Do(); 
    341355 
     
    354368        case ID_BUTTON_ADD: 
    355369        { 
    356             UE.Enable(true); 
     370            UE.Enable(m_TYPE==SKIN || m_TYPE==GFIX); 
    357371            break; 
    358372        } 
  • cafu/trunk/CaWE/ModelEditor/SkinsList.hpp

    r383 r392  
    4040 
    4141        /// The constructor. 
    42         SkinsListT(ChildFrameT* MainFrame, wxWindow* Parent, const wxSize& Size); 
     42        SkinsListT(ChildFrameT* MainFrame, wxWindow* Parent, const wxSize& Size, ModelElementTypeT Type); 
    4343 
    4444        /// The destructor. 
     
    6666        DECLARE_EVENT_TABLE() 
    6767 
    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; 
    7172    }; 
    7273 
     
    7677        public: 
    7778 
    78         SkinsPanelT(ChildFrameT* MainFrame, const wxSize& Size); 
     79        SkinsPanelT(ChildFrameT* MainFrame, const wxSize& Size, ModelElementTypeT Type); 
    7980 
    8081 
     
    9495        void OnButtonUpdate(wxUpdateUIEvent& UE); 
    9596 
    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; 
    99101 
    100102        DECLARE_EVENT_TABLE()