[commit] r2580 - trunk/GME/MgaUtil
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Mon Feb 16 08:12:56 CST 2015
Author: volgy
Date: Mon Feb 16 08:12:55 2015
New Revision: 2580
Log:
Applying Kevin's patch (annotation dialog)
Modified:
trunk/GME/MgaUtil/AnnotationBrowserDlg.cpp
Modified: trunk/GME/MgaUtil/AnnotationBrowserDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/AnnotationBrowserDlg.cpp Tue Jan 27 14:14:53 2015 (r2579)
+++ trunk/GME/MgaUtil/AnnotationBrowserDlg.cpp Mon Feb 16 08:12:55 2015 (r2580)
@@ -173,29 +173,36 @@
int listIdx = 0, focusIdx = 0;
POSITION pos = m_annotations.GetHeadPosition();
- while (pos) {
- CAnnotationNode *node = m_annotations.GetNext(pos);
- LVITEM lvItem;
- lvItem.mask = LVIF_PARAM | LVIF_TEXT;
- lvItem.iItem = listIdx++;
- lvItem.iSubItem = 0;
- lvItem.pszText = node->m_name.GetBuffer(node->m_name.GetLength());
- lvItem.lParam = (LPARAM)node;
-
- int retIdx = m_wndAnnotationList.InsertItem(&lvItem);
- if (node->m_regNode.IsEqualObject(m_focus)) {
- focusIdx = retIdx;
+ if (pos) {
+ while (pos) {
+ CAnnotationNode *node = m_annotations.GetNext(pos);
+ LVITEM lvItem;
+ lvItem.mask = LVIF_PARAM | LVIF_TEXT;
+ lvItem.iItem = listIdx++;
+ lvItem.iSubItem = 0;
+ lvItem.pszText = node->m_name.GetBuffer(node->m_name.GetLength());
+ lvItem.lParam = (LPARAM)node;
+
+ int retIdx = m_wndAnnotationList.InsertItem(&lvItem);
+ if (node->m_regNode->Path == m_focus->Path) {
+ focusIdx = retIdx;
+ }
+
+ lvItem.mask = LVIF_TEXT;
+ lvItem.iItem = retIdx;
+ lvItem.iSubItem = 1;
+ lvItem.pszText = node->m_text.GetBuffer(node->m_text.GetLength());
+ m_wndAnnotationList.SetItem(&lvItem);
}
-
- lvItem.mask = LVIF_TEXT;
- lvItem.iItem = retIdx;
- lvItem.iSubItem = 1;
- lvItem.pszText = node->m_text.GetBuffer(node->m_text.GetLength());
- m_wndAnnotationList.SetItem(&lvItem);
+ m_wndAnnotationList.SetItemState(focusIdx, LVIS_SELECTED, LVIS_SELECTED | LVIS_FOCUSED);
+ m_wndAnnotationList.EnsureVisible(focusIdx, FALSE);
+ }
+ else
+ {
+ // FIXME: should disable more things, but this gets the point across
+ GetDlgItem(IDC_EDIT_NAME)->EnableWindow(FALSE);
+ GetDlgItem(IDC_EDIT_TEXT)->EnableWindow(FALSE);
}
-
- m_wndAnnotationList.SetItemState(focusIdx, LVIS_SELECTED, LVIS_SELECTED | LVIS_FOCUSED);
- m_wndAnnotationList.EnsureVisible(focusIdx, FALSE);
::PostMessage(GetSafeHwnd(), WM_NEXTDLGCTL, (WPARAM)(GetDlgItem(IDC_EDIT_TEXT)->GetSafeHwnd()), TRUE);
/*
@@ -336,6 +343,15 @@
if ( (!(pNMListView->uNewState & LVIS_SELECTED)) && (pNMListView->uOldState & LVIS_SELECTED) ) {
SavePanelToNode(node);
}
+ if (!(pNMListView->uNewState & LVIS_SELECTED) && !this->m_wndAnnotationList.GetFirstSelectedItemPosition()) {
+ GetDlgItem(IDC_EDIT_NAME)->EnableWindow(FALSE);
+ GetDlgItem(IDC_EDIT_TEXT)->EnableWindow(FALSE);
+ }
+ else
+ {
+ GetDlgItem(IDC_EDIT_NAME)->EnableWindow(TRUE);
+ GetDlgItem(IDC_EDIT_TEXT)->EnableWindow(TRUE);
+ }
}
}
More information about the gme-commit
mailing list