summaryrefslogtreecommitdiff
path: root/win/Libdlg.cpp
diff options
context:
space:
mode:
authorleo2006-02-12 00:24:37 +0000
committerleo2006-02-12 00:24:37 +0000
commite7a01e3d8402bce14ba6433d41095c5362076ff3 (patch)
tree266c8cbd0df70b6f2c9610829cee54e1d1415de5 /win/Libdlg.cpp
parent5fd519ca2dd1d026929a82164246f515013552fe (diff)
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
Diffstat (limited to 'win/Libdlg.cpp')
-rw-r--r--win/Libdlg.cpp51
1 files changed, 41 insertions, 10 deletions
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();