//////////////////////////////////////////////////////////////////////
// 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

#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/dataview.h>
#include <wx/imaglist.h>
#include <wx/bitmap.h>
#include <map>
#include <wx/icon.h>
#include <wx/pen.h>
#include <wx/aui/auibar.h>
#include <wx/menu.h>
#include <wx/toolbar.h>
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/treectrl.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


class SFTPStatusPageBase : public wxPanel
{
protected:
    wxDataViewListCtrl* m_dvListCtrl;

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

public:
    wxDataViewListCtrl* GetDvListCtrl() { return m_dvListCtrl; }
    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
{
public:
    enum {
        ID_SFTP_CUSTOMIZE = 1001,
        ID_SSH_OPEN_TERMINAL = 1002,
        ID_ADD_BOOKMARK = 1003,
        ID_SFTP_CONNECT = 1004,
        ID_OPEN_ACCOUNT_MANAGER = 1005,
    };
protected:
    wxAuiToolBar* m_auibar;
    std::map<int, wxMenu*> m_dropdownMenus;
    wxMenu* m_menu115;
    wxMenu* m_menu96;
    wxMenuItem* m_menuItemCustomize;
    wxStaticText* m_staticText49;
    wxTextCtrl* m_textCtrlQuickJump;
    wxTreeCtrl* m_treeCtrl;

protected:
    virtual void OnOpenAccountManager(wxCommandEvent& event) { event.Skip(); }
    virtual void OnConnection(wxCommandEvent& event) { event.Skip(); }
    virtual void OnAddBookmark(wxAuiToolBarEvent& event) { event.Skip(); }
    virtual void OnAddBookmarkUI(wxUpdateUIEvent& event) { event.Skip(); }
    virtual void OnOpenTerminalUI(wxUpdateUIEvent& event) { event.Skip(); }
    virtual void OnOpenTerminal(wxAuiToolBarEvent& event) { event.Skip(); }
    virtual void OnSftpSettings(wxCommandEvent& event) { event.Skip(); }
    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:

    virtual void ShowAuiToolMenu(wxAuiToolBarEvent& event);
    wxAuiToolBar* GetAuibar() { return m_auibar; }
    wxStaticText* GetStaticText49() { return m_staticText49; }
    wxTextCtrl* GetTextCtrlQuickJump() { return m_textCtrlQuickJump; }
    wxTreeCtrl* 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();
};

#endif
