Commit Graph

1509 Commits

Author SHA1 Message Date
4
9234d91146 Splitted gtk_image_clear into gtk_image_clear() and gtk_image_reset().
2001-01-24    <alexl@redhat.com>

	* gtk/gtkimage.c:
	Splitted gtk_image_clear into gtk_image_clear() and
	gtk_image_reset(). Call gtk_image_clear() in ::destroy
	to avoid leaks.

	* gtk/gtklabel.c (set_markup):
	Don't leak text.

	* gtk/gtktextlayout.c:
	Always free display->shaped_objects.

	* gtk/testgtk.c (create_clist):
	Don't leak custom style.
2001-01-24 08:25:41 +00:00
3
bedaf31f28 Don't leak image. Simplify using gdk_colormap_query_color().
2001-01-23    <alexl@redhat.com>

	* gtk/gtkcolorsel.c (grab_color_at_mouse):
	Don't leak image. Simplify using gdk_colormap_query_color().
	(gtk_color_selection_init): Don't leak dropper_pixmap and mask.

	* linux-fb/gdkcolor-fb.c:
	Implemented gdk_colormap_query_color.
2001-01-23 15:28:18 +00:00
Havoc Pennington
18742b1dc3 rename member fields from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems
2001-01-20  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
	from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to
	me, matches Pango
2001-01-23 06:09:49 +00:00
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
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
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
2a1e8b06b4 Remove unused variable.
Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkdnd-x11.c: Remove unused variable.

	* gtk/gtkdnd.c: Encapsulate storing and retrieving info
	structures in functions. Fixes bug where gtk_dataset_*
	was accidentally still being used in one place, causing
        every dest side event to be treated independently.

	* gtk/gtkdnd.c: Remove last vestages of handling
	::draw (fixes warning)

	* gtk/gtkentry.[ch]: Add drag and drop support.

	* gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
	new function gtk_check_drag_threshhold() for checking
	to check if (dx,dy) has exceeded the threshhold for starting
	a drag and use it everywhere.
2001-01-17 20:05:08 +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
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
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
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
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
Owen Taylor
a801ea7bf0 Doc fixups.
Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
	gdk/gdk-pixbuf.h: Doc fixups.

	* gtk/gtkobject.h: Remove trailing , from enum
2001-01-09 16:23:57 +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
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
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
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
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
Owen Taylor
c7755bc949 Check for FreeType using freetype-config, since we can't rely on Xft to
Tue Dec 19 23:47:27 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in gdk/x11/Makefile.am: Check for FreeType
	using freetype-config, since we can't rely on Xft
	to pull in the libraries for us, or rely on it being
	in the default include path first.

	* gtk/gtkframe.c: Fix some problems where the gap wasn't
	being drawn in the right place, especially for right-aligned
	frame labels.

Thu Dec 14 21:02:59 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkfontsel.c (gtk_font_selection_select_font): Update
	the font_name entry as needed.
2000-12-20 04:49:49 +00:00
Jonathan Blandford
fb14db07bd sync 2000-12-20 00:37:58 +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