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 SetDefaults(COptionsMgr *pOptionsMgr)
19 pOptionsMgr->InitOption(OPT_CMP_IGNORE_WHITESPACE, (int)0);
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_EOL, false);
24 pOptionsMgr->InitOption(OPT_CMP_DIFF_ALGORITHM, (int)0);
25 pOptionsMgr->InitOption(OPT_CMP_INDENT_HEURISTIC, true);
26 pOptionsMgr->InitOption(OPT_CMP_COMPLETELY_BLANK_OUT_IGNORED_CHANGES, false);
29 void Load(const COptionsMgr *pOptionsMgr, DIFFOPTIONS& options)
31 options.nIgnoreWhitespace = pOptionsMgr->GetInt(OPT_CMP_IGNORE_WHITESPACE);
32 options.bIgnoreBlankLines = pOptionsMgr->GetBool(OPT_CMP_IGNORE_BLANKLINES);
33 options.bFilterCommentsLines = pOptionsMgr->GetBool(OPT_CMP_FILTER_COMMENTLINES);
34 options.bIgnoreCase = pOptionsMgr->GetBool(OPT_CMP_IGNORE_CASE);
35 options.bIgnoreEol = pOptionsMgr->GetBool(OPT_CMP_IGNORE_EOL);
36 options.nDiffAlgorithm = pOptionsMgr->GetInt(OPT_CMP_DIFF_ALGORITHM);
37 options.bIndentHeuristic = pOptionsMgr->GetBool(OPT_CMP_INDENT_HEURISTIC);
38 options.bCompletelyBlankOutIgnoredChanges = pOptionsMgr->GetBool(OPT_CMP_COMPLETELY_BLANK_OUT_IGNORED_CHANGES);
41 void Save(COptionsMgr *pOptionsMgr, const DIFFOPTIONS& options)
43 pOptionsMgr->SaveOption(OPT_CMP_IGNORE_WHITESPACE, options.nIgnoreWhitespace);
44 pOptionsMgr->SaveOption(OPT_CMP_IGNORE_BLANKLINES, options.bIgnoreBlankLines);
45 pOptionsMgr->SaveOption(OPT_CMP_FILTER_COMMENTLINES, options.bFilterCommentsLines);
46 pOptionsMgr->SaveOption(OPT_CMP_IGNORE_CASE, options.bIgnoreCase);
47 pOptionsMgr->SaveOption(OPT_CMP_IGNORE_EOL, options.bIgnoreEol);
48 pOptionsMgr->SaveOption(OPT_CMP_DIFF_ALGORITHM, options.nDiffAlgorithm);
49 pOptionsMgr->SaveOption(OPT_CMP_INDENT_HEURISTIC, options.bIndentHeuristic);
50 pOptionsMgr->SaveOption(OPT_CMP_COMPLETELY_BLANK_OUT_IGNORED_CHANGES, options.bCompletelyBlankOutIgnoredChanges);