X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fscreens_panel.h;h=7703d69aad1cec27e1ebf90ec5a6fc6272d02036;hb=5ccfb74647db6917c054d6d67f91ed5a74e397ba;hp=35d935bead91663334924026741ff2195e9d7f5c;hpb=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26;p=dcpomatic.git diff --git a/src/wx/screens_panel.h b/src/wx/screens_panel.h index 35d935bea..7703d69aa 100644 --- a/src/wx/screens_panel.h +++ b/src/wx/screens_panel.h @@ -32,15 +32,36 @@ namespace dcpomatic { class Screen; } + class Cinema; + +/** Shim around wxTreeCtrl so we can use strcoll() to compare things */ +class TreeCtrl : public wxTreeCtrl +{ +public: + wxDECLARE_DYNAMIC_CLASS (TreeCtrl); + + TreeCtrl () {} + + TreeCtrl (wxWindow* parent) + : wxTreeCtrl (parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_HIDE_ROOT | wxTR_MULTIPLE | wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT) + {} + + virtual ~TreeCtrl () {} + +private: + int OnCompareItems (wxTreeItemId const& a, wxTreeItemId const& b); +}; + + class ScreensPanel : public wxPanel { public: explicit ScreensPanel (wxWindow* parent); ~ScreensPanel (); - std::list > screens () const; + std::list> screens () const; void setup_sensitivity (); boost::signals2::signal ScreensChanged; @@ -60,7 +81,7 @@ private: void search_changed (); wxSearchCtrl* _search; - wxTreeCtrl* _targets; + TreeCtrl* _targets; wxButton* _add_cinema; wxButton* _edit_cinema; wxButton* _remove_cinema; @@ -69,8 +90,8 @@ private: wxButton* _remove_screen; wxTreeItemId _root; - typedef std::map > CinemaMap; - typedef std::map > ScreenMap; + typedef std::map> CinemaMap; + typedef std::map> ScreenMap; CinemaMap _cinemas; ScreenMap _screens;