Commit Graph

1676 Commits

Author SHA1 Message Date
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
Owen Taylor
80dae4f300 Fix unitialized variable when moving back onto a single line.
Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c
	(gtk_text_layout_move_iter_to_previous_line): Fix unitialized
	variable when moving back onto a single line.
2001-01-02 21:43:35 +00:00
Havoc Pennington
a7aa33f14e Havoc Pennington <hp@redhat.com>
* gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@

	* gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@

	* configure.in (LIBTOOL_EXPORT_OPTIONS): define
	LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2001-01-02 16:15:35 +00:00
Havoc Pennington
aac55c4664 uscore-prepend all the stuff in here.
2001-01-01  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.

	* gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for
	GtkTextAttributes

	* gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug
	#40246
	(gtk_text_attributes_copy_values): rename from
	gtk_text_attributes_copy
	(gtk_text_attributes_copy): a more standard GTK copy function,
	which returns a new object
2001-01-01 20:26:10 +00:00
Havoc Pennington
66f87948e2 Adapt to GtkTreeSelection changes
2001-01-01  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreeview.c: Adapt to GtkTreeSelection changes

	* gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
	don't fill in tree_view->priv->selection, kind of an unexpected
	side effect

	* gtk/gtkcellrenderertext.c: Remove definition of _ and include
	gtkintl.h

	* gtk/gtkcellrenderer.c: Remove definition of _ and include
	gtkintl.h
	(gtk_cell_renderer_get_property): remove calls to g_value_init

	* gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
	gtkintl.h

	* gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
	and include gtkintl.h
	(gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
	property names

	* gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
	GtkTreeSelection
	(_gtk_tree_selection_new_from_with_view): rename, return
	GtkTreeSelection
	(_gtk_tree_selection_set_tree_view): rename with uscore
	(gtk_tree_selection_get_selected): fill in the "model" out param
	first, so it gets filled in even if we return at the top of the
	function
	(gtk_tree_selection_real_select_all): add a comment and an else{}
	to clarify this a bit
	(gtk_tree_selection_real_unselect_all): add the same else{}

	* gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
	set_tree_view to have underscore prefixes, move them to the
	private header, fix return type of new_with_tree_view
	(struct _GtkTreeSelection): mark struct
	fields private

	* gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
	GtkTreeModelFlags, not a guint
	(gtk_tree_path_prev): return gboolean not gint
	(gtk_tree_path_up): return gboolean not gint

	* gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
	return GtkTreeModelFlags, not a guint

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
	that child model is non-null before unrefing it
	(g_value_int_compare_func): make this a qsort compare func, not
	a boolean predicate

	* gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
	(add -umn to the end), and mark it unimplemented
	(gtk_tree_model_sort_resort): remove, this wasn't implemented, and
	I don't see what it's for - doesn't the model always sort itself?
	(gtk_tree_model_sort_set_compare): this had the wrong signature

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
	Fix the docs to say that it destructively replaces existing
	attributes (previously said that it added attributes).
	(gtk_tree_view_column_set_visible): canonicalize bool before
	equality testing. Also, check for realization before
	hiding/showing the tree_column->window; if this window could exist
	before realization, then it's busted and needs fixing, we can't
	create GDK resources pre-realization. Also, remove
	superfluous queue_resize(), since set_size() does that for us.
	(gtk_tree_view_column_set_col_type): check realization before
	using tree_column->window

	* gtk/gtktreedatalist.c: fix filename in copyright notice
2001-01-01 19:01:54 +00:00
Havoc Pennington
7a958797e2 Rearrange all the scroll-while-dragging-or-selecting code to be different,
2000-12-31  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextview.c: Rearrange all the
scroll-while-dragging-or-selecting code to be different, not
necessarily better. ;-)
(gtk_text_view_scroll_to_mark): Change this
function to take within_margin as a fraction instead of a pixel
value, and to take alignment arguments (indicating where to align
the mark inside the visible area)

* gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
to GtkObject

* gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
behavior so that offsets past the end of the line are not
allowed, and an offset equal to the line length moves the iterator
to the next line
(gtk_text_iter_set_line_index): make parallel change
(gtk_text_iter_get_bytes_in_line): add this function

* gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
of byte indexes off the end of the line; byte index at the end of
the line now returns FALSE and doesn't fill in the requested
values, byte index past the end of the line is an error.  Also,
don't allow -1 offset anymore, since its meaning is unclear.

This change exposes some bug in visual cursor motion, where we
end up with a huge invalid byte index; needs fixing. Symptom of
bug is a crash when you hit up arrow.

(_gtk_text_line_char_locate): match the change to byte_locate

* gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
from start of line properly. fixes bug reported by Mikael
Hermansson where backspace would delete all text before the
cursor.
2000-12-31 23:28:57 +00:00
Tor Lillqvist
ee4c69b68e New function, as in the X11 backend. (gdk_window_new,
2000-12-30  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c
	(gdk_window_impl_win32_get_visible_region): New function, as in
	the X11 backend.
	(gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
	instead of duplicating the same code here.

	* gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
	GDK_COLORMAP macro.

	* gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
	destroy function.
	(gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
	access that.

	* gtk/gtk.def: Update.

	* gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.

2000-12-26  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
	we are on a palettized display ("PseudoColor" in X11), as the code
	for that doesn't work anyway, and never has.

2000-12-30  Tor Lillqvist  <tml@iki.fi>

	* gdk_pixbuf.def: Update.
2000-12-30 20:06:14 +00:00
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