J
Ich hab eine Möglichkeit gefunden, die allerdings nicht sauber ist:
#include <gtkmm.h>
#include <cassert>
class Foo : public Gtk::Window {
Gtk::VBox vbox; //Root-Container
Gtk::HBox hbox; //Container für die CheckButtons
Gtk::ScrolledWindow scrolledWindow;
Gtk::Label label;
Gtk::Adjustment adjustment;
Gtk::Viewport viewport;
Gtk::CheckButton a,b,c,d,e;
public:
Foo() : a("One"), b("Two"), c("Three"), d("Four"), e("Five"), label("Label"), adjustment(0,0,0), viewport(adjustment, adjustment) {
set_title("Foo");
set_default_size(200, 100);
hbox.add(a);
hbox.add(b);
hbox.add(c);
hbox.add(d);
hbox.add(e);
scrolledWindow.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
scrolledWindow.add(viewport);
scrolledWindow.set_shadow_type(Gtk::SHADOW_NONE);
viewport.set_shadow_type(Gtk::SHADOW_NONE);
viewport.add(hbox);
assert(scrolledWindow.get_shadow_type() == Gtk::SHADOW_NONE);
vbox.add(label);
vbox.add(scrolledWindow);
add(vbox);
show_all_children();
}
};
int main(int argc, char **argv) {
Gtk::Main m(argc, argv);
Foo f;
m.run(f);
return 0;
}
So funktioniert es.
Ich könnte mir vorstellen, dass es sich um einen Bug im Gtk::ScrolledWindow handelt.