35
35
#include "gimp-intl.h"
38
static void gimp_progress_dialog_class_init (GimpProgressDialogClass *klass);
39
static void gimp_progress_dialog_init (GimpProgressDialog *dialog);
40
static void gimp_progress_dialog_progress_iface_init (GimpProgressInterface *progress_iface);
38
#define PROGRESS_DIALOG_WIDTH 400
41
static void gimp_progress_dialog_progress_iface_init (GimpProgressInterface *iface);
42
43
static void gimp_progress_dialog_response (GtkDialog *dialog,
53
54
static void gimp_progress_dialog_progress_set_value (GimpProgress *progress,
54
55
gdouble percentage);
55
56
static gdouble gimp_progress_dialog_progress_get_value (GimpProgress *progress);
58
static GimpDialogClass *parent_class = NULL;
62
gimp_progress_dialog_get_type (void)
64
static GType dialog_type = 0;
68
static const GTypeInfo dialog_info =
70
sizeof (GimpProgressDialogClass),
72
(GBaseFinalizeFunc) NULL,
73
(GClassInitFunc) gimp_progress_dialog_class_init,
74
NULL, /* class_finalize */
75
NULL, /* class_data */
76
sizeof (GimpProgressDialog),
78
(GInstanceInitFunc) gimp_progress_dialog_init,
81
static const GInterfaceInfo progress_iface_info =
83
(GInterfaceInitFunc) gimp_progress_dialog_progress_iface_init,
84
NULL, /* iface_finalize */
88
dialog_type = g_type_register_static (GIMP_TYPE_DIALOG,
92
g_type_add_interface_static (dialog_type, GIMP_TYPE_PROGRESS,
93
&progress_iface_info);
57
static void gimp_progress_dialog_progress_pulse (GimpProgress *progress);
60
G_DEFINE_TYPE_WITH_CODE (GimpProgressDialog, gimp_progress_dialog,
62
G_IMPLEMENT_INTERFACE (GIMP_TYPE_PROGRESS,
63
gimp_progress_dialog_progress_iface_init))
65
#define parent_class gimp_progress_dialog_parent_class
100
69
gimp_progress_dialog_class_init (GimpProgressDialogClass *klass)
102
71
GtkDialogClass *dialog_class = GTK_DIALOG_CLASS (klass);
104
parent_class = g_type_class_peek_parent (klass);
106
73
dialog_class->response = gimp_progress_dialog_response;
121
88
gtk_dialog_add_button (GTK_DIALOG (dialog),
122
89
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
123
90
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CANCEL);
92
gtk_widget_set_size_request (GTK_WIDGET (dialog), PROGRESS_DIALOG_WIDTH, -1);
127
gimp_progress_dialog_progress_iface_init (GimpProgressInterface *progress_iface)
96
gimp_progress_dialog_progress_iface_init (GimpProgressInterface *iface)
129
progress_iface->start = gimp_progress_dialog_progress_start;
130
progress_iface->end = gimp_progress_dialog_progress_end;
131
progress_iface->is_active = gimp_progress_dialog_progress_is_active;
132
progress_iface->set_text = gimp_progress_dialog_progress_set_text;
133
progress_iface->set_value = gimp_progress_dialog_progress_set_value;
134
progress_iface->get_value = gimp_progress_dialog_progress_get_value;
98
iface->start = gimp_progress_dialog_progress_start;
99
iface->end = gimp_progress_dialog_progress_end;
100
iface->is_active = gimp_progress_dialog_progress_is_active;
101
iface->set_text = gimp_progress_dialog_progress_set_text;
102
iface->set_value = gimp_progress_dialog_progress_set_value;
103
iface->get_value = gimp_progress_dialog_progress_get_value;
104
iface->pulse = gimp_progress_dialog_progress_pulse;
232
202
return gimp_progress_get_value (GIMP_PROGRESS (dialog->box));
206
gimp_progress_dialog_progress_pulse (GimpProgress *progress)
208
GimpProgressDialog *dialog = GIMP_PROGRESS_DIALOG (progress);
213
gimp_progress_pulse (GIMP_PROGRESS (dialog->box));
236
217
gimp_progress_dialog_new (void)
238
219
return g_object_new (GIMP_TYPE_PROGRESS_DIALOG,
239
220
"title", _("Progress"),
240
221
"role", "progress",
241
"skip_taskbar_hint", TRUE,
242
"skip_pager_hint", TRUE,
222
"skip-taskbar-hint", TRUE,
223
"skip-pager-hint", TRUE,
243
224
"resizable", FALSE,