VHDDSetInfoDialog::VHDDSetInfoDialog(wxWindow* parent) : wxDialog(parent, wxID_ANY, "HDD Settings", wxDefaultPosition) { m_spin_size = new wxSpinCtrl(this); m_ch_type = new wxChoice(this, wxID_ANY); m_spin_block_size = new wxSpinCtrl(this); wxBoxSizer& s_sinf(*new wxBoxSizer(wxHORIZONTAL)); s_sinf.Add(m_spin_size, wxSizerFlags().Border(wxALL, 5).Expand()); s_sinf.Add(m_ch_type, wxSizerFlags().Border(wxALL, 5).Expand()); wxBoxSizer& s_binf(*new wxBoxSizer(wxHORIZONTAL)); s_binf.Add(m_spin_block_size, wxSizerFlags().Border(wxALL, 5).Expand()); wxBoxSizer& s_btns(*new wxBoxSizer(wxHORIZONTAL)); s_btns.Add(new wxButton(this, wxID_OK), wxSizerFlags().Align(wxALIGN_LEFT).Border(wxALL, 5)); s_btns.Add(new wxButton(this, wxID_CANCEL), wxSizerFlags().Align(wxALIGN_RIGHT).Border(wxALL, 5)); wxBoxSizer& s_main(*new wxBoxSizer(wxVERTICAL)); s_main.Add(&s_sinf, wxSizerFlags().Align(wxALIGN_TOP).Expand()); s_main.Add(&s_binf, wxSizerFlags().Align(wxALIGN_TOP).Expand()); s_main.Add(&s_btns, wxSizerFlags().Align(wxALIGN_BOTTOM).Expand()); SetSizerAndFit(&s_main); m_ch_type->Append("B"); m_ch_type->Append("KB"); m_ch_type->Append("MB"); m_ch_type->Append("GB"); m_spin_size->SetRange(1, 0x7fffffff); m_spin_size->SetValue(64); m_ch_type->SetSelection(3); m_spin_block_size->SetRange(64, 0x7fffffff); m_spin_block_size->SetValue(2048); Connect(wxID_OK, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(VHDDSetInfoDialog::OnOk)); }
VFSEntrySettingsDialog::VFSEntrySettingsDialog(wxWindow* parent, VFSManagerEntry& entry) : wxDialog(parent, wxID_ANY, "Mount configuration", wxDefaultPosition) , m_entry(entry) { m_tctrl_dev_path = new wxTextCtrl(this, wxID_ANY); m_btn_select_dev_path = new wxButton(this, wxID_ANY, "..."); m_tctrl_path = new wxTextCtrl(this, wxID_ANY); m_btn_select_path = new wxButton(this, wxID_ANY, "..."); m_tctrl_mount = new wxTextCtrl(this, wxID_ANY); m_ch_type = new wxChoice(this, wxID_ANY); wxBoxSizer& s_type(*new wxBoxSizer(wxHORIZONTAL)); s_type.Add(m_ch_type, 1, wxEXPAND); wxBoxSizer& s_dev_path(*new wxBoxSizer(wxHORIZONTAL)); s_dev_path.Add(m_tctrl_dev_path, 1, wxEXPAND); s_dev_path.Add(m_btn_select_dev_path, 0, wxLEFT, 5); wxBoxSizer& s_path(*new wxBoxSizer(wxHORIZONTAL)); s_path.Add(m_tctrl_path, 1, wxEXPAND); s_path.Add(m_btn_select_path, 0, wxLEFT, 5); wxBoxSizer& s_mount(*new wxBoxSizer(wxHORIZONTAL)); s_mount.Add(m_tctrl_mount, 1, wxEXPAND); wxBoxSizer& s_btns(*new wxBoxSizer(wxHORIZONTAL)); s_btns.Add(new wxButton(this, wxID_OK)); s_btns.AddSpacer(30); s_btns.Add(new wxButton(this, wxID_CANCEL)); wxBoxSizer& s_main(*new wxBoxSizer(wxVERTICAL)); s_main.Add(&s_type, 1, wxEXPAND | wxALL, 10); s_main.Add(&s_dev_path, 1, wxEXPAND | wxALL, 10); s_main.Add(&s_path, 1, wxEXPAND | wxALL, 10); s_main.Add(&s_mount, 1, wxEXPAND | wxALL, 10); s_main.AddSpacer(10); s_main.Add(&s_btns, 0, wxALL | wxCENTER, 10); SetSizerAndFit(&s_main); SetSize(350, -1); for(const auto i : vfsDeviceTypeNames) { m_ch_type->Append(i); } Connect(m_ch_type->GetId(), wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(VFSEntrySettingsDialog::OnSelectType)); Connect(m_btn_select_path->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(VFSEntrySettingsDialog::OnSelectPath)); Connect(m_btn_select_dev_path->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(VFSEntrySettingsDialog::OnSelectDevPath)); Connect(wxID_OK, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(VFSEntrySettingsDialog::OnOk)); m_tctrl_dev_path->SetValue(m_entry.device_path); m_tctrl_path->SetValue(m_entry.path); m_tctrl_mount->SetValue(m_entry.mount); m_ch_type->SetSelection(m_entry.device); wxCommandEvent ce; OnSelectType(ce); }
TextInputDialog::TextInputDialog(wxWindow* parent, const std::string& defvalue, const std::string& label) : wxDialog(parent, wxID_ANY, label, wxDefaultPosition) { m_tctrl_text = new wxTextCtrl(this, wxID_ANY, fmt::ToUTF8(defvalue)); wxBoxSizer& s_text(*new wxBoxSizer(wxVERTICAL)); s_text.Add(m_tctrl_text, 1, wxEXPAND); wxBoxSizer& s_btns(*new wxBoxSizer(wxHORIZONTAL)); s_btns.Add(new wxButton(this, wxID_OK)); s_btns.AddSpacer(30); s_btns.Add(new wxButton(this, wxID_CANCEL)); wxBoxSizer& s_main(*new wxBoxSizer(wxVERTICAL)); s_main.Add(&s_text, 1, wxEXPAND | wxUP | wxLEFT | wxRIGHT, 5); s_main.AddSpacer(30); s_main.Add(&s_btns, 0, wxCENTER | wxDOWN | wxLEFT | wxRIGHT, 5); SetSizerAndFit(&s_main); SetSize(250, -1); Connect(wxID_OK, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TextInputDialog::OnOk)); }