1 /* GIMP - The GNU Image Manipulation Program 2 * Copyright (C) 1995 Spencer Kimball and Peter Mattis 3 * 4 * gimptoolgui.h 5 * Copyright (C) 2013 Michael Natterer <mitch@gimp.org> 6 * 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <https://www.gnu.org/licenses/>. 19 */ 20 21 #ifndef __GIMP_TOOL_GUI_H__ 22 #define __GIMP_TOOL_GUI_H__ 23 24 25 #include "core/gimpobject.h" 26 27 28 #define GIMP_TYPE_TOOL_GUI (gimp_tool_gui_get_type ()) 29 #define GIMP_TOOL_GUI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_TOOL_GUI, GimpToolGui)) 30 #define GIMP_TOOL_GUI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_TOOL_GUI, GimpToolGuiClass)) 31 #define GIMP_IS_TOOL_GUI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_TOOL_GUI)) 32 #define GIMP_IS_TOOL_GUI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_TOOL_GUI)) 33 #define GIMP_TOOL_GUI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_TOOL_GUI, GimpToolGuiClass)) 34 35 36 typedef struct _GimpToolGuiClass GimpToolGuiClass; 37 38 struct _GimpToolGui 39 { 40 GimpObject parent_instance; 41 }; 42 43 struct _GimpToolGuiClass 44 { 45 GimpObjectClass parent_instance; 46 47 void (* response) (GimpToolGui *gui, 48 gint response_id); 49 50 }; 51 52 53 GType gimp_tool_gui_get_type (void) G_GNUC_CONST; 54 55 GimpToolGui * gimp_tool_gui_new (GimpToolInfo *tool_info, 56 const gchar *title, 57 const gchar *description, 58 const gchar *icon_name, 59 const gchar *help_id, 60 GdkScreen *screen, 61 gint monitor, 62 gboolean overlay, 63 ...) G_GNUC_NULL_TERMINATED; 64 65 void gimp_tool_gui_set_title (GimpToolGui *gui, 66 const gchar *title); 67 void gimp_tool_gui_set_description (GimpToolGui *gui, 68 const gchar *description); 69 void gimp_tool_gui_set_icon_name (GimpToolGui *gui, 70 const gchar *icon_name); 71 void gimp_tool_gui_set_help_id (GimpToolGui *gui, 72 const gchar *help_id); 73 74 void gimp_tool_gui_set_shell (GimpToolGui *gui, 75 GimpDisplayShell *shell); 76 void gimp_tool_gui_set_viewable (GimpToolGui *gui, 77 GimpViewable *viewable); 78 79 GtkWidget * gimp_tool_gui_get_dialog (GimpToolGui *gui); 80 GtkWidget * gimp_tool_gui_get_vbox (GimpToolGui *gui); 81 82 gboolean gimp_tool_gui_get_visible (GimpToolGui *gui); 83 void gimp_tool_gui_show (GimpToolGui *gui); 84 void gimp_tool_gui_hide (GimpToolGui *gui); 85 86 void gimp_tool_gui_set_overlay (GimpToolGui *gui, 87 GdkScreen *screen, 88 gint monitor, 89 gboolean overlay); 90 gboolean gimp_tool_gui_get_overlay (GimpToolGui *gui); 91 92 void gimp_tool_gui_set_auto_overlay (GimpToolGui *gui, 93 gboolean auto_overlay); 94 gboolean gimp_tool_gui_get_auto_overlay (GimpToolGui *gui); 95 96 void gimp_tool_gui_set_focus_on_map (GimpToolGui *gui, 97 gboolean focus_on_map); 98 gboolean gimp_tool_gui_get_focus_on_map (GimpToolGui *gui); 99 100 101 void gimp_tool_gui_add_buttons_valist (GimpToolGui *gui, 102 va_list args); 103 void gimp_tool_gui_add_button (GimpToolGui *gui, 104 const gchar *button_text, 105 gint response_id); 106 void gimp_tool_gui_set_default_response (GimpToolGui *gui, 107 gint response_id); 108 void gimp_tool_gui_set_response_sensitive (GimpToolGui *gui, 109 gint response_id, 110 gboolean sensitive); 111 void gimp_tool_gui_set_alternative_button_order (GimpToolGui *gui, 112 ...); 113 114 115 #endif /* __GIMP_TOOL_GUI_H__ */ 116