2006-08-09 Sven Neumann <sven@gimp.org>
* app/plug-in/gimppluginmanager.c (gimp_plug_in_manager_dispose):
chain up.
* libgimp/gimpzoompreview.[ch]: added API to get a pointer to the
GimpZoomModel used by the preview and added a constructor that
allows to pass a model.
* libgimp/gimpui.def: updated.
2006-06-12 Sven Neumann <sven@gimp.org>
* libgimp/gimpzoompreview.c (gimp_zoom_preview_get_source):
documentation.
* plug-ins/common/channel_mixer.c: minor cleanup and loop unrolling.
Introduced an inline function to avoid code duplication.
2006-02-26 Sven Neumann <sven@gimp.org>
* libgimp/gimpzoompreview.c: added "drawable" as construct-only
property so that the widget can be constructed using g_object_new().
2006-02-07 Sven Neumann <sven@gimp.org>
* libgimp/gimpdrawablepreview.[ch]
* libgimp/gimpzoompreview.c: reduced code duplication by exporting
two GimpDrawablePreview functions for internal use.
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-01-25 Sven Neumann <sven@gimp.org>
* libgimp/gimpzoompreview.[ch]: added a priv pointer to the
instance struct and changed the GET_PRIVATE() macro to access the
private data via that pointer.
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.
2005-11-22 Sven Neumann <sven@gimp.org>
* libgimp/gimpzoompreview.c: zoom on Ctrl-Scroll events.
* libgimpwidgets/gimpscrolledpreview.c
(gimp_scrolled_preview_area_event): correctly clamp adjustment
value on scroll events. Ignore scroll events when Ctrl is pressed.
* libgimp/gimpzoompreview.c: Enable selection masking, even if it
looks buggy. It looks to me that the bug is in
gimp_drawable_get_sub_preview (), not handling the selection drawable
as a normal drawable.
* libgimp/gimpzoompreview.[ch]: added a new function:
gimp_zoom_preview_get_factor(), which is a proxy to get the zoom
factor of the zoom model used by the zoom preview.
Also renamed the zoom field of the private data of gimpzoompreview to
model, since it is a gimpzoommodel.
* libgimp/gimpui.def: added gimp_zoom_preview_get_factor.
* plug-ins/common/nova.c: use gimp_zoom_preview_get_factor to
correctly handle the position of the nova at various zoom level.
There still are problems if there is a selection before when running
this plugin.
* libgimpwidgets/gimpwidgetsmarshal.list: added VOID__DOUBLE_DOUBLE
marshaller.
* libgimpwidgets/gimpzoommodel.[ch]: new signal: "zoomed", emitted
when the zoom factor changes. This signal have the old factor and the
new factor as argument.
* libgimp/gimpzoompreview.c: use the "zoomed" signal instead of the
"notify::value" one. This allow to use the old and new factors to keep
the preview centered on the same point.
2005-09-28 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppreview.[ch]: renamed newly added function to
gimp_preview_get_controls(). Increased row padding for controls.
* libgimpwidgets/gimpwidgets.def
* libgimp/gimpzoompreview.c: changed accordingly.
* libgimpbase/gimputils.c (gimp_enum_get_value): ref the enum
class instead of only peeking at it.
* libgimpwidgets/gimpzoommodel.c (gimp_zoom_button_new): set a
tooltip on zoom buttons that only show an icon.
2005-09-28 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppreview.[ch]: added a hbox to the table and
the "Update Preview" checkbutton there. Added a function to access
this control box. Increased default size to 200.
* libgimpwidgets/gimpscrolledpreview.[ch]: added function
gimp_scrolled_preview_set_policy() to control when the scrollbars
should be shown.
* libgimpwidgets/gimpwidgets.def: updated.
* libgimp/gimpzoompreview.c: pack the zoom buttons into the
preview's control box. Commented out the label, it shows a bogus
zoom factor. Set scrollbar policy to ALWAYS to avoid resizing.
2005-09-25 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgetsenums.[ch]: removed GimpZoomWidgetType.
* libgimpwidgets/gimpzoommodel.[ch]: removed gimp_zoom_widget_new()
in favor of gimp_zoom_button_new().
* libgimp/gimpzoompreview.c: changed accordingly.
* libgimpwidgets/gimpwidgets.def: updated.
* plug-ins/MapObject/mapobject_main.[ch]
* plug-ins/MapObject/mapobject_preview.c
* plug-ins/MapObject/mapobject_ui.c: use a GimpZoomModel and let
it create the zoom buttons.
* plug-ins/MapObject/mapobject_apply.c
* plug-ins/MapObject/mapobject_image.c
* plug-ins/MapObject/mapobject_shade.c: include "gimp/gimpui.h".
* libgimpwidgets/gimpwidgetsenums.h: remove the GIMP_ZOOM_LABEL value
from GimpZoomWidgetType.
* libgimpwidgets/gimpwidgetsenums.c: regenerated.
* libgimp/gimpzoompreview.c: provides two read only properties,
"fraction" and "percentage" to be used with prop widgets.
* libgimpwidgets/gimpzoommodel.c: use a gimp_prop_label to show the
zoom fraction.
* app/widgets/widgets-enums.h: Moved the GimpZoomType enum from here...
* libgimpwidgets/gimpwidgetsenums.h: ...to here.
* app/widgets/widgets-enums.c
* libgimpwidgets/gimpwidgetsenums.c: regenerated.
* app/display/gimpdisplayshell-scale.[ch]: removed
gimp_display_shell_scale_zoom_step and
gimp_display_shell_scale_get_fraction from here...
* libgimpwidgets/gimpzoommodel.[ch]: ... to here so we can use these
utility functions in plug-ins and in the core.
Also removed the step-size property since the zoom-model now use
gimp_zoom_model_zoom_step.
* app/actions/view-commands.c
* app/display/gimpdisplayshell-title.c
* app/display/gimpdisplayshell.c
* app/tools/gimpmagnifytool.c: modified accordingly.
* libgimp/gimpzoompreview.c: don't pass any argument to the
gimp_zoom_model_new function.
* libgimpwidgets/gimpwidgets.def: added gimp_zoom_model_zoom_step
(gimp_zoom_model_get_fraction was already there)
* devel-docs/app/app-sections.txt: removed
gimp_display_shell_scale_zoom_step and
gimp_display_shell_scale_get_fraction.
* libgimp/gimpzoompreview.[ch]: make use of private data instead of struct
members. Added a gimp_zoom_preview_get_drawable so we can still get the
drawable from a preview in plug-ins.
Also changed gimp_zoom_preview_get_data to gimp_zoom_preview_get_source,
to make it more obvious what it returns.
* libgimp/gimpui.def
* plug-ins/common/AlienMap2.c
* plug-ins/common/apply_lens.c
* plug-ins/common/blinds.c
* plug-ins/common/channel_mixer.c
* plug-ins/common/colorify.c
* plug-ins/common/flarefx.c
* plug-ins/common/illusion.c
* plug-ins/common/jigsaw.c
* plug-ins/common/mapcolor.c
* plug-ins/common/max_rgb.c
* plug-ins/common/nova.c
* plug-ins/common/polar.c
* plug-ins/common/retinex.c
* plug-ins/common/waves.c
* plug-ins/common/whirlpinch.c: changed accordingly.
* libgimpwidgets/gimpzoommodel.[ch]: use private data instead of
struct members. Added min-factor and max-factor properties so we can
set the zoom range. These can be set by a new utility function:
gimp_zoom_model_set_range.
* libgimpwidgets/gimpwidgets.def: added gimp_zoom_model_set_range.
* libgimp/gimpzoompreview.c: use gimp_zoom_model_set_range so we can
only zoom in.
* libgimpwidgets/gimpzoommodel.[ch]: New object to handle zoom
factor, and create widgets to control or view this value.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h: Added gimpzoommodel.[ch].
* libgimpwidgets/gimpwidgetsenums.h: new enum: GimpZoomWidgetType.
This enumerate which knid of widget you can created from the zoom
model.
* libgimpwidgets/gimpwidgetsenums.c
* libgimpwidgets/gimpwidgetstypes.h: regenerated.
* libgimpwidgets/gimppreview.c: move the update toggle to the bottom
of the vbox.
* libgimp/Makefile.am
* libgimp/gimpui.h
* libgimp/gimpuitypes.h
* libgimp/gimpzoompreview.[ch]: New widget, derivated from
GimpScrolledPreview, which offer the same functionnalities as the
GimpAspectPreview widget plus zoom facilities.
* plug-ins/common/AlienMap2.c
* plug-ins/common/apply_lens.c
* plug-ins/common/blinds.c
* plug-ins/common/channel_mixer.c
* plug-ins/common/colorify.c
* plug-ins/common/flarefx.c
* plug-ins/common/illusion.c
* plug-ins/common/jigsaw.c
* plug-ins/common/mapcolor.c
* plug-ins/common/max_rgb.c
* plug-ins/common/nova.c
* plug-ins/common/polar.c
* plug-ins/common/retinex.c
* plug-ins/common/waves.c
* plug-ins/common/whirlpinch.c: use a GimpZoomPreview instead of a
GimpAspectPreview.