//////////////////////////////////////////////////////////////////////
// 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/choice.h>
#include <wx/arrstr.h>
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/treelist.h>
#include <wx/dialog.h>
#include <wx/iconbndl.h>
#include <wx/listbox.h>
#include <wx/button.h>
#include <wx/filepicker.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

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;


protected:

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


class SFTPTreeViewBase : public wxPanel
{
public:
    enum {
        ID_ADD_BOOKMARK = 1001,
        ID_OPEN_ACCOUNT_MANAGER = 1002,
        ID_SFTP_CONNECT = 1003,
        ID_SFTP_CUSTOMIZE = 1004,
        ID_SSH_OPEN_TERMINAL = 1005,
    };
protected:
    wxAuiToolBar* m_auibar;
    std::map<int, wxMenu*> m_dropdownMenus;
    wxMenu* m_menu115;
    wxMenu* m_menu96;
    wxMenuItem* m_menuItemCustomize;
    wxChoice* m_choiceAccount;
    wxStaticText* m_staticText49;
    wxTextCtrl* m_textCtrlQuickJump;
    wxTreeListCtrl* m_treeListCtrl;

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 OnChoiceAccount(wxCommandEvent& event) { event.Skip(); }
    virtual void OnChoiceAccountUI(wxUpdateUIEvent& event) { event.Skip(); }
    virtual void OnGotoLocationUI(wxUpdateUIEvent& event) { event.Skip(); }
    virtual void OnGotoLocation(wxCommandEvent& event) { event.Skip(); }
    virtual void OnItemExpanding(wxTreeListEvent& event) { event.Skip(); }
    virtual void OnItemActivated(wxTreeListEvent& event) { event.Skip(); }
    virtual void OnContextMenu(wxTreeListEvent& event) { event.Skip(); }
    virtual void OnSelectionChanged(wxTreeListEvent& event) { event.Skip(); }

public:

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

#endif
