OSDN Git Service

TortoiseGitBlame Add next & prev toolbar button.
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / ChooseVersion.h
1 #pragma once\r
2 #include "afxwin.h"\r
3 \r
4 class CChooseVersion\r
5 {\r
6 public:\r
7         \r
8 private:\r
9         CWnd *  m_pWin;\r
10 protected:\r
11         CHistoryCombo m_ChooseVersioinBranch;  \r
12         CHistoryCombo m_ChooseVersioinTags;    \r
13         CHistoryCombo m_ChooseVersioinVersion; \r
14 \r
15         afx_msg void OnBnClickedChooseRadio() \r
16         {\r
17                 this->m_ChooseVersioinTags.EnableWindow(FALSE);                                                                                                 \r
18                 this->m_ChooseVersioinBranch.EnableWindow(FALSE);                                       \r
19                 this->m_ChooseVersioinVersion.EnableWindow(FALSE);                              \r
20                 int radio=m_pWin->GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);\r
21                 switch (radio)                                                                                  \r
22                 {                                                                                                                       \r
23                 case IDC_RADIO_HEAD:                                                                            \r
24                         break;                                                                                                  \r
25                 case IDC_RADIO_BRANCH:                                                                          \r
26                         this->m_ChooseVersioinBranch.EnableWindow(TRUE);                                                \r
27                         break;                                                                                                  \r
28                 case IDC_RADIO_TAGS:                                                                            \r
29                         this->m_ChooseVersioinTags.EnableWindow(TRUE);                                          \r
30                         break;                                                                                                  \r
31                 case IDC_RADIO_VERSION:                                                                         \r
32                         this->m_ChooseVersioinVersion.EnableWindow(TRUE);                                               \r
33                 break;          \r
34                 }\r
35         }\r
36         void UpdateRevsionName()\r
37         {                                                                                                                                                       \r
38                 int radio=m_pWin->GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);              \r
39                 switch (radio)                                                                                                                  \r
40                 {                                                                                                                                               \r
41                 case IDC_RADIO_HEAD:                                                                                                    \r
42                         this->m_VersionName=_T("HEAD");                                                                                 \r
43                         break;                                                                                                                          \r
44                 case IDC_RADIO_BRANCH:                                                                                                  \r
45                         this->m_VersionName=m_ChooseVersioinBranch.GetString();                                                                 \r
46                         break;                                                                                                                          \r
47                 case IDC_RADIO_TAGS:                                                                                                    \r
48                         this->m_VersionName=m_ChooseVersioinTags.GetString();                                                                   \r
49                         break;                                                                                                                          \r
50                 case IDC_RADIO_VERSION:                                                                                                 \r
51                         this->m_VersionName=m_ChooseVersioinVersion.GetString();                                                                        \r
52                         break;  \r
53                 }\r
54         }                       \r
55         void SetDefaultChoose(int id)\r
56         {\r
57                 m_pWin->CheckRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION,id);\r
58                 OnBnClickedChooseRadio();\r
59         }\r
60 \r
61         void Init()\r
62         {       \r
63                 m_ChooseVersioinBranch.SetMaxHistoryItems(0x7FFFFFFF);\r
64                 m_ChooseVersioinTags.SetMaxHistoryItems(0x7FFFFFFF);\r
65 \r
66                 STRING_VECTOR list;\r
67                 g_Git.GetTagList(list);\r
68                 m_ChooseVersioinTags.AddString(list);\r
69 \r
70                 list.clear();\r
71                 int current;\r
72                 g_Git.GetBranchList(list,&current,CGit::BRANCH_ALL);\r
73                 m_ChooseVersioinBranch.AddString(list);\r
74                 m_ChooseVersioinBranch.SetCurSel(current);\r
75 \r
76 \r
77         }\r
78 public:                                 \r
79         CString m_VersionName;\r
80         CChooseVersion(CWnd *win)\r
81         {\r
82                 m_pWin=win;\r
83         };\r
84 \r
85 };\r
86 \r
87 \r
88 #define CHOOSE_VERSION_DDX \\r
89         DDX_Control(pDX, IDC_COMBOBOXEX_BRANCH,         m_ChooseVersioinBranch); \\r
90         DDX_Control(pDX, IDC_COMBOBOXEX_TAGS,           m_ChooseVersioinTags);     \\r
91         DDX_Control(pDX, IDC_COMBOBOXEX_VERSION,        m_ChooseVersioinVersion);\r
92 \r
93 #define CHOOSE_VERSION_EVENT\\r
94         ON_BN_CLICKED(IDC_RADIO_HEAD,           OnBnClickedChooseRadioHost)\\r
95         ON_BN_CLICKED(IDC_RADIO_BRANCH,         OnBnClickedChooseRadioHost)\\r
96         ON_BN_CLICKED(IDC_RADIO_TAGS,           OnBnClickedChooseRadioHost)\\r
97         ON_BN_CLICKED(IDC_RADIO_VERSION,        OnBnClickedChooseRadioHost)\r
98 \r
99 #define CHOOSE_VERSION_ADDANCHOR                                                                \\r
100         {                                                                                                                       \\r
101                 AddAnchor(IDC_COMBOBOXEX_BRANCH, TOP_LEFT, TOP_RIGHT);  \\r
102                 AddAnchor(IDC_COMBOBOXEX_TAGS, TOP_LEFT, TOP_RIGHT);    \\r
103                 AddAnchor(IDC_COMBOBOXEX_VERSION, TOP_LEFT, TOP_RIGHT); \\r
104                 AddAnchor(IDC_GROUP_BASEON, TOP_LEFT, TOP_RIGHT);               \\r
105                 AddAnchor(IDC_BUTTON_SHOW,TOP_RIGHT);           \\r
106         }       \r
107 \r
108 #define CHOOSE_EVENT_RADIO() \\r
109         afx_msg void OnBnClickedChooseRadioHost(){OnBnClickedChooseRadio();}\r