+2001-01-16 Alexander Larsson <alla@lysator.liu.se>
+
+ * gdk/linux-fb/gdkdnd-fb.c:
+ Some cleanups.
+
+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 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 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 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 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 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-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 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 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-11 Havoc Pennington <hp@redhat.com>
+
+ * gtk/gtktreemodelsimple.h: Oops, broke some macros
+
+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 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.
+
+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-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-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 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 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 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.
+
+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.
+
+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 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 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 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 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-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
+ 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