Move prune (all remotes) setting to git config page
[TortoiseGit.git] / src / TortoiseProc / PatchViewDlg.h
blob652be19f5edaae5d2d2353ba4d47075e0c0874e5
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2008-2011, 2014-2017, 2019-2020 - 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.
19 #pragma once
20 #include "StandAloneDlg.h"
21 #include "SciEdit.h"
22 #include "FindBar.h"
24 class IHasPatchView
26 public:
27 virtual CWnd *GetPatchViewParentWnd() = 0;
28 virtual void TogglePatchView() = 0;
31 // CPatchViewDlg dialog
32 class CPatchViewDlg : public CStandAloneDialog, public CSciEditContextMenuInterface
34 DECLARE_DYNAMIC(CPatchViewDlg)
36 public:
37 CPatchViewDlg(CWnd* pParent = nullptr); // standard constructor
38 virtual ~CPatchViewDlg();
39 IHasPatchView *m_ParentDlg;
40 void SetText(const CString& text);
41 void ClearView();
42 void ShowAndAlignToParent();
43 void ParentOnMoving(HWND parentHWND, LPRECT pRect);
44 void ParentOnSizing(HWND parentHWND, LPRECT pRect);
46 // Dialog Data
47 enum { IDD = IDD_PATCH_VIEW };
49 protected:
50 virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
51 virtual BOOL PreTranslateMessage(MSG* pMsg) override;
53 public:
54 CSciEdit m_ctrlPatchView;
56 protected:
57 DECLARE_MESSAGE_MAP()
59 virtual BOOL OnInitDialog() override;
60 afx_msg void OnSize(UINT nType, int cx, int cy);
61 afx_msg void OnMoving(UINT fwSide, LPRECT pRect);
62 afx_msg void OnClose();
63 afx_msg void OnDestroy();
65 afx_msg void OnShowFindBar();
66 afx_msg void OnFindNext();
67 afx_msg void OnFindPrev();
68 afx_msg void OnFindReset();
69 afx_msg void OnFindExit();
70 afx_msg void OnEscape();
71 LRESULT OnFindNextMessage(WPARAM, LPARAM);
72 LRESULT OnFindPrevMessage(WPARAM, LPARAM);
73 LRESULT OnFindResetMessage(WPARAM, LPARAM);
74 LRESULT OnFindExitMessage(WPARAM, LPARAM);
76 void DoSearch(bool reverse);
77 CFindBar m_FindBar;
78 bool m_bShowFindBar;
80 HACCEL m_hAccel;
82 // CSciEditContextMenuInterface
83 virtual void InsertMenuItems(CMenu& mPopup, int& nCmd) override;
84 virtual bool HandleMenuItemClick(int cmd, CSciEdit* pSciEdit) override;
85 int m_nPopupSave;