OSDN Git Service

f39e99c61fba1ec589a07ab8c0e2ecfda47adacb
[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 private:\r
7         CWnd *  m_pWin;\r
8 protected:\r
9         CHistoryCombo m_ChooseVersioinBranch;  \r
10         CHistoryCombo m_ChooseVersioinTags;    \r
11         CHistoryCombo m_ChooseVersioinVersion; \r
12 \r
13         afx_msg void OnBnClickedChooseRadio() \r
14         {\r
15                 this->m_ChooseVersioinTags.EnableWindow(FALSE);                                                                                                 \r
16                 this->m_ChooseVersioinBranch.EnableWindow(FALSE);                                       \r
17                 this->m_ChooseVersioinVersion.EnableWindow(FALSE);                              \r
18                 int radio=m_pWin->GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);\r
19                 switch (radio)                                                                                  \r
20                 {                                                                                                                       \r
21                 case IDC_RADIO_HEAD:                                                                            \r
22                         break;                                                                                                  \r
23                 case IDC_RADIO_BRANCH:                                                                          \r
24                         this->m_ChooseVersioinBranch.EnableWindow(TRUE);                                                \r
25                         break;                                                                                                  \r
26                 case IDC_RADIO_TAGS:                                                                            \r
27                         this->m_ChooseVersioinTags.EnableWindow(TRUE);                                          \r
28                         break;                                                                                                  \r
29                 case IDC_RADIO_VERSION:                                                                         \r
30                         this->m_ChooseVersioinVersion.EnableWindow(TRUE);                                               \r
31                 break;          \r
32                 }\r
33         }\r
34         void UpdateRevsionName()\r
35         {                                                                                                                                                       \r
36                 int radio=m_pWin->GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);              \r
37                 switch (radio)                                                                                                                  \r
38                 {                                                                                                                                               \r
39                 case IDC_RADIO_HEAD:                                                                                                    \r
40                         this->m_VersionName=_T("HEAD");                                                                                 \r
41                         break;                                                                                                                          \r
42                 case IDC_RADIO_BRANCH:                                                                                                  \r
43                         this->m_VersionName=m_ChooseVersioinBranch.GetString();                                                                 \r
44                         break;                                                                                                                          \r
45                 case IDC_RADIO_TAGS:                                                                                                    \r
46                         this->m_VersionName=m_ChooseVersioinTags.GetString();                                                                   \r
47                         break;                                                                                                                          \r
48                 case IDC_RADIO_VERSION:                                                                                                 \r
49                         this->m_VersionName=m_ChooseVersioinVersion.GetString();                                                                        \r
50                         break;  \r
51                 }\r
52         }                       \r
53         void SetDefaultChoose(int id)\r
54         {\r
55                 m_pWin->CheckRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION,id);\r
56                 OnBnClickedChooseRadio();\r
57         }\r
58 \r
59         void Init()\r
60         {\r
61                 CStringList list;\r
62                 g_Git.GetTagList(list);\r
63                 m_ChooseVersioinTags.AddString(list);\r
64 \r
65                 list.RemoveAll();\r
66                 int current;\r
67                 g_Git.GetBranchList(list,&current,CGit::BRANCH_ALL);\r
68                 m_ChooseVersioinBranch.AddString(list);\r
69                 m_ChooseVersioinBranch.SetCurSel(current);\r
70         }\r
71 public:                                 \r
72         CString m_VersionName;\r
73         CChooseVersion(CWnd *win)\r
74         {\r
75                 m_pWin=win;\r
76         };\r
77 \r
78 };\r
79 \r
80 \r
81 #define CHOOSE_VERSION_DDX \\r
82         DDX_Control(pDX, IDC_COMBOBOXEX_BRANCH,         m_ChooseVersioinBranch); \\r
83         DDX_Control(pDX, IDC_COMBOBOXEX_TAGS,           m_ChooseVersioinTags);     \\r
84         DDX_Control(pDX, IDC_COMBOBOXEX_VERSION,        m_ChooseVersioinVersion);\r
85 \r
86 #define CHOOSE_VERSION_EVENT\\r
87         ON_BN_CLICKED(IDC_RADIO_HEAD,           OnBnClickedChooseRadioHost)\\r
88         ON_BN_CLICKED(IDC_RADIO_BRANCH,         OnBnClickedChooseRadioHost)\\r
89         ON_BN_CLICKED(IDC_RADIO_TAGS,           OnBnClickedChooseRadioHost)\\r
90         ON_BN_CLICKED(IDC_RADIO_VERSION,        OnBnClickedChooseRadioHost)\r
91 \r
92 #define CHOOSE_VERSION_ADDANCHOR                                                                \\r
93         {                                                                                                                       \\r
94                 AddAnchor(IDC_COMBOBOXEX_BRANCH, TOP_LEFT, TOP_RIGHT);  \\r
95                 AddAnchor(IDC_COMBOBOXEX_TAGS, TOP_LEFT, TOP_RIGHT);    \\r
96                 AddAnchor(IDC_COMBOBOXEX_VERSION, TOP_LEFT, TOP_RIGHT); \\r
97                 AddAnchor(IDC_GROUP_BASEON, TOP_LEFT, TOP_RIGHT);               \\r
98         }       \r
99 \r
100 #define CHOOSE_EVENT_RADIO() \\r
101         afx_msg void OnBnClickedChooseRadioHost(){OnBnClickedChooseRadio();}\r