139
static GimpParamDef save_args[] =
140
static const GimpParamDef save_args[] =
141
{ GIMP_PDB_INT32, "run_mode", "Interactive" },
142
{ GIMP_PDB_INT32, "run-mode", "Interactive" },
142
143
{ GIMP_PDB_IMAGE, "image", "Input image" },
143
144
{ GIMP_PDB_DRAWABLE, "drawable", "Drawable to save" },
144
145
{ GIMP_PDB_STRING, "filename", "The name of the file to save the image in" },
145
{ GIMP_PDB_STRING, "raw_filename", "The name of the file to save the image in" }
146
{ GIMP_PDB_STRING, "raw-filename", "The name of the file to save the image in" }
148
gimp_install_procedure ("file_gtm_save",
149
gimp_install_procedure (SAVE_PROC,
149
150
"GIMP Table Magic",
150
151
"Allows you to draw an HTML table in GIMP. See help for more info.",
157
158
G_N_ELEMENTS (save_args), 0,
158
159
save_args, NULL);
160
gimp_register_file_handler_mime ("file_gtm_save", "text/html");
161
gimp_register_save_handler ("file_gtm_save", "html,htm", "");
161
gimp_register_file_handler_mime (SAVE_PROC, "text/html");
162
gimp_register_save_handler (SAVE_PROC, "html,htm", "");
182
183
values[0].type = GIMP_PDB_STATUS;
183
184
values[0].data.d_status = GIMP_PDB_EXECUTION_ERROR;
185
gimp_get_data ("file_gtm_save", >mvals);
186
gimp_get_data (SAVE_PROC, >mvals);
187
188
if (save_dialog (param[1].data.d_int32))
189
190
if (save_image (param[3].data.d_string, drawable))
191
gimp_set_data ("file_gtm_save", >mvals, sizeof (GTMValues));
192
gimp_set_data (SAVE_PROC, >mvals, sizeof (GTMValues));
213
214
guchar *buffer, *buf2;
214
215
gchar *width, *height;
215
216
GimpPixelRgn pixel_rgn;
219
219
palloc = g_new (int, drawable->width * drawable->height);
221
fp = fopen (filename, "w");
221
fp = g_fopen (filename, "w");
242
242
fprintf (fp, "<CAPTION>%s</CAPTION>\n",
243
243
gtmvals.captiontxt);
245
name = g_strdup_printf (_("Saving '%s'..."),
246
gimp_filename_to_utf8 (filename));
247
gimp_progress_init (name);
245
gimp_progress_init_printf (_("Saving '%s'"),
246
gimp_filename_to_utf8 (filename));
250
248
gimp_pixel_rgn_init (&pixel_rgn, drawable,
251
249
0, 0, drawable->width, drawable->height,
394
392
GtkWidget *toggle;
397
gimp_ui_init ("gtm", FALSE);
399
dlg = gimp_dialog_new (_("GIMP Table Magic"), "gtm",
401
gimp_standard_help_func, "file-gtm-save",
403
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
404
GTK_STOCK_OK, GTK_RESPONSE_OK,
395
gimp_ui_init (PLUG_IN_BINARY, FALSE);
397
dialog = gimp_dialog_new (_("Save as HTML table"), PLUG_IN_BINARY,
399
gimp_standard_help_func, SAVE_PROC,
401
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
402
GTK_STOCK_SAVE, GTK_RESPONSE_OK,
406
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
411
gimp_window_set_transient (GTK_WINDOW (dialog));
408
413
main_vbox = gtk_vbox_new (FALSE, 12);
409
414
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
410
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), main_vbox,
415
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), main_vbox,
413
418
if (gimp_image_width (image_ID) * gimp_image_height (image_ID) > 4096)
567
572
_("The number of pixels in the table border."),
570
g_signal_connect (adj, "value_changed",
575
g_signal_connect (adj, "value-changed",
571
576
G_CALLBACK (gimp_int_adjustment_update),
572
577
>mvals.border);
612
617
gimp_help_set_help_data (spinbutton,
613
618
_("The amount of cellpadding."), NULL);
615
g_signal_connect (adj, "value_changed",
620
g_signal_connect (adj, "value-changed",
616
621
G_CALLBACK (gimp_int_adjustment_update),
617
622
>mvals.cellpadding);
625
630
gimp_help_set_help_data (spinbutton,
626
631
_("The amount of cellspacing."), NULL);
628
g_signal_connect (adj, "value_changed",
633
g_signal_connect (adj, "value-changed",
629
634
G_CALLBACK (gimp_int_adjustment_update),
630
635
>mvals.cellspacing);
632
637
gtk_widget_show (table);
633
638
gtk_widget_show (frame);
635
gtk_widget_show (dlg);
637
run = (gimp_dialog_run (GIMP_DIALOG (dlg)) == GTK_RESPONSE_OK);
639
gtk_widget_destroy (dlg);
640
gtk_widget_show (dialog);
642
run = (gimp_dialog_run (GIMP_DIALOG (dialog)) == GTK_RESPONSE_OK);
644
gtk_widget_destroy (dialog);