4 #include "BrowseRefsDlg.h"
\r
13 CHistoryCombo m_ChooseVersioinBranch;
\r
14 CHistoryCombo m_ChooseVersioinTags;
\r
15 CHistoryCombo m_ChooseVersioinVersion;
\r
17 afx_msg void OnBnClickedChooseRadio()
\r
19 this->m_ChooseVersioinTags.EnableWindow(FALSE);
\r
20 this->m_ChooseVersioinBranch.EnableWindow(FALSE);
\r
21 this->m_ChooseVersioinVersion.EnableWindow(FALSE);
\r
22 int radio=m_pWin->GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);
\r
25 case IDC_RADIO_HEAD:
\r
27 case IDC_RADIO_BRANCH:
\r
28 this->m_ChooseVersioinBranch.EnableWindow(TRUE);
\r
30 case IDC_RADIO_TAGS:
\r
31 this->m_ChooseVersioinTags.EnableWindow(TRUE);
\r
33 case IDC_RADIO_VERSION:
\r
34 this->m_ChooseVersioinVersion.EnableWindow(TRUE);
\r
37 // enable version browse button if Version is selected
\r
38 m_pWin->GetDlgItem(IDC_BUTTON_SHOW)->EnableWindow(radio == IDC_RADIO_VERSION);
\r
41 void OnBnClickedChooseVersion()
\r
43 // use the git log to allow selection of a version
\r
45 // tell the dialog to use mode for selecting revisions
\r
46 dlg.SetSelect(true);
\r
47 // only one revision must be selected however
\r
48 dlg.SingleSelection(true);
\r
49 if ( dlg.DoModal() == IDOK )
\r
51 // get selected hash if any
\r
52 CString selectedHash = dlg.GetSelectedHash();
\r
53 // load into window, do this even if empty so that it is clear that nothing has been selected
\r
54 m_ChooseVersioinVersion.SetWindowText( selectedHash );
\r
58 void UpdateRevsionName()
\r
60 int radio=m_pWin->GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);
\r
63 case IDC_RADIO_HEAD:
\r
64 this->m_VersionName=_T("HEAD");
\r
66 case IDC_RADIO_BRANCH:
\r
67 this->m_VersionName=m_ChooseVersioinBranch.GetString();
\r
69 case IDC_RADIO_TAGS:
\r
70 this->m_VersionName=m_ChooseVersioinTags.GetString();
\r
72 case IDC_RADIO_VERSION:
\r
73 this->m_VersionName=m_ChooseVersioinVersion.GetString();
\r
77 void SetDefaultChoose(int id)
\r
79 m_pWin->CheckRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION,id);
\r
80 OnBnClickedChooseRadio();
\r
83 void OnBnClickedButtonBrowseRef()
\r
86 UpdateRevsionName();
\r
87 CString resultRef = CBrowseRefsDlg::PickRef(false, m_VersionName, gPickRef_All);
\r
88 if(resultRef.IsEmpty())
\r
90 if(wcsncmp(resultRef,L"refs/",5)==0)
\r
91 resultRef = resultRef.Mid(5);
\r
92 if(wcsncmp(resultRef,L"heads/",6)==0)
\r
94 resultRef = resultRef.Mid(6);
\r
95 SetDefaultChoose(IDC_RADIO_BRANCH);
\r
96 m_ChooseVersioinBranch.SetCurSel(
\r
97 m_ChooseVersioinBranch.FindStringExact(-1, resultRef));
\r
99 else if(wcsncmp(resultRef,L"remotes/",8)==0)
\r
101 SetDefaultChoose(IDC_RADIO_BRANCH);
\r
102 m_ChooseVersioinBranch.SetCurSel(
\r
103 m_ChooseVersioinBranch.FindStringExact(-1, resultRef));
\r
105 else if(wcsncmp(resultRef,L"tags/",5)==0)
\r
107 resultRef = resultRef.Mid(5);
\r
108 SetDefaultChoose(IDC_RADIO_TAGS);
\r
109 m_ChooseVersioinTags.SetCurSel(
\r
110 m_ChooseVersioinTags.FindStringExact(-1, resultRef));
\r
117 m_ChooseVersioinBranch.SetMaxHistoryItems(0x7FFFFFFF);
\r
118 m_ChooseVersioinTags.SetMaxHistoryItems(0x7FFFFFFF);
\r
120 STRING_VECTOR list;
\r
121 g_Git.GetTagList(list);
\r
122 m_ChooseVersioinTags.AddString(list);
\r
126 g_Git.GetBranchList(list,¤t,CGit::BRANCH_ALL);
\r
127 m_ChooseVersioinBranch.AddString(list);
\r
128 m_ChooseVersioinBranch.SetCurSel(current);
\r
133 CString m_VersionName;
\r
134 CChooseVersion(CWnd *win)
\r
142 #define CHOOSE_VERSION_DDX \
\r
143 DDX_Control(pDX, IDC_COMBOBOXEX_BRANCH, m_ChooseVersioinBranch); \
\r
144 DDX_Control(pDX, IDC_COMBOBOXEX_TAGS, m_ChooseVersioinTags); \
\r
145 DDX_Control(pDX, IDC_COMBOBOXEX_VERSION, m_ChooseVersioinVersion);
\r
147 #define CHOOSE_VERSION_EVENT\
\r
148 ON_BN_CLICKED(IDC_RADIO_HEAD, OnBnClickedChooseRadioHost)\
\r
149 ON_BN_CLICKED(IDC_RADIO_BRANCH, OnBnClickedChooseRadioHost)\
\r
150 ON_BN_CLICKED(IDC_RADIO_TAGS, OnBnClickedChooseRadioHost)\
\r
151 ON_BN_CLICKED(IDC_BUTTON_SHOW, OnBnClickedShow)\
\r
152 ON_BN_CLICKED(IDC_RADIO_VERSION, OnBnClickedChooseRadioHost)\
\r
153 ON_BN_CLICKED(IDC_BUTTON_BROWSE_REF, OnBnClickedButtonBrowseRefHost)
\r
155 #define CHOOSE_VERSION_ADDANCHOR \
\r
157 AddAnchor(IDC_COMBOBOXEX_BRANCH, TOP_LEFT, TOP_RIGHT); \
\r
158 AddAnchor(IDC_COMBOBOXEX_TAGS, TOP_LEFT, TOP_RIGHT); \
\r
159 AddAnchor(IDC_COMBOBOXEX_VERSION, TOP_LEFT, TOP_RIGHT); \
\r
160 AddAnchor(IDC_GROUP_BASEON, TOP_LEFT, TOP_RIGHT); \
\r
161 AddAnchor(IDC_BUTTON_SHOW,TOP_RIGHT); \
\r
162 AddAnchor(IDC_BUTTON_BROWSE_REF,TOP_RIGHT); \
\r
165 #define CHOOSE_EVENT_RADIO() \
\r
166 afx_msg void OnBnClickedChooseRadioHost(){OnBnClickedChooseRadio();}\
\r
167 afx_msg void OnBnClickedShow(){OnBnClickedChooseVersion();}\
\r
168 afx_msg void OnBnClickedButtonBrowseRefHost(){OnBnClickedButtonBrowseRef();}
\r