mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 04:57:00 -04:00
Remember contents of filter control when switching tabs
This commit is contained in:
@@ -219,7 +219,9 @@ void CardsPanel::initUI(wxToolBar* tb, wxMenuBar* mb) {
|
||||
#endif
|
||||
// Filter/search textbox
|
||||
tb->AddSeparator();
|
||||
if (!filter) filter = new FilterCtrl(tb, ID_CARD_FILTER, _LABEL_("search cards"));
|
||||
assert(!filter);
|
||||
filter = new FilterCtrl(tb, ID_CARD_FILTER, _LABEL_("search cards"));
|
||||
filter->setFilter(filter_value);
|
||||
tb->AddControl(filter);
|
||||
tb->Realize();
|
||||
// Menus
|
||||
@@ -236,7 +238,11 @@ void CardsPanel::destroyUI(wxToolBar* tb, wxMenuBar* mb) {
|
||||
tb->DeleteTool(ID_CARD_ADD);
|
||||
tb->DeleteTool(ID_CARD_REMOVE);
|
||||
tb->DeleteTool(ID_CARD_ROTATE);
|
||||
tb->DeleteTool(filter->GetId()); filter = nullptr;
|
||||
// remember the value in the filter control, because the card list remains filtered
|
||||
// the control is destroyed by DeleteTool
|
||||
filter_value = filter->getFilterString();
|
||||
tb->DeleteTool(filter->GetId());
|
||||
filter = nullptr;
|
||||
// HACK: hardcoded size of rest of toolbar
|
||||
tb->DeleteToolByPos(12); // delete separator
|
||||
tb->DeleteToolByPos(12); // delete separator
|
||||
|
||||
@@ -82,6 +82,7 @@ class CardsPanel : public SetWindowPanel {
|
||||
TextCtrl* notes;
|
||||
HoverButton* collapse_notes;
|
||||
FilterCtrl* filter;
|
||||
String filter_value; // value of filter, need separate variable because the control is destroyed
|
||||
bool notes_below_editor;
|
||||
|
||||
/// Move the notes panel below the editor or below the card list
|
||||
|
||||
@@ -135,7 +135,9 @@ void KeywordsPanel::initUI(wxToolBar* tb, wxMenuBar* mb) {
|
||||
tb->AddTool(ID_KEYWORD_REMOVE, _(""), load_resource_tool_image(_("keyword_del")), wxNullBitmap, wxITEM_NORMAL,_TOOLTIP_("remove keyword"),_HELP_("remove keyword"));
|
||||
// Filter/search textbox
|
||||
tb->AddSeparator();
|
||||
if (!filter) filter = new FilterCtrl(tb, ID_KEYWORD_FILTER, _LABEL_("search keywords"));
|
||||
assert(!filter);
|
||||
filter = new FilterCtrl(tb, ID_KEYWORD_FILTER, _LABEL_("search keywords"));
|
||||
filter->setFilter(filter_value);
|
||||
tb->AddControl(filter);
|
||||
tb->Realize();
|
||||
// Menus
|
||||
@@ -146,7 +148,10 @@ void KeywordsPanel::destroyUI(wxToolBar* tb, wxMenuBar* mb) {
|
||||
// Toolbar
|
||||
tb->DeleteTool(ID_KEYWORD_ADD);
|
||||
tb->DeleteTool(ID_KEYWORD_REMOVE);
|
||||
tb->DeleteTool(filter->GetId()); filter = nullptr;
|
||||
// remember value of filter control
|
||||
filter_value = filter->getFilterString();
|
||||
tb->DeleteTool(filter->GetId());
|
||||
filter = nullptr;
|
||||
// HACK: hardcoded size of rest of toolbar
|
||||
tb->DeleteToolByPos(12); // delete separator
|
||||
// Menus
|
||||
|
||||
@@ -72,6 +72,7 @@ class KeywordsPanel : public SetWindowPanel {
|
||||
wxButton* add_param;
|
||||
wxButton* ref_param;
|
||||
FilterCtrl* filter;
|
||||
String filter_value;
|
||||
|
||||
// --------------------------------------------------- : Events
|
||||
void onKeywordSelect(KeywordSelectEvent& ev);
|
||||
|
||||
Reference in New Issue
Block a user