1 /////////////////////////////////////////////////////////////////////////////
2 // WinMerge: an interactive diff/merge utility
3 // Copyright (C) 1997-2000 Thingamahoochie Software
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 2 of the License, or
9 // (at your option) any later version.
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 /////////////////////////////////////////////////////////////////////////////
22 * @file SelectUnpackerDlg.h :
24 * @brief Declaration file for the dialog SelectUnpacker
26 // RCS ID line follows -- this is updated by CVS
29 #if !defined(AFX_SELECTUNPACKERDLG_H__C8FD4C3A_5ED5_43D3_ADAE_A2378369705C__INCLUDED_)
30 #define AFX_SELECTUNPACKERDLG_H__C8FD4C3A_5ED5_43D3_ADAE_A2378369705C__INCLUDED_
33 #include <boost/scoped_ptr.hpp>
35 /////////////////////////////////////////////////////////////////////////////
36 // CSelectUnpackerDlgDlg dialog
41 class CSelectUnpackerDlg : public CDialog
49 CSelectUnpackerDlg(LPCTSTR filename, CWnd* pParent /*=NULL*/);
50 CSelectUnpackerDlg(LPCTSTR filename1, LPCTSTR filename2, CWnd* pParent /*=NULL*/);
51 ~CSelectUnpackerDlg();
53 void SetInitialInfoHandler(PackingInfo * infoHandler);
54 const PackingInfo GetInfoHandler();
57 //{{AFX_DATA(CSelectUnpackerDlg)
58 enum { IDD = IDD_SELECTUNPACKER };
60 CComboBox m_cboUnpackerName;
61 BOOL m_bNoExtensionCheck;
62 CString m_strDescription;
63 CString m_strExtensions;
68 // ClassWizard generated virtual function overrides
69 //{{AFX_VIRTUAL(CSelectUnpackerDlg)
71 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
76 /// arrays for string describing the available plugins
77 CPtrArray m_UnpackerPlugins;
78 std::vector<bool> m_bWithFileFlags;
80 // const data "no plugin"
81 boost::scoped_ptr<PluginInfo> noPlugin;
82 // const data "automatic plugin"
83 boost::scoped_ptr<PluginInfo> automaticPlugin;
86 CString m_filteredFilenames;
88 /// current plugin choice
89 PluginInfo * m_pPlugin;
90 /// current plugin choice
91 CString m_strPluginName;
93 void prepareListbox();
95 // Generated message map functions
96 //{{AFX_MSG(CSelectUnpackerDlg)
98 virtual BOOL OnInitDialog();
99 afx_msg void OnUnpackerAllowAll();
100 afx_msg void OnSelchangeUnpackerName();
102 DECLARE_MESSAGE_MAP()
105 //{{AFX_INSERT_LOCATION}}
106 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
108 #endif // !defined(AFX_SELECTUNPACKERDLG_H__C8FD4C3A_5ED5_43D3_ADAE_A2378369705C__INCLUDED_)