Fixed issue #354: What about revert range of revisions from Log window?
[TortoiseGit.git] / src / TortoiseProc / SwitchDlg.h
blob7cdc63731f839de3fee1434ed17d71a0333376bb
1 // TortoiseSVN - a Windows shell extension for easy version control
3 // Copyright (C) 2003-2006,2008 - TortoiseSVN
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.
19 #pragma once
20 #include "StandAloneDlg.h"
21 #include "HistoryCombo.h"
22 #include "LogDlg.h"
23 #include "GitRev.h"
25 /**
26 * \ingroup TortoiseProc
27 * Shows a dialog to prompt the user for an URL of a branch and a revision
28 * number to switch the working copy to. Also has a checkbox to
29 * specify the current branch instead of a different branch url and
30 * one checkbox to specify the newest revision.
32 class CSwitchDlg : public CResizableStandAloneDialog
34 DECLARE_DYNAMIC(CSwitchDlg)
36 public:
37 CSwitchDlg(CWnd* pParent = NULL); // standard constructor
38 virtual ~CSwitchDlg();
40 /**
41 * Sets the text for the dialog title.
42 * \remark this method must be called before the dialog is shown!
44 void SetDialogTitle(const CString& sTitle);
46 /**
47 * Sets the label in front of the URL combobox.
48 * \remark this method must be called before the dialog is shown!
50 void SetUrlLabel(const CString& sLabel);
52 // Dialog Data
53 enum { IDD = IDD_SWITCH };
55 protected:
56 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
58 virtual BOOL OnInitDialog();
59 virtual void OnOK();
60 afx_msg void OnBnClickedBrowse();
61 afx_msg void OnBnClickedHelp();
62 afx_msg void OnEnChangeRevisionNum();
63 afx_msg void OnBnClickedLog();
64 afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
65 afx_msg LRESULT OnRevSelected(WPARAM wParam, LPARAM lParam);
67 void SetRevision(const GitRev& rev);
69 DECLARE_MESSAGE_MAP()
71 CString m_rev;
72 CHistoryCombo m_URLCombo;
73 BOOL m_bFolder;
74 CString m_sTitle;
75 CString m_sLabel;
76 CLogDlg * m_pLogDlg;
77 int m_height;
79 public:
80 CString m_path;
81 CString m_URL;
82 GitRev Revision;