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

#ifndef _CODELITE_PLUGIN_CLBOOSTRAPWIZARDBASE_BASE_CLASSES_H
#define _CODELITE_PLUGIN_CLBOOSTRAPWIZARDBASE_BASE_CLASSES_H

// clang-format off
#include <wx/settings.h>
#include <wx/xrc/xmlres.h>
#include <wx/xrc/xh_bmp.h>
#include <wx/wizard.h>
#include <vector>
#include <wx/artprov.h>
#include <wx/panel.h>
#include "clBoostrapWizardPage.h"
#include <wx/sizer.h>
#include <wx/bannerwindow.h>
#include <wx/commandlinkbutton.h>
#include <wx/radiobox.h>
#include <wx/dataview.h>
#include <wx/stattext.h>
#include <wx/choice.h>
#include <wx/arrstr.h>
#include <wx/stc/stc.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 clBoostrapWizardBase : public wxWizard
{
protected:
    std::vector<wxWizardPageSimple*> m_pages;

    clBoostrapWizardPageWelcome* m_wizardPageWelcome;
    wxBannerWindow* m_banner81;
    wxCommandLinkButton* m_cmdLnkBtn107;
    clBoostrapWizardPagePlugins* m_wizardPagePlugins;
    wxBannerWindow* m_banner811;
    wxRadioBox* m_radioBoxProfile;
    clBoostrapWizardPageCompilers* m_wizardPageCompilers;
    wxBannerWindow* m_banner69;
    wxCommandLinkButton* m_cmdLnkBtnScanForCompilers;
    wxCommandLinkButton* m_cmdLnkBtnDownloadCompiler;
    wxDataViewListCtrl* m_dvListCtrlCompilers;
    clBoostrapWizardPageColours* m_wizardPageColoursAndFonts;
    wxBannerWindow* m_banner71;
    wxStaticText* m_staticText122;
    wxChoice* m_themePicker;
    wxStyledTextCtrl* m_stc24;
    clBoostrapWizardPageWhitespace* m_wizardPageWhitespace;
    wxBannerWindow* m_banner73;
    wxRadioBox* m_radioBoxSpacesVsTabs;
    wxRadioBox* m_radioBoxWhitespaceVisibility;

protected:
    virtual void OnFinish(wxWizardEvent& event) { event.Skip(); }
    virtual void OnCancelWizard(wxCommandEvent& event) { event.Skip(); }
    virtual void OnScanForCompilers(wxCommandEvent& event) { event.Skip(); }
    virtual void OnInstallCompilerUI(wxUpdateUIEvent& event) { event.Skip(); }
    virtual void OnInstallCompiler(wxCommandEvent& event) { event.Skip(); }
    virtual void OnThemeSelected(wxCommandEvent& event) { event.Skip(); }

public:
    wxBannerWindow* GetBanner81() { return m_banner81; }
    wxCommandLinkButton* GetCmdLnkBtn107() { return m_cmdLnkBtn107; }
    clBoostrapWizardPageWelcome* GetWizardPageWelcome() { return m_wizardPageWelcome; }
    wxBannerWindow* GetBanner811() { return m_banner811; }
    wxRadioBox* GetRadioBoxProfile() { return m_radioBoxProfile; }
    clBoostrapWizardPagePlugins* GetWizardPagePlugins() { return m_wizardPagePlugins; }
    wxBannerWindow* GetBanner69() { return m_banner69; }
    wxCommandLinkButton* GetCmdLnkBtnScanForCompilers() { return m_cmdLnkBtnScanForCompilers; }
    wxCommandLinkButton* GetCmdLnkBtnDownloadCompiler() { return m_cmdLnkBtnDownloadCompiler; }
    wxDataViewListCtrl* GetDvListCtrlCompilers() { return m_dvListCtrlCompilers; }
    clBoostrapWizardPageCompilers* GetWizardPageCompilers() { return m_wizardPageCompilers; }
    wxBannerWindow* GetBanner71() { return m_banner71; }
    wxStaticText* GetStaticText122() { return m_staticText122; }
    wxChoice* GetThemePicker() { return m_themePicker; }
    wxStyledTextCtrl* GetStc24() { return m_stc24; }
    clBoostrapWizardPageColours* GetWizardPageColoursAndFonts() { return m_wizardPageColoursAndFonts; }
    wxBannerWindow* GetBanner73() { return m_banner73; }
    wxRadioBox* GetRadioBoxSpacesVsTabs() { return m_radioBoxSpacesVsTabs; }
    wxRadioBox* GetRadioBoxWhitespaceVisibility() { return m_radioBoxWhitespaceVisibility; }
    clBoostrapWizardPageWhitespace* GetWizardPageWhitespace() { return m_wizardPageWhitespace; }
    clBoostrapWizardBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Welcome!"),
                         const wxBitmap& bmp = wxNullBitmap, const wxPoint& pos = wxDefaultPosition,
                         long style = wxCAPTION | wxRESIZE_BORDER);
    wxWizardPageSimple* GetFirstPage() const
    {
        if(!m_pages.empty())
            return m_pages.at(0);
        return NULL;
    }
    virtual ~clBoostrapWizardBase();
};

#endif
