void dlgFormatterSettings::ApplyTo(astyle::ASFormatter& formatter) { if (XRCCTRL(*m_dlg, "rbAllman", wxRadioButton)->GetValue()) formatter.setFormattingStyle(astyle::STYLE_ALLMAN); else if (XRCCTRL(*m_dlg, "rbJava", wxRadioButton)->GetValue()) formatter.setFormattingStyle(astyle::STYLE_JAVA); else if (XRCCTRL(*m_dlg, "rbKr", wxRadioButton)->GetValue()) formatter.setFormattingStyle(astyle::STYLE_KandR); else if (XRCCTRL(*m_dlg, "rbStroustrup", wxRadioButton)->GetValue()) formatter.setFormattingStyle(astyle::STYLE_STROUSTRUP); else if (XRCCTRL(*m_dlg, "rbWhitesmith", wxRadioButton)->GetValue()) formatter.setFormattingStyle(astyle::STYLE_WHITESMITH); else if (XRCCTRL(*m_dlg, "rbBanner", wxRadioButton)->GetValue()) formatter.setFormattingStyle(astyle::STYLE_BANNER); else if (XRCCTRL(*m_dlg, "rbGNU", wxRadioButton)->GetValue()) formatter.setFormattingStyle(astyle::STYLE_GNU); else if (XRCCTRL(*m_dlg, "rbLinux", wxRadioButton)->GetValue()) formatter.setFormattingStyle(astyle::STYLE_LINUX); else if (XRCCTRL(*m_dlg, "rbHorstmann", wxRadioButton)->GetValue()) formatter.setFormattingStyle(astyle::STYLE_HORSTMANN); else if (XRCCTRL(*m_dlg, "rbCustom", wxRadioButton)->GetValue()) { bool value = XRCCTRL(*m_dlg, "chkForceUseTabs", wxCheckBox)->GetValue(); int spaceNum = XRCCTRL(*m_dlg, "spnIndentation", wxSpinCtrl)->GetValue(); if (XRCCTRL(*m_dlg, "chkUseTab", wxCheckBox)->GetValue()) { formatter.setTabIndentation(spaceNum, value); } else { formatter.setSpaceIndentation(spaceNum); } formatter.setClassIndent(XRCCTRL(*m_dlg, "chkIndentClasses", wxCheckBox)->GetValue()); formatter.setSwitchIndent(XRCCTRL(*m_dlg, "chkIndentSwitches", wxCheckBox)->GetValue()); formatter.setCaseIndent(XRCCTRL(*m_dlg, "chkIndentCase", wxCheckBox)->GetValue()); formatter.setBracketIndent(XRCCTRL(*m_dlg, "chkIndentBrackets", wxCheckBox)->GetValue()); formatter.setBlockIndent(XRCCTRL(*m_dlg, "chkIndentBlocks", wxCheckBox)->GetValue()); formatter.setNamespaceIndent(XRCCTRL(*m_dlg, "chkIndentNamespaces", wxCheckBox)->GetValue()); formatter.setLabelIndent(XRCCTRL(*m_dlg, "chkIndentLabels", wxCheckBox)->GetValue()); formatter.setPreprocessorIndent(XRCCTRL(*m_dlg, "chkIndentPreprocessor", wxCheckBox)->GetValue()); wxString brackedFormatMode = XRCCTRL(*m_dlg, "cmbBracketFormatMode", wxComboBox)->GetValue(); if (brackedFormatMode == _T("Attach")) { formatter.setBracketFormatMode(astyle::ATTACH_MODE); } else if (brackedFormatMode == _T("Break")) { formatter.setBracketFormatMode(astyle::BREAK_MODE); } else if (brackedFormatMode == _T("Linux")) { formatter.setBracketFormatMode(astyle::LINUX_MODE); } else if (brackedFormatMode == _T("Stroustrup")) { formatter.setBracketFormatMode(astyle::STROUSTRUP_MODE); } else { formatter.setBracketFormatMode(astyle::NONE_MODE); } wxString pointerAlign = XRCCTRL(*m_dlg, "cmbPointerAlign", wxComboBox)->GetValue(); if (pointerAlign == _T("Type")) { formatter.setPointerAlignment(astyle::ALIGN_TYPE); } else if (pointerAlign == _T("Middle")) { formatter.setPointerAlignment(astyle::ALIGN_MIDDLE); } else if (pointerAlign == _T("Name")) { formatter.setPointerAlignment(astyle::ALIGN_NAME); } else { formatter.setPointerAlignment(astyle::ALIGN_NONE); } formatter.setBreakClosingHeaderBracketsMode(XRCCTRL(*m_dlg, "chkBreakClosing", wxCheckBox)->GetValue()); formatter.setBreakBlocksMode(XRCCTRL(*m_dlg, "chkBreakBlocks", wxCheckBox)->GetValue()); formatter.setBreakElseIfsMode(XRCCTRL(*m_dlg, "chkBreakElseIfs", wxCheckBox)->GetValue()); formatter.setOperatorPaddingMode(XRCCTRL(*m_dlg, "chkPadOperators", wxCheckBox)->GetValue()); formatter.setParensOutsidePaddingMode(XRCCTRL(*m_dlg, "chkPadParensOut", wxCheckBox)->GetValue()); formatter.setParensInsidePaddingMode(XRCCTRL(*m_dlg, "chkPadParensIn", wxCheckBox)->GetValue()); formatter.setParensUnPaddingMode(XRCCTRL(*m_dlg, "chkUnpadParens", wxCheckBox)->GetValue()); formatter.setSingleStatementsMode(!XRCCTRL(*m_dlg, "chkKeepComplex", wxCheckBox)->GetValue()); formatter.setBreakOneLineBlocksMode(!XRCCTRL(*m_dlg, "chkKeepBlocks", wxCheckBox)->GetValue()); formatter.setTabSpaceConversionMode(XRCCTRL(*m_dlg, "chkConvertTabs", wxCheckBox)->GetValue()); formatter.setEmptyLineFill(XRCCTRL(*m_dlg, "chkFillEmptyLines", wxCheckBox)->GetValue()); } }
void FormatterSettings::ApplyTo(astyle::ASFormatter& formatter) { ConfigManager* cfg = Manager::Get()->GetConfigManager(_T("astyle")); int style = cfg->ReadInt(_T("/style"), 0); switch (style) { case aspsAllman: // Allman (ANSI) formatter.setFormattingStyle(astyle::STYLE_ALLMAN); break; case aspsJava: // Java formatter.setFormattingStyle(astyle::STYLE_JAVA); break; case aspsKr: // K&R formatter.setFormattingStyle(astyle::STYLE_KandR); break; case aspsStroustrup: // Stroustrup formatter.setFormattingStyle(astyle::STYLE_STROUSTRUP); break; case aspsWhitesmith: // Whitesmith formatter.setFormattingStyle(astyle::STYLE_WHITESMITH); break; case aspsBanner: // Banner formatter.setFormattingStyle(astyle::STYLE_BANNER); break; case aspsGnu: // GNU formatter.setFormattingStyle(astyle::STYLE_GNU); break; case aspsLinux: // Linux formatter.setFormattingStyle(astyle::STYLE_LINUX); break; case aspsHorstmann: // Horstmann formatter.setFormattingStyle(astyle::STYLE_HORSTMANN); break; default: // Custom { bool value = cfg->ReadBool(_T("/force_tabs")); int spaceNum = cfg->ReadInt(_T("/indentation"), 4); if (cfg->ReadBool(_T("/use_tabs"))) { formatter.setTabIndentation(spaceNum, value); } else { formatter.setSpaceIndentation(spaceNum); } formatter.setClassIndent(cfg->ReadBool(_T("/indent_classes"))); formatter.setSwitchIndent(cfg->ReadBool(_T("/indent_switches"))); formatter.setCaseIndent(cfg->ReadBool(_T("/indent_case"))); formatter.setBracketIndent(cfg->ReadBool(_T("/indent_brackets"))); formatter.setBlockIndent(cfg->ReadBool(_T("/indent_blocks"))); formatter.setNamespaceIndent(cfg->ReadBool(_T("/indent_namespaces"))); formatter.setLabelIndent(cfg->ReadBool(_T("/indent_labels"))); formatter.setPreprocessorIndent(cfg->ReadBool(_T("/indent_preprocessor"))); wxString brackedFormatMode = cfg->Read(_T("/bracket_format_mode")); if (brackedFormatMode == _T("Attach")) { formatter.setBracketFormatMode(astyle::ATTACH_MODE); } else if (brackedFormatMode == _T("Break")) { formatter.setBracketFormatMode(astyle::BREAK_MODE); } else if (brackedFormatMode == _T("Linux")) { formatter.setBracketFormatMode(astyle::LINUX_MODE); } else if (brackedFormatMode == _T("Stroustrup")) { formatter.setBracketFormatMode(astyle::STROUSTRUP_MODE); } else { formatter.setBracketFormatMode(astyle::NONE_MODE); } wxString pointerAlign = cfg->Read(_T("/pointer_align")); if (pointerAlign == _T("Type")) { formatter.setPointerAlignment(astyle::ALIGN_TYPE); } else if (pointerAlign == _T("Middle")) { formatter.setPointerAlignment(astyle::ALIGN_MIDDLE); } else if (pointerAlign == _T("Name")) { formatter.setPointerAlignment(astyle::ALIGN_NAME); } else { formatter.setPointerAlignment(astyle::ALIGN_NONE); } formatter.setBreakClosingHeaderBracketsMode(cfg->ReadBool(_T("/break_closing"))); formatter.setBreakBlocksMode(cfg->ReadBool(_T("/break_blocks"))); formatter.setBreakElseIfsMode(cfg->ReadBool(_T("/break_elseifs"))); formatter.setOperatorPaddingMode(cfg->ReadBool(_T("/pad_operators"))); formatter.setParensOutsidePaddingMode(cfg->ReadBool(_T("/pad_parentheses_out"))); formatter.setParensInsidePaddingMode(cfg->ReadBool(_T("/pad_parentheses_in"))); formatter.setParensUnPaddingMode(cfg->ReadBool(_T("/unpad_parentheses"))); formatter.setSingleStatementsMode(!cfg->ReadBool(_T("/keep_complex"))); formatter.setBreakOneLineBlocksMode(!cfg->ReadBool(_T("/keep_blocks"))); formatter.setTabSpaceConversionMode(cfg->ReadBool(_T("/convert_tabs"))); formatter.setEmptyLineFill(cfg->ReadBool(_T("/fill_empty_lines"))); break; } } }