LocalOptionsConfig::LocalOptionsConfig(OptionsConfigPtr opts, wxXmlNode* node) { // Used for reading local values, which are merged into the passed OptionsConfigPtr only if valid if(node) { bool answer; wxString str; long l; if(XmlUtils::ReadBoolIfExists(node, wxT("DisplayFoldMargin"), answer)) { opts->SetDisplayFoldMargin(answer); } if(XmlUtils::ReadBoolIfExists(node, wxT("DisplayBookmarkMargin"), answer)) { opts->SetDisplayBookmarkMargin(answer); } if(XmlUtils::ReadBoolIfExists(node, wxT("HighlightCaretLine"), answer)) { opts->SetHighlightCaretLine(answer); } if(XmlUtils::ReadBoolIfExists(node, wxT("EditorTrimEmptyLines"), answer)) { opts->SetTrimLine(answer); } if(XmlUtils::ReadBoolIfExists(node, wxT("EditorAppendLf"), answer)) { opts->SetAppendLF(answer); } if(XmlUtils::ReadBoolIfExists(node, wxT("ShowLineNumber"), answer)) { opts->SetDisplayLineNumbers(answer); } if(XmlUtils::ReadBoolIfExists(node, wxT("IndentationGuides"), answer)) { opts->SetShowIndentationGuidelines(answer); } if(XmlUtils::ReadBoolIfExists(node, wxT("IndentUsesTabs"), answer)) { opts->SetIndentUsesTabs(answer); } if(XmlUtils::ReadBoolIfExists(node, wxT("HideChangeMarkerMargin"), answer)) { opts->SetHideChangeMarkerMargin(answer); } if(XmlUtils::ReadLongIfExists(node, wxT("IndentWidth"), l)) { opts->SetIndentWidth(l); } if(XmlUtils::ReadLongIfExists(node, wxT("TabWidth"), l)) { opts->SetTabWidth(l); } if(XmlUtils::ReadLongIfExists(node, wxT("ShowWhitespaces"), l)) { opts->SetShowWhitspaces(l); } if(XmlUtils::ReadStringIfExists(node, wxT("EOLMode"), str)) { opts->SetEolMode(str); } if(XmlUtils::ReadStringIfExists(node, wxT("FileFontEncoding"), str)) { opts->SetFileFontEncoding(str); } } }
void EditorOptionsGeneralGuidesPanel::Save(OptionsConfigPtr options) { options->SetDisplayLineNumbers(m_displayLineNumbers->IsChecked()); options->SetHighlightMatchedBraces(m_checkBoxMatchBraces->IsChecked()); options->SetShowIndentationGuidelines(m_showIndentationGuideLines->IsChecked()); options->SetHighlightCaretLine(m_highlightCaretLine->IsChecked()); options->SetCaretLineColour(m_caretLineColourPicker->GetColour()); options->SetEolMode(m_EOLstringManager.GetStringSelection()); options->SetHideChangeMarkerMargin(m_checkBoxHideChangeMarkerMargin->IsChecked()); options->SetDisableSemicolonShift(m_checkBoxDisableSemicolonShift->IsChecked()); options->SetDebuggerMarkerLine(m_colourPickerDbgLine->GetColour()); options->EnableOption(OptionsConfig::Opt_Mark_Debugger_Line, m_checkBoxMarkdebuggerLine->IsChecked()); // save the whitespace visibility wxString Whitespace = m_WSstringManager.GetStringSelection(); int style(wxSTC_WS_INVISIBLE); // invisible if(Whitespace == wxT("Visible always")) { style = wxSTC_WS_VISIBLEALWAYS; } else if(Whitespace == wxT("Visible after indentation")) { style = wxSTC_WS_VISIBLEAFTERINDENT; } else if(Whitespace == wxT("Indentation only")) { style = wxSTC_WS_VISIBLEAFTERINDENT; } options->SetShowWhitspaces(style); }