[commit] r2071 - trunk/GME/MgaUtil

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Thu Sep 27 13:11:58 CDT 2012


Author: ksmyth
Date: Thu Sep 27 13:11:58 2012
New Revision: 2071

Log:
Make Purge/Select dialog better: sort on columns, OK> do you want to purge?, bigger

Modified:
   trunk/GME/MgaUtil/MakeClosure.cpp
   trunk/GME/MgaUtil/MetaDlg.cpp
   trunk/GME/MgaUtil/MetaPurgeDialog.cpp
   trunk/GME/MgaUtil/MetaPurgeDialog.h
   trunk/GME/MgaUtil/MgaUtil.rc
   trunk/GME/MgaUtil/StdAfx.h

Modified: trunk/GME/MgaUtil/MakeClosure.cpp
==============================================================================
--- trunk/GME/MgaUtil/MakeClosure.cpp	Thu Sep 27 13:11:42 2012	(r2070)
+++ trunk/GME/MgaUtil/MakeClosure.cpp	Thu Sep 27 13:11:58 2012	(r2071)
@@ -1232,7 +1232,7 @@
 	for( unsigned int l = 1; l < k; ++l)
 	{
 		std::string next_path = path_map[ l];
-		unsigned int minlen = min( next_path.length(), common_path.length());
+		unsigned int minlen = std::min( next_path.length(), common_path.length());
 
 		// the strings may look like
 		// id-0065-001/id-0065-002/id-0065-003/
@@ -1253,7 +1253,7 @@
 		common_path = common_path.substr( 0, pos_of_last_slash + 1); // tailing '/' needed
 
 		std::string next_name = name_map[ l];
-		minlen = min( next_name.length(), common_name.length());
+		minlen = std::min( next_name.length(), common_name.length());
 
 		pos_of_last_slash = 0;
 		newlen = 0;

Modified: trunk/GME/MgaUtil/MetaDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/MetaDlg.cpp	Thu Sep 27 13:11:42 2012	(r2070)
+++ trunk/GME/MgaUtil/MetaDlg.cpp	Thu Sep 27 13:11:58 2012	(r2071)
@@ -41,6 +41,7 @@
 	ON_BN_CLICKED(IDC_ADDFILE, OnAddfile)
 	ON_BN_CLICKED(IDC_REMOVE, OnRemove)
 	ON_BN_CLICKED(IDC_PURGE, OnPurge)
+	ON_BN_CLICKED(IDCANCEL, OnCancel)
 	//}}AFX_MSG_MAP
 	ON_WM_SIZE()
 END_MESSAGE_MAP()

Modified: trunk/GME/MgaUtil/MetaPurgeDialog.cpp
==============================================================================
--- trunk/GME/MgaUtil/MetaPurgeDialog.cpp	Thu Sep 27 13:11:42 2012	(r2070)
+++ trunk/GME/MgaUtil/MetaPurgeDialog.cpp	Thu Sep 27 13:11:58 2012	(r2071)
@@ -39,13 +39,39 @@
 	ON_WM_CANCELMODE()
 	ON_BN_CLICKED(IDC_PURGE2, OnPurge)
 	ON_BN_CLICKED(IDC_SETCURRENT, OnSetcurrent)
-	ON_BN_CLICKED(IDCLOSE, OnClose)
+	ON_BN_CLICKED(IDOK, OnOK)
+	ON_NOTIFY(LVN_COLUMNCLICK, IDC_PURGELIST, OnParadigmsHeader)
+	
 	//}}AFX_MSG_MAP
 END_MESSAGE_MAP()
 
 /////////////////////////////////////////////////////////////////////////////
 // CMetaPurgeDialog message handlers
 
+struct SortParam {
+	CListCtrl& list;
+	int columnIndex;
+};
+
+int CALLBACK CMetaPurgeDialog::SortFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) {
+	SortParam& param = *(SortParam*)lParamSort;
+	
+	CString a = param.list.GetItemText(lParam1, param.columnIndex);
+	CString b = param.list.GetItemText(lParam2, param.columnIndex);
+
+	return _tcsicmp(a, b);
+}
+
+
+void CMetaPurgeDialog::OnParadigmsHeader(NMHDR* pNMHDR, LRESULT* pResult) 
+{
+	NMLISTVIEW *pLV = (NMLISTVIEW *) pNMHDR;
+	SortParam s = { this->m_list, pLV->iSubItem };
+	m_list.SortItemsEx(SortFunc, (DWORD)(void*)&s);
+	
+	*pResult = 0;
+}
+
 
 BOOL CMetaPurgeDialog::OnInitDialog() 
 {
@@ -57,7 +83,6 @@
     dwStyle |= LVS_EX_FULLROWSELECT;
     listctrl->SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dwStyle);
 
-
 	MSGTRY
 	{
 		ASSERT( registrar != NULL );
@@ -77,12 +102,18 @@
 		lvc.cx = 250;
 		VERIFYTHROW( m_list.InsertColumn(2, &lvc) != -1 );
 
-
 		lvc.pszText = _T("Connection String");
-		lvc.cx = 300;
+		lvc.cx = 350;
 		VERIFYTHROW( m_list.InsertColumn(3, &lvc) != -1 );
 
 		ResetItems();
+
+		listctrl->SetColumnWidth(1,LVSCW_AUTOSIZE);
+		listctrl->SetColumnWidth(2,LVSCW_AUTOSIZE);
+		CRect rect;
+		listctrl->GetClientRect(&rect);
+		int width = std::max(300, rect.Width() - (listctrl->GetColumnWidth(0) + listctrl->GetColumnWidth(1) + listctrl->GetColumnWidth(2)));
+		listctrl->SetColumnWidth(3, width);
 	}
 	MSGCATCH(_T("Error while initializing MetaPurgeDlg"),;)
 		
@@ -93,7 +124,6 @@
 void CMetaPurgeDialog::OnCancelMode() 
 {
 	CDialog::OnCancelMode();
-	
 }
 
 void CMetaPurgeDialog::ResetItems()
@@ -209,7 +239,19 @@
 	MSGCATCH(_T("Error while setting current version"),;)
 }
 
+void CMetaPurgeDialog::OnOK()
+{
+	if (m_list.GetFirstSelectedItemPosition())
+	{
+		if (::MessageBox(GetSafeHwnd(), L"Do you want to purge the selected items?", L"Purge/Select", MB_YESNO) == IDYES)
+		{
+			OnPurge();
+		}
+	}
+	__super::OnOK();
+}
+
 void CMetaPurgeDialog::OnClose() 
 {
-	CDialog::OnOK();
+	CDialog::OnClose();
 }

Modified: trunk/GME/MgaUtil/MetaPurgeDialog.h
==============================================================================
--- trunk/GME/MgaUtil/MetaPurgeDialog.h	Thu Sep 27 13:11:42 2012	(r2070)
+++ trunk/GME/MgaUtil/MetaPurgeDialog.h	Thu Sep 27 13:11:58 2012	(r2071)
@@ -33,6 +33,8 @@
 
 // Implementation
 protected:
+	static int CALLBACK SortFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
+	afx_msg void OnParadigmsHeader(NMHDR* pNMHDR, LRESULT* pResult);
 
 	// Generated message map functions
 	//{{AFX_MSG(CMetaPurgeDialog)
@@ -41,6 +43,7 @@
 	afx_msg void OnPurge();
 	afx_msg void OnSetcurrent();
 	afx_msg void OnClose();
+	afx_msg void OnOK();
 	//}}AFX_MSG
 	DECLARE_MESSAGE_MAP()
 private:

Modified: trunk/GME/MgaUtil/MgaUtil.rc
==============================================================================
--- trunk/GME/MgaUtil/MgaUtil.rc	Thu Sep 27 13:11:42 2012	(r2070)
+++ trunk/GME/MgaUtil/MgaUtil.rc	Thu Sep 27 13:11:58 2012	(r2071)
@@ -159,18 +159,18 @@
     LTEXT           "",IDC_STATIC2,7,18,230,8
 END
 
-IDD_METAPURGEDIALOG DIALOG 0, 0, 371, 182
+IDD_METAPURGEDIALOG DIALOGEX 0, 0, 582, 231
 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Dialog"
-FONT 8, "MS Sans Serif"
+CAPTION "Remove old paradigm versions"
+FONT 8, "MS Sans Serif", 0, 0, 0x0
 BEGIN
-    DEFPUSHBUTTON   "Close",IDCLOSE,308,7,56,14
-    PUSHBUTTON      "Purge selected",IDC_PURGE2,308,24,56,14
-    CONTROL         "List2",IDC_PURGELIST,"SysListView32",LVS_REPORT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,292,168
-    LTEXT           "Select versions no longer needed. \nThe current version (*) cannot be purged.",IDC_STATIC,310,67,54,61
-    CONTROL         "Delete files",IDC_DELFILES,"Button",BS_AUTORADIOBUTTON | WS_GROUP,307,132,51,10
-    CONTROL         "Unregister\nonly",IDC_NODELFILES,"Button",BS_AUTORADIOBUTTON | BS_MULTILINE,307,141,50,21
-    PUSHBUTTON      "Set Current",IDC_SETCURRENT,308,41,56,14
+    CONTROL         "List2",IDC_PURGELIST,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,7,26,508,199
+    DEFPUSHBUTTON   "OK",IDOK,525,210,50,14
+    PUSHBUTTON      "Purge",IDC_PURGE2,521,26,50,14
+    PUSHBUTTON      "Set Current",IDC_SETCURRENT,521,43,50,14
+    LTEXT           "Select versions no longer needed. \nThe current version (*) cannot be purged.",IDC_STATIC,7,7,496,19
+    CONTROL         "Delete files",IDC_DELFILES,"Button",BS_AUTORADIOBUTTON | WS_GROUP,521,62,51,10
+    CONTROL         "Unregister\nonly",IDC_NODELFILES,"Button",BS_AUTORADIOBUTTON | BS_MULTILINE,522,76,50,21
 END
 
 IDD_REGISTRY_BROWSER DIALOGEX 0, 0, 406, 220
@@ -547,9 +547,9 @@
     IDD_METAPURGEDIALOG, DIALOG
     BEGIN
         LEFTMARGIN, 7
-        RIGHTMARGIN, 364
+        RIGHTMARGIN, 575
         TOPMARGIN, 7
-        BOTTOMMARGIN, 175
+        BOTTOMMARGIN, 224
     END
 
     IDD_REGISTRY_BROWSER, DIALOG

Modified: trunk/GME/MgaUtil/StdAfx.h
==============================================================================
--- trunk/GME/MgaUtil/StdAfx.h	Thu Sep 27 13:11:42 2012	(r2070)
+++ trunk/GME/MgaUtil/StdAfx.h	Thu Sep 27 13:11:58 2012	(r2071)
@@ -8,6 +8,8 @@
 
 #pragma once
 
+#define NOMINMAX
+
 #ifndef _SECURE_ATL
 #define _SECURE_ATL 1
 #endif


More information about the gme-commit mailing list