dialogs.c 3.18 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
/* The GIMP -- an image manipulation program
 * Copyright (C) 1995 Spencer Kimball and Peter Mattis
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */

#include "config.h"

#include <gtk/gtk.h>

#include "apptypes.h"

25 26
#include "widgets/gimpdialogfactory.h"

27 28 29 30
#include "dialogs.h"
#include "dialogs-constructors.h"
#include "menus.h"

31 32
#include "gimpcontext.h"

33

34 35 36
GimpDialogFactory *global_dialog_factory     = NULL;
GimpDialogFactory *global_dock_factory       = NULL;
GimpDialogFactory *global_image_dock_factory = NULL;
37 38 39


void
40
dialogs_init (void)
41
{
42 43 44 45
  global_dialog_factory =
    gimp_dialog_factory_new ("toplevel",
			     gimp_context_get_user (),
			     NULL);
46

47 48 49 50
  global_dock_factory =
    gimp_dialog_factory_new ("dock",
			     gimp_context_get_user (),
			     menus_get_dialogs_factory ());
51

52 53 54 55
  global_image_dock_factory =
    gimp_dialog_factory_new ("image-dock",
			     gimp_context_get_user (),
			     NULL);
56

57 58
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:image-list",
59
				dialogs_image_list_view_new);
60 61
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:brush-list",
62
				dialogs_brush_list_view_new);
63 64
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:pattern-list",
65
				dialogs_pattern_list_view_new);
66 67
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:gradient-list",
68
				dialogs_gradient_list_view_new);
69 70
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:palette-list",
71
				dialogs_palette_list_view_new);
72 73
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:tool-list",
74 75
				dialogs_tool_list_view_new);

76 77
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:image-grid",
78
				dialogs_image_grid_view_new);
79 80
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:brush-grid",
81
				dialogs_brush_grid_view_new);
82 83
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:pattern-grid",
84
				dialogs_pattern_grid_view_new);
85 86
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:gradient-grid",
87
				dialogs_gradient_grid_view_new);
88 89
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:palette-grid",
90
				dialogs_palette_grid_view_new);
91 92
  gimp_dialog_factory_register (global_dock_factory,
				"gimp:tool-grid",
93 94
				dialogs_tool_grid_view_new);
}
95 96 97 98 99 100 101 102 103 104 105 106

void
dialogs_exit (void)
{
  gtk_object_unref (GTK_OBJECT (global_dialog_factory));
  gtk_object_unref (GTK_OBJECT (global_dock_factory));
  gtk_object_unref (GTK_OBJECT (global_image_dock_factory));

  global_dialog_factory     = NULL;
  global_dock_factory       = NULL;
  global_image_dock_factory = NULL;
}