Commit Graph

38 Commits

Author SHA1 Message Date
Alx Sa 438bc4f229 libgimp, libgimpmodule, libgimpwidgets: Port more widgets to derivable type 2024-08-03 02:48:07 +00:00
Jehan 955dd922a7 libgimpwidgets: new gimp_int_store_new_array().
Because the variable argument list variants of the function won't work in
binding. This makes creating GimpIntStore easy.
2023-01-10 17:48:05 +01:00
Niels De Graef 842dc7535f gir: (skip) functions with varargs
Bindings can't handle these, so they are not introspectable.
2020-05-21 13:49:38 +02:00
Niels De Graef 4f46c9298e gimpintstore: Mark iter (out) annotations 2020-05-08 21:14:35 +02:00
Michael Natterer c287fb6239 libgimpwidgets: reorder enum GimpIntStoreColumns
so LABEL and ABBREV are next to each other.
2019-11-19 21:06:05 +01:00
Michael Natterer e80c90e17d libgimpwidgets: change gimp_int_store_new()'s signature
to match gimp_int_combo_box_new(), and add gimp_int_store_new_valist().

Move the va_list of (name, value) parsing code to
gimp_int_store_new_valist() and use it from
gimp_int_combo_box_new_valist().

This makes the entire GimpIntStore/GimpIntComboBox stuff useable much
more generically for the price of an incompatible change of a public
function that is used exactly once outside of libgimpwidgets.
2019-09-24 00:20:47 +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 63695b4b21 libgimbase: merge gimpparam.h into gimpparamspecs.h
which means that it's now included normally via gimpbase.h
and not any longer via gimpbasetypes.h which we only did out
of lazyness. A *lot* of files in libgimp* and app/ now need to
2019-07-31 10:16:21 +02:00
Ell 3b0040c043 app, libgimp*, modules: don't use g_type_class_add_private() ...
... and G_TYPE_INSTANCE_GET_PRIVATE()

g_type_class_add_private() and G_TYPE_INSTANCE_GET_PRIVATE() were
deprecated in GLib 2.58.  Instead, use
G_DEFINE_[ABSTRACT_]TYPE_WITH_PRIVATE(), and
G_ADD_PRIVATE[_DYNAMIC](), and the implictly-defined
foo_get_instance_private() functions, all of which are available in
the GLib versions we depend on.

This commit only covers types registered using one of the
G_DEFINE_FOO() macros (i.e., most types), but not types with a
custom registration function, of which we still have a few -- GLib
currently only provides a (non-deprecated) public API for adding a
private struct using the G_DEFINE_FOO() macros.

Note that this commit was 99% auto-generated (because I'm not
*that* crazy :), so if there are any style mismatches... we'll have
to live with them for now.
2018-09-18 14:39:56 -04: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 677c2bb8d0 libgimpwidgets: move public GimpIntStore member to private 2018-05-20 21:06:33 +02:00
Michael Natterer f4f106ad26 libimp*: add private pointers to all instance structs
even if we don't have private members (yet). Also make class padding 8
pointers in all headers. This commit moves nothing to private, it just
makes all headers consistent and adjusts .c files accordigly.
2018-05-20 21:06:33 +02:00
Ell 684c850196 libgimpwidgets: add ABBREV column to GimpIntStore
... which holds an abbreviated label, or NULL to use the normal
label.
2017-11-30 03:10:14 -05:00
Michael Natterer f9ee38ea33 libgimp: add blurbs to all object properties for the docs
and some minor doc fixes.
2017-06-06 21:19:17 +02:00
Jehan 1f4839288e Bug 648776 - fixes symmetry painting after Massimo and Mitch's reviews.
Use a GType for the PROP_SYMMETRY property of GimpImage, and create
a default "identity" symmetry for an image.
I still use a GimpIntComboBox but store the property value in the
user-data column because gpointer isn't a subset of gint.
Adds in libgimpwidgets:
- gimp_int_combo_box_set_active_by_user_data()
- gimp_int_combo_box_get_active_user_data()
- gimp_int_store_lookup_by_user_data()
- gimp_prop_pointer_combo_box_new() to create a GimpIntComboBox and
  attach it to a gpointer property.
Thanks Massimo and Mitch for reviewing my code.
2016-02-02 21:15:13 +01: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 7cbb04c0f9 libgimpwidgets: don't leak the empty_iter in GimpIntStore 2014-10-06 20:31:51 +02:00
Michael Natterer 79bd9c60de libgimpwidgets: mostly port from stock IDs to icon names
Add some new API and deprecate old one.
2014-05-07 21:32:09 +02:00
Michael Natterer 908f727f0a Chain up unconditionally in GObject::constructed()
It's supported since GLib 2.28.
2012-11-12 21:51:22 +01:00
Michael Natterer fe19ad9706 Bug 683694 - Spelling errors
Reworded all places that used to say "allows to".
2012-11-11 15:50:25 +01:00
Michael Natterer 85ea7771d5 libgimpwidgets: make GimpIntStore behave a bit nicer (don't warn)
when used in "unexpected" ways. Where "unexpected" is as simple as
removing an item from the store.
2012-10-08 21:32:59 +02:00
Michael Natterer 989ac15a97 Bug 659348 - Provide a translation comment for "Empty" 2011-09-23 22:45:32 +02:00
Michael Natterer 8d2d16ac25 libgimp*: implement GObject::constructed() instead of ::constructor() 2011-01-12 22:03:33 +01:00
Michael Natterer 1f7ff98c45 libgimpwidgets: move docs from template files to inline comments
but leave the template file for gimpstock there because its contents
would be too much for gimpstock.h.
2010-07-05 18:01:28 +02: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 410a6ffabd plugged a memory leak.
2007-11-15  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpselectionoptions.c (gimp_selection_options_gui):
	plugged a memory leak.

	* libgimpwidgets/gimpintstore.c (gimp_int_store_add_empty):
	initialize the iter to avoid using uninitialized memory.


svn path=/trunk/; revision=24169
2007-11-15 20:23:27 +00:00
Michael Natterer 22188fba45 if we free the iter with gtk_tree_iter_free() we must also allocate it
2007-05-18  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpintstore.c (gimp_int_store_add_empty): if we
	free the iter with gtk_tree_iter_free() we must also allocate it
	with gtk_tree_iter_copy() or gslice will explode.


svn path=/trunk/; revision=22532
2007-05-18 10:37:00 +00:00
Sven Neumann 5bf710beec configure.in depend on glib >= 2.12.3.
2007-01-12  Sven Neumann  <sven@gimp.org>

	* configure.in
	* app/sanity.c: depend on glib >= 2.12.3.

	* HACKING: updated branches.

	* libgimpwidgets/gimpintstore.c: added a construct-only property
	that allows to specify the GType of the user-data column.


svn path=/trunk/; revision=21692
2007-01-12 13:48:30 +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 f2df31a50e converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* libgimp*/gimp*.[ch]: converted tabs to spaces.
2006-04-12 10:53:28 +00:00
Michael Natterer 33ae55f873 libgimp/*.c libgimpconfig/*.c libgimpmodule/*.c libgimpthumb/*.c port to
2005-12-20  Michael Natterer  <mitch@gimp.org>

	* libgimp/*.c
	* libgimpconfig/*.c
	* libgimpmodule/*.c
	* libgimpthumb/*.c
	* libgimpwidgets/*.c: port to G_DEFINE_TYPE() and friends. Some
	related cleanup.
2005-12-20 20:35:23 +00:00
Sven Neumann 771d5459ba removed the "row_deleted" handler which used to take care of reinserting
2005-04-22  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpintstore.c: removed the "row_deleted" handler
	which used to take care of reinserting the "Empty" item when the
	last row gets deleted. This doesn't work any longer with GTK+ 2.6
	and I see now way to make it work again. Fixes bug #301524.
2005-04-21 23:49:47 +00:00
Sven Neumann 7961719353 libgimpwidgets/gimpintstore.c please the overly pedantic IRIX MIPSpro
2004-11-11  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpintstore.c
	* app/vectors/gimpvectors-import.c: please the overly pedantic
	IRIX MIPSpro compiler and don't initialize structs with
	non-constant values.
2004-11-10 23:50:10 +00:00
Michael Natterer c912a954f3 allocate the empty_iter using g_new0(). Fixes valgrind warnings about
2004-08-05  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpintstore.c (gimp_int_store_add_empty):
	allocate the empty_iter using g_new0(). Fixes valgrind warnings
	about reads from uninitialized memory.
2004-08-05 12:13:02 +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 8abf38f7d9 use the same label as in the new combo_box widgets.
2004-04-21  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpmenu.c (gimp_menu_add_none): use the same label as
	in the new combo_box widgets.

	* libgimpwidgets/gimpintcombobox.[ch]
	* libgimpwidgets/gimpintstore.[ch]: use LibGIMP copyright headers.
2004-04-21 12:14:01 +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 5766718d6f libgimpwidgets/Makefile.am libgimpwidgets/gimpwidgets.h
2004-04-20  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetstypes.h
	* libgimpwidgets/gimpintstore.[ch]: added a GimpIntStore, derived
	from GtkListStore, to be used by GimpIntComboBox and also by the
	image and drawable menus.

	* libgimpwidgets/gimpintcombobox.c: use the new GimpIntStore.

	* app/widgets/gimpenumstore.[ch]: derive from GimpIntStore,
	removed API that is provided by the parent class.

	* app/widgets/gimpenumcombobox.[ch]: derive from GimpIntComboBox,
	removed API that is provided by the parent class.

	* app/gui/resize-dialog.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpstrokeeditor.c: changed accordingly.
2004-04-20 19:06:37 +00:00