GnuCash c935c2f+
Loading...
Searching...
No Matches
Public Member Functions
GncGtkRadioButtonUIItem Class Reference
Inheritance diagram for GncGtkRadioButtonUIItem:
GncOptionGtkUIItem GncOptionUIItem

Public Member Functions

 GncGtkRadioButtonUIItem (GtkWidget *widget)
 
void set_ui_item_from_option (GncOption &option) noexcept override
 
void set_option_from_ui_item (GncOption &option) noexcept override
 
- Public Member Functions inherited from GncOptionGtkUIItem
 GncOptionGtkUIItem (GtkWidget *widget, GncOptionUIType type)
 
 GncOptionGtkUIItem (const GncOptionGtkUIItem &item)
 
 GncOptionGtkUIItem (GncOptionGtkUIItem &&)=default
 
virtual void set_selectable (bool) const noexcept override
 Control wether the widget is sensitive.
 
void clear_ui_item () override
 Clear the data from the widget.
 
void set_widget (GtkWidget *widget)
 
virtual GtkWidget * get_widget () const
 
virtual SCM get_widget_scm_value (const GncOption &) const
 
- Public Member Functions inherited from GncOptionUIItem
 GncOptionUIItem (GncOptionUIType type)
 
GncOptionUIType get_ui_type () const noexcept
 
virtual void set_dirty (bool status) noexcept
 
virtual bool get_dirty () const noexcept
 

Detailed Description

Definition at line 1589 of file gnc-option-gtk-ui.cpp.

Constructor & Destructor Documentation

◆ GncGtkRadioButtonUIItem()

GncGtkRadioButtonUIItem::GncGtkRadioButtonUIItem ( GtkWidget *  widget)
inline

Definition at line 1592 of file gnc-option-gtk-ui.cpp.

1592 :
1593 GncOptionGtkUIItem{widget, GncOptionUIType::RADIOBUTTON} {}
class GncOptionGtkUIItem Gtk-specific Interface class for Option Widget

Member Function Documentation

◆ set_option_from_ui_item()

void GncGtkRadioButtonUIItem::set_option_from_ui_item ( GncOption option)
inlineoverridevirtualnoexcept

Implements GncOptionUIItem.

Definition at line 1621 of file gnc-option-gtk-ui.cpp.

1622 {
1623 auto index{g_object_get_data(G_OBJECT(get_widget()),
1624 "gnc_radiobutton_index")};
1625 option.set_value<uint16_t>(GPOINTER_TO_INT(index));
1626 }

◆ set_ui_item_from_option()

void GncGtkRadioButtonUIItem::set_ui_item_from_option ( GncOption option)
inlineoverridevirtualnoexcept

Implements GncOptionUIItem.

Definition at line 1594 of file gnc-option-gtk-ui.cpp.

1595 {
1596 auto index{option.get_value<uint16_t>()};
1597 auto list{gtk_container_get_children(GTK_CONTAINER(get_widget()))};
1598 auto box{GTK_WIDGET(list->data)};
1599 g_list_free(list);
1600
1601 list = gtk_container_get_children(GTK_CONTAINER(box));
1602 auto node{g_list_nth(list, index)};
1603 GtkButton* button{};
1604 if (node)
1605 {
1606 button = GTK_BUTTON(node->data);
1607 }
1608 else
1609 {
1610 PERR("Invalid Radio Button Selection %hu", index);
1611 g_list_free(list);
1612 return;
1613 }
1614 g_list_free(list);
1615 auto val{g_object_get_data (G_OBJECT (button),
1616 "gnc_radiobutton_index")};
1617 g_return_if_fail (GPOINTER_TO_UINT (val) == index);
1618
1619 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
1620 }
#define PERR(format, args...)
Log a serious error.
Definition qoflog.h:244

The documentation for this class was generated from the following file: