1
/* The GIMP -- an image manipulation program
1
/* GIMP - The GNU Image Manipulation Program
2
2
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
4
4
* This program is free software; you can redistribute it and/or modify
40
40
#include "widgets/gimpcontainergridview.h"
41
41
#include "widgets/gimpcontainertreeview.h"
42
42
#include "widgets/gimpcontainerview-utils.h"
43
#include "widgets/gimpcursorview.h"
43
44
#include "widgets/gimpdataeditor.h"
44
45
#include "widgets/gimpdevicestatus.h"
45
46
#include "widgets/gimpdialogfactory.h"
51
52
#include "widgets/gimpgradienteditor.h"
52
53
#include "widgets/gimphelp-ids.h"
53
54
#include "widgets/gimphistogrameditor.h"
54
#include "widgets/gimpimagedock.h"
55
55
#include "widgets/gimpimageview.h"
56
56
#include "widgets/gimplayertreeview.h"
57
#include "widgets/gimpmenudock.h"
57
58
#include "widgets/gimppaletteeditor.h"
58
59
#include "widgets/gimppatternfactoryview.h"
60
#include "widgets/gimpsamplepointeditor.h"
59
61
#include "widgets/gimpselectioneditor.h"
60
62
#include "widgets/gimptemplateview.h"
61
63
#include "widgets/gimptoolbox.h"
73
75
#include "file-open-location-dialog.h"
74
76
#include "file-save-dialog.h"
75
77
#include "image-new-dialog.h"
78
#include "keyboard-shortcuts-dialog.h"
76
79
#include "module-dialog.h"
80
#include "palette-import-dialog.h"
77
81
#include "preferences-dialog.h"
78
82
#include "quit-dialog.h"
79
83
#include "tips-dialog.h"
96
100
dialogs_image_new_new (GimpDialogFactory *factory,
97
101
GimpContext *context,
100
return image_new_dialog_new (context->gimp);
104
return image_new_dialog_new (context);
104
108
dialogs_file_open_new (GimpDialogFactory *factory,
105
109
GimpContext *context,
108
112
return file_open_dialog_new (context->gimp);
120
124
dialogs_file_save_new (GimpDialogFactory *factory,
121
125
GimpContext *context,
124
128
return file_save_dialog_new (context->gimp);
128
132
dialogs_preferences_get (GimpDialogFactory *factory,
129
GimpContext *context,
133
GimpContext *context,
132
136
return preferences_dialog_create (context->gimp);
140
dialogs_keyboard_shortcuts_get (GimpDialogFactory *factory,
141
GimpContext *context,
144
return keyboard_shortcuts_dialog_new (context->gimp);
136
148
dialogs_module_get (GimpDialogFactory *factory,
137
149
GimpContext *context,
140
152
return module_dialog_new (context->gimp);
156
dialogs_palette_import_get (GimpDialogFactory *factory,
157
GimpContext *context,
160
return palette_import_dialog_new (context);
144
164
dialogs_tips_get (GimpDialogFactory *factory,
145
GimpContext *context,
165
GimpContext *context,
148
168
return tips_dialog_create (context->gimp);
152
172
dialogs_about_get (GimpDialogFactory *factory,
153
GimpContext *context,
173
GimpContext *context,
156
return about_dialog_create ();
176
return about_dialog_create (context);
160
180
dialogs_error_get (GimpDialogFactory *factory,
161
181
GimpContext *context,
164
return gimp_error_dialog_new (_("GIMP Message"), GIMP_STOCK_WARNING);
184
return gimp_error_dialog_new (_("GIMP Message"));
188
dialogs_close_all_get (GimpDialogFactory *factory,
189
GimpContext *context,
192
return close_all_dialog_new (context->gimp);
168
196
dialogs_quit_get (GimpDialogFactory *factory,
169
197
GimpContext *context,
172
200
return quit_dialog_new (context->gimp);
181
209
dialogs_toolbox_get (GimpDialogFactory *factory,
182
GimpContext *context,
210
GimpContext *context,
185
213
/* we pass "global_dock_factory", _not_ "global_toolbox_factory" to
186
214
* the toolbox constructor, because the global_toolbox_factory has no
187
215
* dockables registered
189
return gimp_toolbox_new (global_dock_factory, context->gimp);
217
return gimp_toolbox_new (global_dock_factory, context);
193
221
dialogs_dock_new (GimpDialogFactory *factory,
194
GimpContext *context,
222
GimpContext *context,
197
return gimp_image_dock_new (factory,
198
context->gimp->images,
199
context->gimp->displays);
225
return gimp_menu_dock_new (factory,
226
context->gimp->images,
227
context->gimp->displays);
210
238
dialogs_dockable_constructor (GimpDialogFactory *factory,
211
239
GimpDialogFactoryEntry *entry,
212
240
GimpContext *context,
215
243
GtkWidget *dockable = NULL;
216
244
GtkWidget *widget;
218
widget = entry->new_func (factory, context, preview_size);
246
widget = entry->new_func (factory, context, view_size);
223
251
entry->stock_id, entry->help_id);
224
252
gtk_container_add (GTK_CONTAINER (dockable), widget);
225
253
gtk_widget_show (widget);
256
g_object_set_data (G_OBJECT (dockable), "gimp-dialog-identifier",
232
264
/***** singleton dialogs *****/
235
dialogs_tool_options_get (GimpDialogFactory *factory,
236
GimpContext *context,
267
dialogs_tool_options_new (GimpDialogFactory *factory,
268
GimpContext *context,
239
271
return gimp_tool_options_editor_new (context->gimp,
240
272
factory->menu_factory);
244
dialogs_device_status_get (GimpDialogFactory *factory,
276
dialogs_device_status_new (GimpDialogFactory *factory,
245
277
GimpContext *context,
248
280
return gimp_device_status_new (context->gimp);
252
dialogs_error_console_get (GimpDialogFactory *factory,
253
GimpContext *context,
284
dialogs_error_console_new (GimpDialogFactory *factory,
285
GimpContext *context,
256
288
return gimp_error_console_new (context->gimp,
257
289
factory->menu_factory);
293
dialogs_cursor_view_new (GimpDialogFactory *factory,
294
GimpContext *context,
297
return gimp_cursor_view_new (factory->menu_factory);
261
301
/***** list views *****/
264
304
dialogs_image_list_view_new (GimpDialogFactory *factory,
265
GimpContext *context,
305
GimpContext *context,
268
308
return gimp_image_view_new (GIMP_VIEW_TYPE_LIST,
269
309
context->gimp->images,
272
312
factory->menu_factory);
276
316
dialogs_brush_list_view_new (GimpDialogFactory *factory,
277
GimpContext *context,
317
GimpContext *context,
280
320
return gimp_brush_factory_view_new (GIMP_VIEW_TYPE_LIST,
281
context->gimp->brush_factory,
321
context->gimp->brush_factory,
285
325
factory->menu_factory);
289
329
dialogs_pattern_list_view_new (GimpDialogFactory *factory,
290
GimpContext *context,
330
GimpContext *context,
293
333
return gimp_pattern_factory_view_new (GIMP_VIEW_TYPE_LIST,
294
334
context->gimp->pattern_factory,
297
337
factory->menu_factory);
301
341
dialogs_gradient_list_view_new (GimpDialogFactory *factory,
302
GimpContext *context,
342
GimpContext *context,
305
345
return gimp_data_factory_view_new (GIMP_VIEW_TYPE_LIST,
306
346
context->gimp->gradient_factory,
309
349
factory->menu_factory, "<Gradients>",
310
350
"/gradients-popup",
315
355
dialogs_palette_list_view_new (GimpDialogFactory *factory,
316
GimpContext *context,
356
GimpContext *context,
319
359
return gimp_data_factory_view_new (GIMP_VIEW_TYPE_LIST,
320
360
context->gimp->palette_factory,
323
363
factory->menu_factory, "<Palettes>",
324
364
"/palettes-popup",
329
369
dialogs_font_list_view_new (GimpDialogFactory *factory,
330
370
GimpContext *context,
333
373
return gimp_font_view_new (GIMP_VIEW_TYPE_LIST,
334
374
context->gimp->fonts,
337
377
factory->menu_factory);
341
381
dialogs_tool_list_view_new (GimpDialogFactory *factory,
342
GimpContext *context,
382
GimpContext *context,
345
385
return gimp_tool_view_new (GIMP_VIEW_TYPE_LIST,
346
386
context->gimp->tool_info_list,
349
389
factory->menu_factory);
353
393
dialogs_buffer_list_view_new (GimpDialogFactory *factory,
354
GimpContext *context,
394
GimpContext *context,
357
397
return gimp_buffer_view_new (GIMP_VIEW_TYPE_LIST,
358
context->gimp->named_buffers,
398
context->gimp->named_buffers,
361
401
factory->menu_factory);
365
405
dialogs_document_list_view_new (GimpDialogFactory *factory,
366
406
GimpContext *context,
369
409
return gimp_document_view_new (GIMP_VIEW_TYPE_LIST,
370
410
context->gimp->documents,
373
413
factory->menu_factory);
377
417
dialogs_template_list_view_new (GimpDialogFactory *factory,
378
418
GimpContext *context,
381
421
return gimp_template_view_new (GIMP_VIEW_TYPE_LIST,
382
422
context->gimp->templates,
385
425
factory->menu_factory);
392
432
dialogs_image_grid_view_new (GimpDialogFactory *factory,
393
GimpContext *context,
433
GimpContext *context,
396
436
return gimp_image_view_new (GIMP_VIEW_TYPE_GRID,
397
437
context->gimp->images,
400
440
factory->menu_factory);
404
444
dialogs_brush_grid_view_new (GimpDialogFactory *factory,
405
GimpContext *context,
445
GimpContext *context,
408
448
return gimp_brush_factory_view_new (GIMP_VIEW_TYPE_GRID,
409
context->gimp->brush_factory,
449
context->gimp->brush_factory,
413
453
factory->menu_factory);
417
457
dialogs_pattern_grid_view_new (GimpDialogFactory *factory,
418
GimpContext *context,
458
GimpContext *context,
421
461
return gimp_pattern_factory_view_new (GIMP_VIEW_TYPE_GRID,
422
462
context->gimp->pattern_factory,
425
465
factory->menu_factory);
429
469
dialogs_gradient_grid_view_new (GimpDialogFactory *factory,
430
GimpContext *context,
470
GimpContext *context,
433
473
return gimp_data_factory_view_new (GIMP_VIEW_TYPE_GRID,
434
474
context->gimp->gradient_factory,
437
477
factory->menu_factory, "<Gradients>",
438
478
"/gradients-popup",
443
483
dialogs_palette_grid_view_new (GimpDialogFactory *factory,
444
GimpContext *context,
484
GimpContext *context,
447
487
return gimp_data_factory_view_new (GIMP_VIEW_TYPE_GRID,
448
488
context->gimp->palette_factory,
451
491
factory->menu_factory, "<Palettes>",
452
492
"/palettes-popup",
457
497
dialogs_font_grid_view_new (GimpDialogFactory *factory,
458
498
GimpContext *context,
461
501
return gimp_font_view_new (GIMP_VIEW_TYPE_GRID,
462
502
context->gimp->fonts,
465
505
factory->menu_factory);
469
509
dialogs_tool_grid_view_new (GimpDialogFactory *factory,
470
GimpContext *context,
510
GimpContext *context,
473
513
return gimp_tool_view_new (GIMP_VIEW_TYPE_GRID,
474
514
context->gimp->tool_info_list,
477
517
factory->menu_factory);
481
521
dialogs_buffer_grid_view_new (GimpDialogFactory *factory,
482
GimpContext *context,
522
GimpContext *context,
485
525
return gimp_buffer_view_new (GIMP_VIEW_TYPE_GRID,
486
context->gimp->named_buffers,
526
context->gimp->named_buffers,
489
529
factory->menu_factory);
493
533
dialogs_document_grid_view_new (GimpDialogFactory *factory,
494
534
GimpContext *context,
497
537
return gimp_document_view_new (GIMP_VIEW_TYPE_GRID,
498
538
context->gimp->documents,
501
541
factory->menu_factory);
505
545
dialogs_template_grid_view_new (GimpDialogFactory *factory,
506
546
GimpContext *context,
509
549
return gimp_template_view_new (GIMP_VIEW_TYPE_GRID,
510
550
context->gimp->templates,
513
553
factory->menu_factory);
520
560
dialogs_layer_list_view_new (GimpDialogFactory *factory,
521
GimpContext *context,
561
GimpContext *context,
524
if (preview_size < 1)
525
preview_size = context->gimp->config->layer_preview_size;
565
view_size = context->gimp->config->layer_preview_size;
527
567
return gimp_item_tree_view_new (GIMP_TYPE_LAYER_TREE_VIEW,
529
569
gimp_context_get_image (context),
530
570
factory->menu_factory, "<Layers>",
531
571
"/layers-popup");
535
575
dialogs_channel_list_view_new (GimpDialogFactory *factory,
536
GimpContext *context,
576
GimpContext *context,
539
if (preview_size < 1)
540
preview_size = context->gimp->config->layer_preview_size;
580
view_size = context->gimp->config->layer_preview_size;
542
582
return gimp_item_tree_view_new (GIMP_TYPE_CHANNEL_TREE_VIEW,
544
584
gimp_context_get_image (context),
545
585
factory->menu_factory, "<Channels>",
546
586
"/channels-popup");
550
590
dialogs_vectors_list_view_new (GimpDialogFactory *factory,
551
GimpContext *context,
591
GimpContext *context,
554
if (preview_size < 1)
555
preview_size = context->gimp->config->layer_preview_size;
595
view_size = context->gimp->config->layer_preview_size;
557
597
return gimp_item_tree_view_new (GIMP_TYPE_VECTORS_TREE_VIEW,
559
599
gimp_context_get_image (context),
560
600
factory->menu_factory, "<Vectors>",
561
601
"/vectors-popup");
565
605
dialogs_colormap_editor_new (GimpDialogFactory *factory,
566
GimpContext *context,
606
GimpContext *context,
571
611
view = gimp_colormap_editor_new (factory->menu_factory);
573
613
g_signal_connect (view, "selected",
574
G_CALLBACK (dialogs_indexed_palette_selected),
614
G_CALLBACK (dialogs_indexed_palette_selected),
597
637
dialogs_undo_editor_new (GimpDialogFactory *factory,
598
638
GimpContext *context,
601
641
return gimp_undo_editor_new (context->gimp->config,
602
642
factory->menu_factory);
646
dialogs_sample_point_editor_new (GimpDialogFactory *factory,
647
GimpContext *context,
650
return gimp_sample_point_editor_new (factory->menu_factory);
606
654
/***** display related dialogs *****/
609
657
dialogs_navigation_editor_new (GimpDialogFactory *factory,
610
658
GimpContext *context,
613
661
return gimp_navigation_editor_new (factory->menu_factory);
633
681
dialogs_brush_editor_get (GimpDialogFactory *factory,
634
GimpContext *context,
682
GimpContext *context,
637
return gimp_brush_editor_new (context->gimp);
685
return gimp_brush_editor_new (context,
686
factory->menu_factory);
641
690
dialogs_gradient_editor_get (GimpDialogFactory *factory,
642
GimpContext *context,
691
GimpContext *context,
645
return gimp_gradient_editor_new (context->gimp,
694
return gimp_gradient_editor_new (context,
646
695
factory->menu_factory);
650
699
dialogs_palette_editor_get (GimpDialogFactory *factory,
651
GimpContext *context,
700
GimpContext *context,
654
return gimp_palette_editor_new (context->gimp,
703
return gimp_palette_editor_new (context,
655
704
factory->menu_factory);
662
711
dialogs_indexed_palette_selected (GimpColormapEditor *editor,
663
712
GdkModifierType state,
666
715
GimpImageEditor *image_editor = GIMP_IMAGE_EDITOR (editor);
668
if (image_editor->gimage)
717
if (image_editor->image)
673
index = gimp_colormap_editor_col_index (editor);
722
index = gimp_colormap_editor_get_index (editor, NULL);
675
gimp_image_get_colormap_entry (image_editor->gimage, index, &color);
724
gimp_image_get_colormap_entry (image_editor->image, index, &color);
677
726
if (state & GDK_CONTROL_MASK)
678
727
gimp_context_set_background (image_editor->context, &color);