Fri Aug 31 20:01:23 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_search_iter): pass in user data.
* gtk/gtktreeview.c (gtk_tree_view_destroy): destroy search_data.
Mon Aug 27 15:18:14 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeselection.c (gtk_tree_selection_set_mode): Use the
GTK selection types rather than GtkTreeSelectionMode.
* docs/Changes-2.0: Add comment about selection change.
Fri Aug 24 16:03:45 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): Add
"use_align" to give people the option to just make a cell visible.
* gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): fix bug where
we were scrolling past the end of the tree.
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_pack_start):
rename gtk_tree_view_column_pack_start_cell_renderer to
gtk_tree_view_column_pack_start. Same for pack_end, and clear.
Wed Aug 22 18:25:46 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c: Fix selection. I think it's all dandy now.
We check the current event for modifiers rather than try to trap
all presses.
Sun Aug 19 03:22:59 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c: Fix up warnings, #58928.
* gtk/gtktreeselection.h: Change signal prototype, #58647
* gtk/gtktreeview.c (_gdk_tree_view_find_node): Make more robust,
#59221.
* gtk/gtkstyle.c: Actually prelight arrow, #50981
Sat Aug 18 04:34:31 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): 2 new
signals; is_expander/is_expanded.
* gtk/gtlcellrendererpixbuf.c: Allow other expanded and closed
pixbufs.
* gtk/gtktreeview.c: set above properties.
Fri Aug 17 17:30:34 2001 Tim Janik <timj@gtk.org>
* gtk/gtktreemodel.c (gtk_tree_path_new_from_string): const correct
string parameter.
* gtk/gtkoptionmenu.c (gtk_option_menu_set_menu): connect to
GtkMenuShell::selection_done, now that we have it, instead of
::deactivate so we're not tearing the menu apart and notify
the user prematurely.
Thu Aug 16 05:22:01 2001 Tim Janik <timj@gtk.org>
* gtk/gtkwindow.c (gtk_window_move_resize): if we actually move our
window, clear window->need_default_position to avoid infinite loops.
some comment fixups and GTK_RESIZE_IMMEDIATE fixups.
Wed Aug 15 12:36:55 2001 Tim Janik <timj@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_set_model): move all model setup
code into this place. get rid of GTK_TREE_VIEW_MODEL_SETUP usage.
(gtk_tree_view_set_property): don't cast possible NULL objects.
(gtk_tree_view_destroy): reset the model to NULL.
* gtk/gtktreeselection.c (gtk_tree_selection_finalize): chain
parent_class handler.
2001-07-22 Anders Carlsson <andersca@gnome.org>
* gtk/gtktreeview.c (gtk_tree_view_class_init): Replace the
expander_height and expander_width properties with a single
property, expander_size.
(gtk_tree_view_init): Set the tab_offset to expander_size
plus some padding.
(gtk_tree_view_unrealize): Remove the expand/collapse
timeout if it exists.
(coords_are_over_arrow): Fix a small bug.
(gtk_tree_view_motion_draw_column_motion_arrow): Use
expander_size.
(gtk_tree_view_draw_focus): Use "treeview" instead of
"add-mode" as detail when drawing the focus.
(gtk_tree_view_bin_expose): Use "treeview-drop-indicator"
instead of "add-mode" as detail when drawing the focus.
(gtk_tree_view_deleted): If we have a node currently being
expanded or collapsed, remove the timeout and set the node
to NULL.
(gtk_tree_view_queue_draw_arrow): New function that just
redraws the arrow of a node.
(gtk_tree_view_draw_arrow): Use expander_size instead of
expander_width/expander_height, also pass a different
expander_style to gtk_paint_expander depending on the
state of the node being drawn.
(expand_collapse_timeout): New function for expanding
or collapsing a node depending on the previous state.
(gtk_tree_view_real_expand_row): Add timeout and set
correct state for node being expanded.
(gtk_tree_view_real_collapse_row): Add timeout and set
correct state for node being collapsed.
* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): Add
information about the node currently being expanded or
collapsed, and also a timeout id.
* gtk/gtkstyle.h (struct _GtkStyleClass): Replace is_open
with expander_style for draw_expander.
* gtk/gtkstyle.c (gtk_draw_expander): Replace is_open with
expander_style.
(create_expander_affine): New function for creating an
expander affine.
(apply_affine_on_point): New function for applying an
affine to a point.
(gtk_default_draw_expander): Modified to take expander_style
instead of is_open, and to draw the rectangle rotated differently
depending on the expander style.
(gtk_paint_expander): Replace is_open with expander_style.
* gtk/gtkrbtree.h: Add expander states to GtkRBNodeColor.
* gtk/gtkenums.h: Add expander style enum.
Wed Jul 18 19:28:46 2001 Owen Taylor <otaylor@redhat.com>
* gtk/*.c: Patch from Matthias Clasen to remove remove
all instances of g_return_if_fail (foo != NULL); that are
immediately before a g_return_if_fail (GTK_IS_FOO (foo));
since the second check catches the NULL anyways.
Wed Jul 18 18:23:05 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkbutton.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtktextview.c
gtktreeview.c: Fix idles and timeouts to be properly surrounded by
GDK_THREADS_ENTER()/LEAVE() pairs.
* gtk/gtkdialog.c gtk/gtkclipboard.c: Surround calls
to g_main_loop_run() with GDK_THREADS_LEAVE()/ENTER()
pairs. (Problem found by M. Meeks)
Mon Jul 9 12:50:51 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.c: remove gtk_tree_model_get_first in favor of
gtk_tree_model_get_iter_root.
* gtk/gtkliststore.c: Add a bunch of g_return statements.
(gtk_list_store_iter_n_children): Fix up.
* gtk/gtktreestore.c: Add a bunch of g_return statements.
Sat Jun 30 17:13:51 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_list_store_newv): New function for
language bindings.
* gtk/gtkteststore.c (gtk_test_store_newv): New function for
language bindings.
Fri Jun 29 22:13:28 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_new): changed new_with_types
to just plain new, fixing the number of columns, and column types
at creation time.
* gtk/gtkliststore.c (gtk_list_store_new): ditto.
* gtk/gtkcellrenderertext.c
(gtk_cell_renderer_text_set_fixed_height_from_font): FIX the
height to a specific font.
* gtk/gtktreeview.c (gtk_tree_view_is_expander_column): fix brokenness.
* tests/*c: change to work with new store models.
Fri Jun 8 18:52:10 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.[hc]: Patch Thomas Broyer from
<tbroyer@ltgt.net>. Expander arrows are now attached to a specific
column and follow it when draged, rather than a location in the
view. "expander_column" property and drawing functions changed
accordingly. Fixes bug #55942.
(gtk_tree_view_{set,get}_expander_column): Now works with a
GtkTreeViewColumn* instead of int.
Wed Jun 27 19:40:31 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeviewcolumn.c
(gtk_tree_view_column_pack_start_cell_renderer): New function to
reflect that you can (hypothetically) pack cell renderers into a
column.
(gtk_tree_view_column_pack_end_cell_renderer): ditto.
(gtk_tree_view_column_cell_is_visible): Move more functionality to
the column.
(gtk_tree_view_column_cell_can_focus): Move more functionality to
the column.
* gtk/gtktreeview.c: Move to use new column-packing code.
(gtk_tree_view_real_expand_row): remove totally braindead code.
(gtk_tree_view_real_collapse_row): ditto.
Tue Jun 26 12:59:28 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): fix
stupid missing statement
* gtk/gtktreeview.c (gtk_tree_view_set_destroy_count_func): New
private function for ATK. It notifies you of how many _visible_
children are deleted when a node is deleted. Should be used by
atk only.
Sun Jun 24 11:29:35 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
introduced last night that was making things decidedly not work.
* gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
so that we have getter/setter pairing everywhere it makes
sense. (#55767)
* gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
deprecated compat macro. (#55516)
* gtk/gtklabel.[ch]: Add functions
gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
gtk_label_set_label(), which mirror the property API for GtkLabel.
Make gtk_label_get_attributes() only reflect the attributes
set by gtk_label_set_attributes.
* gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
from gtk_notebook_set_page().
Fri Jun 22 14:06:08 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
noticed by Brian Cameron.
(gtk_tree_view_real_expand_row): Fix bug noticed by Brian
Cameron.
Wed Jun 20 19:19:15 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): clean up
(gtk_tree_view_move_cursor_page_up_down): implement.
Mon Jun 18 20:06:10 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_row_expanded): New function to
test if a node is expanded.
Mon Jun 18 19:41:38 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
where collapsing a selected row would result in the cursor/anchor
getting screwed up.
Fri Jun 15 18:53:48 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): Rename
gtk_tree_sortable_sort_column_id_set_func. It's much shorter now.
* gtk/gtktreeview.c (gtk_tree_view_sort_iter_changed): WOOO!!!
Now I can really reorder/sort all Store widgets. treesorttest
seems to just work now.
* gtk/gtklistview.c (gtk_list_store_iter_changed): Whoops.
testtreesort worked through a big coincidence all this time.
* gtk/gtkrbtree.c (_gtk_rbtree_reorder): Nasty bug fix in nasty
code.
* tests/testtreecolumns.c: Big 'ol warning at the top letting
people know that this code should never ever ever be copied.
HA!
While everyone else was busy flaming eash other over configuration
engines, I secretly got sorting completely working with store widgets
and GtkTreeView. GtkTreeModelSort, here I come!!!!!
Thu Jun 14 19:21:27 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_sort_helper): Whoops. Forgot
this a couple months ago. Now GtkTreeStore sort of sorts. I'll
finish it off tonight, though it basically works now when it's a
list. Also, I have a sinking feeling neither GtkTreeStore or
GtkListStore actually resort when adding a new item. I'll look
into it.
Tue Jun 12 12:41:27 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h (GTK_TREE_MODEL_LIST_ONLY): further justify
gtk_tree_model_get_flags by adding a second flag for atk.
* gtk/gtktreemodel.c: make cursor behavior interact better with
mouse presses.
Mon Jun 11 12:43:08 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_class_init): changed
expand_row/collapse_row to be 2 signals each -- test_expand_row
and row_expanded as well as test_collapse_row and row_collapsed.
Fri Jun 8 18:41:30 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_set_cursor): new function to
clean up cursor handling.
Pretty much nailed single selection motion, and multi-selection
focus minus the fact that the anchor isn't quite right.
2001-06-08 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez,
don't call g_list funcs on GSList
* gtk/gtkwidget.c (gtk_widget_child_focus): replaces
gtk_container_focus(), since some widgets have focusable locations
which are not other widgets. These widgets should not have to be
containers just to manage the focus. For example, GtkHSV is
currently a container for no good reason. Also, this cleans
up the "if (is_container && is_sensitive && is_drawable)
container_focus ()" mess in widget implementations.
* gtk/gtkcontainer.c (gtk_container_focus): deprecate this
function, and have it just call gtk_widget_child_focus().
* gtk/gtkhsv.c: derive from widget not container
Throughout: fix to reflect GtkContainer::focus change
Thu Jun 7 18:25:42 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeselection.c: Now it's a GObject instead of a
GtkObject. The GtkTreeSelection::selection_changed signal is now
the GtkTreeSelection::changed signal.
* gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection
object.
* tests/gtktree*.c: Modified to deal with new GtkTreeSelection
object.
Wed Jun 6 21:59:16 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): hook up arrow
buttons. Fixes#55460 reported by matthiasc@poet.de.
Wed Jun 6 21:18:54 2001 Jonathan Blandford <jrb@webwynk.net>
* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): centralize
expansion/collapsing so it only happens in one place.
(gtk_tree_view_real_expand_row): ditto.
Wed Jun 6 20:01:38 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c
(gtk_tree_view_real_expand_collapse_cursor_row): Handle key
bindings to expand and collapse rows.
(gtk_tree_view_real_select_cursor_parent): New key binding.
(gtk_tree_view_real_toggle_cursor_row): New key binding.
* gtk/gtkmarshal.list: new
marshaller. (VOID__BOOLEAN_BOOLEAN_BOOLEAN)
Mon Jun 4 15:05:24 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
(gtk_tree_view_column_set_min_width): ditto.
Fri Jun 1 18:54:47 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
getting the focus code to work.
(gtk_tree_view_class_init): Add a bunch of keybindings.
* gtk/gtktreeviewcolumn.c
(gtk_tree_view_column_set_cell_data_func):
s/GtkCellDataFunc/GtkTreeCellDataFunc.
(_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
of "properties_changed" to help justify the death of the latter
signal. (-:
* tests/testtreefocus.c (main): Let some columns be focussable to
test focus better.
Fri May 25 19:04:17 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
instances of GtkCellRenderer in code (all but dnd icon code).
Virtualized in GtkTreeViewColumn. Now I need to move focus in
there, and I can do multiple Cells per column.
* gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly
* gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
when model was unreffed prior to removing the row reference.
2001-05-25 Havoc Pennington <hp@redhat.com>
* gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
set can render without falling back to missing image icon
* gtk/gtktextview.c (gtk_text_view_size_request): request full
size of text, instead of random values
* gtk/gtktreeview.c (gtk_tree_view_size_request): request full
size of tree view, instead of random values
* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
image in an appropriate size
* gtk/gtkstock.h: Rename the stock items including _BUTTON_,
etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
Throughout: fix GTK_STOCK_BUTTON_ instances
* gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
Add a bunch of new stock items/icons
* gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
new function, convenience for inserting columns with a data func
* gtk/gtkiconfactory.c: keep a list of all existing icon factories
(_gtk_icon_factory_list_ids): use list of all factories to
generate a list of all known IDs
* gtk/gtkstock.c (gtk_stock_list_ids): replace
gtk_stock_list_items() with a function that returns all IDs known
including those for GtkIconFactory.
Tue May 15 20:13:24 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
in any order you wan, whether or not the column is added to the
tree, or the tree is realized. Yay!
* gtk/gtktreeviewcolumn.c
(gtk_tree_view_column_setup_sort_column_id_callback): handle
sorting columns a lot saner
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
new function to actually set wether or not a column is
reorderable.
* gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
if we have 'em.
* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
Fix nasty bug where we were showing the button just before
realizing it. As a result, the parent window was
tree_view->window instead of tree_view->priv->header_window.
* gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
to let you easily reorder a list or tree.