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

Public Member Functions

 StockAssistantController (GtkWidget *parent, GtkBuilder *builder, Account *acct)
 
void connect_signals (GtkBuilder *builder)
 
void prepare (GtkAssistant *assistant, GtkWidget *page)
 
void finish ()
 
bool destroying ()
 
Accountmodel_account ()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ StockAssistantController()

StockAssistantController::StockAssistantController ( GtkWidget *  parent,
GtkBuilder *  builder,
Account acct 
)
inline

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

2609 : m_model{std::make_unique<StockAssistantModel>(acct)},
2610 m_view{builder, acct, parent},
2611 m_qof_event_handler{qof_event_register_handler(stock_account_destroyed_handler, this)}
2612 {
2613 connect_signals (builder);
2614 DEBUG ("StockAssistantController constructor\n");
2615 };
gint qof_event_register_handler(QofEventHandler handler, gpointer user_data)
Register a handler for events.
Definition qofevent.cpp:73
#define DEBUG(format, args...)
Print a debugging message.
Definition qoflog.h:264

◆ ~StockAssistantController()

StockAssistantController::~StockAssistantController ( )

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

2628{
2629 m_destroying = true;
2630 gnc_unregister_gui_component_by_data (ASSISTANT_STOCK_TRANSACTION_CM_CLASS, this);
2631 qof_event_unregister_handler(m_qof_event_handler);
2632}
void qof_event_unregister_handler(gint handler_id)
Unregister an event handler.
Definition qofevent.cpp:103

Member Function Documentation

◆ connect_signals()

void StockAssistantController::connect_signals ( GtkBuilder *  builder)

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

2636{
2637 m_view.connect(m_model.get());
2638 gtk_builder_connect_signals (builder, this); //Stock Assistant View: cancel, close, prepare
2639 g_signal_connect (m_view.window(), "destroy",
2640 G_CALLBACK (stock_assistant_window_destroy_cb), this);
2641
2642
2643 auto component_id = gnc_register_gui_component
2644 (ASSISTANT_STOCK_TRANSACTION_CM_CLASS, nullptr, close_handler, this);
2645 gnc_gui_component_watch_entity_type (component_id, GNC_ID_ACCOUNT,
2646 QOF_EVENT_MODIFY | QOF_EVENT_DESTROY);
2647}
void connect(StockAssistantModel *)
Calls each page's connect function.

◆ destroying()

bool StockAssistantController::destroying ( )
inline

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

2620{ return m_destroying; }

◆ finish()

void StockAssistantController::finish ( )

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

2658{
2659 g_return_if_fail (m_model->txn_type_valid());
2660
2661 gnc_suspend_gui_refresh ();
2662 [[maybe_unused]] auto [success, trans] = m_model->create_transaction();
2663 gnc_resume_gui_refresh ();
2664
2665 gnc_close_gui_component_by_data (ASSISTANT_STOCK_TRANSACTION_CM_CLASS, this);
2666}

◆ model_account()

Account * StockAssistantController::model_account ( )
inline

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

2621{ return m_model->account(); }

◆ prepare()

void StockAssistantController::prepare ( GtkAssistant *  assistant,
GtkWidget *  page 
)

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

2651{
2652 auto currentpage = gtk_assistant_get_current_page(assistant);
2653 m_view.prepare(currentpage, m_model.get());
2654}
void prepare(int page, StockAssistantModel *)
Calls the specified page's prepare function.

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