void Button::set_text(const std::string &t)
{
text = t;
+ signal_autosize_changed.emit();
}
void Button::set_icon(const GL::Texture2D *i)
{
add(list);
list.signal_item_selected.connect(sigc::mem_fun(this, &Dropdown::list_item_selected));
+ list.signal_autosize_changed.connect(sigc::mem_fun(this, &Dropdown::list_autosize_changed));
}
void Dropdown::autosize()
void Dropdown::append(const string &item)
{
list.append(item);
- resize_list();
}
void Dropdown::insert(unsigned i, const string &v)
{
list.insert(i, v);
- resize_list();
}
void Dropdown::remove(unsigned i)
{
list.remove(i);
- resize_list();
}
void Dropdown::clear()
{
list.clear();
- resize_list();
}
unsigned Dropdown::get_n_items() const
resize_list();
}
+void Dropdown::list_autosize_changed()
+{
+ resize_list();
+ signal_autosize_changed.emit();
+}
+
void Dropdown::resize_list()
{
list.autosize_all();
virtual void on_geometry_change();
virtual void on_style_change();
+ void list_autosize_changed();
void resize_list();
void list_item_selected(unsigned, const std::string &);
};
void Image::set_image(const GL::Texture2D *i)
{
image = i;
+ signal_autosize_changed.emit();
}
void Image::set_keep_aspect(bool ka)
void Label::set_text(const string &t)
{
text = t;
+ signal_autosize_changed.emit();
}
void Label::render_special(const Part &part) const
{
items.push_back(v);
check_view_range();
+ signal_autosize_changed.emit();
}
void List::insert(unsigned i, const string &v)
items.insert(items.begin()+i, v);
check_view_range();
+ signal_autosize_changed.emit();
}
void List::remove(unsigned i)
sel_index = -1;
check_view_range();
+ signal_autosize_changed.emit();
}
void List::clear()
sel_index = -1;
check_view_range();
+ signal_autosize_changed.emit();
}
void List::set_selected_index(int i)
void Toggle::set_text(const string &t)
{
text = t;
+ signal_autosize_changed.emit();
}
void Toggle::set_exclusive(bool e)
}
on_style_change();
+ signal_autosize_changed.emit();
}
void Widget::set_tooltip(const string &t)
};
sigc::signal<void, bool> signal_visibility_changed;
+ sigc::signal<void> signal_autosize_changed;
sigc::signal<void> signal_request_focus;
sigc::signal<void> signal_grab_pointer;
sigc::signal<void> signal_ungrab_pointer;