The invasion extended to some core widgets too, in particular GimpColorPanel (a
subclass of GimpColorButton). There was quite a lot of code depending on these
widgets.
- app: gimp_context_get_(foreground|background)() are now returning a GeglColor.
- libgimp: PDB functions named similarly in libgimp are returning a newly
allocated GeglColor too.
- A few other PDB functions (the ones using these functions) were updated and
their signature changed to use GeglColor too, when relevant. Plug-ins which
use any of the changed libgimp functions were fixed.
- GimpContext: signals "(foreground|background)-changed" are now passing a
GeglColor.
- libgimpconfig: new macro GIMP_CONFIG_PROP_COLOR using gegl_param_spec_color().
- GimpContext: properties "foreground" and "background" are now GeglParamColor
properties.
- app: All code interacting with GimpContext objects were updated to receive a
GeglColor (that they may still convert, or no, to GimpRGB for now).
- app: gimp_prop_gegl_color_button_new() was added as an alternative to
gimp_prop_color_button_new() when the property is a GeglParamColor. Eventually
the former should replace completely the latter.
- libgimpwidgets: gimp_prop_color_area_new() now works on GeglParamColor
properties only.
- libgimp: gimp_procedure_dialog_get_widget() will generate a GimpColorArea for
GeglTypeParamColor arguments.
Also the color is internally stored as GeglColor, though there are still get
APIs and signals using GimpRGB.
The equivalent PDB functions are also changed to use GeglColor, same as app/
functions.
This name was really irking me because it's not a button (anymore? Maybe it used
to be just a button). Depending on the specific widget, it will have several
sub-widgets, including a label. And it can theoretically even be something else
than a button.
So let's just rename these widgets with the more generic "chooser" name.
Much like for images and items. Change the PDB to transmit IDs
instead of names for brush, pattern etc. and refactor a whole
lot of libgimp code to deal with it.
modified: libgimp/gimpplugin-private.h
Simplifies chooser widgets (e.g. GimpBrushSelect) by eliminating attributes (e.g. opacity) of chosen resource.
See #8745, but this commit fixes that by first refactoring the code.
Refactors GUI widgets (e.g. GimpBrushSelectButton and GimpBrushSelect etc.)
Refactor by "Extract class" GimpResourceSelectButton from GimpBrushSelectButton etc.
This moves common code into an inherited class (formerly called GimpSelectButton)
but the subclasses still exist.
The subclasses mainly just do drawing now.
Refactor by "Extract module" GimpResourceSelect from GimpBrushSelect etc.
Moves common code into one file, generic at runtime on type of GimpResource,
that is, the new code dispatches on type i.e. switch statements.
In the future, when core is changed some of that can be deleted.
The files gimpbrushselect.[c,h] etc. are deleted.
The module adapts the API from core to the API of callbacks to libgimp.
Note that core is running the resource chooser (select) widgets remotely.
Core is still calling back over the wire via PDB with more attributes
than necessary.
The new design gets the attributes from the resource themselves,
instead of receiving them from core callback.
The libgimp side adapts by discarding unneeded attributes.
In the future, core (running choosers for plugins) can be simplified also.
Fix gimp_prop_chooser_brush_new same as other resources.
Finish changes, and clean style.
Annotations
So procedures can declare args and GimpProcedureDialog show chooser
widgets
Fix so is no error dialog on id_is_valid for resources
Palette.pdb changes and testing
Memory mgt changes
Gradient pdb
Font and Pattern tests
Test brush, palette
Cleanup, remove generator
Rebase, edit docs, install test-dialog.py
Whitespace, and fix failed distcheck
Fix some clang-format, fix fail distcheck
Fix distcheck
Cleanup from review Jehan
with proper value names. Mark most values as _BROKEN because they use
weird alpha compositing that has to die. Move GimpLayerModeEffects to
libgimpbase, deprecate it, and set it as compat enum for GimpLayerMode.
Add the GimpLayerModeEffects values as compat constants to script-fu
and pygimp.
and avoid a warning in a useless (but not unreachable)
code path
and do not dereference a NULL pointer when a style name
includes a white space (ex. "default style")
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-09-04 Michael Natterer <mitch@gimp.org>
* plug-ins/gfig/gfig-dobject.h
* plug-ins/gfig/gfig-style.c: some more const.
svn path=/trunk/; revision=26860
2007-05-31 Mukund Sivaraman <muks@mukund.org>
* plug-ins/gfig/gfig-style.c: Specify maximum field width in
sscanf() to avoid buffer overflows.
svn path=/trunk/; revision=22680
2007-05-30 Mukund Sivaraman <muks@mukund.org>
* plug-ins/gfig/gfig-style.c: Use a macro for size of style text
entries array.
svn path=/trunk/; revision=22677
2007-05-30 Mukund Sivaraman <muks@mukund.org>
* plug-ins/gfig/gfig-style.c: Check and handle case where number of
style items read can overflow the buffer.
svn path=/trunk/; revision=22671
2007-05-30 Mukund Sivaraman <muks@mukund.org>
* plug-ins/gfig/gfig-style.c: Replaced use of g_new()+strcpy() with
g_strdup().
svn path=/trunk/; revision=22670
2007-04-12 Sven Neumann <sven@gimp.org>
* plug-ins/common/channel_mixer.c
* plug-ins/gfig/gfig-style.c: get rid of compiler warnings about
dereferencing type-punned pointers.
svn path=/trunk/; revision=22239
2006-06-25 Manish Singh <yosh@gimp.org>
* libgimp/gimpuitypes.h
* libgimp/gimpselectbutton.[ch]: abstract class for resource selection
buttons.
* libgimp/gimpfontselectbutton.[ch]: derive from GimpSelectButton.
* libgimp/gimpbrushselectbutton.[ch]
* libgimp/gimpgradientselectbutton.[ch]
* libgimp/gimppaletteselectbutton.[ch]
* libgimp/gimppatternselectbutton.[ch]: replacements for
gimp_foo_select widgets, akin to GimpFontSelectButton.
* libgimp/gimpbrushmenu.[ch]
* libgimp/gimpgradientmenu.[ch]
* libgimp/gimppalettemenu.[ch]
* libgimp/gimppatternmenu.[ch]: deprecate old API, and reimplement
in terms of GimpFooSelectButton.
* libgimp/gimpfontmenu.[ch]: change to use the GimpSelectButton API.
* libgimp/gimpuimarshal.list: new marshallers for the above new
widgets.
* libgimp/gimpui.h: add new headers.
* libgimp/Makefile.am: add new files.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gfig/gfig-dialog.c
* plug-ins/gfig/gfig-style.[ch]
* plug-ins/script-fu/script-fu-interface.c: use new API.
* plug-ins/gfig/gfig-dialog.c: issue a repaint after the
"show previous", "show next" and "show all" callbacks.
* plug-ins/gfig/gfig-style.c: fixed some comments.
* plug-ins/gfig/gfig-style.c
* plug-ins/gfig/gfig-style.h: create a new function to get the current
style instead of using a global pointer for this
(gfig_context_get_current_style ())
* plug-ins/gfig/gfig-circle.c
* plug-ins/gfig/gfig-dialog.c
* plug-ins/gfig/gfig-dobject.c
* plug-ins/gfig/gfig.h: use this function everywhere it is needed. And
remove the current_style field from GfigContext.
(unrelated):
* plug-ins/FractalExplorer/Dialogs.h
* plug-ins/FractalExplorer/FractalExplorer.c: small cleanups
* plug-ins/gfig/gfig-dialog.c: correctly initializes the paint_type
field of the default style.
* plug-ins/gfig/gfig-style.c: don't print an useless error message
where no-one can see it when loading an other with no style but use
the default style instead.
2004-11-28 Sven Neumann <sven@gimp.org>
* plug-ins/gfig/gfig-dialog.[ch]
* plug-ins/gfig/gfig-dobject.c: moved Undo and Clear to the Edit
menu. Added a utility function to set the sensitivity of an action
by name. Cleaned up action callback.
* plug-ins/gfig/gfig-style.c: minor cleanup.
* plug-ins/gfig/gfig-arc.c
* plug-ins/gfig/gfig-bezier.c
* plug-ins/gfig/gfig-circle.c
* plug-ins/gfig/gfig-dialog.c
* plug-ins/gfig/gfig-ellipse.c
* plug-ins/gfig/gfig-line.c
* plug-ins/gfig/gfig-poly.c
* plug-ins/gfig/gfig-spiral.c
* plug-ins/gfig/gfig-star.c
* plug-ins/gfig/gfig-style.c
* plug-ins/gfig/gfig-style.h
* plug-ins/gfig/gfig-types.h
* plug-ins/gfig/gfig.h: added a toggle so we can now choose to stroke
the painting or not.
* plug-ins/gfig/gfig-dobject.c
* plug-ins/gfig/gfig-style.c: fixed some annoying popup messages at
the price of a smallish mem-leak that I will fix later.
* plug-ins/gfig/gfig-dialog.c
* plug-ins/gfig/gfig-line.c
* plug-ins/gfig/gfig-line.h
* plug-ins/gfig/gfig-poly.c
* plug-ins/gfig/gfig-preview.c
* plug-ins/gfig/gfig-star.c
* plug-ins/gfig/gfig-style.c
* plug-ins/gfig/gfig-style.h: some more cleanups and UI tweaks. Still
work in progress.
* plug-ins/gfig/pix-data.h: removed this empty, unused file.
2004-10-06 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/brush.pdb: return the mask's bpp and the
brush's pixmap data if it has one.
* tools/pdbgen/pdb/pattern.pdb: cleaned up.
* tools/pdbgen/pdb/image.pdb: added $deprecated = 1 to deprecated
functions even if they are not exported to libgimp any more.
* app/pdb/procedural_db.h (struct ProcRecord): added member
"gboolean deprecated".
* tools/pdbgen/app.pl
* app/xcf/xcf.c: fill it accordingly.
* app/plug-in/plug-in-message.c (plug_in_handle_proc_run): warn
not only for deprecated procedured which are in the compat hach
table, but also for procedures with deprecated flag set to TRUE.
* app/pdb/*_cmds.c
* libgimp/gimpbrush_pdb.[ch]
* libgimp/gimppattern_pdb.[ch]: regenerated.
* libgimp/gimpbrushmenu.c
* plug-ins/gfig/gfig-style.c: changed accordingly.
2004-09-23 Michael Natterer <mitch@gimp.org>
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palettes.pdb
* tools/pdbgen/pdb/patterns.pdb: removed the foos_set_foo()
procedures and marked the foos_set_foo() ones as deprecated. For
brushes, patterns and palettes, added foos_get_foo_info()
procedures which work like foos_get_foo_data() but return just the
properties, not the actual data. Allow NULL or "" to be passed
as name to all functions (use the current brush, pattern etc.
in this case).
* tools/pdbgen/pdb/fonts.pdb: cleanup.
* app/pdb/procedural_db.c: added the removed ones to the compat
hash table.
* libgimp/Makefile.am
* libgimp/gimpbrushes.[ch]
* libgimp/gimpgradients.[ch]
* libgimp/gimppalettes.[ch]
* libgimp/gimppatterns.[ch]: new files with compat functions
wich call the resp. gimp_context_*() functions.
* libgimp/gimp.h: changed accordingly.
* app/pdb/brushes_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/internal_procs.c
* app/pdb/palettes_cmds.c
* app/pdb/patterns_cmds.c
* libgimp/gimpbrushes_pdb.[ch]
* libgimp/gimpgradients_pdb.[ch]
* libgimp/gimppalettes_pdb.[ch]
* libgimp/gimppatterns_pdb.[ch]: regenerated.
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/gfig/gfig-dialog.c
* plug-ins/gfig/gfig-style.[ch]
* plug-ins/gflare/gflare.c: changed accordingly.
2004-07-12 Sven Neumann <sven@gimp.org>
* plug-ins/gfig/gfig-dialog.c
* plug-ins/gfig/gfig-preview.c
* plug-ins/gfig/gfig-style.c
* plug-ins/gfig/gfig.c: some include cleanups. Use
libgimpbase/gimpwin32-io.h instead of defining W_OK explicitely.
Don't undef GTK_DISABLE_DEPRECATED except for gfig-preview.c.
* gimp/plug-ins/gfig/gfig-circle.c
* gimp/plug-ins/gfig/gfig-dialog.c
* gimp/plug-ins/gfig/gfig-dobject.c
* gimp/plug-ins/gfig/gfig-ellipse.c
* gimp/plug-ins/gfig/gfig-poly.c
* gimp/plug-ins/gfig/gfig-preview.c
* gimp/plug-ins/gfig/gfig-star.c
* gimp/plug-ins/gfig/gfig-style.c
* gimp/plug-ins/gfig/gfig-style.h
* gimp/plug-ins/gfig/gfig.c
* gimp/plug-ins/gfig/gfig.h: Made FG, BG, and pattern fill work for
fillable objects; other miscellaneous cleanups and minor fixes.
* plug-ins/gfig/*.[ch]: Use single centralized functions to
create, load, and save objects, instead of separate functions
for each type of object. A few other miscellaneous fixes.
* plug-ins/gfig/*.[ch]: a bunch of code clean-up and
debugging. Created "classes" for the objects, and
attached functions to classes rather than objects.