SearchResultWindow::SearchResultWindow(wxWindow* parent) : wxPanel(parent, wxID_ANY) { wxSizer* sizer = newd wxBoxSizer(wxVERTICAL); result_list = newd wxListBox(this, wxID_ANY, wxDefaultPosition, wxSize(200, 330), 0, nullptr, wxLB_SINGLE | wxLB_ALWAYS_SB | wxLB_SORT); sizer->Add(result_list, wxSizerFlags(1).Expand()); SetSizerAndFit(sizer); }
HousePalettePanel::HousePalettePanel(wxWindow* parent, wxWindowID id) : PalettePanel(parent, id), map(nullptr), do_resize_on_display(true), fix_size_timer(this, PALETTE_LAYOUT_FIX_TIMER) { wxSizer* topsizer = newd wxBoxSizer(wxVERTICAL); wxSizer* tmpsizer; wxSizer* sidesizer = newd wxStaticBoxSizer(wxVERTICAL, this, wxT("Houses")); town_choice = newd wxChoice(this, PALETTE_HOUSE_TOWN_CHOICE, wxDefaultPosition, wxDefaultSize, (int)0, (const wxString*)nullptr); sidesizer->Add(town_choice, 0, wxEXPAND); house_list = newd wxListBox(this, PALETTE_HOUSE_LISTBOX, wxDefaultPosition, wxDefaultSize, 0, nullptr, wxLB_SINGLE | wxLB_NEEDED_SB | wxLB_SORT); sidesizer->Add(house_list, 1, wxEXPAND); tmpsizer = newd wxBoxSizer(wxHORIZONTAL); tmpsizer->Add(add_house_button = newd wxButton(this, PALETTE_HOUSE_ADD_HOUSE, wxT("Add"), wxDefaultPosition, wxSize(50, -1)), wxSizerFlags(1).Right()); tmpsizer->Add(edit_house_button = newd wxButton(this, PALETTE_HOUSE_EDIT_HOUSE, wxT("Edit"), wxDefaultPosition, wxSize(50, -1)), wxSizerFlags(1).Right()); tmpsizer->Add(remove_house_button = newd wxButton(this, PALETTE_HOUSE_REMOVE_HOUSE, wxT("Remove"), wxDefaultPosition, wxSize(70, -1)), wxSizerFlags(1).Right()); sidesizer->Add(tmpsizer, wxSizerFlags(0).Right()); topsizer->Add(sidesizer, 1, wxEXPAND); // Temple position sidesizer = newd wxStaticBoxSizer(newd wxStaticBox(this, wxID_ANY, wxT("Brushes"), wxDefaultPosition, wxSize(150, 200)), wxVERTICAL); //sidesizer->Add(180, 1, wxEXPAND); tmpsizer = newd wxBoxSizer(wxHORIZONTAL); house_brush_button = newd wxToggleButton(this, PALETTE_HOUSE_BRUSH_BUTTON, wxT("House tiles")); tmpsizer->Add(house_brush_button); sidesizer->Add(tmpsizer, wxSizerFlags(1).Center()); tmpsizer = newd wxBoxSizer(wxHORIZONTAL); select_position_button = newd wxToggleButton(this, PALETTE_HOUSE_SELECT_EXIT_BUTTON, wxT("Select Exit")); tmpsizer->Add(select_position_button); sidesizer->Add(tmpsizer, wxSizerFlags(1).Center()); topsizer->Add(sidesizer, 0, wxEXPAND); SetSizerAndFit(topsizer); }
ImportStreamDialog::ImportStreamDialog( ImportFileHandle *_mFile, wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &position, const wxSize& size, long style ): wxDialogWrapper( parent, id, title, position, size, style | wxRESIZE_BORDER ) { SetName(GetTitle()); mFile = _mFile; scount = mFile->GetStreamCount(); for (wxInt32 i = 0; i < scount; i++) mFile->SetStreamUsage(i, FALSE); wxBoxSizer *vertSizer; { auto uVertSizer = std::make_unique<wxBoxSizer>(wxVERTICAL); vertSizer = uVertSizer.get(); auto choices = mFile->GetStreamInfo(); StreamList = safenew wxListBox(this, -1, wxDefaultPosition, wxDefaultSize, choices, wxLB_EXTENDED | wxLB_ALWAYS_SB); vertSizer->Add(StreamList, 1, wxEXPAND | wxALIGN_LEFT | wxALL, 5); vertSizer->Add(CreateStdButtonSizer(this, eCancelButton | eOkButton).release(), 0, wxEXPAND); SetAutoLayout(true); SetSizer(uVertSizer.release()); } vertSizer->Fit( this ); SetSize( 400, 200 ); }
void GUI::ListDialog(wxWindow* parent, wxString title, const wxArrayString& param_items) { if(param_items.empty()) return; wxArrayString list_items(param_items); // Create the window wxDialog* dlg = newd wxDialog(parent, wxID_ANY, title, wxDefaultPosition, wxDefaultSize, wxRESIZE_BORDER | wxCAPTION | wxCLOSE_BOX); wxSizer* sizer = newd wxBoxSizer(wxVERTICAL); wxListBox* item_list = newd wxListBox(dlg, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, nullptr, wxLB_SINGLE); item_list->SetMinSize(wxSize(500, 300)); for(size_t i = 0; i != list_items.GetCount();) { wxString str = list_items[i]; size_t pos = str.find(wxT("\n")); if(pos != wxString::npos) { // Split string! item_list->Append(str.substr(0, pos)); list_items[i] = str.substr(pos+1); continue; } item_list->Append(list_items[i]); ++i; } sizer->Add(item_list, 1, wxEXPAND); wxSizer* stdsizer = newd wxBoxSizer(wxHORIZONTAL); stdsizer->Add(newd wxButton(dlg, wxID_OK, wxT("OK")), wxSizerFlags(1).Center()); sizer->Add(stdsizer, wxSizerFlags(0).Center()); dlg->SetSizerAndFit(sizer); // Show the window dlg->ShowModal(); delete dlg; }