File: editor_options_general_guides_panel.cpp

package info (click to toggle)
codelite 12.0+dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, sid
  • size: 95,112 kB
  • sloc: cpp: 424,040; ansic: 18,284; php: 9,569; lex: 4,186; yacc: 2,820; python: 2,294; sh: 312; makefile: 51; xml: 13
file content (84 lines) | stat: -rw-r--r-- 4,387 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
// copyright            : (C) 2008 by Eran Ifrah
// file name            : editor_options_general_guides_panel.cpp
//
// -------------------------------------------------------------------------
// A
//              _____           _      _     _ _
//             /  __ \         | |    | |   (_) |
//             | /  \/ ___   __| | ___| |    _| |_ ___
//             | |    / _ \ / _  |/ _ \ |   | | __/ _ )
//             | \__/\ (_) | (_| |  __/ |___| | ||  __/
//              \____/\___/ \__,_|\___\_____/_|\__\___|
//
//                                                  F i l e
//
//    This program is free software; you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation; either version 2 of the License, or
//    (at your option) any later version.
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////

#include "globals.h"
#include <wx/stc/stc.h>
#include "editor_options_general_guides_panel.h"

EditorOptionsGeneralGuidesPanel::EditorOptionsGeneralGuidesPanel(wxWindow* parent)
    : EditorOptionsGeneralGuidesPanelBase(parent)
    , TreeBookNode<EditorOptionsGeneralGuidesPanel>()
{
    ::wxPGPropertyBooleanUseCheckbox(m_pgMgrGeneral->GetGrid());
    OptionsConfigPtr options = EditorConfigST::Get()->GetOptions();
    m_pgPropDisplayLineNumbers->SetValue(options->GetDisplayLineNumbers());
    m_pgPropHighlightMatchedBrace->SetValue(options->GetHighlightMatchedBraces());
    m_pgPropShowIndentGuidelines->SetValue(options->GetShowIndentationGuidelines());
    m_pgPropEnableCaretLine->SetValue(options->GetHighlightCaretLine());
    wxVariant caretLineColour, debuggerLineColour;
    caretLineColour << options->GetCaretLineColour();
    m_pgPropCaretLineColour->SetValue(caretLineColour);
    m_pgPropDisableSemiColonShift->SetValue(options->GetDisableSemicolonShift());
    m_pgPropHideEditMargin->SetValue(options->GetHideChangeMarkerMargin());
    m_pgPropHighlightDebuggerMarker->SetValue(options->HasOption(OptionsConfig::Opt_Mark_Debugger_Line));
    debuggerLineColour << options->GetDebuggerMarkerLine();
    m_pgPropDebuggerLineColour->SetValue(debuggerLineColour);
    m_pgPropWhitespaceVisibility->SetChoiceSelection(options->GetShowWhitspaces());
    m_pgPropCaretLineAlpha->SetValue(options->GetCaretLineAlpha());
    
    // EOL
    // Default;Mac (CR);Windows (CRLF);Unix (LF)
    wxArrayString eolOptions;
    eolOptions.Add("Default");
    eolOptions.Add("Mac (CR)");
    eolOptions.Add("Windows (CRLF)");
    eolOptions.Add("Unix (LF)");
    int eolSel = eolOptions.Index(options->GetEolMode());
    if(eolSel != wxNOT_FOUND) {
        m_pgPropEOLMode->SetChoiceSelection(eolSel);
    }
}

void EditorOptionsGeneralGuidesPanel::Save(OptionsConfigPtr options)
{
    options->SetDisplayLineNumbers(m_pgPropDisplayLineNumbers->GetValue().GetBool());
    options->SetHighlightMatchedBraces(m_pgPropHighlightMatchedBrace->GetValue().GetBool());
    options->SetShowIndentationGuidelines(m_pgPropShowIndentGuidelines->GetValue().GetBool());
    options->SetHighlightCaretLine(m_pgPropEnableCaretLine->GetValue().GetBool());
    
    wxColourPropertyValue carteLineColour, debuggerLineColour;
    carteLineColour << m_pgPropCaretLineColour->GetValue();
    debuggerLineColour << m_pgPropDebuggerLineColour->GetValue();
    options->SetCaretLineColour(carteLineColour.m_colour);
    
    wxString eolMode = m_pgPropEOLMode->GetValueAsString();
    options->SetEolMode(eolMode);
    options->SetHideChangeMarkerMargin(m_pgPropHideEditMargin->GetValue().GetBool());
    options->SetDisableSemicolonShift(m_pgPropDisableSemiColonShift->GetValue().GetBool());
    options->SetDebuggerMarkerLine(debuggerLineColour.m_colour);
    options->EnableOption(OptionsConfig::Opt_Mark_Debugger_Line, m_pgPropHighlightDebuggerMarker->GetValue().GetBool());
    options->SetShowWhitspaces(m_pgPropWhitespaceVisibility->GetValue().GetInteger());
    options->SetCaretLineAlpha(m_pgPropCaretLineAlpha->GetValue().GetInteger());
}