Commit Graph

30 Commits

Author SHA1 Message Date
Michael Natterer 96c1f754ba libgimp: remove a ton of deprecated API that is unused 2019-08-27 16:32:25 +02:00
Jehan e1e048a823 Issue #3852: Error compilation gimpimagecombobox MSYS2.
Seems underscored APIs are not visible on Win32. Anyway even if we fixed
this, this would only be temporary as all these deprecated APIs are only
meant to stay around temporarily, then be actually unavailable.

I hesitated to actually undeprecate the `_gimp_*_is_valid()` (like
making a `gimp_image_is_valid_id()` API for instance) but this is
actually quite similar to just create the GimpImage: if
gimp_image_get_by_id() returns NULL, then the ID was not valid.
2019-08-27 15:24:33 +02:00
Michael Natterer 0b3e02be10 libgimp: again, redo all APIs returning list of images, items, children
We now have both variants, one returning a GList, and another
returning an array. Turns out that while a list is often nicer,
sometimes a random-access array really keeps the code much simpler.

Adapt all plug-ins, and clean up a bit (like use g_list_reverse() once
instead of iterating the list reversed).
2019-08-27 13:26:27 +02:00
Jehan cfd30ec62a libgimp: s/gimp_image_new_by_id()/gimp_image_get_by_id()/
This means that images' ownership is not given to caller in particular.
libgimp will now keep a reference of all GimpImage-s it creates and
return this same reference if called again. It also means that you can
now compare images by pointer comparison (as 2 GimpImage objects
representing the same image ID will be equal).
Obviously as a side effect, gimp_image_list() is changed to (transfer
container) as you must only free the container now, not the elements.
Also various other functions creating new images are now (transfer none)
too.

Long-time plug-ins will have to be taken in consideration in a further
step (we currently never free GimpImage for destroyed images in
particular).
2019-08-22 15:54:36 +02:00
Jehan 75f8a3804d libgimp: nicer API for functions returning a list.
I.e.: gimp_image_get_(layers|channels|vectors)(), gimp_image_list() and
gimp_item_get_children().
Instead of returning an array of IDs, these will now return a GList with
the right objects ready to use.
2019-08-22 15:54:36 +02:00
Jehan 09f0530dab libgimp: update non-generated API to allow old and new API.
Same as previous commit: by default the new API will be used. But if a
plug-in builds with GIMP_DEPRECATED_REPLACE_NEW_API macro, then the same
function names will call the old API with ids.
2019-08-22 15:54:36 +02:00
Jehan 688c3230d0 libgimp: create and use gimp_image_new_by_id().
Simpler than using g_object_new() in a bunch of places.
2019-08-22 15:54:36 +02:00
Jehan bb72504ea9 libgimp: change all non-generated API to use GimpImage.
We shouldn't pass as parameter nor return gint32 anymore.
2019-08-22 15:54:36 +02:00
Michael Natterer c6bcb3114f libgimp: add GDestroyNotify for image and item combo box data 2019-08-07 23:16:25 +02:00
Niels De Graef 1dda60154c Use "Returns:" to annotate return values
To be able to annotate return values through GObject-introspection, you
need to make sure it is tagged with `Returns:` and not something else.
2019-08-03 07:53:47 +00:00
Michael Natterer 5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Michael Natterer 8005eea835 Remove the "GIMP" from all "Since: GIMP 2.x" API doc comments
because it confuses gtk-doc and breaks some links. Also change the
"Index of new symbols in GIMP 2.x" sections to be what seems to be the
modern standard (looked at the GLib and GTK+ docs), and update some
other stuff.
2015-05-31 21:18:09 +02:00
Michael Natterer ec9879ea6e libgimp: also include <gegl.h> when we include "libgimpwidgets/gimpwidgets.h" 2013-11-01 22:29:46 +01:00
Michael Natterer 4aaaa1a7fa Bug 378334 - Plugins with image drop-list crash when image is closed
Let image and item combo boxes connect to their own "changed" signal
first, and if the chosen image/item doesn't exist any longer,
reinitialize the combo box and select the first item instead.

Also fixes the type macros in gimpitemcombobox.h which were lacking a
')' and introduces an internal GimpItemComboBox class to hold the
common functionality.
2012-10-08 22:01:30 +02:00
Michael Natterer c78e4c8d63 libgimp: move docs from template files to inline comments
Also split up the "tools" docs into separate files so it matches
the new autogenerated PDB section headers.
2010-07-07 11:48:10 +02:00
Michael Natterer 8becbc6568 libgimp/gimpbrushselectbutton.c libgimp/gimpexport.c
2009-03-22  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimpbrushselectbutton.c
	* libgimp/gimpexport.c
	* libgimp/gimpfontselectbutton.c
	* libgimp/gimpgradientselectbutton.c
	* libgimp/gimpimagecombobox.c
	* libgimp/gimpitemcombobox.c
	* libgimp/gimppaletteselectbutton.c
	* libgimp/gimppatternselectbutton.c
	* libgimp/gimpprogressbar.c
	* libgimp/gimpui.c
	* libgimp/gimpzoompreview.c
	* tools/test-clipboard.c: use accessors for various members of
	GTK+ structures that don't exist any longer when GSEAL_ENABLE is
	defined.


svn path=/trunk/; revision=28191
2009-03-22 15:49:13 +00:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
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
2009-01-17 22:28:01 +00:00
Sven Neumann 6ebcf700d1 removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15  Sven Neumann  <sven@gimp.org>

	* app/*/*.c:
	* lib*/*.c: removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15 09:46:31 +00:00
Sven Neumann 990ee2074a libgimp/gimpbrushmenu.c libgimp/gimpdrawablecombobox.c
2005-08-03  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpbrushmenu.c
	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpfontselectbutton.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimpimagecombobox.c
	* libgimp/gimppalettemenu.c
	* libgimp/gimppatternmenu.c: fixed signedness warnings.
2005-08-02 22:15:33 +00:00
Michael Natterer c1c876a963 Some DND fixes / cleanup:
2005-07-25  Michael Natterer  <mitch@gimp.org>

	Some DND fixes / cleanup:

	* app/widgets/widgets-enums.h: renamed GIMP_DND_TYPE_TOOL to
	GIMP_DND_TYPE_TOOL_INFO.

	* app/widgets/gimpselectiondata.[ch]: s/tool/tool_info/g. Moved
	private functions to the end of the file. Include GIMP's PID in
	all GtkSelectionData strings which are used to pass around stuff
	by reference. For things which are referenced by name, also encode
	the object's address in the GtkSelectionData so having a brush
	called "Standard" or a named buffer called "Global Buffer" will
	work together with DND.

	* app/widgets/gimpdnd.[ch]: s/tool/tool_info/g. Renamed
	gimp_dnd_get_data_data() to gimp_dnd_get_object_data() since it's
	not limited to GimpData objects. Follow above selection data API
	changes. Cleanup.

	* libgimp/gimpbrushmenu.c
	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpfontselectbutton.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimpimagecombobox.c
	* libgimp/gimppalettemenu.c
	* libgimp/gimppatternmenu.c: follow GtkSelectionData format change
	and check the dropped things' PID against the return value of
	gimp_getpid().
2005-07-25 13:53:00 +00:00
Manish Singh 24b3e080f6 whitespace fix.
2005-06-03  Manish Singh  <yosh@gimp.org>

        * libgimpcolor/gimprgb.h: whitespace fix.

        * libgimpwidgets/gimpchainbutton.h
        * libgimpwidgets/gimpwidgetsenums.[ch]: move GimpChainPosition
        to a registered enum, and register GimpSizeEntryUpdatePolicy as
        as well.

        * libgimp/gimpuitypes.h
        * libgimp/gimpdrawablecombobox.[ch]: turn these into GObjects
        with their own types.

        * libgimp/gimpimagecombobox.c: use G_DEFINE_TYPE.
2005-06-03 23:38:45 +00:00
Manish Singh 2ce8e34c0a libgimp/gimpuitypes.h turn this into a GObject with its own type.
2005-05-28  Manish Singh  <yosh@gimp.org>

        * libgimp/gimpuitypes.h
        * libgimp/gimpimagecombobox.[ch]: turn this into a GObject with its
        own type.
2005-05-28 23:08:07 +00:00
Sven Neumann bf8759df06 libgimp/gimpdrawablecombobox.c accept DND of image / drawable IDs.
2005-03-26  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpimagecombobox.c: accept DND of image / drawable IDs.
2005-03-26 14:05:03 +00:00
Sven Neumann fd308340d4 libgimp/gimpdrawablecombobox.c set a width request on the combo boxes.
2005-03-03  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpimagecombobox.c: set a width request on the combo boxes.

	* plug-ins/common/bumpmap.c (SCALE_WIDTH): set a minimum width on
	the scales.
2005-03-03 00:06:28 +00:00
Sven Neumann de69e05da3 added an "ellipsize" construct property and changed the default behaviour
2005-02-27  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpintcombobox.c: added an "ellipsize" construct
	property and changed the default behaviour back to not doing
	ellipsation on the text.

	* libgimp/gimpimagecombobox.c
	* libgimp/gimpdrawablecombobox.c: set "ellipsize" to middle for
	drawable and image combo boxes.
2005-02-27 19:41:42 +00:00
Sven Neumann 449b0f1ff2 libgimp/gimpdrawablecombobox.c changed the API docs to suggest to use
2004-10-28  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpimagecombobox.c: changed the API docs to suggest to
	use gimp_int_combo_box_connect() with these widgets. We don't want
	more people to be caught by bug #156659.
2004-10-28 20:58:16 +00:00
Sven Neumann 52a42769e2 automatically add an "(Empty)" item if the store is empty and remove it as
2004-04-22  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpintstore.[ch]: automatically add an "(Empty)"
	item if the store is empty and remove it as soon as other items
	are being added.

	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpimagecombobox.c: removed handling of the empty list;
	the store does this for us now.
2004-04-22 15:25:01 +00:00
Sven Neumann 36dc39becb libgimp/gimpdrawablecombobox.c libgimp/gimpimagecombobox.c changed the
2004-04-21  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpimagecombobox.c
	* libgimp/gimpmenu.c: changed the label for the empty menu from
	"None" to "Empty" since that's what GTK+ uses.

	* libgimpwidgets/gimpintcombobox.[ch]: added convenience function
	gimp_int_combo_box_connect().

	* plug-ins/common/bumpmap.c
	* plug-ins/common/compose.c
	* plug-ins/common/depthmerge.c
	* plug-ins/common/displace.c
	* plug-ins/common/lic.c
	* plug-ins/common/warp.c: ported to GimpDrawableComboBox.

	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/sample_colorize.c: use
	gimp_int_combo_box_connect(). This restores the correct behaviour
	of setting the drawable_ID to the first drawable from the list if
	it's invalid.
2004-04-21 16:50:13 +00:00
Sven Neumann c15dc68d2a libgimp/gimpdrawablecombobox.c libgimp/gimpimagecombobox.c
2004-04-21  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpimagecombobox.c
	* libgimp/gimppixbuf.c
	* libgimpwidgets/gimpintcombobox.c
	* libgimpwidgets/gimpintstore.c: API documentation.
2004-04-21 11:51:21 +00:00
Sven Neumann f4b2b3c146 libgimp/Makefile.am libgimp/gimpui.h new file that holds pixbuf accessors
2004-04-21  Sven Neumann  <sven@gimp.org>

	* libgimp/Makefile.am
	* libgimp/gimpui.h
	* libgimp/gimppixbuf.[ch]: new file that holds pixbuf accessors
	to gimp data (drawable and image thumbnails for now).

	* libgimp/gimpdrawablecombobox.[ch]
	* libgimp/gimpimagecombobox.[ch]: new files with GimpIntComboBox
	constructors for image, drawable, channel and layer menus.

	* plug-ins/script-fu/script-fu-scripts.c: use the new functions
	instead of the gimpmenu API that is about to be deprecated.
2004-04-20 22:14:49 +00:00