Redo the entire thing again:
- Rename the values of enum GimpColorSelectorModel to include "MODEL"
- Change GimpColorSelector API from set_model() to set_model_visible()
so visibility of each model can be toggled individually and is not
exclusive any longer
- The GUI is back to what it was before, except that the "GIMP" page
now honors the model visibility and has a resonable minimum height
* 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.
2004-06-16 Michael Natterer <mitch@gimp.org>
Started to fix bug #106920 in a more genreral way:
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpwidgetsmarshal.list
* libgimpwidgets/gimpcontroller.[ch]: new abstract base class
which provides an API for pluggable input controller modules
(mouse wheel, usb/midi stuff etc.).
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontrollerwheel.[ch]: subclass of the above
which maps wheel mouse scroll events to controller events.
* app/widgets/gimpcontrollers.[ch]: manager for controllers.
reads $(gimpdir)/controllerrc and keeps a mapping of controller
events to GtkActions.
* app/gui/gui.c: initialize and shut down the controller stuff.
* app/display/gimpdisplayshell-callbacks.c
(gimp_display_shell_canvas_tool_events): if a wheel controller
exists, dispatch GdkEventScroll to it first and return if it was
handled.
2003-11-22 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpwidgetsmarshal.list
* libgimpwidgets/gimpcolordisplaystack.[ch]: added signals
::added(), ::removed() and ::reordered() and emit them in the
resp. functions.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcolordisplayeditor.[ch]: new widget implementing
an editable view on a GimpColorDisplayStack. Most code taken from
below...
* app/display/gimpdisplayshell-filter-dialog.c: ...and removed
here. Only creates a GimpDialog around a GimpColorDisplayEditor
now.
2002-10-28 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpcolorscales.[ch]: the color scales from
the main color selection as GimpColorSelector subclass.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetsmarshal.list
* libgimpwidgets/gimpwidgetstypes.h: changed accordingly.
* libgimpwidgets/gimpcolornotebook.c: skip it when iterating the
GimpColorSelector subclasses.
* libgimpwidgets/gimpcolorselector.[ch]: added virtual function
set_has_alpha() amd signal "channel_changed". Put RGB, HSV and
channel values into to the GimpColorSelector struct where they are
available for subclasses.
* libgimpwidgets/gimpcolorselect.[ch]
* modules/colorsel_triangle.c
* modules/colorsel_water.c: changed accordingly, cleanup.
* app/gui/color-notebook.[ch]: use the new GimpColorScales widget,
lots of cleanup.
2002-10-28 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/tmpl/gimpcolorscales.sgml: added GimpColorScales.
* libgimpwidgets/libgimpwidgets-docs.sgml
* libgimpwidgets/libgimpwidgets-sections.txt
* libgimpwidgets/libgimpwidgets.types
* libgimpwidgets/tmpl/gimpcolorselect.sgml
* libgimpwidgets/tmpl/gimpcolorselector.sgml; updated.
2002-10-20 Michael Natterer <mitch@gimp.org>
Ported module loading to GTypeModule, getting rid of all own
module registering/bookkeeping stuff for color selectors and
display filters. The modules now simply register GimpColorSelector
and GimpColorDisplay subclasses, the list of registered subclasses
can then be obtained calling g_type_children() on the abstract
base classes.
This is work in progress and just the first working state after I
started breaking everything...
* app/gui/color-select.[ch]
* libgimp/gimpcolordisplay.h
* libgimp/gimpcolorselector.h: removed.
* app/gui/Makefile.am
* libgimp/Makefile.am: changed accordingly.
* libgimp/gimpmodule.h: massively simplified. All voodoo is gone.
* libgimpwidgets/gimpcolordisplay.[ch]
* libgimpwidgets/gimpcolorselector.[ch]: new abstract base classes
which need to be subclassed by modules.
* libgimpwidgets/gimpcolorselect.[ch]: the built-in color selector
from app/gui/color-select.* ported to be a GimpColorSelector
subclass.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetsmarshal.list
* libgimpwidgets/gimpwidgetstypes.h: changed accordingly.
* app/core/gimpmoduleinfo.[ch]: made it a GTypeModule subclass
* app/core/gimpmodules.c: changed accordingly.
* app/core/gimpcontainer.c
* app/core/gimplist.c: HACKED around to allow GimpLists of
GObjects (not GimpObjects). This is EEKy, so I will either make
gimp->modules a simple GList and revert this bit of change, or
allow GObjects all over the place in GimpContainer land...
* app/display/gimpdisplayshell-filter.[ch]
* app/gui/color-notebook.c: removed all module stuff and use
g_type_children() to get the list of available color_selectors
and display_filters.
* app/display/gimpdisplayshell-filter-dialog.c
* app/display/gimpdisplayshell-render.c
* app/gui/module-browser.c: changed accordingly.
* app/gui/gui.c: ref the built-in color selector's class before
the modules are queried so it appears first in the list of
GimpColorSelector's children.
* modules/Makefile.am: build the water color selector again.
* modules/cdisplay_gamma.c
* modules/cdisplay_highcontrast.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: ported them all to the new API.
* modules/gimpmodregister.[ch]: removed the old EMX module hack.