Commit Graph

1687 Commits

Author SHA1 Message Date
Havoc Pennington
e0fee22e78 Add built marshaller files to support GdkPixbufLoader signals
2001-01-22  Havoc Pennington  <hp@redhat.com>

	* Makefile.am: Add built marshaller files to support
	GdkPixbufLoader signals

	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
	GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
	module location, rather than acting as a fallback, because we are
	using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.

	* gdk-pixbuf.h: include gdk-pixbuf-loader.h

        * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
	from gtk, and add error to close(), because stop_load may do
	parsing of the image.

	* pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file

        * io-*.c: make individual operations static, and add fill_vtable
	functions which are exported. Fix the collection of type warnings
	that surfaced, including a number of functions that didn't
	properly take a GError and some that weren't
	const-correct. Involved adding error handling for a few loaders.

	* gdk-pixbuf-io.h: Add error reporting to stop_load function

	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
	a function that fills in the GdkPixbufModule vtable, instead of
	looking up all the image functions individually; this means we
	can get type safety within modules for the loader functions.
	Also it means you don't have to keep the statically compiled and
	GModule versions in sync.

	* test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()

	* make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()

	* gdk-pixbuf.h: nuke gdk_pixbuf_init()

	* gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
	() here

	* gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
	g_type_init() here


2001-01-22  Havoc Pennington  <hp@redhat.com>

	* demos/testanimation.c: fix to reflect gdk-pixbuf changes

	* demos/testpixbuf.c: fix to reflect gdk-pixbuf changes

	* gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h:
	Remove, move back to gdk-pixbuf

	* gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
	to all the word functions

	* gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
	before doing anything on NULL layout or if we don't have the focus

	* gtk/testtext.c (fill_example_buffer): "justification"

	* gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
	to be called "justification" not "justify"

	* demos/gtk-demo/textview.c (create_tags): "justification"

	* gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2001-01-22 23:09:48 +00:00
2
a081fe7d54 Don't leak visible_region. Use visible_region instead of region.
2001-01-22    <alexl@redhat.com>

	* gdk/gdkwindow.c (gdk_window_invalidate_region):
	Don't leak visible_region. Use visible_region instead of region.

	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
	Don't do extra gdk_drawable_ref(). This is not X.
	(gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
	gdk_fb_focused_window is ref:ed.
	(gdk_fb_window_send_crossing_events): Watch out for destroyed
	windows.
2001-01-22 14:35:49 +00:00
2
18cb3ee139 Don't leak the PangoFontDescriptor.
2001-01-22    <alexl@redhat.com>

	* gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
	Don't leak the PangoFontDescriptor.
2001-01-22 12:40:35 +00:00
Jonathan Blandford
5f25ae3873 Make fail when not realized. (gtk_tree_view_scroll_to_cell): Make work
Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
	when not realized.
	(gtk_tree_view_scroll_to_cell): Make work when not realized.
	(gtk_tree_view_realize): add scroll_to support
	(gtk_tree_view_finalize): add a finalize method.  Populate.
	(gtk_tree_view_insert_column): ref and sink the column.
	(gtk_tree_view_append_column): ref and sink the column.
	(gtk_tree_view_queue_draw_node): New function to handle redrawing
	individual nodes.  Should make the code much more efficient, if
	actually used.

gtk_tree_view_queue_draw_node isn't actually used yet, but it should start
making Owen less grumpy.
2001-01-21 18:45:20 +00:00
Havoc Pennington
ddedf10d15 byte_offset variable was being used to mean both "offset into layout" and
2001-01-19  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
	byte_offset variable was being used to mean both "offset into
	layout" and "offset into buffer line" which was no longer true
	with addition of preedit string; fix
2001-01-19 23:00:38 +00:00
Havoc Pennington
e248e4e79e sync to tree changes
2001-01-19  Havoc Pennington  <hp@redhat.com>

	* demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes

	* gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
	function

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
	implement

	* gtk/gtktreeview.c (gtk_tree_view_move_to): rename
	scroll_to_cell, matches TextView scroll functions better
	(gtk_tree_view_tree_to_widget_coords): new function
	(gtk_tree_view_widget_to_tree_coords): new function
	(gtk_tree_view_get_visible_rect): new function
	(gtk_tree_view_get_path_at_pos): accept negative coordinates
	(gtk_tree_view_draw_node_focus_rect): new function moved from
	draw_focus, also, use width of bin_window as width of the focus
	rect
	(gtk_tree_view_expand_row): fix bug where it didn't recognize
	already-expanded rows
	(gtk_tree_view_get_cell_rect): new function
	(gtk_tree_view_get_path_at_pos): return the click position
	relative to the passed-in cell
	(gtk_tree_view_set_expander_column): new function

	* configure.in: remove gtk-config-2.0 chmod

	* gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
	and properly handle drags with targets we don't understand
	(gtk_text_view_drag_end): don't stop scrolling, the source isn't
	scrolling anyway
	(gtk_text_view_drag_drop): stop scrolling here though, and set the
	mark invisible

	* gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
	function
	(gtk_drag_dest_get_target_list): new function
	(gtk_drag_dest_set_target_list): new function

	* gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation

	* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
	related to drag-and-drop
2001-01-19 22:39:19 +00:00
9
e275f77943 Define EMULATE_GDKFONT. Add extra pango_font stuff to GfkFontPrivate.
2001-01-19    <alexl@redhat.com>

	* gdk/linux-fb/gdkprivate-fb.h:
	Define EMULATE_GDKFONT.
	Add extra pango_font stuff to GfkFontPrivate.

	* gdk/linux-fb/gdkdrawable-fb2.c:
	* gdk/linux-fb/gdkfont-fb.c:
	If EMULATE_GDKFONT defined, implement a slow lame GdkFont
	emulation using PangoFont.
2001-01-19 10:38:12 +00:00
Havoc Pennington
ed4204456a Add "getters" for all the non-deprecated set_foo functions. Added missing
2001-01-17  Havoc Pennington  <hp@pobox.com>

	* gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
	all the non-deprecated set_foo functions. Added missing object
	properties, and added g_object_notify() to setters.
	Wrote docs.
2001-01-18 04:10:40 +00:00
Tor Lillqvist
576ef7f29a gtk/gtkmain.c Use the new
2001-01-18  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtkmain.c
	* gtk/gtkrc.c: (Win32) Use the new
	g_win32_get_package_installation_(sub)directory() functions.

	* config.h.win32.in: New file.

	* config.h.win32: Removed.

	* configure.in: Output config.h.win32.

	* Makefile.am: Add it to EXTRA_DIST.

	* gtk/gtk.def: Update.

2001-01-16  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
	Eliminate redraws when input-only windows are shown or
	hidden. Thanks to jpe@archaeopteryx.com.

2001-01-18  Tor Lillqvist  <tml@iki.fi>

	* gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
	g_win32_get_package_installation_subdirectory() function.
	(gtk_win32_get_installation_directory): Remove this then.
2001-01-17 22:26:19 +00:00
Owen Taylor
18fb9bcd53 Set the attributes onto the PangoLayout even if they are newly created
Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c (gtk_label_size_request): Set the
	attributes onto the PangoLayout even if they are newly
	created from label->pattern.
2001-01-17 21:32:34 +00:00
Owen Taylor
7525412032 Commit changelog entries 2001-01-17 20:05:41 +00:00
7
9012254c1e Doh! Mixed up x and y.
2001-01-17    <alexl@redhat.com>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
	Doh! Mixed up x and y.

	* gdk/linux-fb/gdkglobals-fb.c:
	Removed gdk_fb_pointer_grab_window_events,
	added _gdk_fb_pointer_grab_owner_events and
	_gdk_fb_keyboard_grab_owner_events.

	* gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
	Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
	crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
	(gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
	Send crossing events after ungrab finished.
	(gdk_keyboard_grab): Set ..._owner_events
	(type_masks): Move out of function.
	(gdk_fb_other_event_window, gdk_fb_pointer_event_window,
	gdk_fb_keyboard_event_window): New functions, return the
	window an event should be targeted at. Handles grabs and
	event propagation. Can return NULL.
	(gdk_event_make): Remove event_mask checking. Now always
	returns an event.

	* gdk/linux-fb/gdkkeyboard-fb.c:
	* gdk/linux-fb/gdkproperty-fb.c:
	* gdk/linux-fb/gdkselection-fb.c:
	Use new event_window/gdk_event_make() behaviour.

	* gdk/linux-fb/gdkmouse-fb.c:
	Use new event_window/gdk_event_make() behaviour.
	Only send motion events if in the same window.
	If grabbed, use cursor from window if sibling of grabbed
	window, and cursor from grabbed window otherwise.

	* gdk/linux-fb/gdkprivate-fb.h:
	Update gdk_fb_window_send_crossing_events, gdk_event_make
	and grab varaible declarations. Add gdk_fb_*_event_window().

	* gdk/linux-fb/gdkwindow-fb.c:
	Use new event_window/gdk_event_make() behaviour.
	Keep correct track of focus window.
	(gdk_window_set_events): Set all specific button motion masks
	if GDK_BUTTON_MOTION_MASK set.

	* gtk/gtkdnd.c (gtk_drag_update):
	Free info->last_event if gdk_drag_motion returned FALSE.
2001-01-17 15:52:22 +00:00
GMT 2001 Tony Gale
2d28a30379 FAQ update: - Update to bugzilla - Add GTK+ and security/SUID/SGID - Add
Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>

	* docs/faq/gtk-faq.sgml: FAQ update:
	  - Update to bugzilla
	  - Add GTK+ and security/SUID/SGID
	  - Add DnD question
2001-01-16 13:17:21 +00:00
Alexander Larsson
268e636201 Some cleanups.
2001-01-16  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkdnd-fb.c:
	Some cleanups.
2001-01-16 12:21:08 +00:00
Havoc Pennington
8e8dd66aec add test stuff for CellRendererToggle
2001-01-15  Havoc Pennington  <hp@pobox.com>

	* tests/testtreeview.c: add test stuff for CellRendererToggle

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
	accessor

	* gtk/gtkcellrenderertoggle.c: distinguish different event types,
	only toggle on button press (would do release like GtkButton, but
	we'd need implicit grab code for treeview cells)
2001-01-16 03:49:24 +00:00
Tor Lillqvist
18e95c4e0f Include <stdlib.h> for getenv().
2001-01-16  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
	GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.

	* gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
	to g_{locale,filename}_{to,from}_utf8 to match current API.

	* gtk/makefile.msc.in (gtk_OBJECTS)
	* gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.

	* gtk/gtk.def: Update.
2001-01-15 22:12:31 +00:00
Tor Lillqvist
420e4ee2f7 New implementaion that more closely mimics the events that an X server
2001-01-15  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
	implementaion that more closely mimics the events that an X server
	would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
	GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
	with nested preview widgets, for instance, more responsive when
	you move the mouse quickly into them.
	(find_window_for_pointer_event): Make it actually compile.
	(gdk_event_translate): Set send_event to the value of
	InSendMessage (). This doesn't really mean the same as X11's
	send_event flag, but is close enough, says jpe@archaeopteryx.com
2001-01-15 19:48:53 +00:00
Alexander Larsson
b299835e86 Implemented drag and drop. Seems to be mostly working. I sometimes get an
2001-01-15  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkdnd-fb.c:
	Implemented drag and drop.
	Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
	when it tries to free and then copy the same event (info->last_event).
	I am not sure about why	this happens, but will continue looking.
2001-01-15 15:46:28 +00:00
Alexander Larsson
6a184ba228 Use gdk_window_invalidate_rect instead of gdk_window_invalidate_rect_clear
2001-01-15  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkwindow-fb.c:
	Use gdk_window_invalidate_rect instead of
	gdk_window_invalidate_rect_clear to minimise flashing.
	When hiding windows you need to clear the root window though.
2001-01-15 10:22:15 +00:00
Alexander Larsson
c288355ffd For optization, add an full_shapes argument to gdk_fb_clip_region. If this
2001-01-15  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkdrawable-fb2.c:
	For optization, add an full_shapes argument to gdk_fb_clip_region.
	If this is false, only the cliprects of the shapes are used.

	* gdk/linux-fb/gdkprivate-fb.h:
	Export gdk_fb_window_peek_shape.
	Add full_shapes to gdk_fb_clip_region.

	* gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
	When moving a window, don't clear everything under the it, just the
	root window. Makes stuff faster and flash less.
	(gdk_window_get_pointer): Correctly handle offseted shapes, due to
	USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
	offset of the shape.
2001-01-15 09:54:28 +00:00
Havoc Pennington
f4b31ff5e6 offset the current invalid region, fixes redraw bug while scrolling the
2001-01-12  Havoc Pennington  <hp@redhat.com>

	* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the
	current invalid region, fixes redraw bug while scrolling the
	text widget

	* gtk/gtktextview.c, gtk/gtktextview.h:
	Rearrange the scrolling/validation/etc. code in a major way,
	so it seems to make sense to me. Probably isn't genuinely that
	much better, but...

	* gtk/gtktexttag.c (set_fg_color): fix name of property used for
	notifies

	* gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2001-01-12 23:23:40 +00:00
Alexander Larsson
8e1a69c28b Hide mouse pointer while rotation. Show it afterwards.
2001-01-12  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
	Hide mouse pointer while rotation. Show it afterwards.
2001-01-12 15:55:56 +00:00
Alexander Larsson
058c2d9320 Take shaped windows in consideration when generating clip region.
2001-01-12  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
	windows in consideration when generating clip region.

	* gdk/linux-fb/gdkfb.h:
	Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.

	* gdk/linux-fb/gdkprivate-fb.h:
	Add shape to GdkWindowFBDatat.
	exported gdk_fb_window_get_abs_shape().
	removed gdk_fb_draw_lines declaration.

	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
	Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
	send focus changes when there is a grabbed window.
	(gdk_window_get_pointer): Handle shaped windows.
	(gdk_fb_region_create_from_bitmap): Convert bitmap to region.
	(gdk_fb_window_peek_shape): Returns the shape for a window,
	handles GDK_FB_USE_CHILD_SHAPE.
	(gdk_fb_window_get_abs_shape): Returns the shape of the window,
	offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
	(gdk_window_shape_combine_mask): Implement.

	* gtk/gtkwindow-decorate.c:
	HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
	setting the shape of a window makes the window transparent.
2001-01-12 15:45:26 +00:00
Havoc Pennington
696f0626bc Oops, broke some macros
2001-01-11  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreemodelsimple.h: Oops, broke some macros
2001-01-12 04:47:56 +00:00
Havoc Pennington
69c58e538a add this function, bug 40251
2001-01-10  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
	add this function, bug 40251

	* gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
	of type macro
2001-01-11 17:59:40 +00:00
Alexander Larsson
b29eece81f Added ENABLE_SHADOW_FB
2001-01-11  Alexander Larsson  <alexl@redhat.com>

	* acconfig.h:
	Added ENABLE_SHADOW_FB

	* configure.in:
	Added --disable-shadowfb

	* gdk/linux-fb/gdkcursor-fb.c:
	Update shadowfb when updating cursor

	* gdk/linux-fb/gdkdrawable-fb2.c:
	Added wrappers for shadowfb that calls 	the normal drawable
	methods, but calls gdk_shadow_fb_update(bounding box) when
	GdkWindows are drawed to.
	Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
	which also returns the bounding box.

	* gdk/linux-fb/gdkfb.h:
	Added GdkFBAngle type and gdk_fb_set_rotation declaration.

	* gdk/linux-fb/gdkgeometry-fb.c:
	Update shadowfb when scrolling window.

	* gdk/linux-fb/gdkglobals-fb.c:
	Add _gdk_fb_screen_angle.

	* gdk/linux-fb/gdkkeyboard-fb.c:
	Test code for screen rotation. Shift-F2 in the xlate driver
	rotates the screen.

	* gdk/linux-fb/gdkmain-fb.c:
	Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.

	* gdk/linux-fb/gdkmouse-fb.c:
	Use fb_width/height instead of modeinfo.xres/yres.

	* gdk/linux-fb/gdkprivate-fb.h:
	Added fb_men, fb_width, fb_height & fb_stride. When using
	shadow fb these can differ from the framebuffer stuff.
	Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
	gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
	_gdk_fb_screen_angle. Removed CM, RP.

	* gdk/linux-fb/gdkrender-fb.c:
	Added code for shadowfb handling and screen rotation using
	shadowfb.

	* gdk/linux-fb/gdkwindow-fb.c:
	Use fb_mem, fb_stride, fb_width, fb_height.
	Added recompute_rowstride to reset the rowstride of all windows.
	Added gdk_fb_recompute_all() which recomputes rootwindow size,
	window abs positions and window rowstrides. Usefull when the
	rotation has changed.
2001-01-11 16:39:21 +00:00
GMT 2001 Tony Gale
d2c345480b update to make web site updating easier
Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>

	* docs/faq/gtk-faq.sgml: update to make web site updating easier
2001-01-11 13:18:03 +00:00
Havoc Pennington
740ee8ef94 handle case where sibling == iter (gtk_tree_store_insert_after): handle
2001-01-10  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
	where sibling == iter
	(gtk_tree_store_insert_after): handle sibling == iter
	(gtk_tree_store_prepend): remove stamp checks
	(gtk_tree_store_insert_before): ditto
	(gtk_tree_store_append): ditto
	(gtk_tree_store_get_path): ditto
	(gtk_tree_store_get_value): ditto
	(gtk_tree_store_iter_has_child): ditto
	(gtk_tree_store_iter_n_children): ditto
	(gtk_tree_store_iter_nth_child): ditto
	(gtk_tree_store_insert_after): ditto
	(gtk_tree_store_is_ancestor): ditto
	(gtk_tree_store_iter_depth): ditto
	(gtk_tree_store_insert_before): assert that sibling's parent is
	the same as the passed-in parent
	(gtk_tree_store_insert_after): assert that sibling's parent is
	the same as the passed-in parent


	* gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience
	function to get the first iterator in a model

	* gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
	conventionally the "root" in this sense is just NULL afaict.

	* gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
	where sibling == iter
	(gtk_list_store_insert_after): handle case where sibling == iter

	* tests/testtreeview.c (run_automated_tests): fairly lame basic
	automated tests for ListStore, TreeStore

        * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
	(gtk_list_store_insert): update tail pointer, and fix it to work
	(gtk_list_store_insert_before): update tail pointer, and fix it to work
	(gtk_list_store_append): use tail to be faster
	(gtk_list_store_prepend): fix it, update tail pointer
	(gtk_list_store_insert_after): fix it, update tail pointer

	* gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for
	the list
2001-01-10 23:44:22 +00:00
Havoc Pennington
85267e9224 don't draw if label->layout is NULL due to a pending resize
2001-01-09  Havoc Pennington  <hp@redhat.com>

	* gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
	is NULL due to a pending resize

	* gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
	column width to values less than 1

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
	width to be between min/max width, and still set the width
	even if autosize is turned on, so the tree view can use this
	function in order to autosize.
	(gtk_tree_view_column_init): set initial width to 1 not 0

	* gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
	setter function to modify column width, so we get notification
	(gtk_tree_view_insert_iter_height): ditto
	(gtk_tree_view_calc_size): ditto
	(gtk_tree_view_check_dirty): ditto

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
	properties to change all the interesting attributes of the tree
	view column.
	(gtk_tree_view_column_set_header_clickable): rename set_clickable
	(gtk_tree_view_column_get_clickable): add
	(gtk_tree_view_column_set_cell_renderer): don't unset the current
	attributes; assume a cell renderer with equivalent object
	properties has been swapped in. Do g_object_notify().
	(gtk_tree_view_column_set_visible): g_object_notify
	(gtk_tree_view_column_get_sizing): rename from get_col_type
	(gtk_tree_view_column_set_sizing): g_object_notify
	(gtk_tree_view_column_set_width): add g_object_notify
	(gtk_tree_view_column_set_min_width): ditto
	(gtk_tree_view_column_set_max_width): ditto
	(gtk_tree_view_column_set_title): ditto
	(gtk_tree_view_column_set_clickable): ditto
	(gtk_tree_view_column_set_widget): ditto
	(gtk_tree_view_column_set_justification): ditto
2001-01-09 23:24:20 +00:00
Havoc Pennington
637c61da76 handle case where there are no rows in the model
2001-01-09  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
	there are no rows in the model

	* gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
	NULL, then return the start of the list

	* gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
	if we can't get any rows from an empty model

	* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
	extraneous * after function pointer typedef usage

	* Makefile.am: don't specify full path to cp and rm

	* gtk/gtkcellrenderertextpixbuf.c
	(gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
	NULL before dereferencing, fixes a segfault that happened from
	time to time

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
	use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
	and reindent the function
	(gtk_cell_renderer_pixbuf_get_size): indentation

	* gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
	we quit it
	(gtk_dialog_add_buttons_valist): add g_return_if_fail
	(gtk_dialog_set_default_response): New function, to set default
	button
	(gtk_dialog_set_response_sensitive): New function, to set
	sensitivity of buttons

	* gtk/gtkcellrendererpixbuf.c
	(gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
	(gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
	handle any G_TYPE_OBJECT subclass, not just the base class, and
	also boxed types.
	(_gtk_tree_data_list_value_to_node): ditto

	* gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if
	--gtk-debug=tree

	* gtk/gtkmain.c: add GTK_DEBUG_TREE

	* gtk/gtkdebug.h: add GTK_DEBUG_TREE
2001-01-09 17:45:34 +00:00
Tor Lillqvist
0056107b5d Implement better mouse capturing. Do use SetCapture(). Thanks to
2001-01-09  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c: Implement better mouse
	capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
	(find_window_for_pointer_event): New function.
	(gdk_event_translate): Use it when handling mouse events.
2001-01-09 16:45:44 +00:00
Alexander Larsson
7e3eadd61c Added --with-included-loaders option
2001-01-09  Alexander Larsson  <alla@lysator.liu.se>

	* configure.in:
	Added --with-included-loaders option

	* gdk-pixbuf/Makefile.am:
	* gdk-pixbuf/gdk-pixbuf-io.c:
	Add support for including selected gdk-pixbuf loaders only.

	* gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
	gtk_window_set_has_frame):
	Added inline documentation.

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
	* docs/reference/gdk/tmpl/windows.sgml:
	Added inline documentation.
2001-01-09 09:53:28 +00:00
Jonathan Blandford
136232bcd6 Skip realizing buttons that have already been realized.
Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
	realizing buttons that have already been realized.
2001-01-08 19:44:41 +00:00
Jonathan Blandford
15b23123f7 Show menu items before adding to option menu.
Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>

	* tests/testtreeview.c (main): Show menu items before adding to
	option menu.

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
	around if we kill them.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
	Return if we pass in a NULL model.
2001-01-08 19:07:51 +00:00
Havoc Pennington
157cfa27ca hack on this some
2001-01-08  Havoc Pennington  <hp@redhat.com>

	* tests/testtreeview.c: hack on this some

	* gtk/gtktreestore.c (gtk_tree_store_setv): rename
	gtk_tree_store_set_valist, v is for arrays, valist for varargs
	list
	(gtk_tree_store_getv): rename gtk_tree_store_get_valist

	* gtk/gtkliststore.h: Add varargs set() and get() convenience
	functions
2001-01-08 18:26:05 +00:00
Alexander Larsson
59b6bf3863 New files. Contains an implementation of a minimal WM for linux-fb.
2001-01-08  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkwindow-decorate.[hc]:
	* gtk/Makefile.am:
	New files. Contains an implementation of a minimal WM for
	linux-fb.

	* gtk/gtkwindow.h:
	Add the possibility for GtkWindows to specify a frame. This
	is used for the window decoration code, but could concievably
	be used for X programs too (xmms style windows).
	GtkWindow->frame is the toplevel window if the window is framed.
	The signal frame_event gets all events that are targeted to
	GtkWindow->frame.
	(_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.

	* gtk/gtkwindow.c:
	Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
	Call out to gtkwindow-decorate.c for WM support in linx-fb.
2001-01-08 17:04:17 +00:00
Alexander Larsson
49bb8dfa19 Correct filename ~/.pangoft2_aliases
2001-01-08  Alexander Larsson  <alexl@redhat.com>

	* docs/README.linux-fb:
	Correct filename ~/.pangoft2_aliases

	* gdk/gdkwindow.h:
	Added new function gdk_window_get_decorations.

	* gdk/linux-fb/gdkfb.h:
	Removed _gdk_window_get_decorations declaration.
	Renamed _gdk_window_set_child_handler to
	gdk_fb_window_set_child_handler.

	* gdk/linux-fb/gdkwindow-fb.c:
	Renamed _gdk_window_set_child_handler to
	gdk_fb_window_set_child_handler.

	* gdk/x11/gdkwindow-x11.c:
	New function gdk_window_get_mwm_hints().
	Implemented gdk_window_get_decorations.

	* docs/reference/gdk/tmpl/windows.sgml:
	* docs/reference/gdk/gdk-sections.txt:
	Added gdk_window_get_decorations docs.
2001-01-08 16:42:08 +00:00
Alexander Larsson
94dfd3dd82 Possibly send focus events when the mouse moves from one window to
2001-01-08  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
	gdk_fb_window_find_focus, gdk_fb_send_focus_change,
	gdk_fb_window_send_crossing_events):
	Possibly send focus events when the mouse moves from one
	window to another.
2001-01-08 11:12:21 +00:00
Tor Lillqvist
c921abb888 Adapt calls to g_{locale,filename}_{to,from}_utf8 to match current API.
2001-01-07  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
	gdk_window_new): Adapt  calls to g_{locale,filename}_{to,from}_utf8
	to match current API.

	* gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
	environment variable is set, don't call g_error when on a
	palettized (PseudoColor) display. Some people want to use GTK+
	in 256-colour mode even though works only partially.

	* gdk/gdk.def
	* gtk/gtk.def
	* gtk/makefile.mingw.in: Update.
2001-01-07 18:00:15 +00:00
Havoc Pennington
5c37906778 hack on this a bit
2001-01-05  Havoc Pennington  <hp@redhat.com>

	* tests/testtreeview.c: hack on this a bit

	* gtk/gtktextlayout.c (gtk_text_layout_class_init):
	s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST

	* gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS):
	was spelled incorrectly
	(GTK_IS_TREE_MODEL_SIMPLE): ditto

	* gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
	from gtk_tree_view_set_headers_active

	* gtk/gtktexttag.c:
	(gtk_text_tag_get_property): handle PROP_DIRECTION
	(gtk_text_tag_set_property): g_object_notify when we toggle the _set
	properties, bug 40235

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
	forward_to_line_end
2001-01-06 01:31:58 +00:00
Owen Taylor
eb2fdbb176 Adopt to new prototypes for unicode,locale,filename conversion functions.
Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
	modules/input/gtkimcontextxim.c: Adopt to new prototypes
	for unicode,locale,filename conversion functions.
2001-01-05 21:23:53 +00:00
Havoc Pennington
1299c1df6f this function was broken if called on the first position in the buffer.
2001-01-05  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
	broken if called on the first position in the buffer.

	* gtk/gtktextlayout.c (line_display_index_to_iter): fix
	forward_to_delimiters to be called only if we aren't already at
	the delimiters.
2001-01-05 19:51:55 +00:00
Havoc Pennington
93d87eb0f4 Oops, that didn't link. Fix.
2001-01-05  Havoc Pennington  <hp@redhat.com>

	* demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2001-01-05 19:09:38 +00:00
Alexander Larsson
30888237b9 free colormap in here. Sync from X port. (gdk_fb_set_colormap): allow the
2001-01-05  Alexander Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
	colormap in here. Sync from X port.
	(gdk_fb_set_colormap): allow the colormap to be NULL if you like.
	Sync from X port.
	(gdk_fb_clip_region): Comment out g_warning about empty clip region.
	This happens now and then, and i don't think it is a bug.
	(gdk_fb_draw_polygon): Correctly add extra point if startpoint
	!= endpoint.
	(gdk_fb_draw_lines): Don't draw dashed lines if line_style is
	GDK_LINE_SOLID.

	* gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
	some of the fields filled in at least.

	* gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
	miLineArcD is no more, remove it from the function definition.
2001-01-05 14:01:36 +00:00
Havoc Pennington
ae89b1e1b1 add this
2001-01-04  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
	this

	* gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
	user_data instead of tree_node

	* gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
	TREE_VIEW_COLUMN_SIZE

	* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
	"size" field to "width" finishes bug 40061

	* gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
	for bitfields, bug 40268
2001-01-04 23:36:19 +00:00
Havoc Pennington
c020b3b4f8 Rename some stuff:
2001-01-04  Havoc Pennington  <hp@redhat.com>

        Rename some stuff:

	s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;

	s/GtkModelSimple/GtkTreeModelSimple/g;
	s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
	s/gtk_model_simple/gtk_tree_model_simple/g;
	s/gtkmodelsimple/gtktreemodelsimple/g;

	s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;

	s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
	s/column_set_col_type/column_set_sizing/g;

	s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
	s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;

	s/GtkCellRendererType/GtkCellRendererState/g;

	* gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
	(gtk_cell_renderer_toggle_class_init): change "state" property to
	"active", to match GtkToggleButton
	(gtk_cell_renderer_toggle_get_active): new function, bug
	40269
	(gtk_cell_renderer_toggle_set_active): new function
	(gtk_cell_renderer_toggle_set_property): route changes to toggle
	state through gtk_cell_renderer_set_active
2001-01-04 21:33:24 +00:00
Jonathan Blandford
ef069fa0a0 Changed a bunch of boxed types to pointers temporarily until they work
Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
	temporarily until they work again.  Brought up to date with
	changes in the model.
	* gtk/gtkmodelsimple.h: Brought up to date with changes in the
	model.
2001-01-04 20:42:49 +00:00
Havoc Pennington
b0a909b8c4 if index is equal to the line length, then position iterator before
2001-01-04  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (line_display_index_to_iter): if index is
	equal to the line length, then position iterator before paragraph
	separators. Fixes crash reported by Mikael Hermansson when
	pressing left arrow from the start of a line.

	* gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
	about byte indexes off the end
	(iter_set_from_char_offset): add g_error about char offsets
	off the end
2001-01-04 20:01:32 +00:00
Havoc Pennington
c7826b5f63 Adapt to uscore-ification of gtktextiterprivate
2001-01-03  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use
	of private functions; remove inclusion of private headers.

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this
	function, so we don't need private functions in gtktextdisplay.c

	* gtk/gtktextiterprivate.h: underscore-ification

	* gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
	to instead say "only useful to implement widgets"

	* gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
	GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
	GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.

	* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
	This function was completely broken

	* gtk/testtext.c (line_numbers_expose): use gtk_paint_layout

	* gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout

	* gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout

	* gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout

	* gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout

	* gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
	gtk_paint_layout

	* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
	gtk_paint_layout

	* gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
	Progress on bug 40103. Add draw_layout to draw a PangoLayout.
	(struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
	which were not implemented.

	* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
	insert_pixbuf signal. Rename delete_text to delete_range since it
	also deletes pixbufs and child anchors. This almost closes bug
	40245 (still need to deal with child anchors)

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
	insert_pixbuf, change signal names as appropriate, change types of
	signals taking marks/tags to have the specific type, not just
	G_TYPE_OBJECT

	* gtk/gtkmain.c (gtk_get_current_event_state): Add this function;
	closes bug 40051

	* gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
	unnecessary remove_contents() call
	(gtk_option_menu_class_init): add a "changed" signal, closes
	bug 40039
	(gtk_option_menu_update_contents): emit "changed" if the
	active menu item changes

	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
	cast to GtkObject, reported by Jonas Borgstrom
	(gdk_pixbuf_loader_finalize): don't close the loader on finalize;
	we can't do stuff with side effects in finalize. Instead, spew a
	warning if the loader isn't closed.

	* gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
	colormap in here, non-X ports probably need to sync to this change

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove
	assertion that colormap != NULL, you can set the colormap to NULL
	if you like.

	* Makefile.am: remove gtk-config-2.0

	* configure.in: Use pkg-config to locate GLib. Remove
	separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
	and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
	Use pkg-config to locate Pango. Output correct Pango libs to
	gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).

	* Makefile.am (pkgconfig_DATA): install only target-specific pc
	files
	(install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
	X11 pc files

	* gtk+-2.0.pc.in (Requires): require the GDK for the current target
	unref from here
2001-01-04 17:48:43 +00:00
Alexander Larsson
eb1a557a73 Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2001-01-03  Alexander Larsson  <alla@lysator.liu.se>

	* configure.in:
	Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2001-01-03 10:53:14 +00:00