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

#ifndef _CODELITE_CHATAI_UI_BASE_CLASSES_HPP
#define _CODELITE_CHATAI_UI_BASE_CLASSES_HPP

// clang-format off
#include <wx/settings.h>
#include <wx/xrc/xmlres.h>
#include <wx/xrc/xh_bmp.h>
#include <wx/dialog.h>
#include <wx/iconbndl.h>
#include <wx/artprov.h>
#include <wx/sizer.h>
#include <wx/notebook.h>
#include <wx/panel.h>
#include <wx/imaglist.h>
#include <wx/stattext.h>
#include <wx/filepicker.h>
#include <wx/choice.h>
#include <wx/arrstr.h>
#include <wx/hyperlink.h>
#include <wx/button.h>
#include <wx/textctrl.h>
#include <wx/splitter.h>
#include <wx/stc/stc.h>
#include "clThemedSTC.hpp"
#include <wx/toolbar.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 AssistanceAISettingsBaseDlg : public wxDialog
{
protected:
    wxNotebook* m_notebook;
    wxPanel* m_generalSettings;
    wxStaticText* m_staticText12;
    wxFilePickerCtrl* m_filePickerCLI;
    wxStaticText* m_staticText39;
    wxChoice* m_choiceModels;
    wxHyperlinkCtrl* m_hyperLink46;
    wxButton* m_buttonNew;
    wxButton* m_button44;
    wxStdDialogButtonSizer* m_stdBtnSizer2;
    wxButton* m_button3;
    wxButton* m_button4;

protected:
    virtual void OnSearchModels(wxHyperlinkEvent& event) { event.Skip(); }
    virtual void OnNewModel(wxCommandEvent& event) { event.Skip(); }
    virtual void OnDelete(wxCommandEvent& event) { event.Skip(); }
    virtual void OnDeleteUI(wxUpdateUIEvent& event) { event.Skip(); }
    virtual void OnOK(wxCommandEvent& event) { event.Skip(); }

public:
    wxStaticText* GetStaticText12() { return m_staticText12; }
    wxFilePickerCtrl* GetFilePickerCLI() { return m_filePickerCLI; }
    wxStaticText* GetStaticText39() { return m_staticText39; }
    wxChoice* GetChoiceModels() { return m_choiceModels; }
    wxHyperlinkCtrl* GetHyperLink46() { return m_hyperLink46; }
    wxPanel* GetGeneralSettings() { return m_generalSettings; }
    wxNotebook* GetNotebook() { return m_notebook; }
    wxButton* GetButtonNew() { return m_buttonNew; }
    wxButton* GetButton44() { return m_button44; }
    AssistanceAISettingsBaseDlg(wxWindow* parent, wxWindowID id = wxID_ANY,
                                const wxString& title = _("Chat AI Settings"), const wxPoint& pos = wxDefaultPosition,
                                const wxSize& size = wxSize(-1, -1),
                                long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER);
    virtual ~AssistanceAISettingsBaseDlg();
};

class ModelPageBase : public wxPanel
{
protected:
    wxStaticText* m_staticText17;
    wxTextCtrl* m_textCtrlModelName;
    wxStaticText* m_staticText19;
    wxFilePickerCtrl* m_filePickerModelFile;

protected:
public:
    wxStaticText* GetStaticText17() { return m_staticText17; }
    wxTextCtrl* GetTextCtrlModelName() { return m_textCtrlModelName; }
    wxStaticText* GetStaticText19() { return m_staticText19; }
    wxFilePickerCtrl* GetFilePickerModelFile() { return m_filePickerModelFile; }
    ModelPageBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxSize(-1, -1), long style = wxTAB_TRAVERSAL);
    virtual ~ModelPageBase();
};

class AssistanceAIChatWindowBase : public wxPanel
{
protected:
    wxSplitterWindow* m_splitter30;
    wxPanel* m_splitterPage32;
    clThemedSTC* m_stcOutput;
    wxPanel* m_splitterPage34;
    wxToolBar* m_toolbar;
    clThemedSTC* m_stcInput;
    wxButton* m_button37;
    wxButton* m_buttonStop;

protected:
    virtual void OnInputUI(wxUpdateUIEvent& event) { event.Skip(); }
    virtual void OnSend(wxCommandEvent& event) { event.Skip(); }
    virtual void OnSendUI(wxUpdateUIEvent& event) { event.Skip(); }
    virtual void OnStopUI(wxUpdateUIEvent& event) { event.Skip(); }
    virtual void OnStop(wxCommandEvent& event) { event.Skip(); }

public:
    clThemedSTC* GetStcOutput() { return m_stcOutput; }
    wxPanel* GetSplitterPage32() { return m_splitterPage32; }
    wxToolBar* GetToolbar() { return m_toolbar; }
    clThemedSTC* GetStcInput() { return m_stcInput; }
    wxButton* GetButton37() { return m_button37; }
    wxButton* GetButtonStop() { return m_buttonStop; }
    wxPanel* GetSplitterPage34() { return m_splitterPage34; }
    wxSplitterWindow* GetSplitter30() { return m_splitter30; }
    AssistanceAIChatWindowBase(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition,
                               const wxSize& size = wxSize(-1, -1), long style = wxTAB_TRAVERSAL);
    virtual ~AssistanceAIChatWindowBase();
};

#endif
