OSDN Git Service

Updated SVN properties of added files from patch 1598194 (rev 3812).
[winmerge-jp/winmerge-jp.git] / Src / MergeCmdLineInfo.h
1 /////////////////////////////////////////////////////////////////////////////
2 //
3 //    WinMerge: An interactive diff/merge utility
4 //    Copyright (C) 1997 Dean P. Grimm
5 //
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.
10 //
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.
15 //
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.
19 //
20 /////////////////////////////////////////////////////////////////////////////
21
22 #ifndef _MERGE_CMD_LINE_INFO_INCLUDED_
23 #define _MERGE_CMD_LINE_INFO_INCLUDED_
24
25 /** 
26  * @file  MergeCmdLineInfo.h
27  *
28  * @brief MergeCmdLineInfo class declaration.
29  *
30  */
31
32 // RCS ID line follows -- this is updated by CVS
33 // $Id$
34
35 class CmdLineParser;
36
37 /** 
38  * @brief WinMerge's command line handler.
39  *
40  */
41 class MergeCmdLineInfo : public CCommandLineInfo
42 {
43 public:
44
45         /** @brief ClearCaseCmdLineParser's constructor.
46          *
47          * @param [in] szFileName Executable file name. Required in order to
48          *      know which command line parser to create and use.
49          *
50          */
51         MergeCmdLineInfo(const TCHAR *szExeName);
52
53         ~MergeCmdLineInfo();
54
55         /** @brief Override CCommandLineInfo's method. */
56         virtual void ParseParam(const TCHAR* pszParam, BOOL bFlag, BOOL bLast);
57
58 public:
59
60         int m_nCmdShow; /**< Initial state of the application's window. */
61
62         bool m_bClearCaseTool; /**< Running as Rational ClearCase external tool. */
63         bool m_bEscShutdown; /**< Pressing ESC will close the application */
64         bool m_bExitIfNoDiff; /**< Exit after telling the user that files are identical. */
65         bool m_bRecurse; /**< Include sub folder in directories compare. */
66         bool m_bNonInteractive; /**< Suppress user's notifications. */
67         bool m_bNoPrefs; /**< Do not load or remember preferences. */
68         bool m_bSingleInstance; /**< Allow only one instance of WinMerge executable. */
69         bool m_bShowUsage; /**< Show a brief reminder to command line arguments. */
70
71         DWORD m_dwLeftFlags; /**< Left side file's behavior options. */
72         DWORD m_dwRightFlags; /**< Right side file's behavior options. */
73
74         CString m_sLeftDesc; /**< Left side file's description. */
75         CString m_sRightDesc; /**< Right side file's description. */
76
77         CString m_sFileFilter; /**< File filter mask. */
78         CString m_sPreDiffer;
79
80         /**< Command line arguments which are mapped to WinMerge's preferences. */
81         CMapStringToString m_Settings;
82
83         CStringArray m_Files; /**< Files (or directories) to compare. */
84
85         int m_nFiles; /**< Number of files (or directories) in m_Files. */
86
87 private:
88
89         /**< operator= is not implemented. */
90         MergeCmdLineInfo& operator=(const MergeCmdLineInfo& rhs);
91
92         CmdLineParser *m_pCmdLineParser; /**< The command line parser instance. */
93 };
94
95 #endif // _MERGE_CMD_LINE_INFO_INCLUDED_