Can dynamically set show/hide checkboxes in GitStatusListCtrl
[TortoiseGit.git] / src / TortoiseGitBlame / PropertiesWnd.h
blob0bcd76cab2dee45e911edb06ff2cd5545e123338
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2008-2011 - TortoiseGit
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software Foundation,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 #pragma once
23 #include "GitRev.h"
25 class CPropertiesToolBar : public CMFCToolBar
27 public:
28 virtual void OnUpdateCmdUI(CFrameWnd* /*pTarget*/, BOOL bDisableIfNoHndler)
30 CMFCToolBar::OnUpdateCmdUI((CFrameWnd*) GetOwner(), bDisableIfNoHndler);
33 virtual BOOL AllowShowOnList() const { return FALSE; }
36 class CPropertiesWnd : public CDockablePane
38 // Construction
39 public:
40 CPropertiesWnd();
42 void AdjustLayout();
44 // Attributes
45 public:
46 void SetVSDotNetLook(BOOL bSet)
48 m_wndPropList.SetVSDotNetLook(bSet);
49 m_wndPropList.SetGroupNameFullWidth(bSet);
52 // rev=NULL, means clear properties info;
53 void UpdateProperties(GitRev *rev=NULL);
55 protected:
56 CFont m_fntPropList;
57 CMFCPropertyGridCtrl m_wndPropList;
59 void RemoveParent();
60 // Implementation
61 public:
62 virtual ~CPropertiesWnd();
64 protected:
65 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
66 afx_msg void OnSize(UINT nType, int cx, int cy);
67 afx_msg void OnSetFocus(CWnd* pOldWnd);
68 afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection);
69 afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
71 DECLARE_MESSAGE_MAP()
73 void InitPropList();
74 void SetPropListFont();
76 CMFCPropertyGridProperty* m_CommitHash;
77 CMFCPropertyGridProperty* m_AuthorName;
78 CMFCPropertyGridProperty* m_AuthorDate;
79 CMFCPropertyGridProperty* m_AuthorEmail;
81 CMFCPropertyGridProperty* m_CommitterName;
82 CMFCPropertyGridProperty* m_CommitterEmail;
83 CMFCPropertyGridProperty* m_CommitterDate;
85 CMFCPropertyGridProperty* m_Subject;
86 CMFCPropertyGridProperty* m_Body;
88 CMFCPropertyGridProperty* m_ParentGroup;
89 CMFCPropertyGridProperty* m_BaseInfoGroup;
91 std::vector<CMFCPropertyGridProperty*> m_ParentHash;
92 std::vector<CMFCPropertyGridProperty*> m_ParentSubject;