2 * @file OptionsDiffOptions.cpp
4 * @brief Implementation for OptionsDiffOptions class.
7 #include "OptionsDiffOptions.h"
8 #include "CompareOptions.h"
9 #include "OptionsDef.h"
10 #include "OptionsMgr.h"
12 namespace Options { namespace DiffOptions {
15 * @brief Set default diff option values.
17 void Init(COptionsMgr *pOptionsMgr)
19 pOptionsMgr->InitOption(OPT_CMP_IGNORE_WHITESPACE, (int)0, 0, 2);
20 pOptionsMgr->InitOption(OPT_CMP_IGNORE_BLANKLINES, false);
21 pOptionsMgr->InitOption(OPT_CMP_FILTER_COMMENTLINES, false);
22 pOptionsMgr->InitOption(OPT_CMP_IGNORE_CASE, false);
23 pOptionsMgr->InitOption(OPT_CMP_IGNORE_NUMBERS, false);
24 pOptionsMgr->InitOption(OPT_CMP_IGNORE_EOL, false);
25 pOptionsMgr->InitOption(OPT_CMP_DIFF_ALGORITHM, (int)0, 0, 4);
26 pOptionsMgr->InitOption(OPT_CMP_INDENT_HEURISTIC, true);
27 pOptionsMgr->InitOption(OPT_CMP_COMPLETELY_BLANK_OUT_IGNORED_CHANGES, false);
30 void Load(const COptionsMgr *pOptionsMgr, DIFFOPTIONS& options)
32 options.nIgnoreWhitespace = pOptionsMgr->GetInt(OPT_CMP_IGNORE_WHITESPACE);
33 options.bIgnoreBlankLines = pOptionsMgr->GetBool(OPT_CMP_IGNORE_BLANKLINES);
34 options.bFilterCommentsLines = pOptionsMgr->GetBool(OPT_CMP_FILTER_COMMENTLINES);
35 options.bIgnoreCase = pOptionsMgr->GetBool(OPT_CMP_IGNORE_CASE);
36 options.bIgnoreNumbers = pOptionsMgr->GetBool(OPT_CMP_IGNORE_NUMBERS);
37 options.bIgnoreEol = pOptionsMgr->GetBool(OPT_CMP_IGNORE_EOL);
38 options.nDiffAlgorithm = pOptionsMgr->GetInt(OPT_CMP_DIFF_ALGORITHM);
39 options.bIndentHeuristic = pOptionsMgr->GetBool(OPT_CMP_INDENT_HEURISTIC);
40 options.bCompletelyBlankOutIgnoredChanges = pOptionsMgr->GetBool(OPT_CMP_COMPLETELY_BLANK_OUT_IGNORED_CHANGES);
43 void Save(COptionsMgr *pOptionsMgr, const DIFFOPTIONS& options)
45 pOptionsMgr->SaveOption(OPT_CMP_IGNORE_WHITESPACE, options.nIgnoreWhitespace);
46 pOptionsMgr->SaveOption(OPT_CMP_IGNORE_BLANKLINES, options.bIgnoreBlankLines);
47 pOptionsMgr->SaveOption(OPT_CMP_FILTER_COMMENTLINES, options.bFilterCommentsLines);
48 pOptionsMgr->SaveOption(OPT_CMP_IGNORE_CASE, options.bIgnoreCase);
49 pOptionsMgr->SaveOption(OPT_CMP_IGNORE_NUMBERS, options.bIgnoreNumbers);
50 pOptionsMgr->SaveOption(OPT_CMP_IGNORE_EOL, options.bIgnoreEol);
51 pOptionsMgr->SaveOption(OPT_CMP_DIFF_ALGORITHM, options.nDiffAlgorithm);
52 pOptionsMgr->SaveOption(OPT_CMP_INDENT_HEURISTIC, options.bIndentHeuristic);
53 pOptionsMgr->SaveOption(OPT_CMP_COMPLETELY_BLANK_OUT_IGNORED_CHANGES, options.bCompletelyBlankOutIgnoredChanges);