more sensible API for Pane::set_child_minsize
authorPaul Davis <paul@linuxaudiosystems.com>
Sat, 28 May 2016 14:07:41 +0000 (10:07 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 31 May 2016 19:30:45 +0000 (15:30 -0400)
libs/gtkmm2ext/gtkmm2ext/pane.h
libs/gtkmm2ext/pane.cc

index 4a18a49d7c39ea78ac87cb301dfad3c28abca197..6c67c82196a29e45510fa18b4509e8f161dc191a 100644 (file)
@@ -57,7 +57,7 @@ class LIBGTKMM2EXT_API Pane : public Gtk::Container
        Pane (bool horizontal);
        void set_divider (std::vector<float>::size_type divider, float fract);
        float get_divider (std::vector<float>::size_type divider = 0);
-       void set_child_minsize (Children::size_type n, int32_t);
+       void set_child_minsize (Gtk::Widget const &, int32_t);
 
        GType child_type_vfunc() const;
        void set_drag_cursor (Gdk::Cursor);
index fa24a7d4f7e03a9b99e82a5c224b746cbccac9c6..c539403b4dddbc8eb38c883614c1b30ace828c2a 100644 (file)
@@ -45,18 +45,14 @@ Pane::Pane (bool h)
 }
 
 void
-Pane::set_child_minsize (Children::size_type n, int32_t minsize)
+Pane::set_child_minsize (Gtk::Widget const& w, int32_t minsize)
 {
-       Children::iterator c = children.begin();
-
-       while (n--) {
-               if (c == children.end()) {
-                       return;
+       for (Children::iterator c = children.begin(); c != children.end(); ++c) {
+               if (c->w == &w) {
+                       c->minsize = minsize;
+                       break;
                }
-               ++c;
        }
-
-       c->minsize = minsize;
 }
 
 void