Commit graph

769 commits

Author SHA1 Message Date
Sven Neumann
e0f2efdc29 added a utility function that positions a menu that pops up from a button
2003-09-23  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch]: added a utility function
	that positions a menu that pops up from a button widget.

	* app/display/gimpdisplayshell-callbacks.c
	* app/widgets/gimpdockable.c: use the new utility function instead
	of duplicating the code.
2003-09-23 20:27:12 +00:00
Sven Neumann
a52de434be added the title pango layout to the GimpDockable struct. Made
2003-09-23  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.[ch]: added the title pango layout to
	the GimpDockable struct. Made gimp_dockable_menu_position() handle
	RTL layout correctly.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_origin_menu_position): handle RTL layout.
2003-09-23 18:11:09 +00:00
Sven Neumann
dab5b6e6db themes/Default/images/Makefile.am removed...
2003-09-23  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-menu-12.png: removed...

	* themes/Default/images/stock-menu-left-12.png
	* themes/Default/images/stock-menu-right-12.png: and added again
	together with a flipped version.

	* libgimpwidgets/gimpstock.[ch]: register GIMP_STOCK_MENU_LEFT and
	GIMP_STOCK_MENU_RIGHT instead of GIMP_STOCK_MENU and swap the
	images for RTL layout.

	* app/widgets/gimpdockable.c: use GIMP_STOCK_MENU_LEFT here.

	* app/display/gimpdisplayshell.c: replaced the arrow in the
	display origin with the GIMP_STOCK_MENU_RIGHT icon.
2003-09-23 12:30:53 +00:00
Sven Neumann
3ee7c4d0e0 renamed new enums to use "style" instead of the overloaded term "type".
2003-09-21  Sven Neumann  <sven@gimp.org>

	* app/core/core-enums.[ch]: renamed new enums to use "style" instead
	of the overloaded term "type". Also renamed GimpGridType while I was
	on it.

	* app/core/gimpdrawable-stroke.[ch]
	* app/core/gimpgrid.[ch]
	* app/core/gimpscanconvert.[ch]
	* app/display/gimpdisplayshell.c
	* app/vectors/gimpvectors.c
	* app/gui/grid-dialog.c: changed accordingly.
2003-09-21 10:45:19 +00:00
Michael Natterer
6b2ca702ad app/paint/Makefile.am removed... ...and added.
2003-09-18  Michael Natterer  <mitch@gimp.org>

	* app/paint/Makefile.am
	* app/paint/paint.[ch]: removed...
	* app/paint/gimp-paint.[ch]: ...and added.

	* app/core/gimp.c: changed accordingly.

	* app/tools/Makefile.am
	* app/tools/tools.[ch]: removed...

	* app/tools/gimp-tools.[ch]: ...and added. Added
	gimp_tools_restore() and gimp_tools_save() and moved the entire
	tool registering and tool_options loading/saving code here. Call
	tool_manager_init() from gimp_tools_init() and tool_manager_exit()
	from gimp_tools_exit().

	* app/tools/tool_manager.[ch]: removed the code which now lives
	in gimp-tools.[ch]. The tool manager now has no knowledge about
	individual tools any more and just handles the active_tool
	and the tool part of tool <-> display interaction.
	Removed tool_manager_get_info_by_type().

	* app/tools/gimpvectortool.c (gimp_vector_tool_register): the
	tool's identifier is "gimp-vector-tool", not "gimp-path-tool".

	* app/app_procs.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/vectors-commands.c
	* app/tools/gimppainttool.c: changed accordingly.
2003-09-18 13:51:10 +00:00
Michael Natterer
28d6f0a241 app/core/gimpedit.[ch] app/core/gimpmodules.[ch] app/core/gimpunits.[ch]
2003-09-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpedit.[ch]
	* app/core/gimpmodules.[ch]
	* app/core/gimpunits.[ch]
	* app/text/gimpfonts.[ch]: removed...

	* app/core/gimp-edit.[ch]
	* app/core/gimp-modules.[ch]
	* app/core/gimp-units.[ch]
	* app/text/gimp-fonts.[ch]: ...and added with new names because
	these files operate on members of a Gimp instance and are
	therefore methods of the Gimp object.

	* app/core/Makefile.am
	* app/text/Makefile.am
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/edit-commands.c
	* app/gui/module-browser.c
	* app/gui/preferences-dialog.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/app_procs.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/fonts.pdb: changed accordingly.

	* app/pdb/edit_cmds.c
	* app/pdb/fonts_cmds.c: regenerated.

	* app/core/gimp.c (gimp_init): don't create gimp->fonts.
	(gimp_initialize): call gimp_fonts_init().
	(gimp_restore): call gimp_fonts_load() instead of _init().

	* app/text/gimp-fonts.c (gimp_fonts_init): don't call
	gimp_fonts_load(), just create gimp->fonts and connect to
	"notify::font-path" of gimp->config.
2003-09-15 17:26:28 +00:00
Michael Natterer
9c13b724d4 app/core/gimpimage-mask-select.c (gimp_image_mask_select_vectors)
2003-09-12  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask-select.c (gimp_image_mask_select_vectors)
	* app/paint/gimppaintcore-stroke.c (gimp_paint_core_stroke_vectors)
	* app/display/gimpdisplayshell.c (gimp_display_shell_draw_vector)
	* app/tools/gimpdrawtool.c (gimp_draw_tool_real_draw)
	* app/tools/gimptransformtool.c (gimp_transform_tool_draw)
	* app/tools/gimpvectortool.c (gimp_vector_tool_vectors_visible)
	(gimp_vector_tool_draw): all callers of gimp_stroke_interpolate():
	don't leak the returned GimpCoords array and don't crash if it's
	NULL.

	* app/tools/gimpvectortool.[ch]: added VECTORS_SELECT_VECTOR state
	which enables activating any visible GimpVectors on any display.

	(gimp_vector_tool_on_handle)
	(gimp_vector_tool_on_curve): added a GimpVectors parameter so we
	can check for vectors which are not vector_tool->vectors.

	(gimp_vector_tool_oper_update): iterate gdisp->gimage->vectors
	to figure if we are hovering any visible vectors and set
	VECTORS_SELECT_VECTOR.

	(gimp_vector_tool_button_press): catch VECTORS_SELECT_VECTOR and
	start editing the selected vectors. Also make it the image's
	active_vectors.

	(gimp_vector_tool_button_release): removed unneeded call to
	gimp_viewable_invalidate_preview(vectors).

	Random cleanup all over the place.
2003-09-12 10:04:37 +00:00
Michael Natterer
a0d33a531d Added support for permanently showing the visible vectors, not only when
2003-09-12  Michael Natterer  <mitch@gimp.org>

	Added support for permanently showing the visible vectors, not
	only when the vectors tool is active:

	* app/display/gimpdisplayshell.[ch]: added
	gimp_display_shell_draw_vector() which draws a single GimpVectors
	object and gimp_display_shell_draw_vectors() which draws all
	visible ones. Added "gint paused_count" and new functions
	gimp_display_shell_paunse()/resume(). Pause/resume the active tool
	and draw/undraw the visible vectors when paused_count changes from
	0 to 1 and from 1 to 0.

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c: call the new
	freeze()/thaw() functions instead of calling the tool_manager
	directly. Removes the tools/ sependency from the scale and scroll
	files. Also draw the vectors once when the canvas is realized so
	XOR drawing is in the correct state.

	* app/display/gimpdisplayshell-handlers.c: connect to
	image->vectors' "add" and "remove" signal and to the "freeze",
	"thaw" and "visibility_changed" signals of all vectors in
	image->vectors and update vectors drawing accordingly.
2003-09-11 22:24:30 +00:00
Michael Natterer
037198c82f switch layers immediately, not when finishing layer_select, so the layer
2003-09-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-layer-select.c: switch layers
	immediately, not when finishing layer_select, so the layer
	boundary and the layers dialog are updated, which makes this
	feature much more useful. Fixes bug #119234.
2003-09-10 17:00:35 +00:00
Sven Neumann
56438a7b9b app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.c
2003-09-09  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.c
	* app/display/gimpnavigationview.c
	* app/gui/resolution-calibrate-dialog.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimppreview-popup.c
	* app/widgets/gimpwidgets-utils.c: get the size from the current
	screen, not always from the default one.

	* plug-ins/common/wmf.c: ask GIMP for the monitor resolution instead
	of taking the value from GDK.
2003-09-09 11:35:27 +00:00
Sven Neumann
6f1a0df89f app/display/Makefile.am app/gui/Makefile.am app/paint/Makefile.am
2003-09-07  Sven Neumann  <sven@gimp.org>

	* app/display/Makefile.am
	* app/gui/Makefile.am
	* app/paint/Makefile.am
	* app/pdb/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am (INCLUDES): removed $(LIBART_CFLAGS) again.
2003-09-07 19:35:10 +00:00
Michael Natterer
47ba171afd app/display/display-types.h app/tools/tools-types.h
2003-09-07  Michael Natterer  <mitch@gimp.org>

	* app/display/display-types.h
	* app/tools/tools-types.h
	* app/vectors/vectors-types.h
	* app/widgets/widgets-types.h: removed some forgotten cruft.

	* app/vectors/gimpbezierstroke.h
	* app/vectors/gimpstroke.h
	* app/vectors/gimpvectors.h: added class struct typedefs here.
2003-09-07 10:29:10 +00:00
Michael Natterer
b28c23611b app/display/Makefile.am app/gui/Makefile.am app/paint/Makefile.am
2003-09-06  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/gui/Makefile.am
	* app/paint/Makefile.am
	* app/pdb/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am (INCLUDES): add $(LIBART_CFLAGS) here too.
2003-09-06 17:20:02 +00:00
Sven Neumann
a7f00f06e8 access the grid structure directly instead of using g_object_get() and
2003-09-05  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_draw_grid):
	access the grid structure directly instead of using g_object_get()
	and leaking the returned values. Release the GC object instead of
	leaking it (the GC should probably become part of the display).

	* app/gui/grid-dialog.c (grid_dialog_new): removed an extraneous
	reference count from grid_backup.
2003-09-05 18:22:03 +00:00
Michael Natterer
008e3e208c removed the _bounds() and _boundary() wrappers.
2003-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch]: removed the _bounds() and
	_boundary() wrappers.

	* app/core/gimpdrawable.c
	* app/display/gimpdisplayshell-selection.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimptransformtool.c
	* app/xcf/xcf-save.c: changed accordingly.
2003-09-03 17:17:18 +00:00
Michael Natterer
e837849934 removed the _value() and _is_empty() wrappers.
2003-09-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch]: removed the _value() and
	_is_empty() wrappers.

	* app/display/gimpdisplayshell.[ch]: removed
	gimp_display_shell_mask_value() since it is not used.

	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpedit.c
	* app/core/gimpimage.c
	* app/core/gimplayer.c
	* app/gui/image-menu.c
	* app/gui/vectors-menu.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimptransformtool.c
	* tools/pdbgen/pdb/misc_tools.pdb: changed accordingly.

	* app/pdb/misc_tools_cmds.c: regenerated.
2003-09-03 15:13:19 +00:00
Michael Natterer
2da93d692f app/core/gimpchannel.[ch] (gimp_channel_boundary)
2003-08-30  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpchannel.[ch] (gimp_channel_boundary)
	* app/core/gimpimage-mask.[ch] (gimp_image_mask_boundary)
	* app/core/gimplayer-floating-sel.[ch] (floating_sel_boundary):
	return const BoundSeg arrays because they are cached and not newly
	allocated.

	* app/base/boundary.[ch] (sort_boundary)
	* app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_boundary):
	take const BoundSeg arrays.

	* app/core/gimpimage-mask.c (gimp_image_mask_stroke)
	* app/display/gimpdisplayshell-selection.c
	* app/tools/gimpeditselectiontool.c (init_edit_selection):
	changed accordingly.
2003-08-30 14:25:05 +00:00
Manish Singh
f9c41aa864 app/core/gimpbrush.c app/core/gimpbrushgenerated.c
2003-08-28  Manish Singh  <yosh@gimp.org>

        * app/core/gimpbrush.c
        * app/core/gimpbrushgenerated.c
        * app/core/gimpbrushpipe.c
        * app/core/gimpbuffer.c
        * app/core/gimpimage-snap.c
        * app/core/gimppattern.c
        * app/core/gimpundostack.c
        * app/display/gimpdisplayshell.c
        * app/gui/grid-dialog.c
        * plug-ins/common/CML_explorer.c: cleanup, remove unnecessary casts.
2003-08-28 23:33:15 +00:00
Michael Natterer
c4dfccd8db Enabled type-preserving DND of all kinds of items between different
2003-08-27  Michael Natterer  <mitch@gimp.org>

	Enabled type-preserving DND of all kinds of items between
	different images. Fixes bug #119983.

	* app/core/gimpitem.[ch]: added new virtual function
	GimpItem::convert() which duplicates an item for another image.

	* app/core/gimplayer.[ch]: removed gimp_layer_new_from_drawable()
	and made it a GimpItem::convert() implementation.

	* app/vectors/gimpvectors.[ch]: removed gimp_vectors_convert() and
	made it a GimpItem::convert() implementation.

	* app/widgets/gimpitemtreeview.[ch]: removed GimpConvertItemFunc
	typedef and function pointer in GimpItemTreeViewClass since
	we can simply call gimp_item_convert() now.

	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpvectorstreeview.c
	* app/display/gimpdisplayshell-dnd.c
	* tools/pdbgen/pdb/layer.pdb: changed accordingly.

	* app/pdb/layer_cmds.c: regenerated.
2003-08-27 17:21:49 +00:00
Michael Natterer
829449a86e app/widgets/gimpitemfactory.[ch] added a help_id to GimpItemFactory. It's
2003-08-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpitemfactory.[ch]
	* app/widgets/gimpmenufactory.[ch]: added a help_id to
	GimpItemFactory.  It's basically the code I removed some days ago,
	but this time it's used as default help_id for the factory (e.g.
	if F1 is pressed over a separator), and not to construct html
	links.

	* app/widgets/gimphelp-ids.h: added some missing help IDs.

	* app/gui/menus.c: register a help IDs with each item factory.

	* app/display/gimpdisplayshell.c
	* app/gui/dialogs-menu.c: some more forgotten help IDs.
2003-08-25 17:57:21 +00:00
Michael Natterer
24f3da165b changed GimpObject::get_memsize() to return a second value named
2003-08-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpobject.[ch]: changed GimpObject::get_memsize() to
	return a second value named "gui_size", where the primary return
	value is the "constant" actual size (as long as no operation is
	performed on the object), and the second "gui_size" return value
	is the size of temporary stuff like preview caches or boundary
	segments (which may change asynchronously, even if the object is
	on the undo stack).

	* app/core/gimp.c
	* app/core/gimpbrush.c
	* app/core/gimpbrushpipe.c
	* app/core/gimpbuffer.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdata.c
	* app/core/gimpdatafactory.c
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage-undo.c
	* app/core/gimpimage.c
	* app/core/gimpitem.c
	* app/core/gimplayer.c
	* app/core/gimplist.c
	* app/core/gimppalette.c
	* app/core/gimpparasitelist.c
	* app/core/gimppattern.c
	* app/core/gimpundo.c
	* app/core/gimpundostack.c
	* app/core/gimpviewable.c
	* app/text/gimptextlayer.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.c: changed get_memsize() implementations
	accordingly.

	* app/display/gimpdisplayshell-title.c
	* app/gui/debug-commands.c
	* app/widgets/gimppreview.c: changed callers accordingly.

	* app/core/gimpimage-undo-push.c: changed layer, channel, vectors
	and layer_mask undo steps to add/subtract the size of the
	resp. objects whenever they take/drop ownership of them. Ignore
	the objects' "gui_size" to get identical sizes on
	adding/subtracting. Fixes bug #120429.
2003-08-25 10:49:33 +00:00
Michael Natterer
bd21fec5e8 forgot this one.
2003-08-25  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpnavigationview.c: forgot this one.
2003-08-25 00:54:15 +00:00
Michael Natterer
61122751c1 app/display/gimpdisplayshell-filter-dialog.c
2003-08-24  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-filter-dialog.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpnavigationview.c
	* app/gui/dialogs-menu.c
	* app/gui/documents-menu.c
	* app/gui/error-console-menu.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gradient-editor-menu.c
	* app/gui/image-menu.c
	* app/gui/select-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox-menu.c
	* app/gui/vectors-menu.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpeditor.[ch]
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimpundoeditor.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimphelp-ids.h: added and updated more help IDs.
2003-08-24 13:52:51 +00:00
Michael Natterer
3a7354ba62 Oops, should have gone with my last checkin. 2003-08-23 19:50:35 +00:00
Michael Natterer
fc20b3ac55 app/display/gimpdisplayshell.c app/gui/brush-select.c
2003-08-22  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c
	* app/gui/brush-select.c
	* app/gui/channels-menu.c
	* app/gui/convert-dialog.c
	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/gui.c
	* app/gui/image-commands.c
	* app/gui/image-menu.c
	* app/gui/layers-menu.c
	* app/gui/menus.c
	* app/gui/palette-import-dialog.c
	* app/gui/palette-select.c
	* app/gui/palettes-commands.c
	* app/gui/pattern-select.c
	* app/gui/preferences-dialog.c
	* app/gui/qmask-commands.c
	* app/gui/qmask-menu.c
	* app/gui/templates-commands.c
	* app/gui/toolbox-menu.c
	* app/gui/vectors-menu.c
	* app/tools/[all tools].c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpitemfactory.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimphelp-ids.h: added, fixed and updated lots of
	help IDs. Still unfinished.
2003-08-22 01:42:57 +00:00
Michael Natterer
fd61d33c5e made the layer cycling circular. Removed the static layer_select variable
2003-08-17  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-layer-select.[ch]: made the layer
	cycling circular. Removed the static layer_select variable and
	allocate a new struct for each use. Made it use Ctrl+Tab for
	forward cycling and Ctrl+Shift+Tab for backward so it doesn't use
	Alt any more. Cleanup.

	* app/display/gimpdisplayshell-callbacks.c: changed it from Alt to
	Ctrl here, too.

	Fixes all the stuff mentioned in bug #119236.
2003-08-17 16:58:39 +00:00
Michael Natterer
a4823e99c7 if the canvas has no focus on button_press, set it explicitly instead of
2003-08-16  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): if the canvas has no
	focus on button_press, set it explicitly instead of asuming that
	focus_in will follow anyway. Should once more fix bug #85202.

	Grab the keyboard while button1 is down so the focus can't go away
	while the tool can't receive modifier events. Should fix more
	#85202-alike bugs.
2003-08-16 21:07:13 +00:00
Henrik Brix Andersen
4172d170bc have the grid/guide menu entries reflect the presence of grid/guides in
2003-08-12 Henrik Brix Andersen <brix@gimp.org>

* app/gui/image-menu.c (image_menu_update): have the grid/guide
menu entries reflect the presence of grid/guides in the image (as
suggested by jimmac)

* app/display/gimpdisplayshell.c (gimp_display_shell_snap_coords):
snap to grid/guides even if the grid/guides are hidden (as
suggested by jimmac)
2003-08-12 18:02:55 +00:00
Sven Neumann
2dbb388024 app/config/gimpconfig-deserialize.c app/config/gimpconfig-serialize.c
2003-08-08  Sven Neumann  <sven@gimp.org>

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig.c
	* app/config/gimprc.c
	* app/core/gimpitem.[ch]
	* app/display/gimpprogress.[ch]
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpenummenu.c
	* app/widgets/gimpfontselection.c
	* app/widgets/gimpwidgets-utils.c: documentation fixes.
2003-08-08 19:30:23 +00:00
Henrik Brix Andersen
2ff979d421 added more intuitive decribtions
2003-07-31 Henrik Brix Andersen <brix@gimp.org>

* app/core/core-enums.h (GimpGridType): added more intuitive
decribtions

* app/core/core-enums.c: regenerated

* app/display/gimpdisplayshell.c (gimp_display_shell_draw_grid):
use gdk_draw_point() instead of gdk_draw_line() for dots-only mode

* .cvsignore: added gimptool-win32.c
2003-07-31 01:41:01 +00:00
Michael Natterer
6c0c7fda33 moved the code which manipulates gimage->layer_stack and the call to
2003-07-29  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.c (gimp_image_set_active_layer): moved the
	code which manipulates gimage->layer_stack and the call to
	gimp_layer_invalidate_boundary() inside the if(layer != active_layer)
	branch so it is called less often. Fixes the slowness of bug #104440
	for most cases since we don't need to recalculate the selection
	boundary in the next step.

	(gimp_image_set_active_channel): call
	gimp_layer_invalidate_boundary() before setting the active_layer
	to NULL. Fixes stale layer boundary when switching to a channel.

	* app/display/gimpdisplay.c (gimp_display_flush_whenever): when
	there are no updates, we still need to restart the selection.
	Fixes missing layer boundary when switching from a channel to
	a layer.
2003-07-29 16:36:56 +00:00
Michael Natterer
bd457be1c7 use the gimp_display_shell_selection_control() wrapper instead of calling
2003-07-29  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-handlers.c
	(gimp_display_shell_ants_speed_notify_handler): use the
	gimp_display_shell_selection_control() wrapper instead of
	calling gimp_display_shell_selection_*() functions directly.
	Don't #include "gimpdisplayshell-selection.h".
2003-07-29 16:16:03 +00:00
Michael Natterer
d9440b4136 skip double clicks by checking event->type == GDK_BUTTON_PRESS. Brings
2003-07-29  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_[hv]ruler_button_press): skip double clicks by
	checking event->type == GDK_BUTTON_PRESS. Brings press and release
	events sent to the move tool back in sync and fixes bug #75351.
2003-07-29 14:36:18 +00:00
Henrik Brix Andersen
351557433b renamed GIMP_GRID_TYPE_INTERSECTION to GIMP_GRID_TYPE_INTERSECTIONS, added
2003-07-28 Henrik Brix Andersen <brix@gimp.org>

* app/core/core-enums.h (GimpGridType): renamed
  GIMP_GRID_TYPE_INTERSECTION to GIMP_GRID_TYPE_INTERSECTIONS, added
  GIMP_GRID_TYPE_DOTS

* app/core/core-enums.c: regenerated

* app/gui/grid-dialog.c
* app/core/gimpgrid.c: changed accordingly

* app/display/gimpdisplayshell.c (gimp_display_shell_draw_grid): added
  code to draw the dots-only grid
2003-07-28 21:26:11 +00:00
Michael Natterer
bc77f1e3ff app/config/gimprc-blurbs.h added separate properties for the fullscreen
2003-07-18  Michael Natterer  <mitch@gimp.org>

	* app/config/gimprc-blurbs.h
	* app/config/gimpdisplayconfig.[ch]: added separate properties for
	the fullscreen appearance of the display (menubar, rulers,
	scrollbars, statusbar and padding). Default to everything
	invisible and black padding.

	* app/display/gimpdisplayshell.[ch]: renamed struct
	GimpDisplayShellVisibility to GimpDisplayShellAppearance and added
	the canvas padding stuff.

	* app/display/gimpdisplayshell-appearance.[ch]: made
	gimp_display_shell_set_padding() fullscreen-aware. Added
	gimp_display_shell_get_padding().

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-handlers.c
	* app/gui/image-menu.c: changed addordingly.

	* app/gui/preferences-dialog.c: added the new options and moved
	the display appearance stuff to its own page. Minor cleanups.
2003-07-17 22:30:13 +00:00
Michael Natterer
84e73fa4d1 removed gimp_display_shell_transform_boundary() again...
2003-07-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-transform.[ch]: removed
	gimp_display_shell_transform_boundary() again...

	* app/tools/gimpdrawtool.[ch]: ...and added as
	gimp_draw_tool_draw_boundary(). Removed the GimpDrawToolState enum
	and the "draw_state" member since they were redundant. Cleanup.

	* app/tools/gimpeditselectiontool.c: changed accordingly.

	* app/tools/gimppainttool.[ch]: added a brush preview so we
	finally see where we will paint. Fixes bug #32498. Cleanup.

	* app/tools/tool_manager.c: also look at draw_tool->gdisp, not
	only at tool->gdisp when deciding whether the active tool has to
	be suspended/resumed/halted. Fixes a couple of fnords with the
	line preview and the new brush preview.

	* app/tools/gimpcolortool.c: minor cleanup.
2003-07-10 16:01:45 +00:00
Michael Natterer
b14c364490 added new function gimp_display_shell_transform_boundary() which takes an
2003-07-09  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-transform.[ch]: added new function
	gimp_display_shell_transform_boundary() which takes an array of
	BoundSegs and returns an array of GdkSegments.

	* app/tools/gimpeditselectiontool.c: use it.
2003-07-09 22:40:27 +00:00
Sven Neumann
e78601452c app/gui/edit-commands.c added "Fill with Pattern" menu entry as suggested
2003-07-02  Sven Neumann  <sven@gimp.org>

	* app/gui/edit-commands.c
	* app/gui/image-menu.c: added "Fill with Pattern" menu entry as
	suggested in bug #116365.

	* app/base/temp-buf.c
	* app/base/tile-swap.c
	* app/config/gimpbaseconfig.c
	* app/config/gimpconfig-types.c
	* app/display/gimpdisplayshell-filter-dialog.c
	* app/display/gimpdisplayshell.c
	* app/file/file-utils.c
	* app/paint-funcs/paint-funcs-types.h
	* app/tools/gimpdrawtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.h
	* app/tools/gimptextoptions.c
	* app/paint-funcs/paint-funcs-types.h
	* app/vectors/gimpbezierstroke.c
	* app/vectors/gimpstroke.c
	* app/vectors/gimpvectors.c
	* app/vectors/vectors-types.h
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpmisc.h
	* libgimpmodule/gimpmodule.c: fixed some minor issues found
	compiling with -pedantic.

	* app/pdb/misc_tools_cmds.c
	* tools/pdbgen/pdb/misc_tools.pdb: adapt to the changed order of
	arguments for gimp_image_pick_color().
2003-07-02 18:01:19 +00:00
Michael Natterer
69539fc5c4 added GimpMenuPositionFunc typedef.
2003-07-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h: added GimpMenuPositionFunc typedef.

	* app/widgets/gimpwidgets-utils.[ch]: made gimp_menu_position()
	a GimpMenuPositionFunc.

	* app/widgets/gimpitemfactory.[ch]
	(gimp_item_factory_popup_with_data): added position_func and
	position_data parameters. Use gimp_menu_position() if no
	position_func is given.

	* app/display/gimpdisplayshell-callbacks.c: removed
	gimp_display_shell_origin_menu_popup() and call
	gimp_item_factory_popup_with_data() directly from
	gimp_display_shell_popup_menu(), using
	gimp_display_shell_origin_menu_position() as position_func.

	* app/widgets/gimpeditor.[ch]: added a GtkWidget::popup_menu()
	implementation so all context menus are keyboard accessible.
	Added "gpointer factory_data" member so the menu can be popped up
	in the right context.

	* app/gui/channels-menu.c
	* app/gui/layers-menu.c
	* app/gui/vectors-menu.c: make them work without an active image
	since they can be popped up at any time now.

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: cleanup.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c: pass NULL, NULL as
	position_func and position_data so the default implementation is
	used.
2003-07-02 12:03:56 +00:00
Henrik Brix Andersen
edd5c33923 Added a per image configurable grid.
This fixes bug #65198

* app/core/Makefile.am
* app/core/core-types.h:
* app/core/gimpgrid.[ch]: added new class GimpGrid.

* app/core/core-enums.[ch]: added new enum GimpGridType.

* app/core/gimpimage-guides.[ch]: removed the gimp_image_snap_*()
functions...

* app/core/gimpimage-snap.[ch]: ...and added them here since they
are no longer guide specific.

* app/core/gimpimage-undo-push.[ch]: added
gimp_image_undo_push_image_grid()

* app/display/gimpdisplayshell-handlers.c:
* app/core/gimpimage.[ch]: added grid member to _GimpImage. Added
new signal "grid_changed", added gimp_image_grid_changed(),
gimp_image_get_grid() and gimp_image_set_grid().

* app/display/gimpdisplayshell-appearance.[ch]: added
gimp_display_shell_set_show_grid(),
gimp_display_shell_get_show_grid(),
gimp_display_shell_set_snap_to_grid() and
gimp_display_shell_get_snap_to_grid().

* app/display/gimpdisplayshell-callbacks.c: added call to
gimp_display_shell_draw_grid()

* app/display/gimpdisplayshell.[ch]: added grid member to
_GimpDisplayShellVisibility, added snap_to_grid and grid_dialog
members to _GimpDisplayShell, added
gimp_display_shell_draw_grid(), modified
gimp_display_shell_snap_coords() to use the new
gimp_image_snap_*() functions.

* app/gui/image-menu.c: added grid entries to
image_menu_entries[].

* app/gui/view-commands.[ch]: added
view_configure_grid_cmd_callback(),
view_toggle_grid_cmd_callback() and
view_snap_to_grid_cmd_callback().

* app/gui/Makefile.am
* app/gui/grid-dialog.[ch]: added a grid dialog.
2003-06-23 19:34:48 +00:00
Michael Natterer
5e950b5501 Cleaned up and improved the message system:
2003-06-13  Michael Natterer  <mitch@gimp.org>

	Cleaned up and improved the message system:

	* app/core/gimp.[ch]: added "const gchar *domain" to
	GimpMessageFunc (a NULL domain means the message is from the GIMP
	core, everything else is a plug-in).

	* app/errors.c: pass "domain == NULL" to gimp_message().

	* tools/pdbgen/pdb/message.pdb: derive the message domain from the
	current plug-in's menu_path (evil hack but works reasonably well).

	* app/pdb/message_cmds.c: regenerated.

	* app/widgets/gimpwidgets-utils.[ch] (gimp_message_box): added a
	header showing the message domain and changed the dialog layout to
	follow the HIG more closely.

	* app/gui/error-console-dialog.[ch]: removed.

	* app/widgets/gimperrorconsole.[ch]
	* app/gui/error-console-commands.[ch]
	* app/gui/error-console-menu.[ch]: new files containing a
	re-implementation of the error console dialog.

	* app/gui/Makefile.am
	* app/gui/dialogs-constructors.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: changed accordingly.

	* app/display/gimpprogress.c: added more spacing and removed the
	separator (more HIG compliant).

	* plug-ins/[most plug-ins].c: Changed lots of messages and
	progress strings:

	- Removed plug-in names from messages since that's automatically
	  covered by "domain" now.
	- Put all filenames in ''.
	- Changed "Loading" to "Opening".
	- Added "..." to all progress messages.
	- Cleaned up all file open/save error messages to look the
	  same and include g_strerror(errno).
	- Removed special casing for progress bars and *always* show them,
	  not only if run_mode != GIMP_RUN_NONINTERACTIVE (we can't expect
	  all plug-ins to do this correctly but need to hack the core to
	  sort out unwanted progress bars).

	Unrelated:

	- Cleaned up indentation, spacing, #includes, coding style and
	  other stuff while I was at all these files.
2003-06-13 14:37:00 +00:00
Sven Neumann
addba61b08 added utility function gimp_rgb_get_gdk_color(), documented
2003-06-10  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch]: added utility function
	gimp_rgb_get_gdk_color(), documented gimp_get_screen_resolution().

	* app/widgets/gimppreviewrenderer.c
	(gimp_preview_renderer_set_border_color)
	* app/display/gimpdisplayshell-appearance.c
	(gimp_display_shell_set_padding): use the new function.
2003-06-10 16:44:44 +00:00
Michael Natterer
a014c9d0d3 undraw the cursor on GDK_PROXIMITY_OUT. Always set shell->proximity to
2003-06-04  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): undraw the cursor on
	GDK_PROXIMITY_OUT. Always set shell->proximity to FALSE *before*
	calling gimp_display_shell_update_cursor().
2003-06-04 19:51:22 +00:00
Michael Natterer
909325ee67 call gimp_display_shell_scale_setup() instead of
2003-06-04  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_reconnect):
	call gimp_display_shell_scale_setup() instead of
	gimp_display_shell_shrink_wrap() so window size, zoom factor and
	scroll offsets are preserved across File->Revert if possible.
	Fixes bug #114383.
2003-06-04 13:06:59 +00:00
Michael Natterer
30ea5171aa removed the calls to g_log_set_handler().
2003-05-29  Michael Natterer  <mitch@gimp.org>

	* app/main.c (main): removed the calls to g_log_set_handler().

	* app/app_procs.[ch] (app_init): added the g_log_set_handler()
	calls and pass them the global Gimp instance as user_data.
	Renamed app_gui_init() to app_gui_libs_init().

	* app/errors.c: use the passed Gimp pointer instead of using
	"the_gimp". Don't #include "app_procs.h".

	* app/gui/gui.[ch]: removed gui_get_screen_resolution().

	* app/widgets/gimpwidgets-utils.[ch]: added
	gimp_get_screen_resolution().

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.c
	* app/gui/preferences-dialog.c
	* app/gui/user-install-dialog.c: changed accordingly.

	* app/display/gimpdisplayshell.c: don't #include "gui/gui.h".
2003-05-29 11:34:30 +00:00
Michael Natterer
bbc102f9cf app/display/gimpdisplayshell-callbacks.c app/tools/gimpcolorpickertool.c
2003-05-28  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptextoptions.c
	* app/tools/gimptransformtool.c
	* app/tools/paint_options.c
	* app/tools/tool_manager.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox-color-area.c:
	don't #include "gui/dialogs.h" to get the global factories but use
	gimp_dialog_factory_from_name() instead.
2003-05-28 17:23:54 +00:00
Sven Neumann
698a4ad07e wrap gui_libs_init() so we don't need to include gui.h from main.c
2003-05-28  Sven Neumann  <sven@gimp.org>

	* app/app_procs.[ch]: wrap gui_libs_init() so we don't need to
	include gui.h from main.c

	* app/main.c: changed accordingly.

	* app/gui/gui.[ch]: added a GdkScreen parameter to
	gui_get_screen_resolution(). Use NULL if you want the default
	screen.

	* app/gui/preferences-dialog.c
	* app/gui/user-install-dialog.c: changed accordingly.

	* app/display/gimpdisplayshell-scale.c: use the monitor resolution
	stored in the GimpDisplayShell object.

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.c: get the monitor resolution for
	the widget's GdkScreen. Set it in the realize method so it gets
	changed when the image window is migrated to another screen.
2003-05-28 16:11:29 +00:00
Michael Natterer
6cee716ddd don't let the navigation _popup_ auto-resize itself and don't allocate a
2003-05-28  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpnavigationview.c: don't let the navigation
	_popup_ auto-resize itself and don't allocate a minimum size
	bacause that makes sense for the navigation _tab_ only. Fixes
	popup size and positioning.
2003-05-28 15:20:58 +00:00
Pedro Gimeno
2f31d12f86 Fix off-by-one when dragging the selection. Fixes the last pending issue
2003-05-26  Pedro Gimeno  <pggimeno@wanadoo.es>

	* app/tools/gimpeditselectiontool.c (selection_transform_segs):
	Fix off-by-one when dragging the selection. Fixes the last pending
	issue of bug #17904. Use temporary variables for clamp values.

	* app/display/gimpdisplayshell-selection.c
	(selection_transform_segs): Perform the clamping that fixes
	bug #110014 here instead of in the callers. Solves a rare case
	that was not properly handled before.
	(selection_render_points, selection_generate_segs): Remove the
	clamping code from here.

	* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_rectangle): More
	clampings to avoid overflow of 16-bit coordinates.
2003-05-25 23:23:34 +00:00
Hans Breuer
89bfbdf66d updated win32 (msvc) build
2003-05-24  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc **/*.def : updated win32 (msvc) build

	* plug-ins/twain/twain.c plug-ins/winsnap/winsnap.c :
	add the extra parameter to gimp_main() calls
2003-05-24 17:00:03 +00:00