]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/dropdown.cpp
Fix some problems with List and Dropdown
[libs/gltk.git] / source / dropdown.cpp
index c2ceefa78957348ee6edd188e71e8ec1faf1fd95..6ec88fe10e30ad8be3e0dc89279f48b448705b6f 100644 (file)
@@ -26,6 +26,7 @@ void Dropdown::autosize()
                return;
 
        Widget::autosize();
+       list.autosize_all();
        geom.w = max(geom.w, list.get_geometry().w);
 
        if(const Part *text_part = style->get_part("text"))
@@ -91,10 +92,10 @@ void Dropdown::rebuild_special(const Part &part, CachedPart &cache)
        }
 }
 
-void Dropdown::render_special(const Part &part) const
+void Dropdown::render_special(const Part &part, GL::Renderer &renderer) const
 {
        if(part.get_name()=="list" && dropped)
-               list.render();
+               list.render(renderer);
 }
 
 void Dropdown::button_press(int x, int y, unsigned btn)
@@ -173,6 +174,7 @@ void Dropdown::list_item_selected(unsigned index, const std::string &item)
        }
 
        signal_item_selected.emit(index, item);
+       rebuild();
 }