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

#ifndef _CODELITE_SFTP_UI_BASE_CLASSES_H
#define _CODELITE_SFTP_UI_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/notebook.h>
#include "clGenericNotebook.hpp"
#include <wx/imaglist.h>
#include <wx/stc/stc.h>
#include <wx/bitmap.h>
#include <map>
#include <wx/icon.h>
#include <wx/toolbar.h>
#include "clToolBar.h"
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/treectrl.h>
#include "clThemedTreeCtrl.h"
#include <wx/dialog.h>
#include <wx/iconbndl.h>
#include <wx/listbox.h>
#include <wx/button.h>
#include <wx/filepicker.h>
#include <wx/checkbox.h>
#include <wx/choice.h>
#include <wx/arrstr.h>
#include <wx/statline.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 SFTPStatusPageBase : public wxPanel
{
protected:
    clGenericNotebook* m_notebook;
    wxPanel* m_panelLog;
    wxStyledTextCtrl* m_stcOutput;
    wxPanel* m_panelSearch;
    wxStyledTextCtrl* m_stcSearch;

protected:
    virtual void OnContentMenu(wxContextMenuEvent& event)
    {
        event.Skip();
    }

public:
    wxStyledTextCtrl* GetStcOutput()
    {
        return m_stcOutput;
    }
    wxPanel* GetPanelLog()
    {
        return m_panelLog;
    }
    wxStyledTextCtrl* GetStcSearch()
    {
        return m_stcSearch;
    }
    wxPanel* GetPanelSearch()
    {
        return m_panelSearch;
    }
    clGenericNotebook* GetNotebook()
    {
        return m_notebook;
    }
    SFTPStatusPageBase(wxWindow* parent,
        wxWindowID id = wxID_ANY,
        const wxPoint& pos = wxDefaultPosition,
        const wxSize& size = wxSize(-1, -1),
        long style = wxTAB_TRAVERSAL);
    virtual ~SFTPStatusPageBase();
};

class SFTPImages : public wxImageList
{
protected:
    // Maintain a map of all bitmaps representd by their name
    std::map<wxString, wxBitmap> m_bitmaps;
    // The requested image resolution (can be one of @2x, @1.5x, @1.25x or an empty string (the default)
    wxString m_resolution;
    int m_imagesWidth;
    int m_imagesHeight;

protected:
public:
    SFTPImages();
    const wxBitmap& Bitmap(const wxString& name) const
    {
        if(!m_bitmaps.count(name + m_resolution))
            return wxNullBitmap;
        return m_bitmaps.find(name + m_resolution)->second;
    }

    void SetBitmapResolution(const wxString& res = wxEmptyString)
    {
        m_resolution = res;
    }

    virtual ~SFTPImages();
};

class SFTPTreeViewBase : public wxPanel
{
protected:
    clToolBar* m_toolbar;
    wxStaticText* m_staticText49;
    wxTextCtrl* m_textCtrlQuickJump;
    clThemedTreeCtrl* m_treeCtrl;

protected:
    virtual void OnGotoLocationUI(wxUpdateUIEvent& event)
    {
        event.Skip();
    }
    virtual void OnGotoLocation(wxCommandEvent& event)
    {
        event.Skip();
    }
    virtual void OnItemActivated(wxTreeEvent& event)
    {
        event.Skip();
    }
    virtual void OnItemExpanding(wxTreeEvent& event)
    {
        event.Skip();
    }
    virtual void OnContextMenu(wxContextMenuEvent& event)
    {
        event.Skip();
    }

public:
    clToolBar* GetToolbar()
    {
        return m_toolbar;
    }
    wxStaticText* GetStaticText49()
    {
        return m_staticText49;
    }
    wxTextCtrl* GetTextCtrlQuickJump()
    {
        return m_textCtrlQuickJump;
    }
    clThemedTreeCtrl* GetTreeCtrl()
    {
        return m_treeCtrl;
    }
    SFTPTreeViewBase(wxWindow* parent,
        wxWindowID id = wxID_ANY,
        const wxPoint& pos = wxDefaultPosition,
        const wxSize& size = wxSize(-1, -1),
        long style = wxTAB_TRAVERSAL);
    virtual ~SFTPTreeViewBase();
};

class SFTPManageBookmarkDlgBase : public wxDialog
{
protected:
    wxListBox* m_listBoxBookmarks;
    wxButton* m_button70;
    wxStdDialogButtonSizer* m_stdBtnSizer58;
    wxButton* m_buttonOk;
    wxButton* m_buttonCancel;

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

public:
    wxListBox* GetListBoxBookmarks()
    {
        return m_listBoxBookmarks;
    }
    wxButton* GetButton70()
    {
        return m_button70;
    }
    SFTPManageBookmarkDlgBase(wxWindow* parent,
        wxWindowID id = wxID_ANY,
        const wxString& title = _("Manage Bookmarks"),
        const wxPoint& pos = wxDefaultPosition,
        const wxSize& size = wxSize(-1, -1),
        long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER);
    virtual ~SFTPManageBookmarkDlgBase();
};

class SFTPSettingsDialogBase : public wxDialog
{
protected:
    wxStaticText* m_staticSSHClient;
    wxFilePickerCtrl* m_sshClientPath;
    wxStdDialogButtonSizer* m_stdBtnSizer85;
    wxButton* m_button87;
    wxButton* m_button89;

protected:
    virtual void OnOK(wxCommandEvent& event)
    {
        event.Skip();
    }

public:
    wxStaticText* GetStaticSSHClient()
    {
        return m_staticSSHClient;
    }
    wxFilePickerCtrl* GetSshClientPath()
    {
        return m_sshClientPath;
    }
    SFTPSettingsDialogBase(wxWindow* parent,
        wxWindowID id = wxID_ANY,
        const wxString& title = _("SFTP / SSH Settings"),
        const wxPoint& pos = wxDefaultPosition,
        const wxSize& size = wxSize(-1, -1),
        long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER);
    virtual ~SFTPSettingsDialogBase();
};

class SFTPUploadDialogBase : public wxDialog
{
protected:
    wxStaticText* m_staticText110;
    wxTextCtrl* m_textCtrlRemoteFolder;
    wxStdDialogButtonSizer* m_stdBtnSizer104;
    wxButton* m_buttonOK;
    wxButton* m_button108;

protected:
    virtual void OnOKUI(wxUpdateUIEvent& event)
    {
        event.Skip();
    }

public:
    wxStaticText* GetStaticText110()
    {
        return m_staticText110;
    }
    wxTextCtrl* GetTextCtrlRemoteFolder()
    {
        return m_textCtrlRemoteFolder;
    }
    SFTPUploadDialogBase(wxWindow* parent,
        wxWindowID id = wxID_ANY,
        const wxString& title = _("SFTP Upload Files"),
        const wxPoint& pos = wxDefaultPosition,
        const wxSize& size = wxSize(-1, -1),
        long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER);
    virtual ~SFTPUploadDialogBase();
};

class SFTPQuickConnectBaseDlg : public wxDialog
{
protected:
    wxCheckBox* m_checkBoxChooseAccount;
    wxChoice* m_choiceAccount;
    wxStaticLine* m_staticLine135;
    wxCheckBox* m_checkBoxQuickConnect;
    wxStaticText* m_staticText143;
    wxTextCtrl* m_textCtrlHost;
    wxStaticText* m_staticText147;
    wxTextCtrl* m_textCtrlPort;
    wxStaticText* m_staticText151;
    wxTextCtrl* m_textCtrlUsername;
    wxStaticText* m_staticText155;
    wxTextCtrl* m_textCtrlPassword;
    wxStdDialogButtonSizer* m_stdBtnSizer123;
    wxButton* m_button125;
    wxButton* m_button127;

protected:
    virtual void OnCheckboxChooseAccount(wxCommandEvent& event)
    {
        event.Skip();
    }
    virtual void OnChooseAccountUI(wxUpdateUIEvent& event)
    {
        event.Skip();
    }
    virtual void OnQuickConnect(wxCommandEvent& event)
    {
        event.Skip();
    }
    virtual void OnQuickConnectUI(wxUpdateUIEvent& event)
    {
        event.Skip();
    }
    virtual void OnOKUI(wxUpdateUIEvent& event)
    {
        event.Skip();
    }

public:
    wxCheckBox* GetCheckBoxChooseAccount()
    {
        return m_checkBoxChooseAccount;
    }
    wxChoice* GetChoiceAccount()
    {
        return m_choiceAccount;
    }
    wxStaticLine* GetStaticLine135()
    {
        return m_staticLine135;
    }
    wxCheckBox* GetCheckBoxQuickConnect()
    {
        return m_checkBoxQuickConnect;
    }
    wxStaticText* GetStaticText143()
    {
        return m_staticText143;
    }
    wxTextCtrl* GetTextCtrlHost()
    {
        return m_textCtrlHost;
    }
    wxStaticText* GetStaticText147()
    {
        return m_staticText147;
    }
    wxTextCtrl* GetTextCtrlPort()
    {
        return m_textCtrlPort;
    }
    wxStaticText* GetStaticText151()
    {
        return m_staticText151;
    }
    wxTextCtrl* GetTextCtrlUsername()
    {
        return m_textCtrlUsername;
    }
    wxStaticText* GetStaticText155()
    {
        return m_staticText155;
    }
    wxTextCtrl* GetTextCtrlPassword()
    {
        return m_textCtrlPassword;
    }
    SFTPQuickConnectBaseDlg(wxWindow* parent,
        wxWindowID id = wxID_ANY,
        const wxString& title = _("SFTP Connect"),
        const wxPoint& pos = wxDefaultPosition,
        const wxSize& size = wxSize(-1, -1),
        long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER);
    virtual ~SFTPQuickConnectBaseDlg();
};

class SFTPGrepBase : public wxDialog
{
protected:
    wxStaticText* m_staticText175;
    wxTextCtrl* m_textCtrlFindWhat;
    wxStaticText* m_staticText179;
    wxTextCtrl* m_textCtrlSeachIn;
    wxCheckBox* m_checkBoxWholeWord;
    wxCheckBox* m_checkBoxIgnoreCase;
    wxStdDialogButtonSizer* m_stdBtnSizer167;
    wxButton* m_buttonOK;
    wxButton* m_buttonCancel;

protected:
    virtual void OnOkUI(wxUpdateUIEvent& event)
    {
        event.Skip();
    }

public:
    wxStaticText* GetStaticText175()
    {
        return m_staticText175;
    }
    wxTextCtrl* GetTextCtrlFindWhat()
    {
        return m_textCtrlFindWhat;
    }
    wxStaticText* GetStaticText179()
    {
        return m_staticText179;
    }
    wxTextCtrl* GetTextCtrlSeachIn()
    {
        return m_textCtrlSeachIn;
    }
    wxCheckBox* GetCheckBoxWholeWord()
    {
        return m_checkBoxWholeWord;
    }
    wxCheckBox* GetCheckBoxIgnoreCase()
    {
        return m_checkBoxIgnoreCase;
    }
    SFTPGrepBase(wxWindow* parent,
        wxWindowID id = wxID_ANY,
        const wxString& title = _("Remote Grep"),
        const wxPoint& pos = wxDefaultPosition,
        const wxSize& size = wxSize(-1, -1),
        long style = wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER);
    virtual ~SFTPGrepBase();
};

#endif
