00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <stdlib.h>
00024 #include <gtk/gtk.h>
00025
00026 #include "status.h"
00027
00028 static GtkWidget *hbox;
00029 static GtkWidget *sbar;
00030 static guint contextId;
00031 static GtkWidget *pbar;
00032
00035 GtkWidget *status_bar_new(void)
00036 {
00037 hbox = gtk_hbox_new(FALSE, 5);
00038 sbar = gtk_statusbar_new();
00039 contextId = gtk_statusbar_get_context_id(GTK_STATUSBAR(sbar),
00040 "GtkSQL status");
00041 gtk_widget_show(sbar);
00042 pbar = gtk_progress_bar_new();
00043 gtk_widget_set_usize(pbar, 150, 20);
00044 gtk_widget_show(pbar);
00045
00046 gtk_box_pack_start(GTK_BOX(hbox), sbar, TRUE, TRUE, 0);
00047 gtk_box_pack_start(GTK_BOX(hbox), pbar, FALSE, FALSE, 0);
00048
00049 return hbox;
00050 }
00051
00053 void status_pop(void)
00054 {
00055 gtk_statusbar_pop(GTK_STATUSBAR(sbar), contextId);
00056 while (gtk_events_pending())
00057 gtk_main_iteration();
00058 }
00059
00061 void status_push(gchar * msg)
00062 {
00063 gtk_statusbar_push(GTK_STATUSBAR(sbar), contextId, msg);
00064 while (gtk_events_pending())
00065 gtk_main_iteration();
00066 }
00067
00069 void progress_reset(void)
00070 {
00071 gtk_progress_bar_update(GTK_PROGRESS_BAR(pbar), 0.0);
00072 while (gtk_events_pending())
00073 gtk_main_iteration();
00074 }
00075
00077 void progress_update(gfloat percentage)
00078 {
00079 gtk_progress_bar_update(GTK_PROGRESS_BAR(pbar), percentage);
00080 while (gtk_events_pending())
00081 gtk_main_iteration();
00082 }