Commit Graph

64 Commits

Author SHA1 Message Date
Niels De Graef aa6079fe8a scrolledpreview: Add missing gir annotations 2020-05-08 19:48:11 +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 80997a8646 Remove most GTK_ADJUSTMENT() and (GtkAdjutment *) casts
they are obsolete in GTK+ 3.x because GtkAdjustment cannot be passed
around as GtkObject any longer, GtkObject is gone.
2018-06-24 18:15:16 +02:00
Michael Natterer 8d66e7eaa1 libgimpwidgets: improve gimp_scroll_adjustment_values()
so it works for very small adjustment page sizes. Same as GTK+ commit
c0ba041c73214f82d2c32b2ca1fa8f3c388c6170
2018-06-13 15:22:51 +02:00
Michael Natterer 2f425f0e2a libgimpwidgets: allow NULL adjustments in gimp_scroll_adjustment_values() 2018-05-29 00:04:31 +02:00
Michael Natterer 7fab74f431 libgimpwidgets: use G_DEFINE_ABSTRACT_CLASS for preview classes 2018-05-28 17:24:58 +02:00
Michael Natterer ee62c7e92c libgimpwidgets: undeprecate GimpScrolledPreview 2018-05-21 14:07:40 +02:00
Michael Natterer 2dd2f1509b Enable and fix smooth scrolling and zooming
- Fix gimp_scroll_adjustment_values() for smooth scroll events
- Set GDK_SMOOTH_SCROLL_MASK on all widgets where we set GDK_SCROLL_MASK
- Add GIMP_ZOOM_SMOOTH to enum GimpZoomType
- Add "gdouble delta" to gimp_zoom_model_step()
- Change the meaning of the "scale" parameter to "scale or delta" in
  all functions that take GimpZoomType and a scale factor.
2018-05-20 21:06:34 +02:00
Michael Natterer 4a979995a3 libgimpwidgets: add gimp_scroll_adjustment_values()
and use it in GimpScrolledPreview. It supports smooth scrolling and
does roughly the same as a whole lot of magic code in GtkScrolledWindow
and GtkRange, resulting in the same scrolling behavior as in stock
GTK+ widgets.
2018-05-20 21:06:34 +02:00
Michael Natterer 08458dcdf6 libgimpwidgets: port GimpPreview to GtkGrid 2018-05-20 21:06:34 +02:00
Michael Natterer d87eddb1c4 libgimpwidgets: move all GimpPreview members to private
and add tons of API so subclasses can still do their thing, probably
subject to change/fix.
2018-05-20 21:06:33 +02:00
Michael Natterer 3e680b9f32 libgimpwidgets: move all GimpScrolledPreview members to private 2018-05-20 21:06:33 +02:00
Michael Natterer a535e425ee libgimpwidgets: move all GimpPreviewArea members 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
Michael Natterer 37e24d0059 libgimpwidgets: remove gimp3migration.[ch] 2018-05-20 21:06:29 +02:00
Michael Natterer 6e982cd0a4 libgimpwidgets: use g_object_ref()/unref() for GdkCursors
The are GObjects now.
2018-05-20 21:06:28 +02:00
Michael Natterer 8c75151f39 llibgimpwidgets: port GimpScrolledPreview to GtkStyleContext 2018-05-20 21:06:27 +02:00
Michael Natterer 91d382608f libgimpwidgets: port to GtkWidget::draw() 2018-05-20 21:06:27 +02:00
Michael Natterer dda54c1df8 Deprecate stock items for good and change all icon defines to GIMP_ICON_*
Try to sort all GIMP_ICON_* defines into FDO categories like in
https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html

Add defines for all icons we override, rename some icons to their FDO
standard names, and mark the ones we duplicate with a comment so we
don't forget to rename those to standard names in 3.0.
2017-03-05 16:01:59 +01:00
Michael Natterer 71894bd787 libgimpwidgets: rename gimpstock.[ch] to gimpicons.[ch]
because stock is on its way out, so we better start renaming and
deprecating stuff sooner than later.
2015-12-12 20:44:46 +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 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 16817c666f libgimpwidgets: add gtk_scrollbar_new() to gimp3migration.[ch]
and use it all over the place.
2011-10-02 14:36:41 +02:00
Michael Natterer 60ebedb319 libgimpwidgets: no need to set a GtkRange's update-policy to CONTINUOUS
because it's the default.
2011-01-07 15:06:56 +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 a2c70822d4 Use accessors from GTK+ 2.20 instead of using sealed members directly 2010-04-19 19:21:07 +02:00
Michael Natterer 1aeb315ecf undef GTK_DISABLE_DEPRECATED in many places which undef GSEAL_ENABLE
because the widget flag access macros (e.g. GTK_WIDGET_REALIZED) are
now deprecated in GTK+ master.
2010-03-06 23:14:29 +01:00
Michael Natterer eac902d065 libgimp: use gtk_widget_get_visible() instead of GTK_WIDGET_VISIBLE() 2010-01-17 16:51:48 +01:00
Michael Natterer fcd346a227 Build with GSEAL_ENABLE with a few exceptions
Use the new accessors in GTK+ 2.18 and #undef GSEAL_ENABLE where
accessors are missing or where I'm not quite sure how to fix the
stuff yet.
2009-10-17 18:51:48 +02:00
Martin Nordholts eb6bef33e4 Use gtk_widget_set_visible()
In places where the pattern

  if (show)
    gtk_widget_show (widget);
  else
    gtk_widget_hide (widget);

is used, change to

  gtk_widget_set_visible (widget, show);

Also do some other minor cleanups.
2009-10-17 15:07:34 +02:00
Michael Natterer e6af54a687 use GtkAdjustment's accessors.
2009-03-22  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpscrolledpreview.c: use GtkAdjustment's
	accessors.


svn path=/trunk/; revision=28199
2009-03-22 20:46:48 +00:00
Michael Natterer 3795f9b9c5 libgimpwidgets/gimpchainbutton.c libgimpwidgets/gimpcolorarea.c
2009-03-22  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpchainbutton.c
	* libgimpwidgets/gimpcolorarea.c
	* libgimpwidgets/gimpcolorbutton.c
	* libgimpwidgets/gimpcolorscale.c
	* libgimpwidgets/gimpcolorselect.c
	* libgimpwidgets/gimpdialog.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpmemsizeentry.c
	* libgimpwidgets/gimpoffsetarea.c
	* libgimpwidgets/gimppickbutton.c
	* libgimpwidgets/gimppixmap.c
	* libgimpwidgets/gimppreview.c
	* libgimpwidgets/gimppreviewarea.c
	* libgimpwidgets/gimpruler.c
	* libgimpwidgets/gimpscrolledpreview.c
	* libgimpwidgets/gimpwidgets.c: use accessors for various members
	of GTK+ structures that don't exist any longer when GSEAL_ENABLE
	is defined.


svn path=/trunk/; revision=28190
2009-03-22 15:42:42 +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 ec12326ccb app/widgets/gimpnavigationview.c hardcode the colors to black and white.
2008-08-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpnavigationview.c
	* libgimpwidgets/gimpscrolledpreview.c: hardcode the colors to
	black and white. Using theme colors doesn't make sense here.


svn path=/trunk/; revision=26719
2008-08-22 21:44:52 +00:00
Sven Neumann 943c4dba85 draw the navigation popup using Cairo, just as we do it in the core now.
2008-08-22  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpscrolledpreview.[ch]: draw the navigation
	popup using Cairo, just as we do it in the core now.


svn path=/trunk/; revision=26718
2008-08-22 21:30:33 +00:00
Michael Natterer 58cfcd4f57 libgimp/gimpgradientselectbutton.c libgimp/gimpmenu.c
2008-06-28  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimpgradientselectbutton.c
	* libgimp/gimpmenu.c
	* libgimpwidgets/gimpbrowser.c
	* libgimpwidgets/gimpcellrenderercolor.c
	* libgimpwidgets/gimpcellrenderertoggle.c
	* libgimpwidgets/gimpchainbutton.c
	* libgimpwidgets/gimpcolorarea.c
	* libgimpwidgets/gimpcolorscale.c
	* libgimpwidgets/gimpcolorscales.c
	* libgimpwidgets/gimpcolorselect.c
	* libgimpwidgets/gimpenumwidgets.c
	* libgimpwidgets/gimpframe.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpoffsetarea.c
	* libgimpwidgets/gimppreviewarea.c
	* libgimpwidgets/gimppropwidgets.c
	* libgimpwidgets/gimpscrolledpreview.c: use accessors instead of
	accessing members of GTK+ widgets directly.


svn path=/trunk/; revision=26005
2008-06-28 15:09:46 +00:00
Sven Neumann 1449a6d202 libgimpwidgets/gimpscrolledpreview.c don't rely on the pointer position in
2007-12-18  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpscrolledpreview.c
	* libgimpwidgets/gimpcolorselect.c: don't rely on the pointer
	position in the GdkEventMotion struct, query the pointer instead.

svn path=/trunk/; revision=24396
2007-12-18 17:57:27 +00:00
Sven Neumann aabb94ec92 libgimpwidgets/gimpcolorselect.c use gdk_event_request_motions() to handle
2007-11-04  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpcolorselect.c
	* libgimpwidgets/gimpscrolledpreview.c: use
	gdk_event_request_motions() to handle motion hint events.


svn path=/trunk/; revision=24050
2007-11-04 12:52:47 +00:00
Sven Neumann 5226c66080 changed move cursor to GDK_HAND1 and switch to GDK_FLEUR while the mouse
2007-11-01  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpscrolledpreview.c: changed move cursor to
	GDK_HAND1 and switch to GDK_FLEUR while the mouse button is down.

svn path=/trunk/; revision=24029
2007-11-01 15:50:05 +00:00
Sven Neumann fa3e0fb71a use small-checks for the navigation popup and inherit the check-type from
2007-10-28  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpscrolledpreview.c
	(gimp_scrolled_preview_nav_button_press): use small-checks for 
the
	navigation popup and inherit the check-type from the preview.


svn path=/trunk/; revision=23979
2007-10-27 22:01:25 +00:00
Sven Neumann 24c7fc1e8d formatting.
2007-09-21  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.c: formatting.

	* libgimpwidgets/gimpscrolledpreview.c: make use of freeze/thaw to
	reduce the number of updates during initialization.

svn path=/trunk/; revision=23602
2007-09-21 12:19:00 +00:00
Sven Neumann e3813131b7 also use the middle mouse button for panning.
2007-04-25  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpscrolledpreview.c: also use the middle mouse
	button for panning.

	* plug-ins/common/nova.c: override the default mouse handling of
	the GimpScrolledPreview and allow to reposition the center using
	the left mouse button. Fixes bug #364432.

	* app/tools/gimprectangletool.c: formatting.

svn path=/trunk/; revision=22319
2007-04-25 10:10:43 +00:00
Sven Neumann 2c6bf5c03c applied patch from Aurimas Juška that fixes positioning of the quick
2007-04-18  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpscrolledpreview.c
	(gimp_scrolled_preview_nav_button_press): applied patch from
	Aurimas Juška that fixes positioning of the quick navigation
	popup (bug #430917).

svn path=/trunk/; revision=22276
2007-04-18 07:55:13 +00:00
Sven Neumann 64e893e62f there's no need to make GTypeInfo and GInterfaceInfo structs static.
2006-10-18  Sven Neumann  <sven@gimp.org>

        * [lots of files]: there's no need to make GTypeInfo and
        GInterfaceInfo structs static.
2006-10-18 13:17:50 +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
Sven Neumann 10bc4df305 fixed check that suppresses the redraw for motion events that don't cause
2006-02-07  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpscrolledpreview.c
	(gimp_scrolled_preview_area_event): fixed check that suppresses
	the redraw for motion events that don't cause the preview to scroll.
2006-02-07 12:34:07 +00:00
Sven Neumann 539ff359a4 connect-after to "realize" and "size-allocate" signals of the preview area
2006-02-06  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.c: connect-after to "realize" and
	"size-allocate" signals of the preview area and call the
	set-cursor method from the callback.

	* libgimpwidgets/gimpscrolledpreview.c: no need to explicitely set
	the cursor now that the virtual method is used correctly.

	* libgimp/gimpzoompreview.c: implement set-cursor and set the move
	cursor in accordance with the zoom factor.
2006-02-06 11:07:48 +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 a4c54f7aa8 removed unused variable.
2005-12-20  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpscrolledpreview.c: removed unused variable.
2005-12-20 09:18:09 +00:00