From e7a01e3d8402bce14ba6433d41095c5362076ff3 Mon Sep 17 00:00:00 2001 From: leo Date: Sun, 12 Feb 2006 00:24:37 +0000 Subject: Added a group for pieces without a category in the Library Manager. git-svn-id: http://svn.leocad.org/trunk@472 c7d43263-9d01-0410-8a33-9dba5d9f93d6 --- win/Libdlg.cpp | 51 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 10 deletions(-) (limited to 'win/Libdlg.cpp') diff --git a/win/Libdlg.cpp b/win/Libdlg.cpp index 122bdef..8b59319 100644 --- a/win/Libdlg.cpp +++ b/win/Libdlg.cpp @@ -376,21 +376,50 @@ void CLibraryDlg::UpdateList() } else { - for (int i = 0; i < Lib->GetPieceCount(); i++) + if (CategoryName == "Unassigned") { - PieceInfo* Info = Lib->GetPieceInfo(i); + // Test each piece against all categories. + for (int i = 0; i < Lib->GetPieceCount(); i++) + { + PieceInfo* Info = Lib->GetPieceInfo(i); - LVITEM lvi; - lvi.mask = LVIF_TEXT | LVIF_PARAM; - lvi.iItem = 0; - lvi.iSubItem = 0; - lvi.lParam = (LPARAM)Info; - lvi.pszText = Info->m_strDescription; - int idx = m_List.InsertItem(&lvi); + for (int j = 0; j < Lib->GetNumCategories(); j++) + { + if (Lib->PieceInCategory(Info, Lib->GetCategoryKeywords(j))) + break; + } - m_List.SetItemText(idx, 1, Info->m_strName); + if (j == Lib->GetNumCategories()) + { + LVITEM lvi; + lvi.mask = LVIF_TEXT | LVIF_PARAM; + lvi.iItem = 0; + lvi.iSubItem = 0; + lvi.lParam = (LPARAM)Info; + lvi.pszText = Info->m_strDescription; + int idx = m_List.InsertItem(&lvi); + + m_List.SetItemText(idx, 1, Info->m_strName); + } + } } + else if (CategoryName == "Pieces") + { + for (int i = 0; i < Lib->GetPieceCount(); i++) + { + PieceInfo* Info = Lib->GetPieceInfo(i); + + LVITEM lvi; + lvi.mask = LVIF_TEXT | LVIF_PARAM; + lvi.iItem = 0; + lvi.iSubItem = 0; + lvi.lParam = (LPARAM)Info; + lvi.pszText = Info->m_strDescription; + int idx = m_List.InsertItem(&lvi); + m_List.SetItemText(idx, 1, Info->m_strName); + } + } } m_List.SortItems((PFNLVCOMPARE)ListCompare, m_SortColumn); @@ -408,6 +437,8 @@ void CLibraryDlg::UpdateTree() for (int i = 0; i < Lib->GetNumCategories(); i++) m_Tree.InsertItem(TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM|TVIF_TEXT, Lib->GetCategoryName(i), 0, 1, 0, 0, 0, Root, TVI_SORT); + m_Tree.InsertItem(TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM|TVIF_TEXT, "Unassigned", 0, 1, 0, 0, 0, Root, TVI_LAST); + m_Tree.Expand(Root, TVE_EXPAND); m_Tree.SetRedraw(TRUE); m_Tree.Invalidate(); -- cgit v1.2.3