Commit b8c19394 authored by Manish Singh's avatar Manish Singh

gave parasite undo a MISC_UNDO class for now so it compiles

* app/gimpdrawable.c: gave parasite undo a MISC_UNDO class for now
so it compiles

* app/tools_cmds.c: fix crop invoker to give correct args to
crop_image

* app/color_cmds.c: s/GRAY/GRAY_LUT/g;

* app/brush_select.[ch]: removed PDB procs, export brush_active_dialogs,
brush_select_dialog, s/active_dialogs/brush_active_dialogs/

* app/gimage_cmds.[ch]
* app/channel_ops.[ch]: removed channel ops PDB procs, moved duplicate
function from gimage_cmds to channel_ops, export offset and duplicate

* app/gimpbrushlist.[ch]: removed PDB procs

* app/gradient.[ch]: removed PDB procs,

* app/gradient_header.h: exported G_SAMPLE, GradSelect, num_gradients,
grad_active_dialogs, gradient_select_dialog

* app/gradient_select.c: removed PDB procs,
s/active_dialogs/grad_active_dialogs/

* app/patterns.[ch]: removed PDB procs

* app/pattern_select.[ch]: removed PDB procs,
s/active_dialogs/pattern_active_dialogs/

* app/procedural_db.c: removed PDB procs and supporting functions

* app/procedrual_db.h: fiddled with enums

* app/channel_cmds.[ch]
* app/drawable_cmds.[ch]
* app/parasite_cmds.[ch]: pdbgenned now, removed header files

* app/gimpparasite.c: minor cleanup

* app/internal_procs.c: use pdbgen stuff

* app/tools_cmds.c
* app/text_tool_cmds.c: updated from pdbgen

* app/brushes_cmds.c
* app/brush_select_cmds.c
* app/gradient_cmds.c
* app/gradient_select_cmds.c
* app/patterns_cmds.c
* app/pattern_select_cmds.c
* app/procedural_db_cmds.c: new pdbgen files

* app/Makefile.am: file shuffle (see above)

-Yosh
parent 020a39a9
Thu Apr 22 22:14:02 PDT 1999 Manish Singh <yosh@gimp.org>
* app/gimpdrawable.c: gave parasite undo a MISC_UNDO class for now
so it compiles
* app/tools_cmds.c: fix crop invoker to give correct args to
crop_image
* app/color_cmds.c: s/GRAY/GRAY_LUT/g;
* app/brush_select.[ch]: removed PDB procs, export brush_active_dialogs,
brush_select_dialog, s/active_dialogs/brush_active_dialogs/
* app/gimage_cmds.[ch]
* app/channel_ops.[ch]: removed channel ops PDB procs, moved duplicate
function from gimage_cmds to channel_ops, export offset and duplicate
* app/gimpbrushlist.[ch]: removed PDB procs
* app/gradient.[ch]: removed PDB procs,
* app/gradient_header.h: exported G_SAMPLE, GradSelect, num_gradients,
grad_active_dialogs, gradient_select_dialog
* app/gradient_select.c: removed PDB procs,
s/active_dialogs/grad_active_dialogs/
* app/patterns.[ch]: removed PDB procs
* app/pattern_select.[ch]: removed PDB procs,
s/active_dialogs/pattern_active_dialogs/
* app/procedural_db.c: removed PDB procs and supporting functions
* app/procedrual_db.h: fiddled with enums
* app/channel_cmds.[ch]
* app/drawable_cmds.[ch]
* app/parasite_cmds.[ch]: pdbgenned now, removed header files
* app/gimpparasite.c: minor cleanup
* app/internal_procs.c: use pdbgen stuff
* app/tools_cmds.c
* app/text_tool_cmds.c: updated from pdbgen
* app/brushes_cmds.c
* app/brush_select_cmds.c
* app/gradient_cmds.c
* app/gradient_select_cmds.c
* app/patterns_cmds.c
* app/pattern_select_cmds.c
* app/procedural_db_cmds.c: new pdbgen files
* app/Makefile.am: file shuffle (see above)
Fri Apr 23 17:11:42 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen)
* app/temp_buf.c:
......
......@@ -56,6 +56,8 @@ gimp_SOURCES = \
brush_header.h \
brush_select.c \
brush_select.h \
brush_select_cmds.c \
brushes_cmds.c \
bucket_fill.c \
bucket_fill.h \
buildmenu.c \
......@@ -66,11 +68,11 @@ gimp_SOURCES = \
channel.h \
channel_pvt.h \
channel_cmds.c \
channel_cmds.h \
channels_dialog.c \
channels_dialog.h \
channel_ops.c \
channel_ops.h \
channel_ops_cmds.c \
clone.c \
clone.h \
color_area.c \
......@@ -126,7 +128,6 @@ gimp_SOURCES = \
drawable.h \
drawable_pvt.h \
drawable_cmds.c \
drawable_cmds.h \
edit_cmds.c \
edit_selection.c \
edit_selection.h \
......@@ -206,7 +207,9 @@ gimp_SOURCES = \
gradient.c \
gradient_header.h \
gradient_select.c \
gradient_select_cmds.c \
gradient.h \
gradient_cmds.c \
gximage.c \
gximage.h \
histogramwidget.c \
......@@ -277,7 +280,6 @@ gimp_SOURCES = \
paintbrush.c \
paintbrush.h \
parasite_cmds.c \
parasite_cmds.h \
parasitelist.c \
parasitelist.h \
parasitelistF.h \
......@@ -289,8 +291,10 @@ gimp_SOURCES = \
pattern_header.h \
pattern_select.c \
pattern_select.h \
pattern_select_cmds.c \
patterns.c \
patterns.h \
patterns_cmds.c \
pencil.c \
pencil.h \
perspective_tool.c \
......@@ -309,6 +313,7 @@ gimp_SOURCES = \
preferences_dialog.h \
procedural_db.c \
procedural_db.h \
procedural_db_cmds.c \
rect_select.c \
rect_select.h \
rect_selectP.h \
......
......@@ -90,14 +90,8 @@ static void spacing_scale_update (GtkAdjustment *, gpointer);
/* local variables */
/* PDB interface data */
static int success;
/* List of active dialogs */
static GSList *active_dialogs = NULL;
/* The main brush dialog */
extern BrushSelectP brush_select_dialog;
GSList *brush_active_dialogs = NULL;
/* Brush editor dialog (main brush dialog only) */
static BrushEditGeneratedWindow *brush_edit_generated_dialog;
......@@ -491,7 +485,7 @@ brush_select_free (BrushSelectP bsp)
/* remove from active list */
active_dialogs = g_slist_remove(active_dialogs,bsp);
brush_active_dialogs = g_slist_remove(brush_active_dialogs,bsp);
g_free (bsp);
}
......@@ -1296,14 +1290,14 @@ paint_options_toggle_callback (GtkWidget *widget,
/* Close active dialogs that no longer have PDB registered for them */
void
brushes_check_dialogs ()
brushes_check_dialogs (void)
{
GSList *list;
BrushSelectP bsp;
gchar * name;
ProcRecord *prec = NULL;
list = active_dialogs;
list = brush_active_dialogs;
while (list)
{
......@@ -1315,314 +1309,10 @@ brushes_check_dialogs ()
if(!prec)
{
active_dialogs = g_slist_remove (active_dialogs,bsp);
brush_active_dialogs = g_slist_remove (brush_active_dialogs,bsp);
/* Can alter active_dialogs list*/
/* Can alter brush_active_dialogs list*/
brush_select_close_callback (NULL, bsp);
}
}
}
/************
* PDB interfaces.
*/
static Argument *
brushes_popup_invoker (Argument *args)
{
gchar * name;
gchar * title;
gchar * initial_brush;
gdouble initial_opacity = 1.0;
gint initial_spacing = 20;
gint initial_mode = 0;
ProcRecord *prec = NULL;
BrushSelectP newdialog;
success = (name = (char *) args[0].value.pdb_pointer) != NULL;
title = (char *) args[1].value.pdb_pointer;
initial_brush = (char *) args[2].value.pdb_pointer;
/* If null just use the active brush */
if (initial_brush && strlen (initial_brush))
{
initial_opacity = args[3].value.pdb_float;
initial_spacing = args[4].value.pdb_int;
initial_mode = args[5].value.pdb_int;
}
/* Check the proc exists */
if (!success || (prec = procedural_db_lookup (name)) == NULL)
{
success = 0;
return procedural_db_return_args (&brushes_popup_proc, success);
}
/*create_brush_dialog();*/
if (initial_brush && strlen (initial_brush))
newdialog = brush_select_new (title,
initial_brush,
initial_opacity,
initial_spacing,
initial_mode);
else
newdialog = brush_select_new(title,NULL,0.0,0,0);
/* Add to list of proc to run when brush changes */
/* change_callbacks = g_list_append(change_callbacks,g_strdup(name));*/
newdialog->callback_name = g_strdup (name);
/* Add to active brush dialogs list */
active_dialogs = g_slist_append (active_dialogs,newdialog);
return procedural_db_return_args (&brushes_popup_proc, success);
}
/* The procedure definition */
ProcArg brushes_popup_in_args[] =
{
{ PDB_STRING,
"brush_callback",
"the callback PDB proc to call when brush selection is made"
},
{ PDB_STRING,
"popup title",
"title to give the popup window",
},
{ PDB_STRING,
"initial brush",
"The name of the brush to set as the first selected",
},
{ PDB_FLOAT,
"initial opacity",
"The initial opacity of the brush",
},
{ PDB_INT32,
"initial spacing",
"The initial spacing of the brush (if < 0 then use brush default spacing)",
},
{ PDB_INT32,
"initial paint mode",
"The initial paint mode: { NORMAL (0), DISSOLVE (1), BEHIND (2), MULTIPLY/BURN (3), SCREEN (4), OVERLAY (5) DIFFERENCE (6), ADDITION (7), SUBTRACT (8), DARKEN-ONLY (9), LIGHTEN-ONLY (10), HUE (11), SATURATION (12), COLOR (13), VALUE (14), DIVIDE/DODGE (15) }",
},
};
ProcRecord brushes_popup_proc =
{
"gimp_brushes_popup",
"Invokes the Gimp brush selection",
"This procedure popups the brush selection dialog",
"Andy Thomas",
"Andy Thomas",
"1998",
PDB_INTERNAL,
/* Input arguments */
sizeof (brushes_popup_in_args) / sizeof (brushes_popup_in_args[0]),
brushes_popup_in_args,
/* Output arguments */
0,
NULL,
/* Exec method */
{ { brushes_popup_invoker } },
};
static BrushSelectP
brush_get_brushselect (gchar *name)
{
GSList *list;
BrushSelectP bsp;
list = active_dialogs;
while (list)
{
bsp = (BrushSelectP) list->data;
list = list->next;
if (strcmp (name, bsp->callback_name) == 0)
{
return bsp;
}
}
return NULL;
}
static Argument *
brush_close_popup_invoker (Argument *args)
{
gchar * name;
ProcRecord *prec = NULL;
BrushSelectP bsp;
success = (name = (char *) args[0].value.pdb_pointer) != NULL;
/* Check the proc exists */
if(!success || (prec = procedural_db_lookup (name)) == NULL)
{
success = 0;
return procedural_db_return_args (&brushes_close_popup_proc, success);
}
bsp = brush_get_brushselect (name);
if(bsp)
{
active_dialogs = g_slist_remove(active_dialogs,bsp);
if (GTK_WIDGET_VISIBLE (bsp->shell))
gtk_widget_hide (bsp->shell);
/* Free memory if poping down dialog which is not the main one */
if (bsp != brush_select_dialog)
{
gtk_widget_destroy (bsp->shell);
brush_select_free (bsp);
}
}
else
{
success = FALSE;
}
return procedural_db_return_args (&brushes_close_popup_proc, success);
}
/* The procedure definition */
ProcArg brush_close_popup_in_args[] =
{
{ PDB_STRING,
"callback_PDB_entry_name",
"The name of the callback registered for this popup",
},
};
ProcRecord brushes_close_popup_proc =
{
"gimp_brushes_close_popup",
"Popdown the Gimp brush selection",
"This procedure closes an opened brush selection dialog",
"Andy Thomas",
"Andy Thomas",
"1998",
PDB_INTERNAL,
/* Input arguments */
sizeof (brush_close_popup_in_args) / sizeof (brush_close_popup_in_args[0]),
brush_close_popup_in_args,
/* Output arguments */
0,
NULL,
/* Exec method */
{ { brush_close_popup_invoker } },
};
static Argument *
brush_set_popup_invoker (Argument *args)
{
gchar * pdbname;
gchar * brush_name;
ProcRecord *prec = NULL;
BrushSelectP bsp;
success = (pdbname = (char *) args[0].value.pdb_pointer) != NULL;
brush_name = (char *) args[1].value.pdb_pointer;
/* Check the proc exists */
if(!success || (prec = procedural_db_lookup (pdbname)) == NULL)
{
success = 0;
return procedural_db_return_args (&brushes_set_popup_proc, success);
}
bsp = brush_get_brushselect (pdbname);
if(bsp)
{
GimpBrushP active = gimp_brush_list_get_brush (brush_list,brush_name);
if(active)
{
/* Must alter the wigdets on screen as well */
bsp->brush = active;
brush_select_select (bsp, gimp_brush_list_get_brush_index (brush_list, active));
bsp->opacity_value = args[2].value.pdb_float;
bsp->spacing_value = args[3].value.pdb_int;
if(args[4].value.pdb_int >= 0 && args[4].value.pdb_int <= VALUE_MODE)
bsp->paint_mode = args[4].value.pdb_int;
bsp->spacing_data->value = bsp->spacing_value;
gtk_signal_emit_by_name (GTK_OBJECT (bsp->spacing_data), "value_changed");
bsp->opacity_data->value = bsp->opacity_value * 100.0;
gtk_signal_emit_by_name (GTK_OBJECT (bsp->opacity_data), "value_changed");
gtk_option_menu_set_history(GTK_OPTION_MENU(bsp->option_menu),bsp->paint_mode);
/* Can alter active_dialogs list*/
success = TRUE;
}
}
else
{
success = FALSE;
}
return procedural_db_return_args (&brushes_set_popup_proc, success);
}
/* The procedure definition */
ProcArg brush_set_popup_in_args[] =
{
{ PDB_STRING,
"callback_PDB_entry_name",
"The name of the callback registered for this popup",
},
{ PDB_STRING,
"brushname",
"The name of the brush to set as selected",
},
{ PDB_FLOAT,
"opacity",
"The initial opacity of the brush",
},
{ PDB_INT32,
"spacing",
"The initial spacing of the brush (if < 0 then use brush default spacing)",
},
{ PDB_INT32,
"initial paint mode",
"The initial paint mode: { NORMAL (0), DISSOLVE (1), BEHIND (2), MULTIPLY/BURN (3), SCREEN (4), OVERLAY (5) DIFFERENCE (6), ADDITION (7), SUBTRACT (8), DARKEN-ONLY (9), LIGHTEN-ONLY (10), HUE (11), SATURATION (12), COLOR (13), VALUE (14), DIVIDE/DODGE (15) }",
},
};
ProcRecord brushes_set_popup_proc =
{
"gimp_brushes_set_popup",
"Sets the current brush selection in a popup",
"Sets the current brush selection in a popup",
"Andy Thomas",
"Andy Thomas",
"1998",
PDB_INTERNAL,
/* Input arguments */
sizeof(brush_set_popup_in_args) / sizeof(brush_set_popup_in_args[0]),
brush_set_popup_in_args,
/* Output arguments */
0,
NULL,
/* Exec method */
{ { brush_set_popup_invoker } },
};
......@@ -21,7 +21,6 @@
#include <gtk/gtk.h>
#include "gimpbrush.h"
#include "procedural_db.h"
typedef struct _BrushSelect _BrushSelect, *BrushSelectP;
......@@ -94,10 +93,10 @@ void brushes_check_dialogs (void);
void brush_select_show_paint_options (BrushSelectP bsp,
gboolean show);
/* PDB entry */
extern ProcRecord brushes_popup_proc;
extern ProcRecord brushes_close_popup_proc;
extern ProcRecord brushes_set_popup_proc;
extern ProcRecord brushes_get_brush_data_proc;
/* List of active dialogs */
extern GSList *brush_active_dialogs;
/* The main brush dialog */
extern BrushSelectP brush_select_dialog;
#endif /* __BRUSH_SELECT_H__ */
/* The GIMP -- an image manipulation program
* Copyright (C) 1995-1999 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.
*/
/* NOTE: This file is autogenerated by pdbgen.pl. */
#include "procedural_db.h"
#include "brush_select.h"
#include "gimpbrushlist.h"
#include "paint_funcs.h"
static ProcRecord brushes_popup_proc;
static ProcRecord brushes_close_popup_proc;
static ProcRecord brushes_set_popup_proc;
void
register_brush_select_procs (void)
{
procedural_db_register (&brushes_popup_proc);
procedural_db_register (&brushes_close_popup_proc);
procedural_db_register (&brushes_set_popup_proc);
}
static BrushSelectP
brush_get_brushselect (gchar *name)
{
GSList *list = brush_active_dialogs;
BrushSelectP bsp;
while (list)
{
bsp = (BrushSelectP) list->data;
if (!strcmp (name, bsp->callback_name))
return bsp;
list = list->next;
}
return NULL;
}
static Argument *
brushes_popup_invoker (Argument *args)
{
gboolean success = TRUE;
gchar *name;
gchar *title;
gchar *brush;
gdouble opacity;
gint32 spacing;
gint32 paint_mode;
ProcRecord *prec;
BrushSelectP newdialog;
name = (gchar *) args[0].value.pdb_pointer;
if (name == NULL)
success = FALSE;
title = (gchar *) args[1].value.pdb_pointer;
if (title == NULL)
success = FALSE;
brush = (gchar *) args[2].value.pdb_pointer;
opacity = args[3].value.pdb_float;
spacing = args[4].value.pdb_int;
paint_mode = args[5].value.pdb_int;
if (paint_mode < NORMAL_MODE || paint_mode > DIVIDE_MODE)
success = FALSE;
if (success)
{
if ((prec = procedural_db_lookup (name)))
{
if (brush && strlen (brush))
newdialog = brush_select_new (title, brush, opacity, spacing,
paint_mode);
else
newdialog = brush_select_new (title, NULL, 0.0, 0, 0);
/* Add to list of proc to run when brush changes */
/* change_callbacks = g_list_append (change_callbacks, g_strdup (name)); */
newdialog->callback_name = g_strdup (name);
/* Add to active brush dialogs list */
brush_active_dialogs = g_slist_append (brush_active_dialogs, newdialog);
}
else
success = FALSE;
}
return procedural_db_return_args (&brushes_popup_proc, success);
}
static ProcArg brushes_popup_inargs[] =
{
{
PDB_STRING,
"brush_callback",
"The callback PDB proc to call when brush selection is made"
},
{
PDB_STRING,
"popup_title",
"Title to give the brush popup window"
},
{
PDB_STRING,
"initial_brush",
"The name of the brush to set as the first selected"
},
{
PDB_FLOAT,
"opacity",
"The initial opacity of the brush"
},
{
PDB_INT32,
"spacing",
"The initial spacing of the brush (if < 0 then use brush default spacing)"
},
{
PDB_INT32,
"paint_mode",
"The initial paint mode: { NORMAL (0), DISSOLVE (1), BEHIND (2), MULTIPLY/BURN (3), SCREEN (4), OVERLAY (5), DIFFERENCE (6), ADDITION (7), SUBTRACT (8), DARKEN-ONLY (9), LIGHTEN-ONLY (10), HUE (11), SATURATION (12), COLOR (13), VALUE (14), DIVIDE/DODGE (15) }"
}
};
static ProcRecord brushes_popup_proc =
{
"gimp_brushes_popup",
"Invokes the Gimp brush selection.",
"This procedure popups the brush selection dialog.",
"Andy Thomas",
"Andy Thomas",
"1998",
PDB_INTERNAL,
6,
brushes_popup_inargs,
0,
NULL,
{ { brushes_popup_invoker } }
};
static Argument *
brushes_close_popup_invoker (Argument *args)
{
gboolean success = TRUE;
gchar *name;
ProcRecord *prec;
BrushSelectP bsp;
name = (gchar *) args[0].value.pdb_pointer;
if (name == NULL)
success = FALSE;
if (success)
{
if ((prec = procedural_db_lookup (name)) &&
(bsp = brush_get_brushselect (name)))
{
brush_active_dialogs = g_slist_remove (brush_active_dialogs, bsp);
if (GTK_WIDGET_VISIBLE (bsp->shell))
gtk_widget_hide (bsp->shell);
/* Free memory if poping down dialog which is not the main one */
if (bsp != brush_select_dialog)
{
gtk_widget_destroy (bsp->shell);
brush_select_free (bsp);
}
}
else
success = FALSE;
}
return procedural_db_return_args (&brushes_close_popup_proc, success);
}
static ProcArg brushes_close_popup_inargs[] =
{
{
PDB_STRING,
"brush_callback",
"The name of the callback registered for this popup"
}
};
static ProcRecord brushes_close_popup_proc =
{
"gimp_brushes_close_popup",
"Popdown the Gimp brush selection.",
"This procedure closes an opened brush selection dialog.",
"Andy Thomas",
"Andy Thomas",
"1998",
PDB_INTERNAL,
1,
brushes_close_popup_inargs,
0,
NULL,
{ { brushes_close_popup_invoker } }
};
static Argument *
brushes_set_popup_invoker (Argument *args)