|
| SignalListItemFactory (SignalListItemFactory && src) noexcept |
|
SignalListItemFactory & | operator= (SignalListItemFactory && src) noexcept |
|
| ~SignalListItemFactory () noexcept override |
|
GtkSignalListItemFactory * | gobj () |
| Provides access to the underlying C GObject.
|
|
const GtkSignalListItemFactory * | gobj () const |
| Provides access to the underlying C GObject.
|
|
GtkSignalListItemFactory * | gobj_copy () |
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
|
|
Glib::SignalProxy< void(const Glib::RefPtr< ListItem > &)> | signal_setup () |
|
Glib::SignalProxy< void(const Glib::RefPtr< ListItem > &)> | signal_bind () |
|
Glib::SignalProxy< void(const Glib::RefPtr< ListItem > &)> | signal_unbind () |
|
Glib::SignalProxy< void(const Glib::RefPtr< ListItem > &)> | signal_teardown () |
|
| ListItemFactory (ListItemFactory && src) noexcept |
|
ListItemFactory & | operator= (ListItemFactory && src) noexcept |
|
| ~ListItemFactory () noexcept override |
|
GtkListItemFactory * | gobj () |
| Provides access to the underlying C GObject.
|
|
const GtkListItemFactory * | gobj () const |
| Provides access to the underlying C GObject.
|
|
GtkListItemFactory * | gobj_copy () |
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
|
|
| Object (const Object &)=delete |
|
Object & | operator= (const Object &)=delete |
|
| Object (Object &&src) noexcept |
|
Object & | operator= (Object &&src) noexcept |
|
void * | get_data (const QueryQuark &key) |
|
void | set_data (const Quark &key, void *data) |
|
void | set_data (const Quark &key, void *data, DestroyNotify notify) |
|
void | remove_data (const QueryQuark &quark) |
|
void * | steal_data (const QueryQuark &quark) |
|
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false) |
|
| ObjectBase (const ObjectBase &)=delete |
|
ObjectBase & | operator= (const ObjectBase &)=delete |
|
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value) |
|
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const |
|
void | set_property (const Glib::ustring &property_name, const PropertyType &value) |
|
void | get_property (const Glib::ustring &property_name, PropertyType &value) const |
|
PropertyType | get_property (const Glib::ustring &property_name) const |
|
sigc::connection | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot) |
|
sigc::connection | connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot) |
|
void | freeze_notify () |
|
void | thaw_notify () |
|
virtual void | reference () const |
|
virtual void | unreference () const |
|
GObject * | gobj () |
|
const GObject * | gobj () const |
|
GObject * | gobj_copy () const |
|
A listitem factory providing signals.
Gtk::SignalListItemFactory is a Gtk::ListItemFactory that provides signals that user code can connect to to manage listitems. Signals are emitted for every listitem in the same order:
- signal_setup() is emitted to set up permanent things on the listitem. This usually means constructing the widgets used in the row and adding them to the listitem.
- signal_bind() is emitted to bind the item passed via Gtk::ListItem::property_item() to the widgets that have been created in step 1 or to add item-specific widgets. Signals are connected to listen to changes - both to changes in the item to update the widgets or to changes in the widgets to update the item. After this signal has been called, the listitem may be shown in a list widget.
- signal_unbind() is emitted to undo everything done in step 2. Usually this means disconnecting signal handlers. Once this signal has been called, the listitem will no longer be used in a list widget.
- signal_bind() and signal_unbind() may be emitted multiple times again to bind the listitem for use with new items. By reusing listitems, potentially costly setup can be avoided. However, it means code needs to make sure to properly clean up the listitem in step 3 so that no information from the previous use leaks into the next use.
signal_teardown() is emitted to allow undoing the effects of signal_setup(). After this signal was emitted on a listitem, the listitem will be destroyed and not be used again.
Note that during the signal emissions, changing properties on the Gtk::ListItems passed will not trigger notify signals as the listitem's notifications are frozen. See Glib::ObjectBase::freeze_notify() for details.
For tracking changes in other properties in the Gtk::ListItem, the Gtk::ListItem notify signal is recommended. The signal can be connected in the signal_setup() signal and removed again during signal_teardown().
- See also
- Gtk::ListItemFactory
- Since gtkmm 3.98: