GnuCash c935c2f+
Loading...
Searching...
No Matches
Public Member Functions
PlotSize Class Reference

Public Member Functions

 PlotSize (GncOption &option)
 
void set_entry_from_option (GncOption &option)
 
void set_option_from_entry (GncOption &option)
 
GtkWidget * get_widget ()
 
GtkWidget * get_spinner ()
 
void set_pixels ()
 
void set_percent ()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ PlotSize()

PlotSize::PlotSize ( GncOption option)

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

1751 :
1752 m_widget{gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4)}, m_pixel_button{gtk_radio_button_new_with_label(nullptr, _("Pixels"))},
1753 m_percent_button{gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(m_pixel_button), _("Percent"))},
1754 m_range_spinner{GTK_WIDGET(create_range_spinner(option))},
1755 m_adj_pct{GTK_ADJUSTMENT(g_object_ref(gtk_adjustment_new(100.0, 10.0, 100.0, 1.0, 5.0, 0.0)))},
1756 m_adj_px{GTK_ADJUSTMENT(g_object_ref(gtk_adjustment_new(1000.0, 110.0, 10000.0, 10.0, 250.0, 0.0)))}
1757{
1758 gtk_box_set_homogeneous(GTK_BOX(m_widget), FALSE);
1759 g_object_set (G_OBJECT(m_widget), "margin", 3, NULL);
1760 set_tool_tip(option, m_widget);
1761 gtk_box_pack_start(GTK_BOX(m_widget), GTK_WIDGET(m_pixel_button), FALSE, FALSE, 0);
1762 gtk_box_pack_start(GTK_BOX(m_widget), GTK_WIDGET(m_percent_button), FALSE, FALSE, 0);
1763 gtk_box_pack_start(GTK_BOX(m_widget), GTK_WIDGET(m_range_spinner),
1764 FALSE, FALSE, 0);
1765
1766 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(m_pixel_button), FALSE);
1767 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(m_percent_button), TRUE);
1768
1769 m_pixel_handler = g_signal_connect(m_pixel_button, "toggled", G_CALLBACK(plot_size_set_pixels), this);
1770 m_percent_handler = g_signal_connect(m_percent_button, "toggled", G_CALLBACK(plot_size_set_percent), this);
1771}

◆ ~PlotSize()

PlotSize::~PlotSize ( )

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

1774{
1775 g_signal_handler_disconnect(m_pixel_button, m_pixel_handler);
1776 g_signal_handler_disconnect(m_percent_button, m_percent_handler);
1777 g_object_unref(m_adj_pct);
1778 g_object_unref(m_adj_px);
1779}

Member Function Documentation

◆ get_spinner()

GtkWidget * PlotSize::get_spinner ( )
inline

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

1746{ return m_range_spinner; }

◆ get_widget()

GtkWidget * PlotSize::get_widget ( )
inline

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

1745{ return m_widget; }

◆ set_entry_from_option()

void PlotSize::set_entry_from_option ( GncOption option)

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

1793{
1794 double value;
1795 if (option.is_alternate())
1796 {
1797 auto int_value{option.get_value<int>()};
1798 value = static_cast<double>(int_value);
1799 }
1800 else
1801 {
1802 value = option.get_value<double>();
1803 }
1804
1805 if (value > 100.0)
1806 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_pixel_button), TRUE);
1807 else
1808 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_percent_button), TRUE);
1809
1810 gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_range_spinner), value);
1811}

◆ set_option_from_entry()

void PlotSize::set_option_from_entry ( GncOption option)

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

1783{
1784 auto value{gtk_spin_button_get_value(GTK_SPIN_BUTTON(m_range_spinner))};
1785 if (option.is_alternate())
1786 option.set_value<int>(static_cast<int>(value));
1787 else
1788 option.set_value<double>(value);
1789}

◆ set_percent()

void PlotSize::set_percent ( )
inline

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

1748{ gtk_spin_button_set_adjustment(GTK_SPIN_BUTTON(m_range_spinner), m_adj_pct); }

◆ set_pixels()

void PlotSize::set_pixels ( )
inline

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

1747{ gtk_spin_button_set_adjustment(GTK_SPIN_BUTTON(m_range_spinner), m_adj_px); }

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