Commit Graph

3896 Commits

Author SHA1 Message Date
Matthias Clasen
0d8359a5d7 Fix the ftp download url.
* docs/tutorial/gtk-tut.sgml: Fix the ftp download url.
2002-11-25 19:20:39 +00:00
Soeren Sandmann
27315fd016 Style improvements that I forgot about in last commit.
Mon Nov 25 19:10:54 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkprogressbar.c: Style improvements that I forgot about
	in last commit.
2002-11-25 18:09:00 +00:00
Soeren Sandmann
5ff0d3d467 Break this function into simpler functions: gtk_progress_bar_paint_text(),
Mon Nov 25 18:56:55 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkprogressbar.c (gtk_progress_bar_paint): Break this
	function into simpler functions:
	gtk_progress_bar_paint_text(), gtk_progress_bar_paint_discrete(),
	gtk_progress_bar_paint_continous(),
	gtk_progress_bar_paint_activity().
2002-11-25 18:03:34 +00:00
Owen Taylor
5e17ddfb11 Remove code to grab the focus here, it is no longer needed since we focus
Mon Nov 25 12:34:44 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdialog.c (gtk_dialog_set_default_response):
        Remove code to grab the focus here, it is no longer
        needed since we focus a widget on map, and can cause
        harm. (#99048, Daniel Elstner)
2002-11-25 17:45:32 +00:00
Tor Lillqvist
08fc500e8d Merge from stable:
2002-11-24  Tor Lillqvist  <tml@iki.fi>

	Merge from stable:

	Implement tiles and stipples for all drawing methids (except the
	deprecated draw_text() and draw_text_wc()).

	* gdk/win32/gdkdrawable-win32.c: Remove the already ifdeffed-out
	code that didn't use generic_draw().

	(generic_draw): When drawing into the mask (for tiled/stippled
	fill styles), copy the line attributes from the actual GC. Also
	ask for text drawing setup if needed. Use differently set up HDCs
	in the normal and tiled/stippled cases.

	(draw_lines, gdk_win32_draw_lines, draw_polygon,
	gdk_win32_draw_polygon, draw_segments, gdk_win32_draw_segments,
	draw_arc, gdk_win32_draw_arc): Use generic_draw(), thus
	implementing tiled and stippled fill styles for lines, polygons,
	segments, and args.

	(gdk_win32_draw_points): Use Rectangle() instead of
	SetPixel(). Rectangle() uses the function (raster op) set for the
	HDC, SetPixel() doesn't.

	(widen_bounds): New function, refactoring.

	* gdk/win32/gdkgc-win32.c: Remove ifdeffed-out code.

	(predraw_set_foreground, gdk_win32_hdc_get): Some code moved
	around. Call SetROP2() only if necessary. Call SetTextColor() only
	if GDK_GC_FOREGROUND flag present. Don't handle
	GDK_OPAQUE_STIPPLED here, has been superseded by the code in
	generic_draw(). Always create a solid brush.

	Remove background color handling from here. The background color
	of a GdkGC is supposed to affect only GDK_OPAQUE_STIPPLED fill
	style, which it is already handled in generic_draw(), and
	GDK_LINE_DOUBLE_DASH lines, which aren't implemented properly
	anyway. Calling SetBkColor() is unnecessary as we always use
	TRANSPARENT text output.

	(gdk_win32_hdc_get, gdk_win32_hdc_release): Add doc comments, as
	these are public functions.

	* gdk/win32/gdkevents-win32.c (synthesize_expose_events): Don't
	synthesize expose events for GDK_INPUT_ONLY windows.
	(gdk_event_translate): On WM_SIZE, call
	gdk_synthesize_window_state() if window was iconified, restored or
	maximized. (#98983, Arnaud Charlet)

	* gtk+/gdk/win32/gdkwindow-win32.c
	(gdk_window_get_frame_extents): Fix typo in setting y.  (#98983,
	Arnaud Charlet)
2002-11-24 23:54:01 +00:00
Matthias Clasen
65cce90c27 Remove period from title of example in docs.
* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap):
	Remove period from title of example in docs.

	* gdk/tmpl/x_interaction.sgml:
	* gdk/tmpl/pango_interaction.sgml:
	* gdk/tmpl/input_devices.sgml:
	* gdk/tmpl/input.sgml:
	* gdk/tmpl/threads.sgml:
	* gdk/tmpl/properties.sgml:
	* gdk/tmpl/dnd.sgml:
	* gdk/tmpl/selections.sgml:
	* gdk/tmpl/keys.sgml:
	* gdk/tmpl/event_structs.sgml:
	* gdk/tmpl/events.sgml:
	* gdk/tmpl/windows.sgml:
	* gdk/tmpl/cursors.sgml:
	* gdk/tmpl/fonts.sgml:
	* gdk/tmpl/colors.sgml:
	* gdk/tmpl/pixbufs.sgml:
	* gdk/tmpl/images.sgml:
	* gdk/tmpl/pixmaps.sgml:
	* gdk/tmpl/drawing.sgml:
	* gdk/tmpl/regions.sgml:
	* gdk/tmpl/gdkdisplaymanager.sgml:
	* gdk/tmpl/gdkscreen.sgml:
	* gdk/tmpl/gdkdisplay.sgml:
	* gdk/tmpl/general.sgml:
	Add missing short descriptions, standardize them to start with
	a capital and end without a period. Also remove periods from
	titles of examples.
2002-11-23 23:02:10 +00:00
15:43:54 2002 Dan Mills
25aa3ddaa5 replace gtk-doc version check with an all-sh version that works better,
2002-11-21 15:43:54 2002 Dan Mills  <thunder@ximian.com>

	* configure.in: replace gtk-doc version check with an all-sh
	version that works better,
	also up the required gtk-doc version to 0.10 (#99216).
2002-11-21 23:22:32 +00:00
Matthias Clasen
d20ce3a1d8 Add package version info to API docs. 2002-11-21 20:19:01 +00:00
Matthias Clasen
6bcfec7d68 Add a note about reflexive ancestry. (#99085, Frederic Lespez)
* gtk/gtkwidget.c (gtk_widget_get_ancestor): Add a note about
	reflexive ancestry.  (#99085, Frederic Lespez)
2002-11-21 20:03:03 +00:00
Matthias Clasen
dd6b66bff9 Numerous fixes to the calendar example. (#97956, Owen Taylor)
* docs/tutorial/gtk-tut.sgml:
	* examples/calendar/calendar.c: Numerous fixes to the calendar
	example.  (#97956, Owen Taylor)
2002-11-21 19:56:52 +00:00
Matthias Clasen
76f5554f77 Fix doc comment typos. (#97432, Vitaly Tishkov)
* gtk/gtktreeview.c (gtk_tree_view_set_cursor): Fix doc
	comment typos.  (#97432, Vitaly Tishkov)
2002-11-21 19:28:43 +00:00
Matthias Clasen
446f241c23 Fix doc comment typos. (#98158, Vitaly Tishkov)
* gtk/gtktreemodel.c (gtk_tree_model_iter_nth_child): Fix doc
	comment typos.  (#98158, Vitaly Tishkov)
2002-11-21 19:21:55 +00:00
Matthias Clasen
7d62f9ed78 Fix doc comment typos. (#98480, Vitaly Tishkov)
* gtk/gtkmenu.c (gtk_menu_set_screen): Fix doc comment
	typos.  (#98480, Vitaly Tishkov)
2002-11-21 19:12:43 +00:00
Kristian Rietveld
41f52c90aa small tweaks.
Wed Nov 20 23:13:19 2002  Kristian Rietveld  <kris@gtk.org>

        * docs/RELEASE-HOWTO: small tweaks.
2002-11-20 21:55:05 +00:00
Kristian Rietveld
83e9cd5320 return a value in the range of [-1, 1] instead [0, 1],
Wed Nov 20 19:29:50 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtkrbtree.c (gtk_rbtree_reorder_sort_func): return a value
        in the range of [-1, 1] instead [0, 1],
        (gtk_rbtree_reorder_invert_func): ditto,
        This makes treeview reordering working on platforms as FreeBSD and
        solaris, thanks go to Heiner Eichmann for finding this out and
        sending in a patch (#98251).

Wed Nov 20 19:27:07 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreestore.c (node_free): only free the data list if
        node->data is not NULL,
        (gtk_tree_store_remove): free the data list from the node if
        needed. (#94728, pointed out by Peter Bloomfield).

Wed Nov 20 19:23:13 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_remove_column): stop editing
        and set the edited_column to NULL if edited_column is set.
        (#91288, modified patch from Josh Parsons).

Wed Nov 20 19:20:34 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): do a full
        redraw if vadjustment->value is bigger than tree_view->priv->height,
        (gtk_tree_view_row_deleted): free the row ref if it isn't valid
        anymore. (#83726, reported by Robert Kinsella).
2002-11-20 18:15:28 +00:00
Manish Singh
bc035915e9 add -DGTK_DISABLE_DEPRECATED. #undef it at the top of gtktypebuiltins.c.
Tue Nov 19 17:05:51 2002 Manish Singh  <yosh@gimp.org>

	* gtk/Makefile.am: add -DGTK_DISABLE_DEPRECATED. #undef it at the
	top of gtktypebuiltins.c.

	* gtk/gtkclist.c
	* gtk/gtkcombo.c
	* gtk/gtkctree.c
	* gtk/gtklist.c
	* gtk/gtklistitem.c
	* gtk/gtkoldeditable.c
	* gtk/gtkpixmap.c
	* gtk/gtkpreview.c
	* gtk/gtksignal.c
	* gtk/gtktext.c
	* gtk/gtktipsquery.c
	* gtk/gtktree.c
	* gtk/gtktreeitem.c
	* gtk/gtktypeutils.c: #undef GTK_DISABLE_DEPRECATED, deprecated widgets
	and compat code.

	* gtk/gtkcolorsel.c: move gtk_color_selection_set_color implementation
	to set_color_internal, and use that. The deprecated function now
	merely wraps it.

	* gtk/gtkfontsel.c: same as above, except with
	gtk_font_selection_get_font.

	* gtk/gtknotebook.c: same as above, except with
	gtk_notebook_set_homogeneous, and gtk_notebook_set_tab_{border,
	hborder,vborder}.

	* gtk/gtkprogressbar.c: same as above, except with
	gtk_progress_bar_set_{bar_stype,discrete_blocks,activity_step,
	activity_blocks}.

	* gtk/gtkstyle.c: same as above, except with gtk_style_get_font.

	* gtk/gtkwidget.c: same as above, except with gtk_widget_set_usize.

	* gtk/gtkitemfactory.h: declare compatibility functions for deprecated
	GtkMenuFactory stuff if GTK_COMPILATION, since they are used
	internally by the compat code.

	* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
	use of deprecated gtk_check_menu_item_set_show_toggle (it is a noop
	now).

	* gtk/gtkmain.c: replaced deprecated GTK_TYPE_* with G_TYPE_*.

	* gtk/gtkobject.c: replaced various deprecated functions. In set and
	get_property, use g_object_{set,get}_data with "user_data" instead
	of gtk_object_{set,get}_user_data.

	* gtk/gtkprogress.h: API declared if GTK_COMPILATION

	* gtk/gtkprogress.c: port get_type to GObject API.

	* gtk/gtktypeutils.h: declare GtkArg stuff and gtk_type_init,
	if GTK_COMPILATION.

	* gtk/gtkwidget.c: define gtk_widget_queue_clear in terms of
	gtk_widget_queue_draw instead of the other way around.

	* tests/Makefile.am: define -DGTK_DISABLE_DEPRECATED

	* tests/testgtk.c
	* tests/testselection.c
	* tests/testsocket.c: #undef GTK_DISABLE_DEPRECATED, makes use of
	deprecated stuff.
2002-11-20 01:07:33 +00:00
Manish Singh
3e8866a488 initialize anchor_path to NULL.
Tue Nov 19 17:01:40 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range):
        initialize anchor_path to NULL.

        * examples/buttonbox/buttonbox.c: remove useless static qualifier.
2002-11-20 01:05:26 +00:00
Matthias Clasen
fccd38337e Add a dummy widget and pass it as first argument to the various create
* tests/testgtk.c (do_bench):
	(do_real_bench):
	(bench_iteration): Add a dummy widget and pass it as first
	argument to the various create functions when in --bench mode,
	since these call gtk_widget_get_screen () on their first argument.
2002-11-19 21:18:23 +00:00
Manish Singh
2c5e4aa768 use gdk_drawable_get_size instead of gdk_window_get_size. Fixes #98957.
Mon Nov 18 17:15:07 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkwindow-decorate.c (gtk_decorated_window_paint): use
        gdk_drawable_get_size instead of gdk_window_get_size. Fixes
        #98957.
2002-11-19 01:16:36 +00:00
Kristian Rietveld
09951ec9ad new file describing the release process.
Tue Nov 19 00:45:34 2002  Kristian Rietveld  <kris@gtk.org>

        * docs/RELEASE-HOWTO: new file describing the release process.

        * docs/Makefile.am: added RELEASE-HOWTO to EXTRA_DIST.
2002-11-18 23:34:02 +00:00
Owen Taylor
8271b9df07 Clean up a bit of duplicated code.
Mon Nov 18 18:15:56 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksettings.c (gtk_settings_get_property): Clean up
        a bit of duplicated code.
2002-11-18 23:18:13 +00:00
Kristian Rietveld
b977d5af8f modify and free tmp instead of path ... (patch from #97927).
Mon Nov 18 20:42:27 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_expand_to_path): modify and
        free tmp instead of path ... (patch from #97927).

Mon Nov 18 20:31:20 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
        only _set_text if celltext->text is not NULL. (#97815, reported
        and testcase provided by Vitaly Tishkov).

Mon Nov 18 20:28:28 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range):
        also update the anchor_path, makes behaviour consistent with the
        other selection modification functions. (#96801, reported and
        testcase provided by Vitaly Tishkov).

Mon Nov 18 20:17:56 2002  Kristian Rietveld  <kris@gtk.org>

        Hrm, this fixes up lots of mistakes in my swap/move code ... Some
        of these mistakes where pointed out by Vitaly Tishkov in bugs
        #97403, #97404, #97412, #97618.

        * gtktreestore.[ch]: gtk_tree_store_move is now private, use
        gtk_tree_store_move_{before,after} instead now. Lots of fixes
        (more like a rewrite :) in the _move and _swap functions.

        * gtkliststore.[ch]: likewise.
2002-11-18 19:33:28 +00:00
Abigail Brady
3e576ed832 Sort the list of Input Modules by name, keeping Default at top.
2002-11-18  Abigail Brady  <morwen@evilmagic.org>

	* gtk/gtkimmodule.c: (_gtk_im_module_list): Sort the list of Input
	Modules	by name, keeping Default at top.
2002-11-18 03:43:53 +00:00
Manish Singh
a0fdf99106 Oops, forgot ChangeLog 2002-11-17 22:05:52 +00:00
Jonathan Blandford
ec49b8194f remove bogus gvalue initialization/freeing.
Sun Nov 17 10:49:28 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtksettings.c (gtk_settings_get_property): remove bogus
	gvalue initialization/freeing.
2002-11-17 15:56:53 +00:00
Tor Lillqvist
36a56b08e5 Add missing entries, needed by gtk.
2002-11-16  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def: Add missing entries, needed by gtk.

	* gdk/win32/gdkcolor-win32.c (gdk_screen_get_system_colormap):
	Remove g_return_val_if_fail call. This function is called from
	gdk_display_open() with the _gdk_screen it just created, but when
	gdk_screen_get_default() still returns NULL.

	* gdk/win32/gdkdisplay-win32.c
	* gdk/win32/gdkscreen-win32.c: Make more like the linux-fb
	versions. For instance, don't call
	gdk_display_manager_set_default_display() from gdk_display_open().

	* gdk/win32/gdkglobals-win32.c: Move _gdk_display, _gdk_screen and
	_gdk_parent_root here.

	* gdk/win32/gdkinput.c (gdk_display_list_devices): New function.

	* gdk/win32/gdkmain-win32.c (gdk_get_display): New function.

	* gdk/win32/gdkvisual-win32.c (gdk_screen_get_system_visual):
	Don't require that the screen parameter is non-NULL. It can be,
	and the linux-fb version doesn't check either.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint,
	gdk_window_set_skip_pager_hint, gdk_window_fullscreen,
	gdk_window_unfullscreen): Implement as no-ops.
2002-11-16 21:51:47 +00:00
Jonathan Blandford
3b4728be1d Allow g_object_set to work with GtkSettings.
Fri Nov 15 19:12:56 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtksettings.c: Allow g_object_set to work with GtkSettings.
2002-11-16 01:30:12 +00:00
Tor Lillqvist
fda3e29611 Reflect recent renamings and removals of functions.
2002-11-15  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def: Reflect recent renamings and removals of functions.

	Merge from stable:

	Start implementing all fill styles (i.e. tiled, stippled, and
	opaque stippled in addition to the plain solid style) in the Win32
	backend in an elegant and generic way. For now only did the
	draw_rectangle() and draw_glyphs() methods. The rest will
	follow. Previously some of the drawing methods implemented opaque
	stippling, but not tiles or non-opaque stippling.

	Seems to work fine, now the check marks show up in check buttons,
	the stippled background and stippled text in gtk-demo's Text
	Widget look as they should, and GtkText's line wrap arrow shows
	correctly instead of an ugly rectangle. [This refers to the stable
	branch, haven't actually checked HEAD.]

	The implementation does do a lot of pixmap handling and blitting
	back and forth, especially on Win9x. But performance is hopefully
	not an issue. I don't think many applications do a lot of tiled or
	stippled drawing.

	* gdk/win32/gdkprivate-win32.h: Define a new macro, GDI_CALL, that
	calls a GDI function and prints a warning if it failed. Also
	API_CALL for non-GDI calls. Cleans all the the if (!BlaBla())
	WIN32_GDI_FAILED ("BlaBla") snippets, these can now be written
	GDI_CALL (BlaBla, ()). Declare new functions.

	* gdk/win32/gdkdrawable-win32.c: Use GDI_CALL macro in lots of places.

	(generic_draw): New function that handles all the blitting
	necessary to implement tiles and stipples. A function that
	actually draws stuff is passed as a parameter to
	generic_draw(). If the fill style is solid, it is called
	directly, to draw on the destination drawable. Otherwise it is
	called to draw on a temporary mask bitmap, which then is used in
	blitting operations. The tiles and/or stipples are rendered into
	another temporary pixmap. If MaskBlt() is available (on NT/2k/XP),
	it is used, otherwise a sequence of BitBlt() is used to do the
	final composition onto the destination drawable.

	(draw_tiles_lowlevel, draw_tiles): Some renaming and code
	reorg. Use BitBlt() to blit each tile, not gdk_draw_drawable().

	(rop2_to_rop3): New function, does binary->ternary rop mapping.

	(blit_from_pixmap, blit_inside_window, blit_from_window): Use
	rop2_to_rop3(). Previously used SRCCOPY always...

	(draw_rectangle, gdk_win32_draw_rectangle, draw_glyphs,
	gdk_win32_draw_glyphs): Split functionality into two functions,
	with generic_draw() doing its magic inbetween.

	* gdk/win32/gdkevents-win32.c: Remove the TrackMouseEvent code, it
	was ifdeffed out and wouldn't have done anything even if
	enabled. Remove the GDK_EVENT_FUNC_FROM_WINDOW_PROC code, didn't
	have any effect any more anyway after all the changes GTK+ has
	gone through in the last years. Remove some #if 0 code.

	* gdk/win32/gdkgc-win32.c (gdk_gc_copy): Set the copy's hdc field
	to NULL in case a GC is copied while it has a Windows DC active.

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c: Remove gdk_event_func_from_window_proc.

	* gdk/win32/gdkmain-win32.c: Remove -event-func-from-window-proc
	option. If there is a PRETEND_WIN9X envvar, set windows_version as
	if on Win9x.

	* gdk/win32/gdkpixmap-win32.c (_gdk_win32_pixmap_new,
	gdk_pixmap_new): Combine these two, _gdk_win32_pixmap_new() wasn't
	used or exported. Make a bit more like the X11 version. Hopefully
	I didn't break the fragile palettized display ("pseudocolor")
	code.

	* gdk/win32/gdkgc-win32.c: Various debugging output improvements.

	(predraw_set_foreground): Check whether
	tile/stipple origins are valid when calling SetBrushOrgEx().

	(gdk_win32_hdc_get): Ifdef out code that tries to handle the
	stipple by converting it into a region, and combining the clip
	region with that. A stipple shouldn't work like that, it should
	replicate in x and y directions. Stipples are now handled by
	generic_draw() in gdkdrawable-win32.c.

	* gdk/win32/gdkmain-win32.c: (gdk_win32_gcvalues_mask_to_string,
	gdk_win32_rop2_to_string): New debugging functions.

	(gdk_win32_print_dc): Print also DC's rop2 and text color.
2002-11-16 01:12:10 +00:00
Owen Taylor
030ddc16b2 Fix display/window typo. (#98511, Soeren Sandmann)
Thu Nov 14 14:58:21 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
        Fix display/window typo. (#98511, Soeren Sandmann)
2002-11-14 20:02:32 +00:00
Owen Taylor
af2d862517 Try a different hack to force gdkenumtypes.h to be updated before building
Fri Nov  8 18:04:16 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/{linux-fb,win32,11}/Makefile.am: Try a different
        hack to force gdkenumtypes.h to be updated before
        building the subdir, last hack caused contents
        to be rebuilt on every make.
2002-11-14 06:07:46 +00:00
Manish Singh
2844bd6f4d get rid of deprecated gdk_rgb_gc_set_foreground usage in favor of
Wed Nov 13 21:45:36 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkhsv.c: get rid of deprecated gdk_rgb_gc_set_foreground
        usage in favor of gdk_gc_set_rgb_fg_color.
2002-11-14 05:52:10 +00:00
Owen Taylor
c26787be57 Monitor the screen of the attach widget continually, rather than only
Thu Nov 14 00:33:26 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenu.c (attach_widget_screen_changed): Monitor
        the screen of the attach widget continually, rather than only
        setting the screen only on popup (#85710)

        * gtk/gtkmenu.c (gtk_menu_set_screen): Allow %NULL to
        go back to getting the screen from the attach widget.
2002-11-14 05:46:34 +00:00
Owen Taylor
a03f567e2f Change so that updates of selection don't take effect immediately, but
Wed Nov 13 17:03:19 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcombo.c: Change so that updates of selection
        don't take effect immediately, but only when popdown
        is closed with a button release within the combo
        or Return/Enter.

        * gtk/gtkcombo.c: Support Alt-Down to pop down the
        combo, Alt-Up to pop it back up, Space to immediately
        select current item.

        * gtk/gtkcombo.c (gtk_combo_entry_key_press): Don't
        move the focus when we get to the ends of the list
        entries.

        * gtk/gtkcombo.c: Fix handling of state in ad-hoc
        keybinding handling to be a bit more reasonable.

        * gtk/gtkcombo.c (gtk_combo_popup_list): Clear
        last_focus_child when no item is selected so we
        don't start focusing from some random place.

        * gtk/gtkcombo.c (gtk_combo_init): Make
        gtk_combo_set_use_arrows_always, enable_arrows_always
        properties have no effect, they were an awful idea.
        Always behave as if enable_arrows_always is true.

        * gtk/gtknotebook.c: Fix a warning.
2002-11-14 04:46:20 +00:00
Eric Warmenhoven
98aaac018d add gdk_display_get_devices to fix compilation
Wed Nov 13 13:50:25 2002  Eric Warmenhoven <warmenhoven@yahoo.com>

	* gdk/linux-fb/gdkinput.c: add gdk_display_get_devices to fix
	compilation
2002-11-13 21:56:19 +00:00
Owen Taylor
712644fefb Fix warning.
Wed Nov 13 15:52:53 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcombo.c (gtk_combo_activate): Fix warning.

        * gtk/gtkcombo.c: Fix code that was meant to delay
        grabbing events on the list until we had an enter-notify.
        (#54353, reported by Mike Fulbright, others)
2002-11-13 21:47:11 +00:00
Matthias Clasen
050c933b34 Add a const here.
* gtk/theme-bits/decompose-bits.c (do_part): Add a const here.

	* gtk/gtkcolorsel.c:
	* gtk/gtkimcontextsimple.c:
	* gtk/gtkstyle.c: Mark constant data as const to give the compiler
	a chance to put it in a readonly section.  (#75754)
2002-11-13 20:23:02 +00:00
Hidetoshi Tajima
530fda038f Fix #90661: add im_info->im switch at the top of setup_im() and
* modules/input/gtkimcontextxim.c:
	Fix #90661: add im_info->im switch at the top of setup_im() and
	get_ic_real().
	Fix #97674: make sure only one status window for the focused
	input context should be shown.
2002-11-13 19:00:01 +00:00
Owen Taylor
83cda922f2 When clicking on a non-active tab, focus the first widget in the tab, not
Wed Nov 13 11:55:25 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_button_press):
        When clicking on a non-active tab, focus the first
        widget in the tab, not the tab itself. (#98322)

        * gtk/gtknotebook.c (gtk_notebook_focus_changed):
        Eliminate synchronous drawing, just call redraw_tabs.

        * gtk/gtknotebook.c (gtk_notebook_init): Don't set
        the RECEIVES_DEFAULT flag, we no longer do anything
        with Return/Enter key.
2002-11-13 17:20:33 +00:00
Owen Taylor
e76d752e9a ue Nov 12 17:10:10 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombo.c: Fix up grabs to be robust; grab
        the keyboard as well as the pointer so we won't
        leave the window behind if the user switches desktops
        with a keyboard combination. (Based on a patch
        from Matthias Clasen, #82525)
2002-11-13 16:25:58 +00:00
Soeren Sandmann
6bd08ac815 - comment out check_inconsistent_aa_bits[].
Wed Nov 13 14:01:44 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkstyle.c:

          - comment out check_inconsistent_aa_bits[].

          - use fg/bg with a generated aa color to draw check and option
	    marks in menu items.

	  - use text/base to draw check and option buttons, except when
	    state is ACTIVE, in which case we use fg/bg with a generated
	    aa color.

	* tests/testgtk.c (menu_items): Add three check items.
2002-11-13 12:58:43 +00:00
Tor Lillqvist
e96a41be45 gdk/win32/gdkprivate-win32.h Rename all global variables and functions to
2002-11-12  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/*.c: Rename all global variables and functions to
	start with underscore.

	Merge from stable:

	More work on the Win32 backend. The cause of some scrolling
	problems was that SetWindowPos() and ScrollWindowEx() don't blit
	those parts of the window they think are invalid. As we didn't
	keep Windows's update region in synch with GDK's, Windows thought
	those areas that in fact had been updated were invalid. Calling
	ValidateRgn() in _gdk_windowing_window_queue_antiexpose() seems to
	be an elegant and efficient solution, removing from Windows's
	update region those areas we are about to repaint proactively.

	In some cases garbage leftover values were used for the clip
	origin in GdkGCWin32. This showed up as odd blank areas around the
	pixmaps included in the Text Widget in gtk-demo.

	Having the clip region either as a GdkRegion or a HRGN in
	GdkGCWin32 was unnecessary, it's better to just use a HRGN.

	The translation and antiexpose queue handling in
	gdkgeometry-win32.c seems unnecessary (and not implementable in
	the same way as on X11 anyway, no serial numbers) on Windows,
	ifdeffed out.

	Don't (try to) do guffaw scrolling as there is no static window
	gravity on Windows. Guffaw scrolling would be unnecessary anyway,
	as there is the ScrollWindow() API. This improves the behaviour of
	the Text Widget demo in gtk-demo a lot. But I have no idea how the
	lack of static win gravity should be handled in other places where
	the X11 code uses it. Especially _gdk_window_move_resize_child().

	There is still some problem in expose handling. By moving an
	obscuring window back and forth over testgtk's main window, for
	instance, every now and then you typically get narrow vertical or
	horizontal strips of pixels that haven't been properly redrawn
	after being exposed. A fencepost error somewhere?

	Otherwise, all of testgtk and gtk-demo except "big windows" now
	seem to work pretty well.

	Bug #79720 should be fixed now.

	* gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string,
	gdk_win32_print_paletteentries, gdk_win32_print_system_palette,
	gdk_win32_print_hpalette)
	* gdk/win32/gdkdrawable-win32.c (gdk_win32_drawable_description)
	* gdk/win32/gdkevents-win32.c (gdk_win32_message_name):
	Move all debugging helper functions to gdkmain-win32.c.

	* gdk/win32/gdkdrawable-win32.c (_gdk_win32_draw_tiles):
	Rewrite. Make static. Must take tile origin parameters, too.

	(gdk_win32_draw_rectangle): Pass the tile/stipple origin to
	_gdk_win32_draw_tiles(). Remove #if 0 code.

	(blit_inside_window): Don't call ScrollDC(), that didn't work at
	all like I thought. A simple call to BitBlt() is enough.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate) Remove unused
	latin_locale_loaded variable.

	(_gdk_win32_get_next_tick): New function. Used to make sure
	timestamps of events are always increasing, both in events
	generated from the window procedure and in events gotten via
	PeekMessage(). Not sure whether this is actually useful, but it
	seemed as a good idea.

	(real_window_procedure): Don't use a local GdkEventPrivate
	variable. Don't attempt any compression of configure or expose
	events here, handled elsewhere.

	(erase_background): Accumulate window offsets when traversing up
	the parent chain for GDK_PARENT_RELATIVE_BG, in order to get
	correct alignment of background pixmaps. Don't fill with
	BLACK_BRUSH if GDK_NO_BG.

	(gdk_event_get_graphics_expose): A bit more verbose debugging output.

	(gdk_event_translate): Use _gdk_win32_get_next_tick(). In the
	WM_PAINT handler, don't check for empty update rect. When we get a
	WM_PAINT, the update region isn't empty. And if it for some
	strange reason is, that will be handled later anyway. Call
	GetUpdateRgn() before calling BeginPaint() and EndPaint() (which
	empty the update region).

	* gdk/win32/gdkdnd-win32.c
	* gdk/win32/gdkinput-win32.c:
	Use _gdk_win32_get_next_tick().

	* gdk/win32/gdkfont-win32.c: Use %p to print HFONTs.

	(gdk_text_size): Remove, unused.

	* gdk/win32/gdkgc-win32.c:  Set clip origins to zero
	when appropriate.

	(gdk_gc_copy): Increase refcount on colormap if present.

	(gdk_win32_hdc_get): Handle just hcliprgn. If we have a stipple,
	combine it with clip region after selecting into the DC.

	(_gdk_win32_bitmap_to_hrgn): Rename from _gdk_win32_bitmap_to_region.

	(_gdk_win3_gdkregion_to_hrgn): New function, code snippet
	extracted from gdk_win32_hdc_get().

	* gdk/win32/gdkgeometry-win32.c: Ifdef out the translate_queue
	handling.

	(gdk_window_copy_area_scroll): Increase clipRect to avoid
	ScrollWindowEx() not scrolling pixels it thinks are invalid.
	Scroll also children with the ScrollWindowEx() call. No need to
	call gdk_window_move() on the children.

	(gdk_window_scroll): Don't do guffaw scrolling.

	(gdk_window_compute_position): Fix typo, used win32_y where x was
	intended.

	(gdk_window_premove, gdk_window_postmove,
	gdk_window_clip_changed): Add debugging output.

	(_gdk_windowing_window_queue_antiexpose): Just call ValidateRgn()
	on the region.

	(_gdk_window_process_expose): No use for the serial number
	parameter now. Instead of a rectangle, take a region parameter, as
	Windows gives us one in WM_PAINT.

	* gdk/win32/gdkmain-win32.c (_gdk_win32_lbstyle_to_string,
	_gdk_win32_pstype_to_string, _gdk_win32_psstyle_to_string,
	_gdk_win32_psendcap_to_string, _gdk_win32_psjoin_to_string,
	_gdk_win32_rect_to_string, _gdk_win32_gdkrectangle_to_string,
	_gdk_win32_gdkregion_to_string): New debugging functions.

	(static_printf): Helper function for the above. sprintfs into a
	static circular buffer, return value should be used "soon".

	* gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Plug memory
	leak, free list after use.

	(gdk_window_gravity_works): Remove, we know that there is no such
	thing on Windows.

	(gdk_window_set_static_bit_gravity,
	gdk_window_set_static_win_gravity): Ditto, remove, they didn't do
	anything anyway.

	(_gdk_windowing_window_init, gdk_window_foreign_new): Call
	_gdk_window_init_position() like in the X11 backend.

	(gdk_window_reparent): Don't call the now nonexistent
	gdk_window_set_static_win_gravity(). No idea what should be done
	instead.

	(gdk_window_get_geometry): The returned x and y should be relative
	to parent. Used to be always zero..

	(gdk_window_set_static_gravities): Return FALSE if trying to set
	static gravity.

	* gdk/win32/gdkprivate-win32.h: Drop the clip_region field from
	GdkGCWin32. Only use the HRGN hcliprgn. Declare new
	functions.

	* gdk/win32/*.c: Use new debugging functions.

	* gdk/win32/rc/gdk.rc.in: Update copyright year.
2002-11-12 22:17:48 +00:00
Owen Taylor
3c321d9f53 Make multihead aware (#80283)
Tue Nov 12 16:51:04 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkinputdialog.c: Make multihead aware (#80283)
2002-11-12 21:54:16 +00:00
Owen Taylor
ff9c2c5669 Add _gtk_window_unset_focus_and_default(), use to clear the focus and
Tue Nov 12 15:13:58 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwidget.c gtk/gtkwindow.[ch]: Add
        _gtk_window_unset_focus_and_default(), use to clear
        the focus and default out of parts of the widget
        heirarchy that we are hiding.

        * gtk/gtkwidget.c (gtk_widget_propagate_screen_changed_recurse):
        Fix typo that was resulting in missed screen-change
        notifies.

        * gtk/gtkwindow.c (do_focus_change): Allow for
        widget->window == NULL.

        * gtk/gtklabel.c (gtk_label_screen_changed): Clear the
        layout here not in hierarchy changed to handle the case
        where the toplevel was moved between screens.
2002-11-12 21:08:29 +00:00
Soeren Sandmann
3b5d33adc7 Do not return when menu_shell->ignore_enter is TRUE.
Tue Nov 12 14:20:53 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkmenu.c (gtk_menu_enter_notify): Do not return when
	menu_shell->ignore_enter is TRUE.
2002-11-12 13:25:04 +00:00
Matthias Clasen
ab4d6935ef Don't start a drag on double click. (#98189) Also test moving.
* gtk/gtkstatusbar.c (gtk_statusbar_button_press): Don't start
	a drag on double click.  (#98189)
	* tests/testgtk.c (grippy_button_press): Also test moving.
2002-11-10 22:38:03 +00:00
Soeren Sandmann
a9cd971729 Don't return after calling gtk_menu_handle_scrolling() when
Sun Nov 10 22:55:39 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkmenu.c (gtk_menu_enter_notify): Don't return after
	calling gtk_menu_handle_scrolling() when
	!menu_shell->ignore_enter.
2002-11-10 22:04:16 +00:00
Soeren Sandmann
ee6029e7f4 gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator)
Sun Nov 10 21:29:03 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
	* gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator)

	Make sure check and option marks are drawn insensitive when the
	widgets are insensitive.

	(#92548, patch from Tim Evans)

Sun Nov 10 21:25:04 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkwidget.h (struct _GtkWidgetClass): Remove _gtk_reserved8
	to restore binary compatibility.
2002-11-10 20:52:34 +00:00
Matthias Clasen
f4823da651 Fix a typo which broke moveresize emulation.
* gdk/x11/gdkwindow-x11.c (_gdk_moveresize_handle_event): Fix a
	typo which broke moveresize emulation.
2002-11-10 01:33:53 +00:00
Owen Taylor
6193ff1f10 Block button presses/releases over the scroll arrows to avoid popping down
Sat Nov  9 14:42:53 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenu.c (gtk_menu_button_*): Block
        button presses/releases over the scroll arrows
        to avoid popping down the menu. (#73444, Ettore Perazzoli)

        * gtk/gtkmenu.c (gtk_menu_enter_notify): Obey the
        ignore_enter flag for scrolling as well.

        * gtk/gtkmenu.c (gtk_menu_stop_scrolling): Clear
        the upper_arrow_prelight, lower_arrow_prelight
        flags.

        * gtk/gtkmenu.c: Tweak the scroll speeds,
        timeouts, and fast-scroll area to make things
        zippier. (#73445, Ettore Perazzoli)
2002-11-09 20:52:31 +00:00
Anders Carlsson
efdf213b35 Use the correct struct offset for the screen_changed signal.
2002-11-09  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtkwidget.c (gtk_widget_class_init): Use the correct
	struct offset for the screen_changed signal.
2002-11-09 16:46:24 +00:00