+void CPropertiesWnd::RemoveParent()\r
+{\r
+ for(int i=0;i<m_ParentGroup->GetSubItemsCount();i++)\r
+ {\r
+ CMFCPropertyGridProperty * p=m_ParentGroup->GetSubItem(0);\r
+ m_ParentGroup->RemoveSubItem(p);\r
+ }\r
+ \r
+}\r
+void CPropertiesWnd::UpdateProperties(GitRev *rev)\r
+{\r
+ if(rev)\r
+ {\r
+ m_CommitHash->SetValue(rev->m_CommitHash);\r
+ m_AuthorName->SetValue(rev->m_AuthorName);\r
+ m_AuthorDate->SetValue(rev->m_AuthorDate.Format(_T("%Y-%m-%d %H:%M")));\r
+ m_AuthorEmail->SetValue(rev->m_AuthorEmail); \r
+\r
+ m_CommitterName->SetValue(rev->m_CommitterName);\r
+ m_CommitterEmail->SetValue(rev->m_CommitterEmail);\r
+ m_CommitterDate->SetValue(rev->m_CommitterDate.Format(_T("%Y-%m-%d %H:%M")));\r
+\r
+ m_Subject->SetValue(rev->m_Subject);\r
+ m_Body->SetValue(rev->m_Body);\r
+\r
+ RemoveParent();\r
+\r
+ m_ParentGroup;\r
+ \r
+ CLogDataVector *pLogEntry = &((CMainFrame*)AfxGetApp()->GetMainWnd())->m_wndOutput.m_LogList.m_logEntries;\r
+\r
+ for(int i=0;i<rev->m_ParentHash.size();i++)\r
+ {\r
+ CString str;\r
+ CString parentsubject;\r
+ int index=pLogEntry->m_HashMap[rev->m_ParentHash[i]];\r
+ if(index>=0)\r
+ parentsubject=pLogEntry->at(index).m_Subject;\r
+\r
+ str.Format(_T("%d - %s \n %s"),i,rev->m_ParentHash[i],parentsubject);\r
+ \r
+ CMFCPropertyGridProperty*p=new CMFCPropertyGridProperty(\r
+ rev->m_ParentHash[i].Left(8), \r
+ parentsubject,\r
+ str\r
+ );\r
+ m_ParentGroup->AddSubItem(p);\r
+ m_ParentGroup->Expand();\r
+ }\r
+ for(int i=0;i<m_BaseInfoGroup->GetSubItemsCount();i++)\r
+ m_BaseInfoGroup->GetSubItem(i)->SetDescription(m_BaseInfoGroup->GetSubItem(i)->GetValue());\r
+\r
+ }else\r
+ {\r
+ m_CommitHash->SetValue(_T(""));\r
+ m_AuthorName->SetValue(_T(""));\r
+ m_AuthorDate->SetValue(_T(""));\r
+ m_AuthorEmail->SetValue(_T(""));\r
+\r
+ m_CommitterName->SetValue(_T(""));\r
+ m_CommitterEmail->SetValue(_T(""));\r
+ m_CommitterDate->SetValue(_T(""));\r
+\r
+ m_Subject->SetValue(_T(""));\r
+ m_Body->SetValue(_T(""));\r
+\r
+ RemoveParent();\r
+ //m_ParentGroup;\r
+\r
+ //m_ParentHash->SetValue(_T(""));\r
+ //m_ParentSubject->SetValue(_T("")); \r
+ for(int i=0;i<m_BaseInfoGroup->GetSubItemsCount();i++)\r
+ m_BaseInfoGroup->GetSubItem(i)->SetDescription(_T(""));\r
+ }\r
+ this->Invalidate();\r
+ m_wndPropList.Invalidate();\r
+}
\ No newline at end of file