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

#ifndef _CODELITE_LITEEDITOR_EDITOR_OPTIONS_GUIDES_BASE_CLASSES_H
#define _CODELITE_LITEEDITOR_EDITOR_OPTIONS_GUIDES_BASE_CLASSES_H

// clang-format off
#include <wx/settings.h>
#include <wx/xrc/xmlres.h>
#include <wx/xrc/xh_bmp.h>
#include <wx/panel.h>
#include <wx/artprov.h>
#include <wx/sizer.h>
#include <wx/propgrid/manager.h>
#include <wx/propgrid/property.h>
#include <wx/propgrid/advprops.h>
#if wxVERSION_NUMBER >= 2900
#include <wx/persist.h>
#include <wx/persist/toplevel.h>
#include <wx/persist/bookctrl.h>
#include <wx/persist/treebook.h>
#endif

#ifdef WXC_FROM_DIP
#undef WXC_FROM_DIP
#endif
#if wxVERSION_NUMBER >= 3100
#define WXC_FROM_DIP(x) wxWindow::FromDIP(x, NULL)
#else
#define WXC_FROM_DIP(x) x
#endif

// clang-format on

class EditorOptionsGeneralGuidesPanelBase : public wxPanel
{
protected:
    wxPropertyGridManager* m_pgMgrGeneral;
    wxPGProperty* m_pgPropCategoryGeneral;
    wxPGProperty* m_pgPropDisplayLineNumbers;
    wxPGProperty* m_pgPropRelativeLineNumbers;
    wxPGProperty* m_pgPropHighlightMatchedBrace;
    wxPGProperty* m_pgPropHideEditMargin;
    wxPGProperty* m_pgPropShowIndentGuidelines;
    wxPGProperty* m_pgPropDisableSemiColonShift;
    wxPGProperty* m_pgPropWhitespaces;
    wxPGProperty* m_pgPropWhitespaceVisibility;
    wxPGProperty* m_pgPropEOLMode;
    wxPGProperty* m_pgPropLineSpacing;
    wxPGProperty* m_pgPropCaretLine;
    wxPGProperty* m_pgPropEnableCaretLine;
    wxPGProperty* m_pgPropCaretLineColour;
    wxPGProperty* m_pgPropCaretLineAlpha;
    wxPGProperty* m_pgPropDebuggerMarker;
    wxPGProperty* m_pgPropHighlightDebuggerMarker;
    wxPGProperty* m_pgPropDebuggerLineColour;

protected:
public:
    wxPropertyGridManager* GetPgMgrGeneral() { return m_pgMgrGeneral; }
    EditorOptionsGeneralGuidesPanelBase(wxWindow* parent, wxWindowID id = wxID_ANY,
                                        const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(500, 300),
                                        long style = wxTAB_TRAVERSAL);
    virtual ~EditorOptionsGeneralGuidesPanelBase();
};

class EditorOptionsGeneralEditBase : public wxPanel
{
protected:
    wxPropertyGridManager* m_pgMgrEdit;
    wxPGProperty* m_pgProp8;
    wxPGProperty* m_pgPropSmartCurly;
    wxPGProperty* m_pgPropSmartParentheses;
    wxPGProperty* m_pgPropAutoCompleteParen;
    wxPGProperty* m_pgPropSmartQuotes;
    wxPGProperty* m_pgPropCopyLineEmptySelection;
    wxPGProperty* m_pgProp16;
    wxPGProperty* m_pgPropWrapQuotes;
    wxPGProperty* m_pgPropWrapBrackets;
    wxPGProperty* m_pgProp56;
    wxPGProperty* m_pgPropZoomUsingCtrlScroll;
    wxPGProperty* m_pgProp565;
    wxPGProperty* m_pgPropCommentsIndented;

protected:
    virtual void OnValueChanged(wxPropertyGridEvent& event) { event.Skip(); }

public:
    wxPropertyGridManager* GetPgMgrEdit() { return m_pgMgrEdit; }
    EditorOptionsGeneralEditBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition,
                                 const wxSize& size = wxSize(500, 300), long style = wxTAB_TRAVERSAL);
    virtual ~EditorOptionsGeneralEditBase();
};

#endif
