Sun May 5 16:42:32 2002 Kristian Rietveld <kris@gtk.org>
The "big treeview focus patch". Fixes several issues and adds some
goodies. Related bugs: #73676, #73734, #78660.
* gtk/gtktreeview.h: add gtk_tree_view_set_cursor_on_cell
* gtk/gtktreeview.c (gtk_tree_view_button_press): focus on a cell
if applicable,
(gtk_tree_view_bin_expose): set_cell_data before iterating columns,
add support for row-spanning focus rectangles,
(gtk_tree_view_has_special_cell): new function,
(gtk_tree_view_move_cursor_left_right): add support for multiple
focusable cells in one column,
(gtk_tree_view_set_cursor): call _set_cursor_on_cell now,
(gtk_tree_view_set_cursor_on_cell): copy of _set_cursor, extended
with focus_cell parameter,
(gtk_tree_view_search_iter): removed unused column variable,
(gtk_tree_view_start_editing): add neighbor size code to allow
for multiple editable cells in one column.
* gtk/gtktreeviewcolumn.c (_GtkTreeViewColumnCellInfo): add
in_editing_mode field,
(gtk_tree_view_column_get_edited_cell): new function, removed
_get_editable_cell,
(_gtk_tree_view_column_get_cell_at_pos): new function,
(gtk_tree_view_column_pack_end): s/g_new/g_new0/ ...,
(gtk_tree_view_column_cell_process_action): loads of changes to get
it right and to allow for multiple special cells, etc,
(gtk_tree_view_column_cell_first): new function,
(gtk_tree_view_column_cell_last): ditto,
(gtk_tree_view_column_cell_next): ditto,
(gtk_tree_view_column_cell_prev): ditto,
(gtk_tree_view_column_cell_focus): add left and right parameters,
allow for multiple special cells,
(gtk_tree_view_column_cell_is_visible): add assertion,
(gtk_tree_view_column_focus_cell): new function,
(gtk_tree_view_column_stop_editing): unset in_editing_mode flag,
(_gtk_tree_view_column_get_neighbor_sizes): iterate through cells
correctly
* gtk/gtktreeviewcolumn.h: add gtk_tree_view_column_focus_cell
* gtk/gtktreeprivate.h: s/_get_editable_cell/_get_edited_cell/, add
_gtk_tree_view_column_get_cell_at_pos, add new parameters to
_gtk_tree_view_column_cell_focus.
* tests/testtreeedit.c: add some cells in order to test new code.
Sun May 5 02:22:59 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* tests/test-images/*: image files for testing pixbuf loaders
* tests/pixbuf-*.c: the old test-loaders.c split into four
different programs
* tests/Makefile.am: add new pixbuf tests
Sun May 5 02:27:01 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
gtk+/tests/)
* test-loaders.c, test-images.h: remove
Tue Apr 30 18:42:25 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_screen): Make it
work, even if the window is already realized or
mapped.
* tests/testgtk.c: Erwann's multihead changes, slightly
dumbed down. (Removed logic for pulling windows onto
the current screen, people can click twice on the demo
to destroy and create again.)
* tests/prop-editor.c: Set the screen on the property
editor if the edited object is a widget.
Tue Apr 30 15:59:53 2002 Owen Taylor <otaylor@redhat.com>
* tests/testmultiscreen.c: Multi-screen test case
form multihead branch with a few cleanups. (Get rid
of use of g_object_connect())
* tests/testmultidisplay.c: Multi-display test case
from multihead branch with a few improvements.
(Allow the other display name to be passed on
the command line, use a GtkDialog to get more attractive
spacing.)
Tue Apr 30 14:23:43 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_open_display): fix
problem with finalizing non-initialized fully display
when failing to open display.
* tests/testxinerama.c: Xinerama test case from
multihead branch, with some cleanups. (Start even
if there is only one monitor, for one.)
2002-04-26 Sven Neumann <sven@gimp.org>
* tests/testtreecolumns.c
* tests/testtreeview.c: quit the main loop when the window is
destroyed. Removed compiler warnings about wrong format in printf().
Thu Apr 4 22:28:08 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenuitem.c (gtk_menu_item_paint): Fix problem with menu
titles being clipped (#75948)
Thu Mar 7 02:58:16 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/tmpl/gtkliststore.sgml: start implementing
* gtk/question_index.sgml: "I can set with the tree, but not
get???!?!"
Wed Mar 6 23:20:51 2002 Jonathan Blandford <jrb@redhat.com>
and Kristian Rietveld <kris@gtk.org>
Finishing touch for 2.0.0 release, fixes#70782, #72729, the
'stealth' bug and other last-minute minor issues.
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): set dnd dest line
drawing right. We can't draw the line at the position of the next
row, because that one still has to be drawn. So draw everthing at
a -1 offset.
(validate_visible_area): add check for invalid descendants and
NULL scroll_to_path path, get scrolling right. Also, fix the
area_above value. Pretty amazing I got it wrong.
(get_logical_dest_row): add gtk-tree-model-drop-append magic, so
dragging a row to the end of the model works right.
(gtk_tree_view_get_dest_row_at_pos): minor floating point fix
(gtk_tree_view_start_editing): add call to validate_row
(gtk_tree_view_tree_to_widget_coords): Never subtract
HEADER_HEIGHT from y values anymore!!!
(gtk_tree_view_widget_coords_to_tree): ditto.
(gtk_tree_view_scroll_to_point): allow -1 as values for the
scroll_to coords
(gtk_tree_view_move_cursor_page_up_down): Don't need scroll_to_y
as clamp_node_visible will make it work.
* gtk/gtktreestore.c (gtk_tree_store_drag_data_received): also check
path depth, as we can't get iters from empty paths
* gtk/gtkliststore.c (gtk_list_store_drag_data_received): handle
gtk-tree-model-drop-append
* gtk/gtktreednd.c (gtk_tree_set_row_drag_data): free path_str
* tests/testtreeflow.c (main): select path where we are scrolling to
* docs/tutorial/gtk-tut.sgml: Make color selection and selection
examples work.
* tests/testselection.c (selection_toggled, selection_clear):
Use selection_widget as selection owner - otherwise clearing the
selection doesn't work.
Sun Mar 3 18:47:13 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_parse_geometry): Fix
to properly take the default window into account by
setting a flag and in gtk_window_compute_configure_request_size ()
multiplying by the increments and adding in the base
size. (#72393)
* tests/testgtk.c (create_gridded_geometry): Add a
test for gridded geometry and for gtk_window_parse_geometry().
Sun Mar 3 14:26:33 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.[ch] (_gtk_get_insertion_cursor_gc):
Centralize lookup and caching of cursor GC's here.
* gtk/gtkentry.[ch] gtk/gtktextview.[ch] gtk/gtktextdisplay.c
gtk/gtklabel.c: Move to using _gtk_get_insertion_cursor_gc().
* gtk/gtkentry.c (gtk_entry_expose): Draw cursors
under the text, not over the text.
* gtk/gtkwidget.c (gtk_widget_class_init): add
a secondary-cursor-color property.
* gtk/gtkwidget.c (gtk_widget_class_init): Decrease
the default aspect ratio to 1/25 (0.04).
* tests/testgtkrc (bell_duration): Comment out
cursor color setting.
Sat Mar 2 23:08:23 2002 Owen Taylor <otaylor@redhat.com>
Fixes for uninstalled operation with module suffixes
other than .so and in general for platforms like AIX where
the module suffix isn't predictable. (#72185, problems
reported by Miroslaw Dobrzanski-Neumann)
* modules/input/Makefile.am (gtk.immodules): Query .la
files rather than shared objects in .libs when creating the
uninstalled gtk.immodules file.
* gtk/gtkmain.c (_gtk_find_module): Look for .la files
after looking for the normal soname extension to handle
cases where the soname extension isn't predictable,
like AIX.
* gtk/gtkthemes.c (gtk_theme_engine_load): Don't
call g_module_build_path... leave that to
gtk_rc_find_module_in_path.
* demos/gtk-demo/main.c (main) demos/pixbuf-init.c (pixbuf_init):
tests/testgtk.c (test_init): tests/testtext.c (test_init)
tests/testdnd.c (test_init): Point gdk-pixbuf to .la
files rather than poking in .libs for .so files.
* gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Remove
.libs from GDK_PIXBUF_MODULEDIR.
Sat Mar 2 20:58:30 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_reparent): Handle NO_WINDOW
widgets with windows that are children of widget->window.
(#50279)
* tests/testgtk.c: Add eventboxes to the example so that
we are reparenting between different GdkWindows.
Thu Feb 28 19:55:01 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeys.c: include gdkkeysysms.h if
compiling gdk_keyval_convert_case.
* gtk/gtkmenubar.c (gtk_menu_bar_cycle_focus): Implement
<Control>Tab <Control><Shift>Tab to cycle between
all menu bars in a toplevel once one is up.
* tests/testgtk.c: Add a second menubar, this
example is already full of crack anyways.
* gtk/gtkmenushell.c (gtk_menu_shell_key_press): Padd
unhandled events up to the parent menu shell.
* gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Only
pop up the menu if the parent menu shell is still active.
* gtk/gtkcontainer.[ch] (_gtk_container_focus_sort): Add a
old_focus argument, export privately.
Sun Feb 24 23:23:28 2002 Owen Taylor <otaylor@redhat.com>
* tests/testselection.c (main): Convert over to using
an GtkInvisible - selections don't work properly
with now NO_WINDOW GtkToggleButton. (Example really
should be using GtkClipboard.)
* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
Fix problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)
* gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
actual_length when converting atoms as well.
(Gregory Merchan, #72074)
Wed Feb 20 16:44:05 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): delay
scrolling until we try to draw the window.
* gtk/gtktreeview.c (validate_visible_area): Implement
scroll_to_cell.
Wed Feb 20 14:26:47 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups;
allow matches on key and level but not group. Also, implement
ignoring "consumed modifiers correctly."
* gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using
GtkKeyHash.
* gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in
the group for key release events as well as key press events.
* gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
Rename unused_modifiers to consumed_modifiers, make the docs and
non-Xkb implementation match the Xkb implementation.
* gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate
doc and parameter name changes.
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
XkbTranslateKeyCode doesn't handle LockMask, we need to handle
it ourselves.
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force
<Shift>Tab to give GDK_ISO_Left_Tab, since we need consistency
to allow dealing with ISO_Left_Tab.
* gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c
gtk/gtkpaned.c gtk/gtkcombo.c gtk/gtknotebook.c:
Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab
or <Shift>Tab both are equivalent as a binding specifier.)
* gtk/gtkbutton.c (gtk_button_class_init): Make ::activate
GTK_RUN_ACTION, so you can bind an accelerator to it.
* gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call
gdk_unicode_to_keyval on the mnemonic character.
* tests/testgtk.c: Add a test for the new fuzzy key binding matching.
2002-02-16 Manish Singh <yosh@gimp.org>
* tests/testgtk.c: redid the filesel test. Added a way to set select
multiple as a toggle button, and made show/hide fileops toggle
buttons as well. get_selections() is called on OK and all the
filenames selected are printed.
Thu Feb 14 16:46:48 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c gtk/gtktextdisplay.c gtk/gtklabel.c
gtk/gtkstyle.[ch] gtk/gtkwidget.c: Patch from Bill
Haneman and Padraig O'Briain to add cursor_aspect_ratio
style property to GtkWidget to allow theming the aspect
ratio of the cursor.
* gtk/gtkentry.c gtk/gtktextview.c gtk/gtklabel.c
gtk/gtkwidget.c tests/testgtkrc: Move cursor-color style property
to GtkWidget.
2002-02-13 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_paint): just go ahead and flush
all the first validate stuff if it hasn't been done, presumably
someone called process_updates at a weird time.
* tests/testtext.c (do_apply_colors): terminate on >= end, not >
end, avoids infinite loop when end is at the end of the buffer.
* gtk/gtktextbtree.c (_gtk_text_btree_delete): when creating a
line data, we were adding it to the wrong line ("line" instead of
"start_line")
Wed Feb 13 11:27:31 2002 Owen Taylor <otaylor@redhat.com>
* tests/testtreeview.c (typesystem_recurse): Cast GType
to long and use %ld to fix warning. (#71318, Morten Welinder)
2002-02-10 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkgeometry-win32.c : don't reduce the scroll
rect size by the scroll amount
* gdk/win32/gdkwindow-win32.c
* gdk/win32/gdkselection-win32.c : added some casts to
make it compile with msvc's strict type checking
* gtk/fnmatch.c : #include <ctype.h> again for tolower
prototype. The fnmatch() code assumes to be in the crt
locale though it is feeded by utf8 strings from gtkfilesel.c
* gtk/gtkfilesel.c : let ->cmpl_text be a strdup managed by
_CompletionDir instead of referencing already freed memory
* gtk/gtktooltips.c (gtk_tooltips_init) : fix typo to
gtk_rc_parse_string (theDefaultTooltipColor) once as it
was intended
* tests/makefile.msc : added more tests
* tests/testgtk.c (create_list) : don't try to load gtkenums.h
from the current directory use ../gtk/gtkenums.h instead
Fri Feb 1 17:48:51 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_get_style): Fix ordering of
priorities so that priorities take precendence over
the ordering by type. (#70205)
* test/testgtkrc tests/testgtk.c (create_rc_file): Add
some labels to test priorities in testgtkrc.
Fri Feb 1 14:50:36 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_parse_string): Handle reparsing
any strings if the theme changes. (#69465)
* tests/testgtk.c: Add a test for gtk_rc_parse_string().
Wed Jan 30 13:55:59 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_show): Try to make
sure that we have some focused widget on map. (#50339)
* gtk/gtkdialog.c (gtk_dialog_map): Handling picking
a focus widget here differently so that if a
response button gets picked, it's the default one.
* tests/testgtk.c (make_message_dialog): Set the
default response for the dialogs.
Mon Jan 14 17:42:28 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_stop_editing): allow cancel to
happen.
* gtk/gtktreeview.c (install_presize_handler): only install the
handler if we're realized, #68056
Thu Jan 3 22:18:15 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkprivate-x11.h
(_gdk_x11_have_render): Private function to tell if we have RENDER
extension.
* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_get_fg_picture): Return
None if we don't have RENDER extension.
* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Don't
use Xft unless we have render extension.
* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture):
Handle missing render extension.
* gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkpixmap.c gdk/gdkwindow.c
gdk/gdkinternals.h: Add a private copy_to_image() virtual function
to the GdkDrawable vtable that extends get_image() to allow
copying onto existing images. Make the default implementation of
get_image() use this so that backends don't have to implement
both. Add private wrapper _gdk_drawable_copy_to_image().
* gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.c
gdk/x11/gdkdrawable-x11.c (_gdk_x11_copy_to_image): Implement
copy_to_image() semantics, speed up by using ShmPixmaps and
XCopyArea when possible, XFlush() after ungrabbing the server,
generally redo the logic once again.
* gdk/gdkinternals.h gdk/x11/gdkimage-x11.c
_gdk_windowing_bits_per_depth(): Function to convert from depth to
bits-per-pixel. (We assume only one bpp per depth - X requires
this.)
* gdk/gdkinternals.h gdk/gdkrgb.c gdk/gdkimage.c: Move the GdkRGB
scratch image code into a generic _gdk_image_get_scratch() chunk
of code that we can use other places we need scratch images.
* gdk/gdkimage.c gdk/x11/gdkimage.c gdk/gdkinternals.h:
Add _gdk_image_new_for_depth() as the backend
to _gdk_image_new() to allowing creating images with
a depth and no visual.
* gdk/gdkpixbuf-drawable.c: Fix so that getting
parts of images not at 0,0 actually works.
* gdk/gdkdrawable.h gdk/gdkinternals.h gdk/gdkdraw.c
gdk/gdkwindow.c gdk/gdkpixmap.c gdk/gdkpixbuf-render.c:
- Add a new GdkDrawableClass vfunc _draw_pixbuf, and
_gdk_draw_pixbuf() [ will be made public later ], to allow
backends to accelerate drawing pixbufs.
- Move the implementation of gdk_pixbuf_render_to_drawable_alpha()
to be the default implementation.
- Update docs for gdk_pixbuf_render_to_drawable_alpha().
- Optimize the default implementation by using
_gdk_image_copy_to_pixmap() and scratch shared images, and
special casing the compositing.
* gdk/x11/gdkdrawable-x11.c: Accelerate _gdk_draw_pixbuf()
with alpha using the RENDER extension.
* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
Optimize by _gdk_image_copy_to_pixmap() and scratch images.
* tests/testrgb.c: Add test for speed of alpha composition,
reduce the number of iterations since alpha composition
can be a bit slow.
* gdk/x11/gdkimage-x11.c gdk/gdkprivate-x11.h (_gdk_x11_image_get_shm_pixmap):
Private function to get a ShmPixmap for an image, if possible.
2002-01-01 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_expose_event): propagate
exposes to no window children not in the buffer window.
(gtk_text_view_class_init): add move_focus bindings for Ctrl-Tab
- is this the right way to do it?
(gtk_text_view_focus): add focus method, just chains up for now,
I'm not sure why the GtkContainer implementation doesn't work
* gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): fill
in the text line for the child anchor segment
* tests/testtext.c (do_add_focus_children): add another test
example (to put focusable buttons into the widget)
2001-12-31 Havoc Pennington <hp@pobox.com>
* tests/testtext.c (do_insert_and_scroll): remove backward_char
since we no longer have bogus newline
(dialog_response_callback): remove another backward_char horkage,
reported by Matthias Clasen #63065
2001-12-08 Anders Carlsson <andersca@gnu.org>
* tests/testgtk.c (layout_expose_handler): Don't return TRUE
since then the default GtkLayout expose handler won't be called.
Fri Dec 7 20:06:14 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (validate_visible_area): get logic right,
#66249
* gtk/gtkrbtree.c (_gtk_rbtree_remove_node): fix bug where
removing a node ended up with a corrupt tree. Really really nasty
bug.
(_gtk_rbtree_debug_spew): new debug helper function
(_fixup_validation): new inline function to clean up code
readability a lot.
Thu Nov 22 15:01:03 2001 Owen Taylor <otaylor@redhat.com>
* Version 1.3.11
* configure.in (ATK_REQUIRED_VERSION): Require
GLib-1.3.11, Pango-0.22, ATK-0.7.
* tests/prop-editor.c (property_widget): Restore
to working as well as it did before.
* gtk/gtklistitem.h: Mark deprecated since it is
an integral part of GtkList.
* demos/gtk-demo/demo-common.h: New header file,
for a common functions not important to the meat
of the demos.
* demos/gtk-demo/main.c (demo_ifind_file): Add a utility
function to search for a file used by the demo.
* demos/*.c: Use demo_find_file.
Wed Nov 21 22:55:37 2001 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.c (gtk_button_map): raise event window afte
children, in order for the input pnly window to stay *above*
children.
Wed Nov 21 22:44:27 2001 Tim Janik <timj@gtk.org>
* tests/testtreeview.c: make hackery worse ;) by checking fundamental
type walks againts G_TYPE_FUNDAMENTAL_MAX.
* tests/prop-editor.c: disable type hackery.
Wed Nov 21 11:41:29 2001 Owen Taylor <otaylor@redhat.com>
* tests/testgtk.c (create_tooltips): Ref-sink the tooltips object.
* gtk/gtktoolbar.c (gtk_toolbar_init): Ref-sink the tooltips object.
* gtk/gtkfilesel.c (open_new_dir): Fix some constness warnings.
* gtk/gtkaccelgroup.c: Rename gtk_accel_groups_from_acceleratable()
back to gtk_accel_groups_from_object(), change @acceleratable
parameter to gtk_accel_groups_activate() accordingly.
* gtk/gtkaccelmap.c (gtk_accel_map_lookup_entry): Remove
left-over comment about quark return.
* gtk/gtkaccelmap.h: Fix spelling of gtk_accel_map_foreach_unfiltered().
* gtk/gtk-boxed.defs (GtkIconSource): added as a boxed type.
(Patch from Matt Wilson)
* gtk/gtkobject.c (gtk_object_finalize): Warn if a floating
object is finalized.
Mon Nov 19 15:30:51 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add a
"resizable" property, to get rid of the
GTK_TREE_VIEW_COLUMN_RESIZABLE sizing flag.
(gtk_tree_view_column_set_resizable): New function to set resizable.
(gtk_tree_view_column_set_resizable): getter.
* tests/testtreecolumns.c (add_clicked): modify for above change.
* Makefile.am (install-data-hook): remove old .pc files before
installing the new one. We used to symlink this, and it will
break old installs.