Commit Graph

66 Commits

Author SHA1 Message Date
BST 1999 Andy Thomas 5e79064513 app/nav_window.c
Wed Oct 20 23:08:31 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c

	Now works correctly with non-square pixels. (dot-for-dot off
	and xres != yres).
1999-10-20 22:15:13 +00:00
Michael Natterer f3df254713 made the "Dialogs" sub-menus of <Toolbox>/File and <Image> consistent.
1999-10-16  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/menus.c: made the "Dialogs" sub-menus of <Toolbox>/File and
	<Image> consistent.

	* app/nav_window.c: wheelmouse support as in the gdisplay shell.
1999-10-16 13:07:15 +00:00
Michael Natterer 002aa905db app/Makefile.am app/gimphelp.[ch] new files
1999-09-27  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimphelp.[ch]
	* app/gimpui.[ch]: new files

	* app/interface.[ch]
	* app/preferences_dialog.[ch]

	The GIMP Help System part 1: Press "F1" in any dialog to pop up
	the help page for this dialog.

	Moved the widget constructors from preferences_dialog.[ch] and the
	query boxes from interface.[ch] to gimpui.[ch].

	The dialog constructors take a help_func and a help_data
	parameter and install the "F1" accelerator which emits the new
	"help" signal.

	The "help" signal callback calls help_func(help_data) which finally
	has to call gimp_help() which in turn invokes the help browser.

	Still have to find a proper way to (1) prevent "F1" being assigned
	to some menu item and (2) to catch "F1" while browsing the menu
	trees in order to pop up the help for the selected item.

	* app/menus.c: a <Toolbox>/File/Help... menu item.
	* app/commands.[ch]: a command callback for the "Help..." menu item.

	* app/gimprc.[ch]: new boolean gimprc variable "use_help".

	* app/info_dialog.[ch]: pass a help function and data to the info
	dialog constructor.

	* app/tools.[ch]: store the tools help page names in the tool info
	structure. Export a special tools_help_func() which shows the help
	page for the active tool.

	* app/[all files calling a dialog constructor]: pass the dialog's
	help page to the constructor.

	Most dialogs are now created by gimp_dialog_new() which also sets
	up the action_area and the WM delete event callback, so I removed
	the resp. code from these files.

	Fixed some minor bugs and did some other stuff but didn't change
	any logic except dialog creation.

	* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
	help browser and don't install any menu path (all done in
	app/gimphelp.[ch] now).
1999-09-27 17:58:10 +00:00
EDT 1999 Austin Donnelly bf8db4adc8 Honest, guv, it's not a feature - it's a tightly integrated package of
Mon Sep 20 12:51:30 EDT 1999  Austin Donnelly  <austin@gimp.org>

	Honest, guv, it's not a feature - it's a tightly integrated
	package of undo system cleanups and fixes.

	NEW FILES:
	* app/undo_history.c: window showing recent undo (and redo) steps
	    available.
	* app/undo_types.h: broken out of undo.h to fix circular includes.

	MODIFIED FILES:
	* app/Makefile.am: compile undo_history.c
	* app/channel.h: use enum for channel undo type, not just magic
	    numbers.
	* app/layer.h: same for layer undos.
	* app/commands.c: edit_show_undo_history_cmd_callback() function to
	    pull up undo history window.
	* app/commands.h: prototype for above.
	* app/gdisplay.c: make undo / redo menu items sensitive according
	    to whether they would do anything.  Would be easy to change
	    the text to say what would be undone/redone, but I don't know
	    the GTK.
	* app/gimpimage.c: new signal emitted by gimage:
	    UNDO_EVENT. gimp_image_undo_event() function to emit it.
	* app/gimpimage.h: prototype for above.
	* app/gimpimageP.h: pushing_undo_group member is now an undo_type,
	    not an int.  Keep undo history widget here too (if created).
	* app/menus.c: add "Edit/Undo history..." to image menu.
	* app/undo.c: new types: enums undo_type and undo_state rather than
	    ints and magic numbers.  All undo_pop_* and undo_free_*
	    functions made static.  New static function
	    undo_type_to_name().  Issue undo event signals on various
	    important events (eg undo pushed, undo popped etc).
	    undo_push() now takes a "dirties_image" arg to say whether
	    image should be dirtied.  Layer moves now dirty the image.  A
	    couple of g_return_if_fails () on undo_pop and undo_redo to
	    assert we're not in the middle of an undo group.
	    undo_get_{undo,redo}_name() to peek at names of top items on
	    undo and redo stacks resp.   undo_map_over_{undo,redo}_stack()
	    to run a function for each item or group on stack.  Layer and
	    channel undos use symbolic names rather than 0 or 1.  Array
	    mapping undo types to names.
	* app/undo.h: split out undo types to undo_types.h.  Prototypes
	    for functions described above.  undo_event_t enum.
	    undo_history_new() prototype lives here too.

	Random other fixes:
	* app/gimpdrawable.c
	* app/image_render.c: default labels in switches to keep egcs happy.

	* app/nav_window.c: some fixes to (sort of) cope with image res !=
	    screen res.  Still needs work to handle non-square pixels
	    properly.

	* app/paths_dialog.c: bad idea to call gimp_image_dirty()
	    directly.  Even though it's currently commented out.
1999-09-20 17:15:20 +00:00
BST 1999 Andy Thomas d045b9667a app/nav_window.c app/floating_sel.c
Sat Sep 11 22:45:12 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c
	* app/floating_sel.c

	Hopefully fix for nav_popup when using tablets.
	Also applied the patch supplied by Garry R. Osgood. Thanks.
1999-09-11 21:51:08 +00:00
Tomas Ogren c9c420f1cf app/disp_callbacks.c app/gdisplay_color.c app/image_new.c i18n fixes.
1999-09-06  Tomas Ogren  <stric@ing.umu.se>

* app/disp_callbacks.c app/gdisplay_color.c app/image_new.c
* app/info_dialog.c app/nav_window.c app/qmask.c app/undo.c:
i18n fixes.
1999-09-06 00:07:03 +00:00
BST 1999 Andy Thomas 56f506a780 app/gdisplay.c app/gdisplay.h app/gimprc.h app/gimprc.c app/nav_window.c
Sat Sep  4 23:21:10 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gdisplay.c
	* app/gdisplay.h
	* app/gimprc.h
	* app/gimprc.c
	* app/nav_window.c
	* app/nav_window.h
	* app/preferences_dialog.c

	The nav preview size can now be configured. The size applies
	to both the "popup" and dialog window.
1999-09-04 22:27:20 +00:00
BST 1999 Andy Thomas f380edd704 app/gdisplay.c app/gdisplay.h app/interface.c app/nav_window.c
Wed Sep  1 23:18:21 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gdisplay.c
	* app/gdisplay.h
	* app/interface.c
	* app/nav_window.c
	* app/nav_window.h
	* pixmap/navbutton.xpm (new)

	New popup navigation window. press the icon that appears in
	the bottom right-hand corner of the image display. A navigation
	window will appear that will allow you to scroll around the image if
	the area shown is smaller than the overall image size. Thanks to tml
        for the idea.
1999-09-01 22:39:44 +00:00
BST 1999 Andy Thomas df7ad092f4 app/nav_window.c app/nav_window.h app/gimppreviewcache.h app/layer.c
Fri Aug 27 18:57:50 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c
	* app/nav_window.h
	* app/gimppreviewcache.h
	* app/layer.c
	* app/channel.c
	* app/commands.c

	Added some controls to the nav window. Yep. I know that the
	buttons are toooo biGGG.

	Preview cache changes. Now prime preview cache with a image
	so that later we have a better chance of a hit. Still
	needs to be more intelligent at doing this (needs to pick largest
	out of the cache & use its size as the size to prime with).
1999-08-27 19:07:21 +00:00
BST 1999 Andy Thomas 74f4666495 app/nav_window.c
Tue Aug 24 22:50:28 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c

	Preview now updated when image is modified. Done on a two second +
	idle timer. However the preview cache needs modifying since
	the tiles are transversed twice. Once for small previews then for
	larger ones. Should only be done once.
1999-08-24 21:59:32 +00:00
BST 1999 Andy Thomas 487642b0f9 app/menus.c app/nav_window.c
Mon Aug 23 23:25:05 BST 1999 Andy Thomas <alt@gimp.org>

	* app/menus.c
	* app/nav_window.c

	Nav window code now handles boundary conditions correctly (ie
	you can scroll to the edges of the image now).
	It also has some key bindings:-

	1) Arrow keys work as expected
	2) =/- keys perform zoomin/zoomout. Note these keys are hardcoded
	at present until (if) I find away of finding out how to get the
	current accel. keys for these functions.
	3) Space will raise the display window to the top of the window stack.
	It also updates the preview. This will be changed to happen
	automatically RSN.

	Tearoff menus are now popped up and down (like other dialogs) when
	the tab key is pressed in the image window.
1999-08-23 22:47:36 +00:00
BST 1999 Adam D. Moss 2d65428408 Navigation window shows checkmarked alpha, also previews correctly for
Sat Aug 21 01:06:53 BST 1999  Adam D. Moss  <adam@gimp.org>

	* app/nav_window.c: Navigation window shows checkmarked alpha,
	also previews correctly for greyscale images now.
1999-08-21 00:18:58 +00:00
Adam D. Moss 58d866bcde removed stdio.h inc. 1999-08-20 23:26:08 +00:00
BST 1999 Adam D. Moss 517cf3ed98 Improved pointer tracking when dragging navigator rectangle - less lag.
Sat Aug 21 00:07:37 BST 1999  Adam D. Moss  <adam@gimp.org>

	* app/nav_window.c: Improved pointer tracking when
	dragging navigator rectangle - less lag.  Enabled hourglass
	when computing first thumbnail.
1999-08-20 23:20:23 +00:00
Tor Lillqvist f6858e21d1 Actually use the enum types GimpImageType, GimpImageBaseType,
* app/*.[ch]: Actually use the enum types GimpImageType,
	GimpImageBaseType, LayerModeEffects, PaintApplicationMode,
	BrushApplicationMode, GimpFillType and ConvertPaletteType, instead
	of just int or gint. Hopefully I catched most of the places
	where these should be used.

	Add an enum ConvolutionType, suffix the too general constants
	NORMAL, ABSOLUTE and NEGATIVE with _CONVOL. Use NORMAL_MODE
	instead of NORMAL in some places (this was what was intended). Fix
	some minor gccisms.

	* app/apptypes.h: New file. This file contains the above
	enumeration types, and some opaque struct typedefs. It was
	necessary to collect these in one header that doesn't include
	other headers, because when we started using the above mentioned
	types in the headers, all hell broke loose because of the
	spaghetti-like cross-inclusion mess between headers.

	(An example: Header A includes header B, which includes header C
	which includes A. B uses a type defined in A. This is not defined,
	because A hasn't defined it yet at the point where it includes B,
	and A included from B of course is skipped as we already are
	reading A.)
1999-08-18 23:41:39 +00:00
BST 1999 Andy Thomas 2557c517b1 app/commands.c app/commands.h app/disp_callbacks.c app/gdisplay.c
Thu Aug 12 21:38:53 BST 1999 Andy Thomas <alt@gimp.org>

	* app/commands.c
	* app/commands.h
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gdisplay.h
	* app/info_dialog.c
	* app/info_dialog.h
	* app/info_window.c
	* app/info_window.h
	* app/menus.c
	* app/scale.c
	* app/scroll.c
	* app/scroll.h
	* app/nav_window.c (new)
	* app/nav_window.h (new)
	* pixmap/dropper.xpm (new)

	New "navigator" image (accessed via <Image>/Window Nav..). This gives
	an outline of the location of the current view on an image. Eg if your
	image window is only showing part of an image then the Window Navigation	window will outline the area viewed. You can "drag" the outlined
	square around the viewport and the main image will scroll. Additional
	a single click outside the square will center the image at that
	location.

	Also started to add additional information to a new page inside the
	Window information dialog (currently only pixel value is shown).

	Both these features are currently work in progress and unfinished.
	In particular the Navigator does not keep in step with changes
	to the basic image (however it does keep in step with image size changes	and if you modify the size of the image viewing window). It also
	does not display the transparent areas of images very nicely.
1999-08-12 22:21:04 +00:00