Introduce GimpDockWindow and make GimpDock inherit from it. Right now
it is just a GimpWindow, but window logic from GimpDock and subclasses
will gradually be moved here so that we eventually can make GimpDock a
GtkBin. That in turn will allow us to put several GimpDocks next to
each other in columns, or GimpDocks in an image window.
Convert the GimpToolView dockable to a non-dockable GimpToolEditor,
but wait with renaming the file so that we get better diffs. Part of
fix for bug #500930.
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
Merge the rest of the tagging code developed on the tagging branch
by Aurimas Juška. Development will now continue in trunk.
* app/core/gimptag.[ch]: New files (not strictly true but almost)
implementing the represention of a tag.
* app/core/gimptagcache.[ch]: New files implementing functionality
for loading and saving tags to tags.xml, and assigning loaded tags
to tagged objects.
* app/core/gimpfilteredcontainer.[ch]: New files implementing a
tag filtered GimpContainer.
* app/widgets/gimptagentry.[ch]: New files implementing a
GtkEntry-like widget for entering tags.
* app/widgets/gimpcombotagentry.[ch]: New files implementing a
combobox-like widget for selecting tags.
* app/widgets/gimptagpopup.[ch]: New files implementing a popup of
all available tags that can be selected and combined in a
checkbox-like way.
* app/core/gimp.[ch]: Add a GimpTagCache member and manage tag
assignment and saving and loading to/from tags.xml.
* app/widgets/gimpdatafactoryview.c: Add the tag query and tag
assignment widgets to the UI and show the tag filtered items
instead of all items.
* app/core/Makefile.am
* app/widgets/Makefile.am: Add new files.
* app/core/core-types.h
* app/widgets/widgets-types.h: Add new types.
svn path=/trunk/; revision=27816
2008-10-24 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpfilleditor.[ch]: new widget factored out of
GimpStrokeEditor.
* app/widgets/gimpstrokeeditor.[ch]: derive from GimpFillEditor
and remove UI for the properties of GimpFillOptions.
svn path=/trunk/; revision=27390
2008-09-05 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpactioneditor.[ch]: new simple widget which
contains a GimpActionView plus the search entry.
* app/dialogs/keyboard-shortcuts-dialog.c: use the new widget
instead of implementing the search entry here.
* app/widgets/gimpcontrollereditor.c: use a GimpActionEditor
instead of GimpActionView so the actions become searchable here
too.
svn path=/trunk/; revision=26870
2008-06-22 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpsettingseditor.[ch]: skeleton of a widget to
manage the list of saved settings for the image map tools. Does
absolutely nothing yet apart from displaying the list of settings.
* app/widgets/gimpsettingsbox.[ch]: add "Manage Settings" menu item
and show a dialog containing the new widget.
svn path=/trunk/; revision=25977
2008-06-13 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpsettingsbox.[ch]: new widget containing the
combo and menu button for the image map tool settings plus most of
their logic. Has "import" and "export" signals that might go away
if I figure a way to nicely abstract that. Contains some minor
bugfixes and cosmetic improvements compared to the old code.
* app/tools/gimpimagemaptool.[ch]
* app/tools/gimpimagemaptool-settings.[ch]: changed accordingly,
mostly removal of lots of code that is now in the widget.
svn path=/trunk/; revision=25943
2008-04-28 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpwindow.[ch]: added GimpWindow class and moved
key-press-event handler from GimpDock to this class.
* app/widgets/gimpdock.[ch]:
* app/display/gimpdisplayshell.[ch]: derive from GimpWindow.
svn path=/trunk/; revision=25541
2007-11-20 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-types.h
* app/widgets/Makefile.am
* app/widgets/gimphandlebar.[ch]: new widget implementing the slider
bar known from histogram and levels.
* app/widgets/gimphistogrambox.[ch]: use the new widget. General
cleanup and UI streamlining.
svn path=/trunk/; revision=24198
2007-11-04 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcurveview.[ch]: new GimpHistogramView subclass
which does all the curve stuff.
* app/widgets/gimphistorgramview.[ch]: removed all curve code again.
* app/tools/gimpcurvestool.c: changed accordingly.
svn path=/trunk/; revision=24051
2007-06-27 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimagecommenteditor.[ch]: new widget derived from
GimpImageParasiteView. Basically the code that used to live in
image-properties-dialog.c.
* app/dialogs/image-properties-dialog.c: use the comment editor.
svn path=/trunk/; revision=22846
2007-04-16 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcellrendereraccel.[ch]: remove GimpCellRenererAccel.
* app/widgets/gimpactionview.c: use GtkCellRendererAccel instead.
If an action has no label, use its name as label. Always show the
"Name" column because there are too many actions with confusingly
similar names.
svn path=/trunk/; revision=22256
2006-12-18 Sven Neumann <sven@gimp.org>
* app/plug-in/plug-in-icc-profile.[ch]
* plug-ins/common/lcms.c: removed run-mode argument from
plug-in-icc-profile-info. Added new procedure to obtain
information
about a color profile on disk.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprofilechooserdialog.[ch]: added a first draft
of a file-chooser dialog for selecting a color profile.
* app/dialogs/preferences-dialog.c: use it.
2006-11-03 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimageparasiteview.[ch]: new abstract base class.
* app/widgets/gimpimageprofileview.[ch]: derive from
GimpImageParasiteView.
2006-10-25 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.[ch]: added signals "parasite-attached" and
"parasite-detached".
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimageprofileview.[ch]: draft of a new widget
that
displays color profile information.
* app/widgets/gimpimagepropview.c: minor cleanup and bug fix.
* app/dialogs/image-properties-dialog.c: added Color Profile
information.
* plug-ins/common/lcms.c: bug fixes.
2005-09-12 Michael Natterer <mitch@gimp.org>
Really fix bug #150593:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpdockseparator.[ch]: new widget implementing the
droppable separator bar in docks.
* app/widgets/gimpdock.c: use it and removed local separator
utility functions.
* app/widgets/gimptoolbox.c: use GimpDockSeparator API to show/hide
the label. Expand the separator initially.
* themes/Default/gtkrc
* themes/Small/gtkrc: the separator height style property moved
from GimpDock to GimpDockSeparator.
2005-08-21 Michael Natterer <mitch@gimp.org>
* app/paint/gimppencil.h
* app/paint/gimppenciloptions.h
* app/widgets/widgets-types.h
* app/widgets/gimptooldialog.h: don't simply typedef object
instance structs which add no members as their parent instance
structs. Give them their own instance structs. Fixes gtk-doc
confusion.
2005-07-14 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimppaletteview.[ch]: new widget which manages the
selected palette entry itself and emits "selected", "activated"
and "context" signals. Not used yet.
* app/widgets/gimpviewrendererpalette.[ch]: reimplemented palette
drawing: added optional grid drawing and APIs to configure the
renderer. Should be ready for the palette editor now.
2005-07-13 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpviewrendererpalette.[ch]: new view renderer,
does nothing yet except chaining up in ::render().
* app/widgets/gimpviewrenderer-utils.c
(gimp_view_renderer_type_by_viewable_type): use it for palettes.
2005-05-21 Sven Neumann <sven@gimp.org>
* app/core/gimpdashpattern.[ch]: added utility functions to copy
and to free a dash pattern.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcellrendererdashes.[ch]: added a simple cell
renderer to visualize a dash pattern.
* app/widgets/gimpstrokeeditor.c: show previews of the dash
presets in the combo-box.
2005-05-11 Michael Natterer <mitch@gimp.org>
Some dock refactoring which separates the docking logic from
active image and UI manager stuff:
* app/widgets/gimpmenudock.[ch]: new widget renamed from
GimpImageDock, zero changes except the name change.
* app/widgets/gimpimagedock.[ch]: new widget derived from
GimpDock. Keeps the UI manager.
* app/widgets/gimpdock.[ch]: removed the UI manager. GimpDock only
contains the basic docking logic again.
* app/widgets/gimpmenudock.[ch]
* app/widgets/gimptoolbox.[ch]: derive them from GimpImageDock.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/actions/dialogs-commands.c
* app/actions/dock-actions.c
* app/actions/dock-commands.c
* app/actions/dockable-commands.c
* app/dialogs/dialogs-constructors.c: changed accordingly.
2005-05-09 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontrollerlist.[ch]: new widget which allows
adding/removing controllers using two lists of available/active
controllers. Work in progress...
* app/widgets/gimpcontrollerinfo.[ch]: derive it from GimpVieable
so it can have an icon (unfinished). Added convenience constructor
gimp_controller_info_new().
* app/dialogs/preferences-dialog.c: use a GimpControllerList
instead of a notebook of GimpControllerEditors.
2005-04-05 Michael Natterer <mitch@gimp.org>
More unfinished replacement for the info window:
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimagepropview.[ch]: new widget showing an image's
size, resolution, mode, memsize etc.
* app/dialogs/Makefile.am
* app/dialogs/image-properties-dialog.[ch]: a dialog keeping the
widget.
* app/widgets/gimphelp-ids.h: a help ID for the dialog.
* app/actions/image-actions.c
* app/actions/image-commands.[ch]
* menus/image-menu.xml.in: action and menu entry for the dialog.
2005-04-03 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.[ch]: added new signals "sample-point-added"
and "sample-point-removed" and public functions to emit them.
* app/core/gimpimage-sample-points.c (gimp_image_add_sample_point)
(gimp_image_remove_sample_point): emit them accordingly.
* app/core/gimpimage-undo-push.c (undo_pop_image_sample_point):
ditto.
(undo_pop_image_guide)
(undo_pop_image_sample_point): added comments why we add/remove
stuff manually instead of using the GimpImage APIs.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcursorview.[ch]
* app/widgets/gimpsamplepointeditor.[ch]: new widgets.
GimpCursorView is a replacement for the info window's "Cursor"
page, GimpSamplePointEditor is a view on an image's sample points.
The sample point editor does nothing yet except keeping a 2x2 grid
of GimpColorFrames. Addresses bug #137776.
* app/dialogs/dialogs.c
* app/dialogs/dialogs-constructors.[ch]: register the new widgets
as dockable dialogs.
* app/actions/dialogs-actions.c (dialogs_dockable_actions)
* menus/dialogs-menuitems.xml: added actions and menu items for
the new dialogs.
* app/display/gimpdisplayshell-cursor.c
(gimp_display_shell_update_cursor)
(gimp_display_shell_clear_cursor): update the new cursor view.
* app/widgets/gimphelp-ids.h: help IDs for the new dialogs.
* app/widgets/widgets-enums.[ch] (enum GimpColorFrameMode):
changed description "Pixel values" to "Pixel" because the former
was too long.
2005-03-31 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimpfgbgview.[ch]
* app/widgets/widgets-types.h: added new widget GimpFgBgView;
somewhat similar to GimpFgBgEditor but a lot simpler.
* app/widgets/gimpcoloreditor.c: use GimpFgBgView as preview widget.
Closes bug #168592.
* app/widgets/gimpfgbgeditor.c: gracefully handle a very small
size allocation.
2004-10-26 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcontrollereditor.[ch]: new widget built from
preliminary code from the prefs dialog. Prerequisite for finally
fixing bug #106920.
* app/dialogs/preferences-dialog.c: use the new widget.
2004-10-13 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpmessagedialog.[ch]: added a simple message
dialog to avoid code duplication.
* app/widgets/gimpmessagebox.c: set the border width to 12 pixels.
* app/dialogs/file-save-dialog.c
* app/dialogs/quit-dialog.c
* app/display/gimpdisplayshell-close.c
* app/widgets/gimperrordialog.c
* app/widgets/gimphelp.c
* app/widgets/gimpactionview.c: use the new GimpMessageDialog.
2004-10-12 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpsizebox.[ch]: added new widget GimpSizeBox.
* app/widgets/gimppropwidgets.c: the order of setting the X and Y
properties does matter.
* app/dialogs/Makefile.am
* app/dialogs/scale-dialog.[ch]: added first version of a new
Scale dialog in an attempt to address bug #151022.
* app/actions/layers-commands.c: use the new scale dialog.
2004-09-27 Michael Natterer <mitch@gimp.org>
* app/actions/brushes-actions.c
* app/actions/gradients-actions.c
* app/actions/palettes-actions.c
* app/actions/patterns-actions.c: made the "foo-edit" actions
GimpStringActions and pass the identifier of the editor dialog
to the callback.
* app/actions/data-commands.[ch] (data_edit_data_cmd_callback):
show the editor dialog here instead of calling view->edit_func().
* app/dialogs/dialogs-constructors.[ch]: removed the brush,
gradient and palette edit_funcs.
* app/widgets/widgets-types.h: removed typedef GimpDataEditFunc.
* app/widgets/gimpdatafactoryview.[ch]: removed the edit_func
member and parameters and create the edit button unconditionally.
* app/widgets/gimpbrushfactoryview.[ch]
* app/widgets/gimppatternfactoryview.[ch]: changed accordingly.
* app/widgets/Makefile.am
* app/widgets/gimpdataselect.[ch]: removed this class, it's not
needed any longer.
* app/widgets/gimpbrushselect.[ch]
* app/widgets/gimpgradientselect.[ch]
* app/widgets/gimppaletteselect.[ch]
* app/widgets/gimppatternselect.[ch]: derive them from GimpPdbDialog
and follow the edit_func removal.
* app/gui/gui-vtable.c (gui_pdb_dialog_new): removed edit_func
stuff.
* app/widgets/gimpcontainereditor.c: minor unrelated cleanup.
2004-09-14 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpviewrendererbuffer.[ch]: added a view renderer
which knows how to preserve a GimpBuffer's aspect ratio if the
view's aspect ratio is different.
* app/widgets/gimpviewrenderer-utils.c
(gimp_view_renderer_type_from_viewable_type): use it for viewables
of type GimpBuffer. Fixes bug #152531
* app/widgets/gimpnavigationpreview.c
* app/widgets/gimpnavigationpreview.h: renamed these files to ...
* app/widgets/gimpnavigationview.c
* app/widgets/gimpnavigationview.h: to these.
And renamed the GimpNavigationPreview type to GimpNavigationView.
Hopefully, this is the last change in file names for the Preview->View
renaming process.
* app/display/gimpnavigationeditor.c
* app/widgets/Makefile.am
* app/widgets/widgets-types.h: Changed accordingly.
2004-08-25 Sven Neumann <sven@gimp.org>
* app/widgets/gimpmessagebox.[ch]: added gimp_message_box_repeat().
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimperrordialog.[ch]: added new dialog that adds a new
GimpMessageBox for each message added. Fixes bug #92604.
* app/widgets/gimpwidgets-utils.[ch]: removed old gimp_message_box()
functionality.
* app/gui/gui.c (gui_abort): use a GimpMessageBox in a GimpDialog.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: manage GimpErrorDialog as singleton.
* app/gui/gui-vtable.c (gui_message): use the new error dialog.
* app/core/gimp-gui.c (gimp_message): substitue "GIMP" for a NULL
domain.
* app/widgets/gimperrorconsole.c (gimp_error_console_add): fail
when being called with a NULL domain.
2004-08-24 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpmessagebox.[ch]: added new widget GimpMessageBox.
* app/widgets/gimpwidgets-utils.c: use it for message dialogs.
2004-08-11 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressbox.[ch]: new GtkVBox subclass featuring
a label and a progressbar. Implements GimpProgressIterface.
* app/widgets/gimpprogressdialog.[ch]: replaced label and progress
by a GimpProgressBox. Delegate most progress functionality to it.
* app/widgets/gimpwidgets-utils.[ch]: factored out utility
function gimp_dialog_set_sensitive().
* app/widgets/gimpfiledialog.c (gimp_file_dialog_set_sensitive):
use it.
* app/gui/file-open-location-dialog.c (file_open_location_response):
embed the called file procedure's progress using a GimpProgressBox.
2004-08-10 Michael Natterer <mitch@gimp.org>
Redid the whole internal progress stuff: don't pass around
progress_callback and progress_data; instead, provide a
pointer to a GimpProgressInterface which can be implemented
by a variety of backends.
Addresses (but not yet fixes) bugs #6010, #97266 and #135185.
* app/display/Makefile.am
* app/display/gimpprogress.[ch]: removed the old progress hack.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpprogress.[ch]: implement GimpProgressInterface.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpprogressdialog.[ch]: the standalone progress
dialog as widget implementing GimpProgressInterface.
* app/display/gimpdisplay.c
* app/display/gimpstatusbar.[ch]
* app/widgets/gimpfiledialog.[ch]
* app/widgets/gimpthumbbox.[ch]: added GimpProgressInterface
implementation to these classes.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: replaced the old progress vtable entries
by two new to create and destroy a GimpProgressDialog in case
no other progress is available.
* app/pdb/procedural_db.[ch]
* app/plug-in/plug-in-run.[ch]
* tools/pdbgen/app.pl: pass a GimpProgress to all PDB wrappers and
all plug-ins.
* app/plug-in/plug-in.[ch]
* app/plug-in/plug-ins.c
* app/plug-in/plug-in-message.c
* app/plug-in/plug-in-progress.c: handle the case there the
plug-in was crated with a progress as well as the case where it
wasn't.
* app/app_procs.c
* app/batch.c
* app/xcf/xcf.c
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/widgets/gimphelp.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimpfontselect.c
* app/widgets/gimpgradientselect.c
* app/widgets/gimppaletteselect.c
* app/widgets/gimppatternselect.c: changed accordingly.
* app/core/gimpimagefile.[ch]
* app/display/gimpdisplayshell-dnd.c
* app/gui/file-open-dialog.c
* app/gui/file-open-location-dialog.c
* app/gui/file-save-dialog.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimptoolbox-dnd.c: pass a GimpProgress to all file
related functions. Embed the progress in the file dialog where
possible.
* app/core/gimpdrawable-blend.[ch]
* app/core/gimpdrawable-transform.[ch]
* app/core/gimpimage-convert.[ch]
* app/core/gimpimage-flip.[ch]
* app/core/gimpimage-resize.[ch]
* app/core/gimpimage-rotate.[ch]
* app/core/gimpimage-scale.[ch]
* app/core/gimpitem-linked.[ch]
* app/core/gimpitem.[ch]
* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimplayer.c
* app/core/gimpselection.c
* app/vectors/gimpvectors.c: replaced callback/data by GimpProgress.
* app/tools/gimpblendtool.c
* app/tools/gimptransformtool.c
* app/gui/convert-dialog.c
* app/actions/documents-commands.c
* app/actions/file-commands.c
* app/actions/image-commands.c
* app/actions/layers-commands.c
* app/actions/plug-in-commands.c
* app/actions/vectors-commands.c
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb: changed callers accordingly.
* app/pdb/*_cmds.c: regenerated.
2004-08-04 Sven Neumann <sven@gimp.org>
* themes/Default/images/Makefile.am
* themes/Default/images/stock-brush-generated-*-16.png: removed ...
* themes/Default/images/stock-shape-*-16.png: ... and added back
with more generic names.
* libgimpwidgets/gimpstock.[ch]
* app/widgets/gimpbrusheditor.c: changed accordingly.
* app/tools/gimpinkoptions-gui.c: use the new stock icons here as
well.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpblobeditor.[ch]: added a simple blob shape
editor widget factored out of app/tools/gimpinkoptions-gui.c.