//////////////////////////////////////////////////////////////////////
// This file was auto-generated by codelite's wxCrafter Plugin
// wxCrafter project file: editor_options_guides.wxcp
// Do not modify this file by hand!
//////////////////////////////////////////////////////////////////////

#include "editoroptionsgeneralguidespanelbase.h"


// Declare the bitmap loading function
extern void wxC77E7InitBitmapResources();

static bool bBitmapLoaded = false;


EditorOptionsGeneralGuidesPanelBase::EditorOptionsGeneralGuidesPanelBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
    : wxPanel(parent, id, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxC77E7InitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* bSizer1 = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(bSizer1);
    
    wxArrayString m_pgMgrGeneralArr;
    wxUnusedVar(m_pgMgrGeneralArr);
    wxArrayInt m_pgMgrGeneralIntArr;
    wxUnusedVar(m_pgMgrGeneralIntArr);
    m_pgMgrGeneral = new wxPropertyGridManager(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED);
    
    bSizer1->Add(m_pgMgrGeneral, 1, wxALL|wxEXPAND, 0);
    
    m_pgPropCategoryGeneral = m_pgMgrGeneral->Append(  new wxPropertyCategory( _("General") ) );
    m_pgPropCategoryGeneral->SetHelpString(wxT(""));
    
    m_pgPropDisplayLineNumbers = m_pgMgrGeneral->AppendIn( m_pgPropCategoryGeneral,  new wxBoolProperty( _("Show line numbers margin"), wxPG_LABEL, 1) );
    m_pgPropDisplayLineNumbers->SetHelpString(_("Show line numbers margin"));
    
    m_pgPropHighlightMatchedBrace = m_pgMgrGeneral->AppendIn( m_pgPropCategoryGeneral,  new wxBoolProperty( _("Highlight matched braces"), wxPG_LABEL, 1) );
    m_pgPropHighlightMatchedBrace->SetHelpString(_("Highlight matched braces"));
    
    m_pgPropHideEditMargin = m_pgMgrGeneral->AppendIn( m_pgPropCategoryGeneral,  new wxBoolProperty( _("Hide the edit margin"), wxPG_LABEL, 1) );
    m_pgPropHideEditMargin->SetHelpString(_("Hide the edit margin ( the red/green marks when a line is modified)"));
    
    m_pgPropShowIndentGuidelines = m_pgMgrGeneral->AppendIn( m_pgPropCategoryGeneral,  new wxBoolProperty( _("Show indentation gudelines"), wxPG_LABEL, 1) );
    m_pgPropShowIndentGuidelines->SetHelpString(_("Show indentation guidelines (vertical lines)"));
    
    m_pgPropDisableSemiColonShift = m_pgMgrGeneral->AppendIn( m_pgPropCategoryGeneral,  new wxBoolProperty( _("Disable semicolon shift"), wxPG_LABEL, 1) );
    m_pgPropDisableSemiColonShift->SetHelpString(_("By default when typing \";\" next to a close brace \")\" CodeLite will move the \";\" to the right\nThis option enables or disables this behavior"));
    
    m_pgPropWhitespaces = m_pgMgrGeneral->Append(  new wxPropertyCategory( _("Whitespaces") ) );
    m_pgPropWhitespaces->SetHelpString(wxT(""));
    
    m_pgMgrGeneralArr.Clear();
    m_pgMgrGeneralIntArr.Clear();
    m_pgMgrGeneralArr.Add(_("Invisible"));
    m_pgMgrGeneralArr.Add(_("Visible always"));
    m_pgMgrGeneralArr.Add(_("Visible after indentation"));
    m_pgPropWhitespaceVisibility = m_pgMgrGeneral->AppendIn( m_pgPropWhitespaces,  new wxEnumProperty( _("Whitespace visibility"), wxPG_LABEL, m_pgMgrGeneralArr, m_pgMgrGeneralIntArr, 0) );
    m_pgPropWhitespaceVisibility->SetHelpString(_("Whitespace visibility policy"));
    
    m_pgMgrGeneralArr.Clear();
    m_pgMgrGeneralIntArr.Clear();
    m_pgMgrGeneralArr.Add(_("Default"));
    m_pgMgrGeneralArr.Add(_("Mac (CR)"));
    m_pgMgrGeneralArr.Add(_("Windows (CRLF)"));
    m_pgMgrGeneralArr.Add(_("Unix (LF)"));
    m_pgPropEOLMode = m_pgMgrGeneral->AppendIn( m_pgPropWhitespaces,  new wxEnumProperty( _("EOL Mode"), wxPG_LABEL, m_pgMgrGeneralArr, m_pgMgrGeneralIntArr, 0) );
    m_pgPropEOLMode->SetHelpString(_("Set the editor's EOL mode (End Of Line)"));
    
    m_pgPropCaretLine = m_pgMgrGeneral->Append(  new wxPropertyCategory( _("Caret line") ) );
    m_pgPropCaretLine->SetHelpString(wxT(""));
    
    m_pgPropEnableCaretLine = m_pgMgrGeneral->AppendIn( m_pgPropCaretLine,  new wxBoolProperty( _("Highlight caret line"), wxPG_LABEL, 0) );
    m_pgPropEnableCaretLine->SetHelpString(_("Highlight caret line with a background colour"));
    
    m_pgPropCaretLineColour = m_pgMgrGeneral->AppendIn( m_pgPropCaretLine,  new wxSystemColourProperty( _("Caret line background colour"), wxPG_LABEL, wxColour(wxT("rgb(171,222,230)"))) );
    m_pgPropCaretLineColour->SetHelpString(_("Caret line background colour"));
    
    m_pgPropCaretLineAlpha = m_pgMgrGeneral->AppendIn( m_pgPropCaretLine,  new wxIntProperty( _("Caret line colour alpha"), wxPG_LABEL, 30) );
    m_pgPropCaretLineAlpha->SetHelpString(_("Set the caret line colour transparency value. Where 0 mean complete transparent and 255 means fully opaque"));
    
    m_pgPropDebuggerMarker = m_pgMgrGeneral->Append(  new wxPropertyCategory( _("Debugger Marker") ) );
    m_pgPropDebuggerMarker->SetHelpString(_("Debugger Marker"));
    
    m_pgPropHighlightDebuggerMarker = m_pgMgrGeneral->AppendIn( m_pgPropDebuggerMarker,  new wxBoolProperty( _("Highlight debugger line"), wxPG_LABEL, 0) );
    m_pgPropHighlightDebuggerMarker->SetHelpString(_("When debugging, highlight the current line with a background colour"));
    
    m_pgPropDebuggerLineColour = m_pgMgrGeneral->AppendIn( m_pgPropDebuggerMarker,  new wxSystemColourProperty( _("Debugger line background colour")) );
    m_pgPropDebuggerLineColour->SetValueToUnspecified();
    m_pgPropDebuggerLineColour->SetHelpString(_("Debugger line background colour"));
    
    SetName(wxT("EditorOptionsGeneralGuidesPanelBase"));
    SetSizeHints(500,500);
    if ( GetSizer() ) {
         GetSizer()->Fit(this);
    }
    CentreOnParent(wxBOTH);
}

EditorOptionsGeneralGuidesPanelBase::~EditorOptionsGeneralGuidesPanelBase()
{
}

EditorOptionsGeneralEditBase::EditorOptionsGeneralEditBase(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
    : wxPanel(parent, id, pos, size, style)
{
    if ( !bBitmapLoaded ) {
        // We need to initialise the default bitmap handler
        wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler);
        wxC77E7InitBitmapResources();
        bBitmapLoaded = true;
    }
    
    wxBoxSizer* boxSizer4 = new wxBoxSizer(wxVERTICAL);
    this->SetSizer(boxSizer4);
    
    wxArrayString m_pgMgrEditArr;
    wxUnusedVar(m_pgMgrEditArr);
    wxArrayInt m_pgMgrEditIntArr;
    wxUnusedVar(m_pgMgrEditIntArr);
    m_pgMgrEdit = new wxPropertyGridManager(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxPG_DESCRIPTION|wxPG_SPLITTER_AUTO_CENTER|wxPG_BOLD_MODIFIED);
    
    boxSizer4->Add(m_pgMgrEdit, 1, wxALL|wxEXPAND, 5);
    
    m_pgProp8 = m_pgMgrEdit->Append(  new wxPropertyCategory( _("Edit") ) );
    m_pgProp8->SetHelpString(wxT(""));
    
    m_pgPropSmartCurly = m_pgMgrEdit->AppendIn( m_pgProp8,  new wxBoolProperty( _("Smart curly brackets"), wxPG_LABEL, 1) );
    m_pgPropSmartCurly->SetHelpString(_("When user types '{', automatically insert the closing brace"));
    
    m_pgPropSmartParentheses = m_pgMgrEdit->AppendIn( m_pgProp8,  new wxBoolProperty( _("Smart square brackets / Parentheses"), wxPG_LABEL, 1) );
    m_pgPropSmartParentheses->SetHelpString(_("When user types '[' or '(' automatically insert the closing bracket.\nIn addition, if a user types ']' or ')' next to ']' or ')' just move the caret one position to the right"));
    
    m_pgPropSmartQuotes = m_pgMgrEdit->AppendIn( m_pgProp8,  new wxBoolProperty( _("Smart quotes"), wxPG_LABEL, 1) );
    m_pgPropSmartQuotes->SetHelpString(_("When typing \" or ', automatically add another one to the right, unless one already exists (in this case, simply move the caret one position to the right)"));
    
    m_pgProp16 = m_pgMgrEdit->Append(  new wxPropertyCategory( _("Typing in selection") ) );
    m_pgProp16->SetHelpString(wxT(""));
    
    m_pgPropWrapQuotes = m_pgMgrEdit->AppendIn( m_pgProp16,  new wxBoolProperty( _("Wrap with quotes"), wxPG_LABEL, 1) );
    m_pgPropWrapQuotes->SetHelpString(_("When typing ' or \" on a selection, instead of replacing the selection with the character, wrap it with quotes"));
    
    m_pgPropWrapBrackets = m_pgMgrEdit->AppendIn( m_pgProp16,  new wxBoolProperty( _("Wrap with brackets"), wxPG_LABEL, 1) );
    m_pgPropWrapBrackets->SetHelpString(_("When typing '(' or '[' on a selection, instead of replacing the selection with the character, wrap it with brackets"));
    
    m_pgProp56 = m_pgMgrEdit->Append(  new wxPropertyCategory( _("Zoom") ) );
    m_pgProp56->SetHelpString(wxT(""));
    
    m_pgPropZoomUsingCtrlScroll = m_pgMgrEdit->AppendIn( m_pgProp56,  new wxBoolProperty( _("Enable mouse zoom"), wxPG_LABEL, 1) );
    m_pgPropZoomUsingCtrlScroll->SetHelpString(_("When holding Ctrl/CMD + scrolling with the mouse zoom the text"));
    
    m_pgProp565 = m_pgMgrEdit->Append(  new wxPropertyCategory( _("Comments") ) );
    m_pgProp565->SetHelpString(wxT(""));
    
    m_pgPropCommentsIndented = m_pgMgrEdit->AppendIn( m_pgProp565,  new wxBoolProperty( _("Indented line comments"), wxPG_LABEL, 0) );
    m_pgPropCommentsIndented->SetHelpString(_("Indent line comments (C++-style comments) according to the indentation of the selected fragmant of the text"));
    
    SetName(wxT("EditorOptionsGeneralEditBase"));
    SetSizeHints(500,300);
    if ( GetSizer() ) {
         GetSizer()->Fit(this);
    }
    CentreOnParent(wxBOTH);
    // Connect events
    m_pgMgrEdit->Connect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(EditorOptionsGeneralEditBase::OnValueChanged), NULL, this);
    
}

EditorOptionsGeneralEditBase::~EditorOptionsGeneralEditBase()
{
    m_pgMgrEdit->Disconnect(wxEVT_PG_CHANGED, wxPropertyGridEventHandler(EditorOptionsGeneralEditBase::OnValueChanged), NULL, this);
    
}
