Commit Graph

1681 Commits

Author SHA1 Message Date
Havoc Pennington
d5be411c7b Set the system colormap on input only windows, to avoid special cases all
2000-12-30  Havoc Pennington  <hp@pobox.com>

* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
colormap on input only windows, to avoid special cases all over
the code for these windows.
2000-12-30 15:44:41 +00:00
Alexander Larsson
3944c2dbfc Don't use isprint() for chars > 255.
2000-12-22  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
	Don't use isprint() for chars > 255.
2000-12-22 12:33:07 +00:00
Havoc Pennington
44a09c3746 more work
2000-12-21  Havoc Pennington  <hp@redhat.com>

	* tests/testtreeview.c: more work
2000-12-21 22:17:38 +00:00
Alexander Larsson
217e946c32 Update the docs to the new pangoft2 way.
2000-12-21  Alexander Larsson  <alexl@redhat.com>

	* docs/README.linux-fb:
	Update the docs to the new pangoft2 way.
2000-12-21 12:27:50 +00:00
Alexander Larsson
a92170b6ca For linux-fb get the pangoft2 cflags and libs. This needs a recent pango
2000-12-21  Alexander Larsson  <alexl@redhat.com>

	* configure.in:
	For linux-fb get the pangoft2 cflags and libs. This needs a recent
	pango version.
	Remove modules/linux-fb/Makefile.

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Render glyphs using freetype.

	* gdk/linux-fb/gdkfb.h:
	Add new fb-specific functions needed for managing windows.

	* gdk/linux-fb/gdkmain-fb.c:
	Remove gdk_font_init/fini() calls.

	* gdk/linux-fb/gdkpango-fb.c:
	Remove old implementation. Use pangoft2 instead.

	* gdk/linux-fb/gdkprivate-fb.h:
	Remove PangoFBFont and related stuff.

	* gdk/linux-fb/gdkwindow-fb.c:
	Implement drawable->get_visible_region.
	Implement support for _gdk_window_set_child_handler () and
	_gdk_window_get_decorations().

	* modules/Makefile.am:
	Remove linux-fb subdir.

	* modules/linux-fb/*:
	Removed all.
2000-12-21 10:31:30 +00:00
Jonathan Blandford
dadf966b3b :get_property): remove g_value_init calls, as they are no longer needed.
2000-12-20  Jonathan Blandford  <jrb@redhat.com>

	    * gtk/gtkcellrenderer*.c (::get_property): remove
              g_value_init
	      calls, as they are no longer needed.

	      * gtk/gtktreemodelsort.c: Fix up the comparison code.

	      * gtk/gtktreemodel.h: Start work on ::reordered signal.
	      Need to
	      figure out how to emit a signal on an interface.
2000-12-21 05:27:06 +00:00
Havoc Pennington
f00175cf07 new directory to contain tests, gtk/test* should move here sometime (with
2000-12-20  Havoc Pennington  <hp@redhat.com>

	* tests: new directory to contain tests, gtk/test* should move
	here sometime (with appropriate on-cvs-server hackery)

	* tests/testtreeview.c, tests/Makefile.am: a test

	* configure.in (AC_OUTPUT): add tests/Makefile

	* gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
	and "invisible_set" which were missing

	* gtk/gtkrbtree.h: some cheesy indentation fix
2000-12-21 01:53:39 +00:00
Alexander Larsson
8d1ff18de0 Attach the style to the window so that the style it is not leaked when
2000-12-20  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkinvisible.c (gtk_invisible_realize):
	Attach the style to the window so that the style it is not
	leaked when unrealizing the window.
2000-12-20 16:32:41 +00:00
Havoc Pennington
00a6a1b219 do begin/end user action where appropriate (gtk_text_view_commit_handler):
2000-12-18  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
	begin/end user action where appropriate
	(gtk_text_view_commit_handler): add begin/end user action

	* gtk/gtktextbuffer.c: add begin/end user action signals, and
	bracket interactive operations with begin/end user action pair.

	* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
	"interactive" arg from insert_text and delete_text signals.
	Add begin_user_action, end_user_action signals
	(gtk_text_buffer_begin_user_action):
	(gtk_text_buffer_end_user_action): New functions to delimit
	a user-visible action

	* gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
	signals.
2000-12-18 21:01:17 +00:00
Havoc Pennington
d788d9b054 wow, that implementation was pretty non-working.
2000-12-18  Havoc Pennington  <hp@redhat.com>

	* gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
	was pretty non-working.

	* gtk/testtext.c (fill_file_buffer): make this a bit more robust
	by passing the length to g_utf8_validate().
2000-12-18 19:12:35 +00:00
Havoc Pennington
fde4fecfd2 Port to GObject, can go back in gdk-pixbuf after setting up a
2000-12-16  Havoc Pennington  <hp@pobox.com>

* gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c:
Port to GObject, can go back in gdk-pixbuf after setting up
a gdk-pixbuf-marshal.h header over there.

* gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
(gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
args
(gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
set
(gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
here, do it when we create the buttons later
(gtk_tree_view_realize_buttons): add some g_return_if_fail
(gtk_tree_view_map): paranoia checks that column->button is shown
and unmapped
(gtk_tree_view_size_request): only request visible children.
Move header size calculation in here, for cleanliness, and
to maintain invariants for child widgets if we eventually
let users set different children inside the buttons
(gtk_tree_view_map_buttons): factor out code to map buttons,
since it was being called several times
(gtk_tree_view_size_allocate_buttons): move_resize the drag
windows instead of just moving them; their height may change
if we allow random widgets in there, or the theme changes.
(gtk_tree_view_size_allocate): move button size allocation
above emitting the scroll signals, to ensure a sane state when we
hit user code
(gtk_tree_view_button_release): remove queue_resize after
tree_view_set_size(), set_size() will handle any resize queuing
that's needed
(gtk_tree_view_focus_in): just queue a draw, don't fool with
draw_focus goo
(gtk_tree_view_focus): use gtk_get_current_event() and
gdk_event_get_state()
(gtk_tree_view_deleted): don't queue_resize() after calling set_size()
(gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
semicolon
(gtk_tree_view_create_button): show the button here
(gtk_tree_view_button_clicked): actually emit the clicked signal
on the column
(_gtk_tree_view_set_size): return right away if the size is
unchanged, as a cheesy optimization
(gtk_tree_view_setup_model): rename set_model_realized to
setup_model to match the flag that indicates whether we've
called it
(gtk_tree_view_get_hadjustment): create adjustment if it doesn't
exist, because set_scroll_adjustment does that and it shouldn't
matter what order you call these in
(gtk_tree_view_get_vadjustment): ditto
(gtk_tree_view_set_headers_visible): canonicalize the bool,
for paranoia
(gtk_tree_view_set_headers_visible): call
gtk_tree_view_map_buttons() instead of using cut-and-paste code
(gtk_tree_view_append_column): clarify whether the return value
is the count of columns before or after, and do the increment
separately from the return statement so you can tell from the code.
(gtk_tree_view_remove_column): ditto
(gtk_tree_view_insert_column): ditto
(gtk_tree_view_get_column): remove g_return_if_fail for columns
outside the existing range, the docs say that outside-range
columns are allowed, so we handle them as documented. (Presumably
this allows a nice loop with column != NULL as test.)
(gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments
mean (left/right/center etc.).
(gtk_tree_view_collapse_all): only queue a draw if we're mapped
(gtk_tree_view_expand_row): add docs
(gtk_tree_view_collapse_row): add docs

* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
function to emit the clicked signal on a column

* gdk/gdkevents.c (gdk_event_get_state): new function, to get the
state of an event
(gdk_event_get_time): don't treat GDK_SCROLL
as a button event, remove default case from switch so gcc
will whine if we don't explicitly handle all event types

* gtk/gtktreeselection.h: added some FIXME

* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
"columns" to "n_columns" and "column" to "columns" for clarity
2000-12-17 23:50:00 +00:00
Havoc Pennington
e405f75c2b General cleanup of the log attr iteration stuff. This should make e.g. the
2000-12-16  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextiter.c: General cleanup of the log attr iteration
stuff. This should make e.g. the delete key work again in the
text widget...
(gtk_text_iter_forward_cursor_positions): handle negative count
(gtk_text_iter_backward_cursor_positions): handle negative count
(gtk_text_iter_forward_word_ends): handle negative count
(gtk_text_iter_backward_word_starts): handle negative count

* gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c,
gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to
GObject. No doubt will cause breakage.

* demos/gtk-demo/textview.c: remove hacks around
non-GObject-ification of the text objects

* demos/gtk-demo/main.c (main): use g_object_set() to manipulate
the text tag
2000-12-16 07:01:48 +00:00
Havoc Pennington
9d41afc90a only AC_DEFINE(HAVE_XFT) if we actually determined that we have Xrender
2000-12-14  Havoc Pennington  <hp@pobox.com>

* configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
that we have Xrender
2000-12-15 03:16:35 +00:00
Owen Taylor
6e5a269f38 Add two virtualized functions gdk_drawable_get_clip_region - to get the
Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>

        * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
	Add two virtualized functions gdk_drawable_get_clip_region - to
	get the clip region when drawing.

	* gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
	use invalidate_region.

	* gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
	region.

	* acconfig.h configure.in: Check for Xft. For now, assume
	that if Xft is found, Pango was compiled with Xft support
	as well.

	* gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add
	gdk_colormap_query_color().

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
	with Xft if appropriate.

	* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
	a pangoxft context if we have XFT and the environment
	variable GD_USE_XFT is set.

	* gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
	and also possibly an XftDraw structure.

        * gtk/gtkfontsel.c: Handle the case where the font from the
	style doesn't match any of the fonts a bit better.

	* gtk/testgtk.c: Add tabs between directional segments for
	hebrew/arabic test. (Not really necessary, just a little
	prettier.)
2000-12-15 01:46:41 +00:00
Havoc Pennington
2142a98c9e fix unicode validation when reading a file
2000-12-14  Havoc Pennington  <hp@redhat.com>

	* gtk/testtext.c (fill_file_buffer): fix unicode validation when
	reading a file
2000-12-15 00:52:00 +00:00
Havoc Pennington
94ec8cff93 remove unused call to get_last_line()
2000-12-14  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
	unused call to get_last_line()

	* gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
	here until boxed is working (and maybe after that - we should
	really not gratuitously break old code)

	* gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
	specific types for font_desc and tabs args, move them to
	GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get
	fixed. Move GdkColor args to GTK_TYPE_POINTER also.

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
	use GTK_TYPE_POINTER for signal signatures as a hack-around

	* gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
	PangoTabArray

	* gtk/gtktextlayout.c (line_display_iter_to_index):
	make static
	(line_display_index_to_iter): make static

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
	to marshal a string not a boxed

	* gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text

	* gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
	since the UTF-8 isn't validated yet

	* gtk/gtktextsegment.c (char_segment_check_func): don't require
	lines to end in '\n'

	* gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
	forward_to_delimiters, and grapheme boundaries
	(gtk_text_view_delete_from_cursor): properly handle non-newline
	delimiters, and grapheme boundaries

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
	to gtk_text_iter_forward_to_delimiters, and make it work properly
	if empty lines end with a character other than '\n'

	* gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
	position
2000-12-14 23:26:59 +00:00
Tor Lillqvist
2e70f892cc Add gdkkeys.
2000-12-15  Tor Lillqvist  <tml@iki.fi>

	* gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.

	* gtk/gtk.def
	* gdk/gdk.def: Update.

	* gdk/win32/gdkmain-win32.c
	* gdk/win32/gdkkeys-win32.c: New file. Move some functions from
	gdkmain-win32.c here.

	* gdk/win32/makefile.mingw.in (all): No need to make
	gdk-win32res.o here, the makefile one step up will call us to make
	it.

	* gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
	gdkkeys-win32.

	* gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.

	* gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
	call to g_source_add().

	* gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
	leak. Thanks to Andreas Kemnade.
2000-12-14 23:14:18 +00:00
Havoc Pennington
be59b202e8 Remove double _ in front of some functions
2000-12-13  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextbtree.h: Remove double _ in front of some functions

* gtk/gtktext*.[hc]: update accordingly
2000-12-14 04:58:44 +00:00
Havoc Pennington
bacb35ba3c Put _ in front of every function in this header file
2000-12-13  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextbtree.h: Put _ in front of every function in this
header file

* gtk/gtktext*.[hc]: update to reflect renamed btree functions
2000-12-14 04:54:03 +00:00
3
02eac1c64d Add support for ps2 intellimouse.
2000-12-13    <alexl@redhat.com>

	* gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
	Add support for ps2 intellimouse.

	* gdkkeyboard-fb.c:
	Move shift-F1 repaint handling to xlate handler only.

	* docs/README.linux-fb:
	Add imps2 to docs.
	Document the new refresh keys.
2000-12-13 10:03:16 +00:00
Tim Janik
2c9eb3a572 doh, this was broken beyond believe.
Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>

	* gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.

	* gtk/gtkbox.c: change property types from (u)long to (u)int for
	::position and ::padding.

	* gtk/gtkcontainer.c: make ::border_width an INT property.

	* gtk/gtkpacker.c: make ::position an INT property.

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
	guard against NULL h/v scrollbars, since this is used at construction
	time.

	* gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
	internal gtk_clist_constructor().

	* gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
	gtk_ctree_constructor().

	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
	::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.

	* docs/reference/Makefile.am: fun stuff, disabled docs generation
	again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.

	* gtk/gtkwidget.[hc]:
	removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
	and gtk_widget_get().
	(gtk_widget_new): use g_object_new_valist().
	(gtk_widget_set): use g_object_set_valist().

	* gtk/gtkobject.[hc]:
	removed gtk_object_arg_get_info(), gtk_object_getv(),
	gtk_object_query_args(), gtk_object_newv(),
	gtk_object_class_add_signals(),
	gtk_object_class_user_signal_new(),
	gtk_object_class_user_signal_newv(),
	gtk_object_arg_set(), gtk_object_arg_get(),
	gtk_object_args_collect(),
	gtk_object_default_construct(),
	gtk_object_constructed(),
	GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
	removed nsignals, signals and n_args members from GtkObjectClass.
	(gtk_object_new): use g_object_new_valist().
	(gtk_object_set): use g_object_set_valist().
	(gtk_object_get): use g_object_get_valist().

	* gtk/gtkcompat.h: define gtk_object_default_construct().

	* gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
	g_object_new().

	* gtk/*.c: removed gtk_object_class_add_signals() from class_init()
	fucntions, cleaned up method assignments (make sure your structures
	are setup properly before calling out). removed all GTK_CONSTRUCTED
	hacks ;)
2000-12-13 01:34:41 +00:00
Owen Taylor
90461d7def Fix off-by-one error in checks. (Dave Lambert)
Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix
	off-by-one error in checks. (Dave Lambert)
2000-12-12 16:54:47 +00:00
Alexander Larsson
944046942a Don't free gdk_fb_keyboard twice.
2000-12-12  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
	Don't free gdk_fb_keyboard twice.
2000-12-12 12:11:14 +00:00
Tim Janik
53d7e43060 get rid of object_signal:: GtkObject argument uses, use GObject
Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c:
        (create_tooltips):
        (create_statusbar): get rid of object_signal:: GtkObject argument uses,
        use GObject swapped_signal:: properties instead.

        * gtk/gtkcellrenderertoggle.c:
        * gtk/gtkcellrenderertextpixbuf.c:
        * gtk/gtkcellrenderertext.c:
        * gtk/gtkcellrendererpixbuf.c:
        * gtk/gtkcellrenderer.c:
        * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
        missing warnings for invalid property ids, install properties
        with g_object_class_install_property() now.

        * gtk/gtksignal.c:
        (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2000-12-12 07:32:32 +00:00
Owen Taylor
0cdc00ec0b Add a function to determine if a window is the focus widget within its
Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
	to determine if a window is the focus widget within
	its toplevel.

	* gtk/gtkcontainer.[ch]: Fix the return type of ::focus
	to be boolean.

	* gtk/gtkcontainer.c (gtk_container_real_focus): Move handling
	of the case where the container CAN_FOCUS to here instead
	of having it in each individual move-the-focus place.

	* gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
	focusing to be geometric in a much more obvious sense. Arrowing
	around is still non-intuitive because it isn't perfect and
	because entries, etc, grab the arrow keys, but it at least
	usually will do what you expect now.

	* gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
	file.

	* gtk/gtknotebook.c: Change tabs to be a single item in
	the focus chain. Make movement of focus on tabs with arrow
	keys wrap around.

	* gtk/gtknotebook.c (gtk_notebook_find_child): Add
	CHECK_FIND_CHILD macro to give informative error messages
	instead of silent returns.

	* gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT
	flag since we handle GdkReturn on the tabs.

	* gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
	windows rather than sending expose events directly.

	* gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure
	definition for GtkNotebookPage into .c file, since it is private.

	* gtk/testgtk.c (create_notebook): Add option for
	testing borderless notebook.

	* gtk/testgtk.c (page_switch): Removed egregious poking
	around in GTK+ internals.

	* docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.

	* gtk/gtkclist.[ch]: Remove key press handler, handle focusing
	properly through gtk_clist_focus. Make the title headers a
	single item in the tab-focus chain, and make left-right wrap
	around.

	* gtk/gtkwindow.c (gtk_window_focus): Add a custom
	focus method so that wrapping around works properly.

	* gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() -
	that is handled for the widget now.
2000-12-11 17:47:24 +00:00
Owen Taylor
5a188a9f13 Flag invisible widgets as TOPLEVEL.
Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
	widgets as TOPLEVEL.

	* gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
	TOPLEVEL widgets are containers.

	* gtk/gtkinvisible.h: Remove useless include.
2000-12-11 16:43:47 +00:00
Havoc Pennington
310a0d4fcc Handle chopping off \r\n and 0x2029 in addition to \n before passing to
2000-12-11  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
	Handle chopping off \r\n and 0x2029 in addition to \n before
	passing to PangoLayout

	* gtk/gtkimcontextsimple.c
	(gtk_im_context_simple_get_preedit_string):
	return an empty string if no match is pending

	* gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
	assertion that the returned preedit string was sane

	* gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
	s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
	s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2000-12-11 15:51:20 +00:00
Owen Taylor
116853db94 Fix up finalizer to chain to its parent.
Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize):
	Fix up finalizer to chain to its parent.
2000-12-11 15:04:36 +00:00
Alexander Larsson
a2a237101a Clearified the difference between the keyboard types. Wrote a note about
2000-12-11  Alexander Larsson  <alexl@redhat.com>

	* docs/README.linux-fb (GDK_KEYBOARD_TYPE):
	Clearified the difference between the keyboard types. Wrote a note
	about the magic sysrq key to get out of raw mode.
2000-12-11 08:48:13 +00:00
James Henstridge
21430de47d add prot struct member to hold masks for detecting the start of a protocol
2000-12-09  James Henstridge  <james@daa.com.au>

        * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
        member to hold masks for detecting the start of a protocol packet.
        (mouse_devs): add packet start masks for ps2 and ms device types.
        Left the mask for fidmour blank, as I have no idea what it should
        be.
        (handle_mouse_io): skip bytes until we get to the start of a
        packet.  My Logitech mouse seems to be passing an extra NULL pad
        byte, and GPM does a similar thing here.
        (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
        this is the ms mouse driver.
        (gdk_fb_mouse_ms_packet): fix up button handling, which was
        completely broken except for button1.  It was checking the wrong
        bit in the packet for the status of the right mouse button, and
        wrongly assuming right == button2 rather than 3.  I fixed that and
        also added support for middle button (button2).
2000-12-09 11:10:41 +00:00
Havoc Pennington
565074f9a3 fix breakage here that cause a segfault on text insertion
2000-12-08  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
	that cause a segfault on text insertion

	* gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix
	warning

	* gtk/gtktextiter.c (test_log_attrs): use
	_gtk_text_buffer_get_line_log_attrs to speed things up a bit

	* gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs):
	Get log attrs for a line, using a cache stored on the buffer

	* gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
	reported by Jeff Franks
2000-12-08 20:08:52 +00:00
Alexander Larsson
78b055e77b /dev/ttyS0 -> /dev/mouse
2000-12-08  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
	/dev/ttyS0 -> /dev/mouse
2000-12-08 16:32:57 +00:00
Alexander Larsson
b09aade537 Add dummy gdk_fontset_load 2000-12-08 16:01:46 +00:00
Alexander Larsson
3e3cc0224b Docs, docs, anyone want docs!
2000-12-06  Alexander Larsson  <alexl@redhat.com>

	* docs/README.linux-fb:
	* docs/Makefile.am:
	Initial GtkFB docs.

	* gdk/linux-fb/Makefile.am:
	Define GDK_DATA_PREFIX.

	* gdk/linux-fb/gdkmain-fb.c:
	Fix typo.
	Change default display to /dev/fb0.

	* gdk/linux-fb/gdkpango-fb.c:
	Add $(prefix)/share/fonts/ to font path.
2000-12-08 15:00:07 +00:00
Alexander Larsson
6d0c6b792e New file containing the abstracted keyboard driver. Most code taken from
2000-12-08  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkkeyboard-fb.c:
	New file containing the abstracted keyboard driver. Most code
	taken from gdkinput-ps2.c

	* gdk/linux-fb/gdkinput-ps2.c:
	Removed file.

	* gdk/linux-fb/Makefile.am:
	Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.

	* gdk/linux-fb/gdkcolor-fb.c:
	display->fb was renamed to display->fb_fd.

	* gdk/linux-fb/gdkcursor-fb.c:
	gdk_mouse_get_info -> gdk_fb_mouse_get_info

	* gdk/linux-fb/gdkinput.c:
	Moved gdk_input_init here from gdkinput-ps2.c

	* gdk/linux-fb/gdkmain-fb.c:
	display->fb was renamed to display->fb_fd.
	Now the tty and the console is opened here instead
	of in the keyboard driver. Also check GDK_VT to see what
	tty to open.
	Move gdk_beep () here from gdkinput-ps2.c
	gdk_mouse_get_info -> gdk_fb_mouse_get_info

	* gdk/linux-fb/gdkmouse-fb.c:
	Add header.
	gdk_mouse_get_info -> gdk_fb_mouse_get_info
	Return correct keyboard modifiers.
	GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy

	* gdk/linux-fb/gdkprivate-fb.h:
	Add tty and vt info to display.
	Add orignal modeinfo storage to display
	Update global functions

	* gdk/linux-fb/gdkwindow-fb.c:
	Added gdk_fb_window_find_focus().
	gdk_mouse_get_info -> gdk_fb_mouse_get_info
2000-12-08 12:38:48 +00:00
Havoc Pennington
6a2abb2867 fix name of function, noticed by Alex
2000-12-07  Havoc Pennington  <hp@pobox.com>

* gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of
function, noticed by Alex
2000-12-07 14:30:07 +00:00
Elliot Lee
89709dd14f Detect freetype properly Make use of above.
* configure.in: Detect freetype properly
* modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of above.
2000-12-06 18:45:42 +00:00
Alexander Larsson
7fa13eaf35 Add gdkmouse-fb.c
2000-12-06  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/Makefile.am:
	Add gdkmouse-fb.c

	* gdk/linux-fb/gdkmouse-fb.c:
	New file. Abstracted the mouse drivers a bit.

	* gdk/linux-fb/gdkcursor-fb.c:
	The cursor hide/show functions was moved here from gdkinput-ps2.c.

	* gdk/linux-fb/gdkinput-ps2.c:
	Removed old mouse handling code. Moved cursor handling code
	to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
	gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
	gdk_mouse_get_info.

	* gdk/linux-fb/gdkmain-fb.c:
	Pass NULL pointers for x,y in gdk_mouse_get_info call.

	* gdk/linux-fb/gdkprivate-fb.h:
	Removed public gdk_fb_find_common_ancestor, added and renamed
	functions for the new mouse handling code.

	* gdk/linux-fb/gdkwindow-fb.c:
	Moved gdk_fb_window_send_crossing_events here. added global
	variable gdk_fb_window_containing_pointer. made
	gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
	renamed to gdk_mouse_get_info.
2000-12-06 17:27:52 +00:00
Alexander Larsson
b7f7cba72b Update to match latest gmain/gsource changes.
2000-12-06  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkevents-fb.c:
	Update to match latest gmain/gsource changes.

	* gdk/linux-fb/gdkinput-ps2.c:
	Bogus gdk_keymap_get_entries_for_keycode implementation so that
	it links. Will be implemented later.
2000-12-06 12:11:45 +00:00
Havoc Pennington
36aac0177b add gdkkeys.[hc]
2000-12-03  Havoc Pennington  <hp@pobox.com>

* gdk/Makefile.am: add gdkkeys.[hc]

* gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
files from gdk.h, gdk.c; add GdkKeymap type and operations on it.

* acconfig.h, configure.in: add checks and command line options
for XKB

* gdk/x11/gdkkeys-x11.c: Implement the above functions

* gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
and group in the key event

* gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
field with the low-level hardware key code, and a group
field with the keyboard group

* gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
and declare a couple globals used for keymap handling

* gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
hold down Shift-Control and type a hex number to get a Unicode
character corresponding to the hex number
(gtk_im_context_simple_get_preedit_string): Fix cursor position
(return bytes not chars)
2000-12-06 05:31:30 +00:00
Elliot Lee
3bc53c742d Make GdkColor specify element sizes to avoid waste on 64-bit platforms.
* gdk/gdkcolor.h: Make GdkColor specify element sizes
to avoid waste on 64-bit platforms.
2000-12-05 22:59:40 +00:00
Owen Taylor
a4b2a6a857 Fix link to PNG home, remove reference to fribidi.
Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>

	* INSTALL: Fix link to PNG home, remove reference
	to fribidi.

	* gdk/x11/gdkevents-x11.c: Fix up for new GMain API.

	* gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
	tested.)

	* gtk/gtkcheckmenuitem.c: Permanently turn on
	always_show_toggle.

	* gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to
	be NULL. (Vladimir Klebanov, #26545)

	* gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix
	some signed/unsigned comparison problems. (#6510,
	David Kaelbling)

	* gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
	return type to boolean (Oskar Liljeblad, #18648)
2000-12-05 20:53:30 +00:00
Alexander Larsson
f2e4ead7db Remove bogus colormap setting.
2000-12-05  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
	Remove bogus colormap setting.
2000-12-05 17:01:39 +00:00
Alexander Larsson
b9ef6f2cba More complete colormap handling. Now GdkRGB work in 8 bpp modes.
2000-12-05  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkcolor-fb.c:
	More complete colormap handling. Now GdkRGB work in 8 bpp modes.

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
	Must set colormap.
2000-12-05 16:58:25 +00:00
GMT 2000 Tony Gale
b3fcc83a62 DND updates
Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>

        * docs/tutorial/gtk-tut.sgml: DND updates
2000-12-05 13:18:56 +00:00
Alexander Larsson
f1046d9a66 Remove old debug g_warning(). (gdk_fb_draw_drawable): The src argument can
2000-12-05  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
	Remove old debug g_warning().
	(gdk_fb_draw_drawable): The src argument can be either a wrapper
	or an implementation, just pass the implementation to draw_drawable_2.

	* gdk/linux-fb/gdkprivate-fb.h:
	Added GDK_IS_DRAWABLE_IMPL_FBDATA()

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
	clear and invalidate area when window is destroyed.
	(send_map_events): Remove old commented out code.
2000-12-05 11:39:26 +00:00
Alexander Larsson
b7118c8094 Use italic instead of oblique in font aliases.
2000-12-05  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkpango-fb.c:
	Use italic instead of oblique in font aliases.

	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
	_gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
	other unsupported functions.
2000-12-05 09:47:13 +00:00
Havoc Pennington
c149ce5963 got the facts wrong in ChangeLog re: notebook hack 2000-12-04 23:06:13 +00:00
Havoc Pennington
9365d0d7dc fix this to be sane
2000-12-04  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane

	* gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler

	* gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler

	* gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary
	hack to avoid infinite loops (queue draw instead of draw) -
	Owen has more appropriate fixes in a branch he'll check in later.

	* gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
	separator, CR, and CRLF as line ends

	* gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
	into lines using pango_find_paragraph_boundary(); other bits of
	the widget are still going to be broken if the boundary isn't '\n'
	though
2000-12-04 23:04:17 +00:00
Alexander Larsson
d77144614b Divide size by 2, not multiply.
2000-12-04  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
	multiply.

	* gdk/linux-fb/gdkpango-fb.c:
	Copied some 26.6 scaling macros from pango to clean up the rounding.
	(pango_fb_font_get_glyph_info): Correct sign on x value.

	* gdk/linux-fb/gdkprivate-fb.h:
	Removed unreferenced external functions.

	* modules/linux-fb/Makefile.am: Use ` instead of '.

	* modules/linux-fb/basic.c:
	Remove dead code. In particular the dummy lang engine which broke all
	pango layouts in GtkFB. Don't include tables-big.i anymore.

	* modules/linux-fb/tables-big.i:
	Upgrade to latest version from pango. Left for reference, basic_ranges
	moved to basic.c.
2000-12-04 17:59:43 +00:00
Havoc Pennington
9cca191b6a Fix bugs Alex found:
2000-12-04  Havoc Pennington  <hp@redhat.com>

        Fix bugs Alex found:

	* gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
	to "draw"

	* gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"

	* gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"

	* gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw()
	implementation in here, apparently the expose() implementation was
	dead code.
2000-12-04 16:11:51 +00:00
Alexander Larsson
15c81f52d3 Return positive descent.
2000-12-04  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
	Return positive descent.
2000-12-04 12:07:41 +00:00
Havoc Pennington
5995baabef Remove "draw" virtual method and signal
2000-12-02  Havoc Pennington  <hp@pobox.com>

* gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
method and signal

* gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
calls gdk_window_process_updates() to push the exposes through
(gtk_widget_class_init): No more draw signal, no
gtk_widget_real_draw()

* gtk/gtkbin.c (gtk_bin_draw): remove

* gtk/gtkbox.c (gtk_box_draw): remove

* gtk/gtkbutton.c (gtk_button_draw): remove

* gtk/gtkcalendar.c (gtk_calendar_draw): remove

* gtk/gtkcheckbutton.c (gtk_check_button_draw): remove

* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove

* gtk/gtkclist.c (gtk_clist_draw): remove

* gtk/gtkentry.c (gtk_entry_draw): remove

* gtk/gtkeventbox.c (gtk_event_box_draw): remove

* gtk/gtkfixed.c (gtk_fixed_draw): remove

* gtk/gtkframe.c (gtk_frame_draw): remove

* gtk/gtkhandlebox.c (gtk_handle_box_draw): remove

* gtk/gtkhpaned.c (gtk_hpaned_draw): remove

* gtk/gtklayout.c (gtk_layout_draw): remove

* gtk/gtklist.c (gtk_list_draw): remove

* gtk/gtklistitem.c (gtk_list_item_draw): remove

* gtk/gtkmenu.c (gtk_menu_draw): remove

* gtk/gtkmenubar.c (gtk_menu_bar_draw): remove

* gtk/gtkmenuitem.c (gtk_menu_item_draw): remove

* gtk/gtknotebook.c (gtk_notebook_draw): remove

* gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove

* gtk/gtkpacker.c (gtk_packer_draw): remove

* gtk/gtkrange.c (gtk_range_draw): remove

* gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove

* gtk/gtkspinbutton.c (gtk_spin_button_draw): remove

* gtk/gtktable.c (gtk_table_draw): remove

* gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove

* gtk/gtktext.c (gtk_text_draw): remove

* gtk/gtktextview.c (gtk_text_view_draw): remove

* gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove

* gtk/gtktoolbar.c (gtk_toolbar_draw): remove

* gtk/gtktree.c (gtk_tree_draw): remove

* gtk/gtktreeitem.c (gtk_tree_item_draw): remove

* gtk/gtktreeview.c (gtk_tree_view_draw): remove

* gtk/gtkviewport.c (gtk_viewport_draw): remove

* gtk/gtkvpaned.c (gtk_vpaned_draw): remove

* gtk/gtkvscale.c (gtk_vscale_draw): remove

* gtk/gtkwindow.c (gtk_window_draw): remove
2000-12-04 01:15:37 +00:00
Anders Carlsson
b18bb07b2d Commit GtkToggleButton fix to HEAD too. 2000-12-02 18:05:34 +00:00
Havoc Pennington
35876710dc don't create dangling pointers to the appearance attributes from the line
2000-11-30  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
dangling pointers to the appearance attributes from the
line display

* gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
width/height to mean "full width/height of drawable"

* gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
click to select word/line

* gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters
when getting log attrs. Get a slice, so that pixmaps and stuff
are properly handled.

* gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
paste into the selection (replaces selection now, previously
crashed or added to selection). Reveals longstanding btree bug -
select multiple lines, middle-click on the selection, boom. This
isn't related to my changes though.

* gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
PangoLogAttrs changes
(gtk_entry_move_backward_word): ditto

        * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
	functions return bool whether the iter moved onto a
	dereferenceable position.

	 * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
	 functions for motion in terms of display lines.

	 * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
	 get the buffer a mark is inside
2000-12-02 07:51:37 +00:00
Alexander Larsson
fb14d1299e Forgot to check in ChangeLog entry. 2000-12-01 17:25:15 +00:00
Hidetoshi Tajima
97bfa3300d Add NULL argument to XGetIMValues to properly terminate variable argument
2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>

	* modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
	XGetIMValues to properly terminate variable argument list, and do
	NULL return check for ic_values and xim_styles.

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
	Restore preedit state after XmbResetIC().

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
	XvaCreateNestedList() should take XvaNestedList, but not
	XvaNestedList*.

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
	preedit_draw_callback, preedit_caret_callback): Match
	"preedit-changed" signal name to "preedit_changed" to be
	consistent to the spec.

	* gtk/gtkimcontextsimple.c (check_table):
	Match "preedit-changed" to "preedit_changed" to be consistent
	to the spec.
2000-12-01 04:40:45 +00:00
Owen Taylor
1f7d7453b1 Properly handle gc->clip_region == NULL>
Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
	gc->clip_region == NULL>
2000-12-01 04:05:47 +00:00
Tor Lillqvist
68ae419bfb Changes by Hans Breuer:
2000-11-30  Tor Lillqvist  <tml@iki.fi>

	Changes by Hans Breuer:

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
	Dont't use negative width and height as max_hints. This fixes
	Owen's recent testgtk changes for win32.

	* gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
	gdk_win32_hdc_release): These are exported and may be called with
	other drawable types than our GdkDrawableImplWin32 (?).

	* gdk/gdkwindow.c: Backing store appears to work on Windows now,
	so always #define USE_BACKING_STORE.

	* gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
	of printf for debugging output.

	* gtk/gtktextlayout.c (allocate_child_widgets): Ditto.

	* gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.

	* gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
	declaration.

	* gtk/gtktexttypes.h: Ditto.

	* gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
	(GDK_VoidSymbol) also if in case of arg check failure.

	* gtk/gtkimcontextsimple.c
	(gtk_im_context_simple_get_preedit_string): Don't assign cursor
	position to the pointer, but to the variable it points to.

	* gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.

	* gtk/gtk.def: Updates.
2000-11-30 23:39:50 +00:00
Elliot Lee
094159e431 Inherits from GTK_TYPE_OBJECT, not GTK_TYPE_TREE_MODEL.
Inherits from GTK_TYPE_OBJECT, not GTK_TYPE_TREE_MODEL.
2000-11-30 01:20:13 +00:00
Alexander Larsson
b1b6c9fc7a Set the size of the font from the description. (gdk_text_width): Gross
2000-11-29  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
	Set the size of the font from the description.
	(gdk_text_width): Gross hack that calculates the width
	of text by text_length * size/2. This is necessary because
	GtkLabel does some ugly gtk_string_width call to calculate
	an good size.
	(linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
2000-11-29 13:49:37 +00:00
GMT 2000 Tony Gale
696d0bc1b0 DND updates
Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>

	* docs/tutorial/gtk-tut.sgml: DND updates
2000-11-29 13:41:51 +00:00
Alexander Larsson
92bc6d4175 If you pass width or height == 0 to gdk_window_clear_area they should be
2000-11-29  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
	If you pass width or height == 0 to gdk_window_clear_area they
	should be calculated from the window size.
2000-11-29 13:13:20 +00:00
Alexander Larsson
57356cfe07 If there is a grab, but no grab-cursor, use the cursor from the grabbed
2000-11-29  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
	a grab, but no grab-cursor, use the cursor from the grabbed
	window. (gdk_fb_window_send_crossing_events): Send normal
	enter/leave notifications if grab and owner_events == TRUE.
2000-11-29 12:52:41 +00:00
Alexander Larsson
3c6f0d5f3e Do implicit button grabs, even if the window doesn't want the event.
2000-11-29  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
	Do implicit button grabs, even if the window doesn't
	want the event.
	(gdk_fb_window_send_crossing_events): If there is a
	grab, only the grabbed window gets normal enter/leave
	notifications. On ungrab go from grabbed window to current.
	Don't send any notification to b when propagating from c -> b.
	If setting a grab on window, don't set prev_window.
	(handle_mouse_input): Send enter/leave events to the window the
	mouse is over, not the grabbed one.
2000-11-29 11:49:17 +00:00
Elliot Lee
de5298f9ba Only build im-xim if USE_X11 is enabled s/strcpy/memcpy/ to save a few
* modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
	* gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
2000-11-28 18:46:11 +00:00
Elliot Lee
2e39ad6a28 Zap warning.
Zap warning.
2000-11-28 18:45:03 +00:00
Alexander Larsson
270d45a3e5 The cursor should be hidden if it is part of either the source or
2000-11-28  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
	The cursor should be hidden if it is part of either the
	source or destination region. Not only if it is in both.
	(gdk_window_set_transient_for): Silence warnings.
2000-11-28 16:39:55 +00:00
Alexander Larsson
7f8a4aa1c3 Fix filled arcs and commit previous stuff which i somehow missed. 2000-11-28 15:38:23 +00:00
Alexander Larsson
26b7063388 Implement configure events and correct enter/leave notification. 2000-11-28 08:44:02 +00:00
Havoc Pennington
60bc586718 Remove a trailing comma
2000-11-27  Havoc Pennington  <hp@redhat.com>

        * gtk/gtkprivate.h (enum): Remove a trailing comma
2000-11-28 01:01:58 +00:00
Federico Mena Quintero
ba97b1467a Connect to the "changed" callback of the adjustment. We need to redraw the
2000-11-27  Federico Mena Quintero  <federico@helixcode.com>

	* gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
	the "changed" callback of the adjustment.  We need to redraw the
	spin button's arrows when the adjustment's range changes.
	(adjustment_changed_cb): Draw the arrows.
	(gtk_spin_button_value_changed): Draw the arrows.
2000-11-27 17:47:52 +00:00
Alexander Larsson
1c805555ce Huge GtkFB patch with lots of small bugfixes and initial selections implementation.
2000-11-23  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkselection-fb.c:
	Initial selection implementation.

	* gtk/gtkselection.c:
	if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
	requestor in gtk_selection_request.

	* gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
	Added gdk_selection_property atom.

	* gdk/linux-fb/gdkprivate-fb.h:
	Export _gdk_selection_window_destroyed.
	Removed mask_off_x/y from GdkCursorPrivateFB.
	Removed hbearing, added top, left to PangoFBGlyphInfo.

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
	Call _gdk_selection_window_destroyed
	(_gdk_windowing_window_init): Don't call gdk_cursor_new() before
	the root window has been created.
	(static_dx_hack, static_dy_hack, compare_draw_rects,
	gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
	in region. They are already sorted. Instead just traverse them in
	reverse if draw_direction < 0.

	* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
	Double-clicks must be sent after the normal button_press.
	(gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.

	* gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
	Pass _gdk_fb_screen_gc instead of NULL.

	* gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
	Initialize gdk_selection_property.
	(gdk_event_make): Remove unused code.

	* gdk/linux-fb/gdkcursor-fb.c:
	Make the pixmap for the cursor the same size as the mask. Also remove
	the mask_off_x/y fields in GdkCursorPrivateFB and combine
	_gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
	Now the whole cursor is visible.

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
	Fix bug where xdest+height instead of ydest+height was used
	to calculate if the source and dest overlapped. This fixes the
	redraw bug when the main window in testgtk was scrolled when
	partially covered by a tall window.
	Copy rectangles in region in order depending on draw_direction.
	Also moved the draw_direction flipping of start_y and end_y into
	the gc functions, as this might not be what all of them want.
	(gdk_fb_draw_lines): Support dashed lines.
	(gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
	so that the text is positioned correctly (was 1 pixel high).

	gdk/linux-fb/gdkgc-fb.c:
	Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
	all lines were drawn a pixel to short. Also checked the default of
	the rest of the values, and they're the same as X now.

	* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
	Clean up pixel positioning of the glyphs. Just use bgy->top and
	bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
	to all divisions to get correct rounding behaviour.

	* gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
	gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
	Moved start_y/end_y flip into draw_drawable implementations.
	Flip also x rendering when draw_direction < 0.
	Remove unneccesary multiply with draw_direction.
2000-11-25 15:44:35 +00:00
GMT 2000 Tony Gale
f8cec46535 - get rid of gtk_toggle_button_toggled FUD - start DND section - needs
Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>

        * docs/tutorial/gtk-tut.sgml:
          - get rid of gtk_toggle_button_toggled FUD
          - start DND section - needs work - based on:
                http://wolfpack.twu.net/docs/gtkdnd/
2000-11-22 14:15:04 +00:00
Alexander Larsson
2382edbdb6 Correct calculation of font metrics. Now GtkEntrys have sane size.
2000-11-22  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
	Correct calculation of font metrics. Now GtkEntrys have sane
	size.
2000-11-22 12:09:08 +00:00
2
c76c5f4857 It's amazing what reversing the order in an if statement will do. Doing so
2000-11-22    <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
	reversing the order in an if statement will do.  Doing so managed
	to make the treemodelsort half work.  Other half will follow after
	I get the insert function fully fixed.
2000-11-22 07:45:28 +00:00
Elliot Lee
f8ab34e606 GdkEventButton->button can occupy significantly more than 2 bits. Besides,
* gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly more than 2
bits. Besides, I need to implement an evil hack. :)
2000-11-22 01:00:26 +00:00
GMT 2000 Tony Gale
ac22e4f8b4 minor corrections
Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>

        * docs/tutorial/gtk-tut.sgml: minor corrections
2000-11-21 14:19:15 +00:00
Jonathan Blandford
7a2e1974f0 Add convertion functions to let you convert to and from relative path's
2000-11-20  Jonathan Blandford <jrb@redhat.com>
	* gtk/gtktreemodelsort.h: Add convertion functions to let you
	  convert to and from relative path's and iters.

	* gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
	  testing sorting functions a bit better.  Currently broken -- will
	  fix in morning.
2000-11-21 09:07:45 +00:00
Havoc Pennington
18dd625fa3 Documented a bunch of functions in here (gtk_widget_realize): Warn if you
2000-11-20  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkwidget.c: Documented a bunch of functions in here
	(gtk_widget_realize): Warn if you try to realize
	a widget with no parent that isn't a toplevel
	(gtk_widget_intersect): return a gboolean
2000-11-21 02:06:21 +00:00
Havoc Pennington
6f7dd53b80 Semi-finish widget embedding. Need guffaw scrolling to be implemented in
2000-11-20  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
	gtk/testtext.c: Semi-finish widget embedding. Need guffaw
	scrolling to be implemented in GDK to finish. Also, right now
	we just size_allocate all children on every layout change,
	which is pretty lame. Test commented out of testtext.c,
	until it works better.
2000-11-20 23:51:51 +00:00
Alexander Larsson
2999f465b4 Removed unused arguments from gdk_fb_drawable_get_pixel().
2000-11-20  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Removed unused arguments from gdk_fb_drawable_get_pixel().

	* gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
	Renamed fidur specific mouse packet data in MouseDevice to
	generic. Used it in ps2 mouse handling code to avoid blocking
	reads.
2000-11-20 10:12:40 +00:00
Jonathan Blandford
c9e39436b9 Changed to have the list become non-italic when the demo window is
Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>

	* demos/gtk-demo/main.c: Changed to have the list become
	non-italic when the demo window is destroyed through an external
	event (like a close button).  Doing so found three bugs in the
	widget.

	* demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.

	* gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
	we actually set the cell.

	* gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto

	* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
	free a leaked path.  Thanks memprof.
2000-11-18 23:59:30 +00:00
Owen Taylor
14ec95efb4 Fix off-by-one error when destroying allocated segments on failure.
Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix
	off-by-one error when destroying allocated segments
	on failure. (Elliot)
2000-11-18 17:01:01 +00:00
Owen Taylor
1f74dcee1b Patch from ChiDeok Hwang to fix memleaks found by Evan Martin.
Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
	memleaks found by Evan Martin.
2000-11-18 16:48:39 +00:00
Owen Taylor
f12db85a24 Released 1.3.2
Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>

        * Released 1.3.2

	* NEWS: Updates for 1.3.2
2000-11-18 01:49:13 +00:00
Tor Lillqvist
99b14ff2c5 Update.
2000-11-18  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtk.def: Update.

	* gtk/gtktexttypes.h: Mark variables for export/import from DLL.
2000-11-17 22:30:47 +00:00
Tor Lillqvist
2c2dbae197 Add comment that GdkXEvent isn't only for XEvent, but in general for
2000-11-17  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
	but in general for window system specific events.

	* gtk/gtk.def
	* gtk/makefile.mingw.in
	* gtk/makefile.msc.in: Update.
2000-11-17 21:59:04 +00:00
Owen Taylor
b29a24d028 Do not, in any circumstances, distribute gtk.immodules.
Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
	distribute gtk.immodules.

	* gtk/Makefile.am (install-data-local): Don't install the
	gtk.immodules file created for the uninstalled modules;
	instead run gtk-query-immodules after install
2000-11-16 21:17:53 +00:00
Owen Taylor
26aa13b0ef Point -rpath to the right install location.
Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>

	* modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
	-rpath to the right install location.

	* modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
	-export-dynamic.

	* gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
	properly.
2000-11-16 16:11:05 +00:00
Havoc Pennington
74df6fc0a5 Apply patch from Mikael Hermansson to temporarily stop blinking while the
2000-11-15  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
patch from Mikael Hermansson to temporarily stop blinking while
the user is using the keyboard to type or navigate.

Also, when blinking, stay on for longer than we stay off. Also,
return from start_cursor_blink if !cursor_visible, to save
checking that flag all over the place before we call
start_cursor_blink.
2000-11-16 05:45:42 +00:00
Robert Brady
2a38b7e592 Remove the locale-specific gtkrc's, as they only contain a "fontset" line,
Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>

	* gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
	only contain a "fontset" line, which is now ignored.

	* gtk/Makefile.am: Don't build the above.

	* gtk/gtkentry.c (gtk_entry_button_release): Make
	double-click-to-select-word work.
2000-11-16 01:51:17 +00:00
Owen Taylor
afb5788071 Don't move back one char when we are actually at the end of the paragraph.
Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end):
	Don't move back one char when we are actually at the end of the
	paragraph.

CV: ----------------------------------------------------------------------
2000-11-16 01:19:27 +00:00
Robert Brady
c087b64c77 Kill stray conflict line. 2000-11-16 00:47:38 +00:00
Robert Brady
fe682268d1 'o' < 'p'.
2000-11-15  Robert Brady  <robert@suse.co.uk>

	* modules/input/iminuktitut.c (inuktitut_compose_seqs):
	'o' < 'p'.

	* gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
	bind_textdomain_codeset.

	(gtk_init_check): Make the warning about translating default:LTR
	sterner.
2000-11-16 00:41:02 +00:00
Owen Taylor
bc41c3ffcf remove unecessary rules for win32-specific config-substituted targets. If
Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>

	* **/Makefile.am : remove unecessary rules for win32-specific
	config-substituted targets. If you want these rules, use
	--enable-maintainer-mode (called automatically by autogen.sh).
	Stops a lot of unneccessary make-time warnings.

	* gtk/gtktext{layout,display}.c: Factor in total width as
	well as screen when figuring alignment for word-wrap as well as
	no wrap; this is necessary to handle lines that cannot be wrapped
	at all.
2000-11-16 00:16:46 +00:00
Havoc Pennington
ac5c0dbc98 Implement essential color cycling feature
2000-11-15  Havoc Pennington  <hp@redhat.com>

	* gtk/testtext.c: Implement essential color cycling feature
2000-11-15 23:25:08 +00:00
Havoc Pennington
306db7d03d Invalidate the side windows when we invalidate the main window.
2000-11-15  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (changed_handler): Invalidate the side windows
	when we invalidate the main window.

	* gtk/testtext.c (create_view): Get rid of text_changed_callback,
	GtkTextView will now invalidate the side windows for us when text
	changes.
2000-11-15 21:22:52 +00:00
Owen Taylor
de49f2ce05 ed Nov 15 16:02:20 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
	unconditionally, since we may need to update the horizontal
	scrollbars even if the height didn't change.

	* gtk/gtktextlayout.c (add_preedit_attrs): Always get
	the extra attrs, since some of them affect size.

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
	x_offset correctly.
2000-11-15 21:12:58 +00:00
Havoc Pennington
c990d4ab1a If indent is negative, don't move the first line out into the margin,
2000-11-15  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (set_para_values): If indent is negative,
	don't move the first line out into the margin, instead move the
	whole paragraph in order to make space for the first line within
	the margin
2000-11-15 19:50:45 +00:00