//
// Created by taynpg on 24-8-6.
//

#ifndef INSTALL_H
#define INSTALL_H

#include <wx/wx.h>
#include <wx/dialog.h>
#include "FunctionImp.h"

constexpr int g_Border2 = 3;

class CInstallDialog : public wxDialog
{
private:
    CFunInstall* handle_{};
private:
    wxPanel* panel_{};
    wxBoxSizer* top_sizer_{};
    wxStaticText* label_binary_{};
    wxTextCtrl* text_binary_file_{};
    wxButton* btn_select_binary_{};
    wxCheckBox* use_default_ico_{};
    wxStaticText* label_default_ico_{};
    wxStaticText* label_ico_file_{};
    wxTextCtrl* text_ico_file_{};
    wxButton* btn_select_ico_{};
    wxStaticText* label_category_{};
    wxChoice* choice_category_{};
    wxButton* btn_install_{};

public:
    explicit CInstallDialog(wxWindow* parent, const wxString& title);
    ~CInstallDialog() override;

private:
    void InitInstall();
    void installToDesktop(wxCommandEvent& event);
    void selectBinaryFile(wxCommandEvent& event);
    void selectIcoFile(wxCommandEvent& event);
    void checkChange(wxCommandEvent& event);
};

#endif   // INSTALL_H