Skip to content

Commit

Permalink
Add check to enable buttons in the Browse Field window.
Browse files Browse the repository at this point in the history
  • Loading branch information
Mignari committed Dec 27, 2020
1 parent b2516b8 commit b4f4af0
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 4 deletions.
23 changes: 19 additions & 4 deletions source/browse_tile_window.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,13 @@ wxDialog(parent, wxID_ANY, "Browse Field", position, wxSize(600, 400), wxCAPTION

wxSizer* infoSizer = newd wxBoxSizer(wxVERTICAL);
wxBoxSizer* buttons = newd wxBoxSizer(wxHORIZONTAL);
buttons->Add(newd wxButton(this, wxID_REMOVE, "Delete"));
delete_button = newd wxButton(this, wxID_REMOVE, "Delete");
delete_button->Enable(false);
buttons->Add(delete_button);
buttons->AddSpacer(5);
buttons->Add(newd wxButton(this, wxID_FIND, "Select RAW"));
select_raw_button = newd wxButton(this, wxID_FIND, "Select RAW");
select_raw_button->Enable(false);
buttons->Add(select_raw_button);
infoSizer->Add(buttons);
infoSizer->AddSpacer(5);
infoSizer->Add(newd wxStaticText(this, wxID_ANY, "Position: " + pos), wxSizerFlags(0).Left());
Expand All @@ -173,17 +177,28 @@ wxDialog(parent, wxID_ANY, "Browse Field", position, wxSize(600, 400), wxCAPTION
sizer->Add(btnSizer, wxSizerFlags(0).Center().DoubleBorder());

SetSizerAndFit(sizer);

// Connect Events
item_list->Connect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(BrowseTileWindow::OnItemSelected), NULL, this);
}

BrowseTileWindow::~BrowseTileWindow()
{
////
// Disconnect Events
item_list->Disconnect(wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler(BrowseTileWindow::OnItemSelected), NULL, this);
}

void BrowseTileWindow::OnItemSelected(wxCommandEvent& WXUNUSED(event))
{
const size_t count = item_list->GetSelectedCount();
delete_button->Enable(count != 0);
select_raw_button->Enable(count == 1);
}

void BrowseTileWindow::OnClickDelete(wxCommandEvent& WXUNUSED(event))
{
item_list->RemoveSelected();
item_count_txt->SetLabelText("Item count: " + i2ws(item_list->GetItemCount()));
item_count_txt->SetLabelText("Item count: " + i2ws(item_list->GetItemCount()));
}

void BrowseTileWindow::OnClickSelectRaw(wxCommandEvent& WXUNUSED(event))
Expand Down
3 changes: 3 additions & 0 deletions source/browse_tile_window.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ class BrowseTileWindow : public wxDialog
BrowseTileWindow(wxWindow* parent, Tile* tile, wxPoint position = wxDefaultPosition);
~BrowseTileWindow();

void OnItemSelected(wxCommandEvent&);
void OnClickDelete(wxCommandEvent&);
void OnClickSelectRaw(wxCommandEvent&);
void OnClickOK(wxCommandEvent&);
Expand All @@ -38,6 +39,8 @@ class BrowseTileWindow : public wxDialog
protected:
BrowseTileListBox* item_list;
wxStaticText* item_count_txt;
wxButton* delete_button;
wxButton* select_raw_button;

DECLARE_EVENT_TABLE();
};
Expand Down

0 comments on commit b4f4af0

Please sign in to comment.