Commit graph

25 commits

Author SHA1 Message Date
Jehan
5f4464445f libgimp*: keep 10 reserved spots for future virtual functions in every derivable class.
Hopefully this should be enough to add new features in the future
without breaking ABI, at least until GIMP 4!
2024-11-01 17:22:07 +01:00
Alx Sa
74e7e16ec3 libgimpwidgets: Convert widgets to final/derived type
This patch converts libgimpwidgets with
no signals to be final or derived types.
The remaining widgets will be converted
in a subsequent patch.
2024-07-29 01:51:38 +00:00
Niels De Graef
83d6764e0e gir: Add (closure) tags 2020-05-04 21:31:30 +02:00
Michael Natterer
169f98f915 libgimpwidgets: add GDestroyNotify to gimp_int_combo_box_connect() 2019-08-08 00:22:15 +02: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
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
Michael Natterer
88ac850834 libgimpwidgets: move padding members from instance to class struct 2018-05-20 21:06:28 +02:00
Ell
8e51e7c351 libgimpwidgets: fix return type of gimp_int_combo_box_get_layout()
... and a small cleanup.
2017-12-01 05:12:42 -05:00
Ell
47ac6111de libgimpwidgets: add "layout" property to GimpIntComboBox
The "layout" proerty controls the combo-box layout (but not its
menu layout), and can be one of:

  - ICON_ONLY:  Only show icons.

  - ABBREVIATED:  Show icons and abbreviated labels (or full
    labels, when there is no abbreviation).

  - FULL:  Show icons and full labels.  Default.

Avoid reconstructing the combo's cell-layout when the menu is
shown/hidden, by maintaining the combo's cell-layout and the menu's
cell-layout separately (probably a terrible hack, but one we already
use :P).
2017-11-30 03:10:14 -05: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
418a310f36 libgimpwidgets: add a "label" property and API to GimpIntComboBox
If set, the label is displayed left-aligned inside the combo box, and
the normal content moves to the right. Reconfigure the combo's
contents when the popup is shown/hidden, so the popup widget is not
affected by the label. This requires an evil hack because of a bug in
GtkCellView. The hack automatically disables itself once GTK+ 2.24.19
(which has a fix) is used.
2013-06-03 16:36:25 +02:00
Michael Natterer
844df2b4df libgimp*: add guards that #error out if individual files are included
This only helps to maintain proper includes in app/ and shouldn't
affect plug-ins at all, because these are supposed to only include the
main headers from libgimp/ since the beginning of time.

The gimpfootypes.h files do not have these guards, so we can continue
to maintain app/'s include policy that is very likely to error out if
wrong things are included.
2011-04-28 14:30:41 +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
Michael Natterer
598da617b0 Stop including single headers from gtk+ to be prepared for the upcoming
2008-05-23  Michael Natterer  <mitch@gimp.org>

	Stop including single headers from gtk+ to be prepared
	for the upcoming GTK_DISABLE_SINGLE_INCLUDES:

	* configure.in: add -DGTK_DISABLE_SINGLE_INCLUDES to CPPFLAGS.

	* app/display/gimpcanvas.h
	* app/display/gimpscalecombobox.h
	* app/display/gimpstatusbar.h
	* app/widgets/*.h
	* libgimp/gimpprogressbar.h
	* libgimp/gimpselectbutton.h
	* libgimpwidgets/*.h
	* libgimpwidgets/gimpstock.c
	* plug-ins/uri/gimpmountoperation.h: remove inclusion of parent
	classes and single files from gtk+.

	* app/widgets/gtkwrapbox.h
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpfontmenu.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimppalettemenu.c
	* libgimp/gimppatternmenu.c
	* libgimp/gimpselectbutton.c: #include <gtk/gtk.h>

	* plug-ins/common/poppler.c: undef GTK_DISABLE_SINGLE_INCLUDES
	when including <poppler.h>.


svn path=/trunk/; revision=25781
2008-05-23 20:38:52 +00:00
Sven Neumann
b614bf5e85 libgimpwidgets/gimpintcombobox.[ch] libgimpwidgets/gimppageselector.[ch]
2006-01-25  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpintcombobox.[ch]
	* libgimpwidgets/gimppageselector.[ch]
	* libgimpwidgets/gimpzoommodel.[ch]: added a priv pointer to the
	instance struct and changed the GET_PRIVATE() macro to access the
	private data via that pointer.

	* libgimpwidgets/gimpscrolledpreview.[ch]
	* libgimpwidgets/gimpwidgets.def: added a priv pointer to the
	instance struct and moved all private data to the
	GimpScrolledPreviewPrivate struct. Added freeze/thaw methods so
	that derived widgets can be implemented without accessing private
	data.

	* libgimp/gimpzoompreview.c: changed accordingly.

	* libgimp/gimpfontselectbutton.[ch]: let the priv pointer be an
	anonymous void pointer.
2006-01-25 14:35:56 +00:00
Sven Neumann
aa94434f52 libgimp/gimpprocbrowserdialog.h libgimpwidgets/gimpbrowser.h
2005-09-27  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpprocbrowserdialog.h
	* libgimpwidgets/gimpbrowser.h
	* libgimpwidgets/gimpdialog.h
	* libgimpwidgets/gimpintcombobox.h
	* libgimpwidgets/gimpoldwidgets.h
	* libgimpwidgets/gimpwidgets.h: use G_GNUC_NULL_TERMINATED where
	appropriate.

	* libgimp/gimpprocbrowserdialog.c
	* libgimpwidgets/gimpbrowser.c: added missing API docs.
2005-09-27 17:11:01 +00:00
Sven Neumann
b23b035062 added new constructor gimp_enum_combo_box_new_with_model(). Also override
2005-06-27  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpenumcombobox.[ch]: added new constructor
	gimp_enum_combo_box_new_with_model(). Also override the "model"
	property to make it clear that GimpEnumComboBox expects to be
	used with GimpEnumStore.

	* libgimpwidgets/gimpwidgets.def: updated.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpwidgets-constructors.c: use the new constructor.

	* libgimpwidgets/gimpenumlabel.h
	* libgimpwidgets/gimpenumstore.h
	* libgimpwidgets/gimpintcombobox.h
	* libgimpwidgets/gimpintstore.h: use "parent_class", not
	"parent_instance" when including the parent struct.
2005-06-27 13:41:11 +00:00
Sven Neumann
49005d9bfd removed gimp_enum_combo_box_set_visible().
2005-03-01  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpenumcombobox.[ch]: removed
	gimp_enum_combo_box_set_visible().

	* libgimpwidgets/gimpintcombobox.[ch]: added
	gimp_int_combo_box_set_sensitivity() instead.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimphistogrameditor.c: changed accordingly.

	* libgimpwidgets/gimpenumstore.h: added padding for future expansion.

	* libgimpwidgets/gimpwidgets.def: updated.
2005-02-28 23:27:12 +00:00
Michael Natterer
66529903b9 libgimp/gimpaspectpreview.h libgimp/gimpdrawablepreview.h
2004-10-23  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimpaspectpreview.h
	* libgimp/gimpdrawablepreview.h
	* libgimp/gimpprogressbar.h
	* libgimpwidgets/gimpcellrenderercolor.h
	* libgimpwidgets/gimpcellrenderertoggle.h
	* libgimpwidgets/gimpframe.h
	* libgimpwidgets/gimpintcombobox.h
	* libgimpwidgets/gimpintstore.h
	* libgimpwidgets/gimppreview.h
	* libgimpwidgets/gimppreviewarea.h
	* libgimpwidgets/gimpscrolledpreview.h: added padding to all class
	structs which have been added since 2.0.
2004-10-23 19:59:18 +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
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
9dd7f2571c added new functions gimp_int_combo_box_[prepend|append}.
2004-04-21  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpintcombobox.[ch]: added new functions
	gimp_int_combo_box_[prepend|append}.

	* plug-ins/common/sample_colorize.c: ported to GimpDrawableComboBox.
2004-04-21 11:09:03 +00:00
Sven Neumann
a0e845c8a9 libgimpwidgets/gimpmemsizeentry.c ported to GimpIntComboBox.
2004-04-20  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpmemsizeentry.c
	* modules/cdisplay_proof.c: ported to GimpIntComboBox.

	* libgimpwidgets/gimpwidgets.[ch]: declared the gimp option_menu
	API as deprecated and removed the code here.

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpoldwidgets.[ch]: new files with deprecated
	code, guarded with #ifndef GIMP_DISABLE_DEPRECATED ... #endif.

	* libgimpwidgets/gimpintcombobox.h: added G_BEGIN_DECLS, G_END_DECLS.

	* configure.in (CPP_FLAGS): added -DGIMP_DISABLE_DEPRECATED.

	* app/widgets/gimpwidgets-constructors.c: added a #warning and
	#undef GIMP_DISABLE_DEPRECATED. The paint mode menu is the last
	remaining user of gimp_int_option_menu_new().
2004-04-20 14:37:12 +00:00
Sven Neumann
8339ba7f81 added more sanity checks.
2004-04-20  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenumcombobox.c: added more sanity checks.

	* libgimpwidgets/gimpintcombobox.[ch]: added another GimpIntComboBox
	constructor: gimp_int_combo_box_new_array().

	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/CML_explorer.c: ported to GimpIntComboBox.
2004-04-20 08:35:36 +00:00
Sven Neumann
9f3c7944aa libgimpwidgets/Makefile.am libgimpwidgets/gimpwidgets.h
2004-04-20  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetstypes.h
	* libgimpwidgets/gimpintcombobox.[ch]: added new widget
	GimpIntComboBox, a GtkComboBox with a simple list store to hold a
	label and an associated integer value. This is going to replace
	gimp_int_option_menu.

	* plug-ins/common/jpeg.c
	* plug-ins/print/gimp_main_window.c: ported these two plug-ins to
	the newly added widget.

2004-04-20  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/libgimpwidgets-docs.sgml
	* libgimpwidgets/libgimpwidgets-sections.txt
	* libgimpwidgets/libgimpwidgets.types
	* libgimpwidgets/tmpl/gimpintcombobox.sgml: added docs for the new
	GimpIntComboBox widget.
2004-04-20 00:01:57 +00:00