projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '1.0' of ssh://carlh.dyndns.org/home/carl/git/dvdomatic into 1.0
[dcpomatic.git]
/
src
/
wx
/
editable_list.h
diff --git
a/src/wx/editable_list.h
b/src/wx/editable_list.h
index 5eb46e80d11caabe372df5b399d776f8d1d1fdf8..20d180f20149633ce96dabd8b2b9c501216e8378 100644
(file)
--- a/
src/wx/editable_list.h
+++ b/
src/wx/editable_list.h
@@
-28,7
+28,8
@@
public:
std::vector<std::string> columns,
boost::function<std::vector<T> ()> get,
boost::function<void (std::vector<T>)> set,
std::vector<std::string> columns,
boost::function<std::vector<T> ()> get,
boost::function<void (std::vector<T>)> set,
- boost::function<std::string (T, int)> column
+ boost::function<std::string (T, int)> column,
+ int height = 100
)
: wxPanel (parent)
, _get (get)
)
: wxPanel (parent)
, _get (get)
@@
-43,7
+44,7
@@
public:
table->AddGrowableCol (0, 1);
s->Add (table, 1, wxALL | wxEXPAND, 8);
table->AddGrowableCol (0, 1);
s->Add (table, 1, wxALL | wxEXPAND, 8);
- _list = new wxListCtrl (this, wxID_ANY, wxDefaultPosition, wxSize (columns.size() * 200,
100
), wxLC_REPORT | wxLC_SINGLE_SEL);
+ _list = new wxListCtrl (this, wxID_ANY, wxDefaultPosition, wxSize (columns.size() * 200,
height
), wxLC_REPORT | wxLC_SINGLE_SEL);
for (size_t i = 0; i < columns.size(); ++i) {
wxListItem ip;
for (size_t i = 0; i < columns.size(); ++i) {
wxListItem ip;
@@
-138,18
+139,23
@@
private:
for (int i = 0; i < _columns; ++i) {
_list->SetItem (item, i, std_to_wx (_column (all[item], i)));
}
for (int i = 0; i < _columns; ++i) {
_list->SetItem (item, i, std_to_wx (_column (all[item], i)));
}
+
+ _set (all);
}
void remove_clicked ()
{
int i = _list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
}
void remove_clicked ()
{
int i = _list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
- if (i
>= 0
) {
-
_list->DeleteItem (i)
;
+ if (i
== -1
) {
+
return
;
}
}
+ _list->DeleteItem (i);
std::vector<T> all = _get ();
all.erase (all.begin() + i);
_set (all);
std::vector<T> all = _get ();
all.erase (all.begin() + i);
_set (all);
+
+ selection_changed ();
}
void resized (wxSizeEvent& ev)
}
void resized (wxSizeEvent& ev)