1 /////////////////////////////////////////////////////////////////////////////
2 // WinMerge: an interactive diff/merge utility
3 // Copyright (C) 1997-2000 Thingamahoochie Software
5 // SPDX-License-Identifier: GPL-2.0-or-later
6 /////////////////////////////////////////////////////////////////////////////
8 * @file SelectUnpackerDlg.h :
10 * @brief Declaration file for the dialog SelectUnpacker
16 #include "TrDialogs.h"
17 #include "UnicodeString.h"
19 /////////////////////////////////////////////////////////////////////////////
20 // CSelectUnpackerDlgDlg dialog
25 class CSelectUnpackerDlg : public CTrDialog
33 CSelectUnpackerDlg(const String& filename, CWnd* pParent /*= nullptr*/);
34 CSelectUnpackerDlg(const String& filename1, const String& filename2, CWnd* pParent /*= nullptr*/);
35 ~CSelectUnpackerDlg();
37 void SetInitialInfoHandler(PackingInfo * infoHandler);
38 const PackingInfo GetInfoHandler();
41 //{{AFX_DATA(CSelectUnpackerDlg)
42 enum { IDD = IDD_PLUGINS_SELECTUNPACKER };
43 CComboBox m_cboUnpackerName;
44 bool m_bNoExtensionCheck;
45 String m_strDescription;
46 String m_strExtensions;
51 // ClassWizard generated virtual function overrides
52 //{{AFX_VIRTUAL(CSelectUnpackerDlg)
54 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
59 /// arrays for string describing the available plugins
60 CPtrArray m_UnpackerPlugins;
62 // const data "no plugin"
63 std::unique_ptr<PluginInfo> noPlugin;
64 // const data "automatic plugin"
65 std::unique_ptr<PluginInfo> automaticPlugin;
68 String m_filteredFilenames;
70 /// current plugin choice
71 PluginInfo * m_pPlugin;
72 /// current plugin choice
73 String m_strPluginName;
75 void prepareListbox();
77 // Generated message map functions
78 //{{AFX_MSG(CSelectUnpackerDlg)
80 virtual BOOL OnInitDialog() override;
81 afx_msg void OnUnpackerAllowAll();
82 afx_msg void OnSelchangeUnpackerName();