From: <ir0...@us...> - 2009-08-27 14:53:45
|
Revision: 2593 http://emerge.svn.sourceforge.net/emerge/?rev=2593&view=rev Author: ir0nh34d Date: 2009-08-27 14:53:38 +0000 (Thu, 27 Aug 2009) Log Message: ----------- Fix issues with 'Defaults' button Modified Paths: -------------- trunk/Source/emergeSchemeEngine/SchemeEditor.cpp trunk/Source/emergeSchemeEngine/SchemeEditor.h Modified: trunk/Source/emergeSchemeEngine/SchemeEditor.cpp =================================================================== --- trunk/Source/emergeSchemeEngine/SchemeEditor.cpp 2009-08-27 11:27:07 UTC (rev 2592) +++ trunk/Source/emergeSchemeEngine/SchemeEditor.cpp 2009-08-27 14:53:38 UTC (rev 2593) @@ -87,6 +87,8 @@ if (hbmColourBorder) DeleteObject(hbmColourBorder); + ClearPanelMap(); + DeleteFile(tmpFile); } @@ -202,6 +204,19 @@ } } +void SchemeEditor::ClearPanelMap() +{ + std::map<HTREEITEM, PanelSet*>::iterator iter = panelMap.begin(); + + while (iter != panelMap.end()) + { + delete iter->second; + iter++; + } + + panelMap.clear(); +} + void SchemeEditor::ShowPanel(HTREEITEM panel) { std::map<HTREEITEM, PanelSet*>::iterator iter; @@ -390,28 +405,33 @@ TVINSERTSTRUCT tvInsert; - tvInsert.hParent = NULL; - tvInsert.hInsertAfter=TVI_ROOT; - tvInsert.item.mask = TVIF_TEXT; - tvInsert.item.pszText = (WCHAR*)TEXT("Opacity"); - hitemOpacity = TreeView_InsertItem(treeWnd, &tvInsert); - panelMap.insert(std::pair<HTREEITEM, PanelSet*>(hitemOpacity, new PanelSet)); + if (TreeView_DeleteAllItems(treeWnd)) + { + ClearPanelMap(); - tvInsert.item.pszText = (WCHAR*)TEXT("Color"); - hitemColor = TreeView_InsertItem(treeWnd, &tvInsert); - panelMap.insert(std::pair<HTREEITEM, PanelSet*>(hitemColor, new PanelSet)); + tvInsert.hParent = NULL; + tvInsert.hInsertAfter=TVI_ROOT; + tvInsert.item.mask = TVIF_TEXT; + tvInsert.item.pszText = (WCHAR*)TEXT("Opacity"); + hitemOpacity = TreeView_InsertItem(treeWnd, &tvInsert); + panelMap.insert(std::pair<HTREEITEM, PanelSet*>(hitemOpacity, new PanelSet)); - tvInsert.item.pszText = (WCHAR*)TEXT("Gradient"); - hitemGradient = TreeView_InsertItem(treeWnd, &tvInsert); - panelMap.insert(std::pair<HTREEITEM, PanelSet*>(hitemGradient, new PanelSet)); + tvInsert.item.pszText = (WCHAR*)TEXT("Color"); + hitemColor = TreeView_InsertItem(treeWnd, &tvInsert); + panelMap.insert(std::pair<HTREEITEM, PanelSet*>(hitemColor, new PanelSet)); - tvInsert.item.pszText = (WCHAR*)TEXT("Miscellaneous"); - hitemMisc = TreeView_InsertItem(treeWnd, &tvInsert); - panelMap.insert(std::pair<HTREEITEM, PanelSet*>(hitemMisc, new PanelSet)); + tvInsert.item.pszText = (WCHAR*)TEXT("Gradient"); + hitemGradient = TreeView_InsertItem(treeWnd, &tvInsert); + panelMap.insert(std::pair<HTREEITEM, PanelSet*>(hitemGradient, new PanelSet)); - BuildPanelMap(hwndDlg); - (void)TreeView_SelectItem(treeWnd, hitemOpacity); + tvInsert.item.pszText = (WCHAR*)TEXT("Miscellaneous"); + hitemMisc = TreeView_InsertItem(treeWnd, &tvInsert); + panelMap.insert(std::pair<HTREEITEM, PanelSet*>(hitemMisc, new PanelSet)); + BuildPanelMap(hwndDlg); + (void)TreeView_SelectItem(treeWnd, hitemOpacity); + } + return TRUE; } Modified: trunk/Source/emergeSchemeEngine/SchemeEditor.h =================================================================== --- trunk/Source/emergeSchemeEngine/SchemeEditor.h 2009-08-27 11:27:07 UTC (rev 2592) +++ trunk/Source/emergeSchemeEngine/SchemeEditor.h 2009-08-27 14:53:38 UTC (rev 2593) @@ -68,6 +68,7 @@ bool DoSaveScheme(HWND hwndDlg, WCHAR *fileName); BOOL DoDefaults(HWND hwndDlg); void BuildPanelMap(HWND hwndDlg); + void ClearPanelMap(); void ShowPanel(HTREEITEM panel); HTREEITEM hitemOpacity, hitemColor, hitemGradient, hitemMisc; }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |