m_wndPropList.EnableDescriptionArea();\r
m_wndPropList.SetVSDotNetLook();\r
m_wndPropList.MarkModifiedProperties();\r
+ \r
+ CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(_T("Basic Info"));\r
+\r
+ \r
+ m_CommitHash = new CMFCPropertyGridProperty(\r
+ _T("Commit Hash"), \r
+ _T(""),\r
+ _T("Commit Hash")\r
+ );\r
+ pGroup1->AddSubItem(m_CommitHash);\r
+\r
+ m_AuthorName = new CMFCPropertyGridProperty(\r
+ _T("Author"), \r
+ _T(""),\r
+ _T("Author")\r
+ );\r
+ pGroup1->AddSubItem(m_AuthorName);\r
+\r
+ m_AuthorDate = new CMFCPropertyGridProperty(\r
+ _T("Author Date"), \r
+ _T(""),\r
+ _T("Author Date")\r
+ );\r
+ pGroup1->AddSubItem(m_AuthorDate);\r
+\r
+ m_AuthorEmail= new CMFCPropertyGridProperty(\r
+ _T("Author Email"), \r
+ _T(""),\r
+ _T("Author Email")\r
+ );\r
+ pGroup1->AddSubItem(m_AuthorEmail);\r
+\r
+ m_CommitterName = new CMFCPropertyGridProperty(\r
+ _T("Committer Name"), \r
+ _T(""),\r
+ _T("Committer Name")\r
+ );\r
+ pGroup1->AddSubItem(m_CommitterName);\r
+\r
+ m_CommitterEmail =new CMFCPropertyGridProperty(\r
+ _T("Committer Email"), \r
+ _T(""),\r
+ _T("Committer Email")\r
+ );\r
+ pGroup1->AddSubItem(m_CommitterEmail);\r
+\r
+ m_CommitterDate = new CMFCPropertyGridProperty(\r
+ _T("Committer Date"), \r
+ _T(""),\r
+ _T("Committer Date")\r
+ );;\r
+ pGroup1->AddSubItem(m_CommitterDate);\r
+\r
+ m_Subject = new CMFCPropertyGridProperty(\r
+ _T("Subject"), \r
+ _T(""),\r
+ _T("Subject")\r
+ );;;\r
+ pGroup1->AddSubItem(m_Subject);\r
+\r
+ m_Body = new CMFCPropertyGridProperty(\r
+ _T("Body"), \r
+ _T(""),\r
+ _T("Body")\r
+ );;;;\r
+ pGroup1->AddSubItem(m_Body);\r
+\r
+ for(int i=0;i<pGroup1->GetSubItemsCount();i++)\r
+ {\r
+ pGroup1->GetSubItem(i)->AllowEdit(FALSE);\r
+ }\r
\r
- CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(_T("Appearance"));\r
+ //std::vector<CMFCPropertyGridProperty*> m_ParentHash;\r
+ //std::vector<CMFCPropertyGridProperty*> m_ParentSubject;\r
\r
- pGroup1->AddSubItem(new CMFCPropertyGridProperty(_T("3D Look"), (_variant_t) false, _T("Specifies the window's font will be non-bold and controls will have a 3D border")));\r
+ m_wndPropList.AddProperty(pGroup1);\r
+ m_BaseInfoGroup=pGroup1;\r
\r
- CMFCPropertyGridProperty* pProp = new CMFCPropertyGridProperty(_T("Border"), _T("Dialog Frame"), _T("One of: None, Thin, Resizable, or Dialog Frame"));\r
- pProp->AddOption(_T("None"));\r
- pProp->AddOption(_T("Thin"));\r
- pProp->AddOption(_T("Resizable"));\r
- pProp->AddOption(_T("Dialog Frame"));\r
- pProp->AllowEdit(FALSE);\r
+ m_ParentGroup=new CMFCPropertyGridProperty(_T("Parent"));\r
\r
- pGroup1->AddSubItem(pProp);\r
+ m_wndPropList.AddProperty(m_ParentGroup);\r
+#if 0\r
pGroup1->AddSubItem(new CMFCPropertyGridProperty(_T("Caption"), (_variant_t) _T("About"), _T("Specifies the text that will be displayed in the window's title bar")));\r
\r
- m_wndPropList.AddProperty(pGroup1);\r
+ \r
\r
CMFCPropertyGridProperty* pSize = new CMFCPropertyGridProperty(_T("Window Size"), 0, TRUE);\r
\r
\r
pGroup4->Expand(FALSE);\r
m_wndPropList.AddProperty(pGroup4);\r
+#endif\r
}\r
\r
void CPropertiesWnd::OnSetFocus(CWnd* pOldWnd)\r
\r
m_wndPropList.SetFont(&m_fntPropList);\r
}\r
+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