Vertically-scroll content panels if required.
[dcpomatic.git] / src / wx / content_sub_panel.cc
index 465288ae20425916517f27243b01708cd6a18556..781d3b3309b64cc35fb611fd11bbc2423bc560bf 100644 (file)
@@ -21,6 +21,9 @@
 #include "content_sub_panel.h"
 #include "content_panel.h"
 #include "wx_util.h"
+#include "lib/dcp_content.h"
+#include "lib/compose.hpp"
+#include "lib/log.h"
 #include <wx/notebook.h>
 #include <boost/foreach.hpp>
 
@@ -29,17 +32,30 @@ using std::string;
 using boost::shared_ptr;
 
 ContentSubPanel::ContentSubPanel (ContentPanel* p, wxString name)
-       : wxPanel (p->notebook(), wxID_ANY)
+       : wxScrolledWindow (p->notebook(), wxID_ANY)
        , _parent (p)
        , _sizer (new wxBoxSizer (wxVERTICAL))
 {
        p->notebook()->AddPage (this, name, false);
+       SetScrollRate (-1, 8);
        SetSizer (_sizer);
 }
 
 void
 ContentSubPanel::setup_refer_button (wxCheckBox* button, shared_ptr<DCPContent> dcp, bool can_reference, list<string> why_not) const
 {
+       /* XXX: just for debugging */
+       if (dcp) {
+               dcp->film()->log()->log (
+                       String::compose (
+                               "setup_refer_button for %1; %2 %3",
+                               dcp->path(0).string(),
+                               int(can_reference),
+                               int(why_not.size())),
+                       LogEntry::TYPE_GENERAL
+                       );
+       }
+
        button->Enable (can_reference);
 
        wxString s;
@@ -51,5 +67,15 @@ ContentSubPanel::setup_refer_button (wxCheckBox* button, shared_ptr<DCPContent>
                        s += std_to_wx(i) + wxT("  ");
                }
        }
+
+       /* XXX: more debugging */
+       if (dcp) {
+               if (!s.IsEmpty()) {
+                       dcp->film()->log()->log (String::compose ("setting tooltip to %1", wx_to_std (s)), LogEntry::TYPE_GENERAL);
+               } else {
+                       dcp->film()->log()->log ("clearing tooltip", LogEntry::TYPE_GENERAL);
+               }
+       }
+
        button->SetToolTip (s);
 }