GnuCash 038f90a+
Loading...
Searching...
No Matches
Public Member Functions
GncAccountSelector Class Reference

C++ wrapper for GncAccounSel, see gnucash/gnome-utils/gnc-account-sel.h. More...

Public Member Functions

 GncAccountSelector (GtkBuilder *builder, AccountTypeList types, gnc_commodity *currency, Account *default_acct)
 
void attach (GtkBuilder *builder, const char *table_id, const char *label_ID, int row)
 
void connect (StockTransactionEntry *)
 
void set (Account *acct)
 
void set_sensitive (bool sensitive)
 
Accountget ()
 

Detailed Description

C++ wrapper for GncAccounSel, see gnucash/gnome-utils/gnc-account-sel.h.

Definition at line 1634 of file assistant-stock-transaction.cpp.

Constructor & Destructor Documentation

◆ GncAccountSelector()

GncAccountSelector::GncAccountSelector ( GtkBuilder *  builder,
AccountTypeList  types,
gnc_commodity *  currency,
Account default_acct 
)

Definition at line 1655 of file assistant-stock-transaction.cpp.

1656 :
1657 m_selector{gnc_account_sel_new ()}
1658{
1659 auto accum = [](auto a, auto b) { return g_list_prepend(a, (gpointer)b); };
1660 auto null_glist = static_cast<GList *>(nullptr);
1661 auto acct_list = std::accumulate(types.begin(), types.end(), null_glist, accum);
1662 auto curr_list = accum(null_glist, currency);
1663 gnc_account_sel_set_new_account_ability(GNC_ACCOUNT_SEL(m_selector), true);
1664 gnc_account_sel_set_acct_filters(GNC_ACCOUNT_SEL(m_selector), acct_list, curr_list);
1665 gnc_account_sel_set_default_new_commodity(GNC_ACCOUNT_SEL(m_selector), currency);
1666 gnc_account_sel_set_new_account_modal (GNC_ACCOUNT_SEL(m_selector), true);
1667 if (default_acct)
1668 gnc_account_sel_set_account (GNC_ACCOUNT_SEL(m_selector), default_acct, true);
1669 g_list_free(acct_list);
1670 g_list_free(curr_list);
1671}

Member Function Documentation

◆ attach()

void GncAccountSelector::attach ( GtkBuilder *  builder,
const char *  table_id,
const char *  label_ID,
int  row 
)

Definition at line 1674 of file assistant-stock-transaction.cpp.

1676{
1677 auto table = get_widget(builder, table_ID);
1678 auto label = get_widget(builder, label_ID);
1679 gtk_grid_attach(GTK_GRID(table), m_selector, 1, row, 1, 1);
1680 gtk_widget_show(m_selector);
1681 gtk_label_set_mnemonic_widget(GTK_LABEL(label), m_selector);
1682}

◆ connect()

void GncAccountSelector::connect ( StockTransactionEntry entry)

Definition at line 1685 of file assistant-stock-transaction.cpp.

1686{
1687 g_signal_connect(m_selector, "account_sel_changed", G_CALLBACK (gnc_account_sel_changed_cb), entry);
1688}

◆ get()

Account * GncAccountSelector::get ( )
inline

Definition at line 1645 of file assistant-stock-transaction.cpp.

1645{ return gnc_account_sel_get_account (GNC_ACCOUNT_SEL (m_selector)); }

◆ set()

void GncAccountSelector::set ( Account acct)
inline

Definition at line 1643 of file assistant-stock-transaction.cpp.

1643{ gnc_account_sel_set_account (GNC_ACCOUNT_SEL (m_selector), acct, TRUE); }

◆ set_sensitive()

void GncAccountSelector::set_sensitive ( bool  sensitive)

Definition at line 1691 of file assistant-stock-transaction.cpp.

1692{
1693 gtk_widget_set_sensitive(m_selector, sensitive);
1694}

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