GnuCash c935c2f+
Loading...
Searching...
No Matches
Files | Data Structures | Macros | Functions
Common Window Functions

Files

file  gnc-window.h
 Functions that are supported by all types of windows.
 

Data Structures

struct  _GncWindowInterface
 

Macros

#define GNC_TYPE_WINDOW   (gnc_window_get_type ())
 

Functions

GtkWindow * gnc_window_get_gtk_window (GncWindow *window)
 
void gnc_window_update_status (GncWindow *window, GncPluginPage *page)
 
void gnc_window_set_status (GncWindow *window, GncPluginPage *page, const gchar *message)
 
void gnc_window_set_progressbar_window (GncWindow *window)
 
GncWindow * gnc_window_get_progressbar_window (void)
 
GtkWidget * gnc_window_get_progressbar (GncWindow *window)
 
void gnc_window_show_progress (const char *message, double percentage)
 
GtkWidget * gnc_window_get_menubar (GncWindow *window)
 
GtkWidget * gnc_window_get_toolbar (GncWindow *window)
 
GtkWidget * gnc_window_get_statusbar (GncWindow *window)
 
GMenuModel * gnc_window_get_menubar_model (GncWindow *window)
 
GtkAccelGroup * gnc_window_get_accel_group (GncWindow *window)
 

Detailed Description

Macro Definition Documentation

◆ GNC_TYPE_WINDOW

#define GNC_TYPE_WINDOW   (gnc_window_get_type ())

Definition at line 50 of file gnc-window.h.

Function Documentation

◆ gnc_window_get_accel_group()

GtkAccelGroup * gnc_window_get_accel_group ( GncWindow *  window)

Definition at line 119 of file gnc-window.c.

120{
121 g_return_val_if_fail (GNC_WINDOW(window), NULL);
122
123 /* optional */
124 if (GNC_WINDOW_GET_IFACE(window)->get_accel_group == NULL)
125 return NULL;
126
127 return GNC_WINDOW_GET_IFACE(window)->get_accel_group (window);
128}

◆ gnc_window_get_gtk_window()

GtkWindow * gnc_window_get_gtk_window ( GncWindow *  window)

Definition at line 49 of file gnc-window.c.

50{
51 g_return_val_if_fail(GNC_WINDOW (window), NULL);
52
53 /* mandatory */
54 g_return_val_if_fail(GNC_WINDOW_GET_IFACE (window)->get_gtk_window, NULL);
55
56 return GNC_WINDOW_GET_IFACE (window)->get_gtk_window (window);
57}

◆ gnc_window_get_menubar()

GtkWidget * gnc_window_get_menubar ( GncWindow *  window)

Definition at line 83 of file gnc-window.c.

84{
85 g_return_val_if_fail (GNC_WINDOW(window), NULL);
86
87 /* optional */
88 if (GNC_WINDOW_GET_IFACE(window)->get_menubar == NULL)
89 return NULL;
90
91 return GNC_WINDOW_GET_IFACE(window)->get_menubar (window);
92}

◆ gnc_window_get_menubar_model()

GMenuModel * gnc_window_get_menubar_model ( GncWindow *  window)

Definition at line 107 of file gnc-window.c.

108{
109 g_return_val_if_fail (GNC_WINDOW(window), NULL);
110
111 /* optional */
112 if (GNC_WINDOW_GET_IFACE(window)->get_menubar_model == NULL)
113 return NULL;
114
115 return GNC_WINDOW_GET_IFACE(window)->get_menubar_model (window);
116}

◆ gnc_window_get_progressbar()

GtkWidget * gnc_window_get_progressbar ( GncWindow *  window)

Definition at line 71 of file gnc-window.c.

72{
73 g_return_val_if_fail(GNC_WINDOW (window), NULL);
74
75 /* optional */
76 if (GNC_WINDOW_GET_IFACE (window)->get_progressbar == NULL)
77 return NULL;
78
79 return GNC_WINDOW_GET_IFACE (window)->get_progressbar (window);
80}

◆ gnc_window_get_progressbar_window()

GncWindow * gnc_window_get_progressbar_window ( void  )

Definition at line 185 of file gnc-window.c.

186{
187 return progress_bar_hack_window;
188}

◆ gnc_window_get_statusbar()

GtkWidget * gnc_window_get_statusbar ( GncWindow *  window)

Definition at line 60 of file gnc-window.c.

61{
62 g_return_val_if_fail(GNC_WINDOW (window), NULL);
63
64 /* mandatory */
65 g_return_val_if_fail(GNC_WINDOW_GET_IFACE (window)->get_statusbar, NULL);
66
67 return GNC_WINDOW_GET_IFACE (window)->get_statusbar (window);
68}

◆ gnc_window_get_toolbar()

GtkWidget * gnc_window_get_toolbar ( GncWindow *  window)

Definition at line 95 of file gnc-window.c.

96{
97 g_return_val_if_fail (GNC_WINDOW(window), NULL);
98
99 /* optional */
100 if (GNC_WINDOW_GET_IFACE(window)->get_toolbar == NULL)
101 return NULL;
102
103 return GNC_WINDOW_GET_IFACE(window)->get_toolbar (window);
104}

◆ gnc_window_set_progressbar_window()

void gnc_window_set_progressbar_window ( GncWindow *  window)

Definition at line 173 of file gnc-window.c.

174{
175 if (window != NULL)
176 {
177 g_return_if_fail(GNC_WINDOW (window));
178 }
179
180 progress_bar_hack_window = window;
181}

◆ gnc_window_set_status()

void gnc_window_set_status ( GncWindow *  window,
GncPluginPage page,
const gchar *  message 
)

Definition at line 148 of file gnc-window.c.

150{
151 g_return_if_fail(GNC_WINDOW (window));
152 g_return_if_fail(GNC_PLUGIN_PAGE (page));
153
154 gnc_plugin_page_set_statusbar_text(page, message);
155 gnc_window_update_status (window, page);
156}

◆ gnc_window_show_progress()

void gnc_window_show_progress ( const char *  message,
double  percentage 
)

Definition at line 192 of file gnc-window.c.

193{
194 GncWindow *window;
195 GtkWidget *progressbar;
196 double curr_fraction;
197
198 window = progress_bar_hack_window;
199 if (window == NULL)
200 return;
201
202 progressbar = gnc_window_get_progressbar (window);
203 if (progressbar == NULL)
204 {
205 DEBUG( "no progressbar in hack-window" );
206 return;
207 }
208
209 curr_fraction =
210 round(gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(progressbar)) * 100.0);
211
212 if (percentage >= 0 && percentage <= 100 &&
213 round(percentage) == curr_fraction)
214 return; // No change, so don't waste time running the main loop.
215
216 gnc_update_splash_screen(message, percentage);
217
218 if (percentage < 0)
219 {
220 gtk_progress_bar_set_text(GTK_PROGRESS_BAR(progressbar), " ");
221 gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(progressbar), 0.0);
222 if (GNC_WINDOW_GET_IFACE(window)->ui_set_sensitive != NULL)
223 GNC_WINDOW_GET_IFACE(window)->ui_set_sensitive(window, TRUE);
224 }
225 else
226 {
227 if (message && *message)
228 gtk_progress_bar_set_text(GTK_PROGRESS_BAR(progressbar), message);
229 if ((percentage == 0.0) &&
230 (GNC_WINDOW_GET_IFACE(window)->ui_set_sensitive != NULL))
231 GNC_WINDOW_GET_IFACE(window)->ui_set_sensitive(window, FALSE);
232 if (percentage <= 100.0)
233 {
234 gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(progressbar),
235 percentage / 100.0);
236 }
237 else
238 {
239 gtk_progress_bar_pulse(GTK_PROGRESS_BAR(progressbar));
240 }
241 }
242
243 /* make sure new text is up */
244 while (gtk_events_pending ())
245 gtk_main_iteration ();
246}
#define DEBUG(format, args...)
Print a debugging message.
Definition qoflog.h:264

◆ gnc_window_update_status()

void gnc_window_update_status ( GncWindow *  window,
GncPluginPage page 
)

Definition at line 134 of file gnc-window.c.

135{
136 GtkWidget *statusbar;
137 const gchar *message;
138
139 g_return_if_fail(GNC_WINDOW (window));
140
141 statusbar = gnc_window_get_statusbar (window);
143 gtk_statusbar_pop(GTK_STATUSBAR(statusbar), 0);
144 gtk_statusbar_push(GTK_STATUSBAR(statusbar), 0, message ? message : " ");
145}
const gchar * gnc_plugin_page_get_statusbar_text(GncPluginPage *page)
Retrieve the statusbar text associated with this page.