Commit Graph

282 Commits

Author SHA1 Message Date
Kristian Rietveld
45d646ebe9 add last_single_clicked and last_single_clicked_2 rowrefs and add
Fri Feb 22 22:39:59 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeprivate.h: add last_single_clicked and
        last_single_clicked_2 rowrefs and add disable_popdown to the
        bitfield

        * gtk/gtktreeview.c (gtk_tree_view_destroy): add destroy stuff
        for two new rowrefs
        (gtk_tree_view_button_press): add some 'advanced' button handling,
        so double click is being handled right (double click madness was
        discovered by Anders Carlsson)

        * gtk/gtktreeview.c (gtk_tree_view_set_property): add missing
        break
        (gtk_tree_view_class_init): default value of headers_visible
        should be TRUE (both pointed out by Damon Chaplin, #71986)

        * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
        connect to populate_popup,
        (gtk_tree_view_search_disable_popdown): new function,
        (gtk_tree_view_real_search_enable_popdown): ditto,
        (gtk_tree_view_search_enable_popdown): ditto,
        (gtk_tree_view_search_dialog_destroy): check for
        gtk-tree-view-popdown-disabled (#71868)

        * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): move
        ->priv->reorderable assignment to bottom. (#72122)
2002-02-22 21:36:48 +00:00
Matthias Clasen
6b11e5cf51 s/columns/rows/ in docs. (#70199)
* gtk/gtktreeview.c (gtk_tree_view_set_reorderable):
	s/columns/rows/ in docs.  (#70199)

	* gtk/gtktreestore.c (gtk_tree_store_insert): s/before/after/ in
	docs. (#71852, #68405)

	* gtk/gtkcalendar.c (gtk_calendar_select_day): Correct a comment.

	* gtk/tmpl/gtksignal.sgml, gtk/tmpl/gtkimage.sgml: s/%d/%%d/ in
	examples.  (#71479)

	* gtk/tmpl/gtkmenu.sgml: Document gtk_menu_set_active as
	quasi-private.  (#69788)

	* gtk/tmpl/gtkcalendar.sgml: Document month as zero-based and
	selected_day as one-based.  (#57169)
2002-02-22 00:26:54 +00:00
Kristian Rietveld
4deb783e6b add keynav handling for unselect all, focus column header, change focus
Thu Feb 21 23:02:29 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.[ch]: add keynav handling for unselect all,
        focus column header, change focus with arrow keys in column headers,
        column reordering, column resizing, small try to fix page up/down
        (this fixes #70889, and fixes a great deal of #53580)
2002-02-21 22:15:14 +00:00
Kristian Rietveld
19f961d46a new function (gtk_tree_view_column_create_button): use g_signal_* instead
Tue Feb 19 22:10:59 2002  Kristian Rietveld  <kris@gtk.org>

        * gtktreeviewcolumn.c (gtk_tree_view_column_mnemonic_activate): new
        function
        (gtk_tree_view_column_create_button): use g_signal_* instead of
        gtk_signal_*, hook up _mnemonic_activate callback
        (gtk_tree_view_column_update_button): use
        gtk_label_set_text_width_mnemonic instead of gtk_label_set_text
        (#69095)

        * gtktreeview.c (gtk_tree_view_class_init): remove key bindings
        for C-f and C-b, let treeview search use C-f (instead of C-s)
        (#61886)

        * gtkrc.key.emacs: add some GtkTreeView bindings
2002-02-19 21:16:49 +00:00
Kristian Rietveld
601302c7a3 change gtk_tree_view_column_cell_render, gtk_tree_view_column_cell_focus,
Tue Feb 19 17:36:31 2002  Kristian Rietveld  <kris@gtk.org>

        * gtktreeprivate.h, gtktreeviewcolumn.[ch], gtktreeview.c: change
        gtk_tree_view_column_cell_render,
        gtk_tree_view_column_cell_focus,
        gtk_tree_view_column_cell_draw_focus and
        gtk_tree_view_column_cell_set_dirty to be private functions.

        * gtktreeviewcolumn.[ch]: add install_handler argument to
        _cell_set_dirty to control if _mark_rows_col_dirty (which calls
        install_presize_handler) gets called, set widths correctly so
        autosizing works (#71870)

        * gtktreeview.c (gtk_tree_view_column_autosize): new function,
        (gtk_tree_view_button_press): make double click on column
        separator resize the row (#71870)
        (gtk_tree_view_get_dest_row_at_pos): change DnD threshold to 33%
        (#71869, suggestion by Anders Carlsson)
2002-02-19 18:21:50 +00:00
Owen Taylor
b2b29ea184 gtk/gtkclist.c (adjust_adjustments) gtk/gtklayout.c
Mon Feb 18 14:17:59 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkclist.c (adjust_adjustments)
        * gtk/gtklayout.c (gtk_layout_size_allocate)
        * gtk/gtktextview.c (gtk_text_view_size_allocate)
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate)
        * gtk/gtkviewport.c (gtk_viewport_size_allocate):
        Standardize on a page increment of page minus 1 line
        rather than half a page (#51027, Eric Fischer)

        * gtk/gtkviewport.c (gtk_viewport_size_allocate):
        Change step increment to be 0.1 * page_size height rather than
        a fixed 10 pixels.
2002-02-18 19:20:31 +00:00
Kristian Rietveld
554838e4f6 This commit lands the 'dy patch'.
Sun Feb 17 00:13:06 2002  Kristian Rietveld  <kris@gtk.org>

        This commit lands the 'dy patch'.

        * gtk/gtktreeview.c (validate_rows_handler): update top_row or dy,
        (gtk_tree_view_top_row_to_dy): new function,
        (gtk_tree_view_row_changed): update top_row or dy,
        (gtk_tree_view_rows_reordered): update top_row
2002-02-16 23:13:37 +00:00
Kristian Rietveld
d456e05b81 Implements DnD scrolling and fixes #71139
Mon Feb 11 21:42:17 2002  Kristian Rietveld  <kris@gtk.org>

        Implements DnD scrolling and fixes #71139

        * gtk/gtktreeview.c (gtk_tree_view_vertical_autoscroll): new function,
        (scroll_row_timeout): new function,
        (gtk_tree_view_drag_motion): create scroll_timeout, so
        scroll_row_timeout gets called
2002-02-11 20:46:49 +00:00
Kristian Rietveld
8d8fb0cd5f set upper member of hadjustment correct, so the hscrollbars of lists
Mon Feb 11 17:54:46 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): set upper
        member of hadjustment correct, so the hscrollbars of lists smaller
        than 1 page (in width) are somewhat saner
2002-02-11 16:58:23 +00:00
Kristian Rietveld
105781a0e3 install presize handler, so the validate_rows_handler will always be run
Mon Feb 11 16:40:44 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_set_model): install presize
        handler, so the validate_rows_handler will always be run (#70997)
2002-02-11 15:37:53 +00:00
Darin Adler
6c07eadbbe Remove a tiny bit more dead code.
* gtk/gtktreeview.c: (gtk_tree_view_map_expanded_rows_helper):
	Remove a tiny bit more dead code.
2002-02-09 00:12:30 +00:00
Darin Adler
9e5a9e13a9 Fix stale pointer bug.
* gtk/gtktreeview.c: (gtk_tree_view_map_expanded_rows_helper):
	Fix stale pointer bug.
2002-02-08 23:26:29 +00:00
Kristian Rietveld
67046197d4 Fixes #70782 and some drag dest rectangle/line issues
Thu Feb  7 19:39:27 2002  Kristian Rietveld  <kris@gtk.org>

        Fixes #70782 and some drag dest rectangle/line issues

        * gtk/gtktreeview.c (gtk_tree_view_set_model): set
        GTK_TREE_VIEW_IS_LIST flag (we can switch from a TreeStore to a
        ListStore for example)
        (gtk_tree_view_get_path_at_pos): revert previous change, we
        shouldn't correct for the header, because we are taking bin_window
        coordinates here
        (gtk_tree_view_set_drag_dest_row): queue old drag_dest row and
        upper/lower neighbors for draw, so the drag dest rectangle/line will
        be cleared correctly
        (gtk_tree_view_get_dest_row_at_pos): correct for treeview header
        here, as drag_y is relative to the widget and _get_path_at_pos wants
        coords relative to bin_window, draw black outline rectangle after
        drawing the cells
2002-02-07 18:43:59 +00:00
Kristian Rietveld
1c0e6dd0ad Fixes #70708
Wed Feb  6 23:28:39 2002  Kristian Rietveld  <kris@gtk.org>

        Fixes #70708

        * gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): we're dealing
        with widget coordinates here, so take the header height into
        account while converting
        (gtk_tree_view_widget_to_tree_coords): take header height into
        account
        (gtk_tree_view_tree_to_widget_coords): ditto
        (gtk_tree_view_get_dest_row_at_pos): we were passing coords
        relative to the tree with _get_path_at_pos, while that function
        wants coords relative to the widget
2002-02-06 22:37:04 +00:00
Kristian Rietveld
7bb3d17abe set upper member of vadjustment correct, so the vscrollbars of lists
Sat Feb  2 18:07:51 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): set upper member
        of vadjustment correct, so the vscrollbars of lists smaller than
        1 page are somewhat saner (#66905)

        * gtk/gtkliststore.c (gtk_list_store_remove_silently): do not
        increment the stamp, liststore is a model with persisting iters
2002-02-02 17:07:49 +00:00
Kristian Rietveld
4eb836706c use y coordinate relative to the tree and not the treeview window (fixes
Fri Feb  1 00:37:49 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): use
        y coordinate relative to the tree and not the treeview window
        (fixes the PgDn/PgUp brokenness)
2002-02-01 23:36:10 +00:00
Kristian Rietveld
87a0cbcffc adjust cell_area and background_area for possible treeview scroll (fixes
Fri Feb  1 23:40:31 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
        cell_area and background_area for possible treeview scroll
        (fixes #70283, #70065)
2002-02-01 22:41:39 +00:00
Kristian Rietveld
435235b8a4 (committed this again -- broken pipe and ChangeLog update)
Fri Feb  1 22:20:13 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
        height - page_size not height - allocation->height (fixes #66269)
2002-02-01 21:21:01 +00:00
Kristian Rietveld
593bc65f54 set tree to NULL if tree_view->priv->tree is NULL (#70152, patch by John
Fri Feb  1 20:50:29 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): set tree to
        NULL if tree_view->priv->tree is NULL (#70152, patch by John Harper).
2002-02-01 19:49:49 +00:00
Jonathan Blandford
78d39ef504 only emit the signal if an interesting column changes.
Wed Jan 30 18:46:14 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c (gtk_list_store_set_valist): only emit the
	signal if an interesting column changes.

	* gtk/gtktreestore.c: ditto.

	* gtk/gtktreeview.c (gtk_tree_view_set_cursor): change behavior so
	that it no longer grabs
2002-01-30 23:51:04 +00:00
Owen Taylor
d3b83098ad Patch from Jacob Berkman to fix problem when the height/width of a layout
Tue Jan 29 17:16:17 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtklayout.c: Patch from Jacob Berkman to fix problem
        when the height/width of a layout was set before the
        adjustments were added. (#66294)

        * gtk/gtktreeview.c: Warning cleanups.
2002-01-29 22:27:17 +00:00
Kristian Rietveld
6284428f64 free cursor_path after usage
Tue Jan 29 18:50:46 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): free
        cursor_path after usage
        (gtk_tree_view_real_start_interactive_search): use new g_signal
        and g_object calls
        (gtk_tree_view_search_dialog_destroy): use g_object calls and free
        selected_iter if set
        (gtk_tree_view_search_position_func): rework so it will never ever
        appear offscreen (#68492)
        (gtk_tree_view_search_move): use new g_object calls
        (gtk_tree_view_search_init): free selected_iter if set, use new
        g_object calls
        (gtk_tree_view_leave_notify): don't destroy interactive search
        dialog

Tue Jan 29 23:07:03 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
        send focus in event
        (gtk_tree_view_search_dialog_destroy): send focus out event (#66466)
2002-01-29 22:08:12 +00:00
Jonathan Blandford
76237096a8 no longer g_assert.
Mon Jan 28 16:23:20 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer
	g_assert.
2002-01-28 21:24:27 +00:00
Jon Trowbridge
ddff4ea49f When setting the GtkTreeView's model, set prelight_node, prelight_tree,
2002-01-28  Jon Trowbridge  <trow@gnu.org>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the
	GtkTreeView's model, set prelight_node, prelight_tree,
	button_pressed_node and button_pressed_tree to NULL. (#69603)
2002-01-28 20:28:52 +00:00
Bill Haneman
011cb31f18 Changes to gtktreeview to better support thicker focus lines,
and enhancements to the visibility of the default expander when
its size has been increased.
2002-01-28 20:19:42 +00:00
Jonathan Blandford
d8068f867c Only activate/edit the row if shift is not pressed, #69248
Mon Jan 28 14:44:40 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): Only
	activate/edit the row if shift is not pressed, #69248
2002-01-28 19:48:48 +00:00
Matthias Clasen
e2b730ac43 General property notification cleanup. 2002-01-28 18:52:49 +00:00
Jonathan Blandford
eb83e73898 Forgot to commit this last week. 2002-01-28 17:08:54 +00:00
Kristian Rietveld
ad219f2e3a Fix for bug #69586
Sun Jan 27 22:13:02  Kristian Rietveld  <kris@gtk.org>

        Fix for bug #69586

        * gtk/gtktreeprivate.h: get rid of tab_offset, introduce
        expander_size

        * gtk/gtktreeview.c: get rid of ->priv->tab_offset, introduce
        expander_size caching (from style), fix CELL_HEIGHT macro,
        use MAX ("RBNODE_HEIGHT", expander_size) (differs per case) for
        row height calculation, added style_set callback
2002-01-27 21:11:29 +00:00
Kristian Rietveld
2ccd6fd5d7 update docs, return current FALSE if x is smaller than the current visible
Thu Jan 24 23:03:24 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): update docs,
        return current FALSE if x is smaller than the current visible area,
        not than the requested area, don't correct y coordinate,
        TREE_WINDOW_Y_TO_RBTREE_Y will do that. Fixes #67477.
2002-01-24 22:07:35 +00:00
Jonathan Blandford
902c6a48d5 fix column reordering fully. (gtk_tree_view_size_allocate): fix evil bug.
Thu Jan 24 15:41:08 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c
	 (gtk_tree_view_motion_draw_column_motion_arrow): fix column
	 reordering fully.
	 (gtk_tree_view_size_allocate): fix evil bug.
2002-01-24 20:42:48 +00:00
Owen Taylor
bc5dfe106d Don't clear the model until we clean up all the other objects that might
Thu Jan 24 11:53:19 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_destroy): Don't clear
	the model until we clean up all the other objects
	that might refer to the object.
2002-01-24 16:54:54 +00:00
Jonathan Blandford
864cc237d4 Oops. Minor fix 2002-01-23 03:53:36 +00:00
Jonathan Blandford
60afa9e14e Fix sizing bug I introduced accidentally, #69358
Tue Jan 22 16:58:37 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Fix sizing bug
	I introduced accidentally, #69358
2002-01-22 22:13:30 +00:00
Jonathan Blandford
969279b54e Update top_row. Remove extraneous print statements.
Mon Jan 21 18:28:17 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
	top_row.  Remove extraneous print statements.
2002-01-21 23:30:17 +00:00
Jonathan Blandford
19c5e80ce7 only resize the window.
Fri Jan 18 16:31:21 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): only resize the
	window.
2002-01-21 17:38:28 +00:00
Jonathan Blandford
6bc31ea4d9 For some reason, I was activating a row while just selecting it. Reported
Thu Jan 17 16:34:55 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): For
	some reason, I was activating a row while just selecting it.
	Reported by andersca.
	(gtk_tree_view_size_request): add a
	validate_rows_handler to give us a rough width of the widget.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
	Queue a resize here just in case.  It's needed in over half the
	cases, and I don't want to do a diff to figure out exactly when
	it's needed.
2002-01-18 00:23:26 +00:00
Jonathan Blandford
cb939843ba allow cancel to happen.
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
2002-01-14 22:00:26 +00:00
Kristian Rietveld
aeceb39d47 revert Owen's change (using a strdupped string as object data), so the
Sat Jan 12 16:57:31 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
        revert Owen's change (using a strdupped string as object data), so
        the interactive search works again
2002-01-12 15:58:56 +00:00
Tim Janik
adb892f2c9 don't cast a possible NULL pointer.
Wed Jan  9 11:23:39 2002  Tim Janik  <timj@gtk.org>

        * gtk/gtklayout.c (gtk_layout_get_property):
        * gtk/gtkspinbutton.c (gtk_spin_button_get_property):
        * gtk/gtktreeview.c (gtk_tree_view_get_property):
        * gtk/gtkwidget.c (gtk_widget_get_property):
        * gtk/gtkfontsel.c (gtk_font_selection_get_property):
        * gtk/gtkrange.c (gtk_range_get_property):
        * gtk/gtkviewport.c (gtk_viewport_get_property):
        * gtk/gtkprogressbar.c (gtk_progress_bar_get_property): don't cast a
        possible NULL pointer.
2002-01-09 10:28:02 +00:00
Anders Carlsson
88edb0e58e Rename gtk_tree_view_queue_draw_node to _gtk_tree_view_queue_draw_node.
2002-01-03  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
	_gtk_tree_view_queue_draw_node.
	(gtk_tree_view_row_has_child_toggled): Only redraw one node.

	* gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func):
	sort_column_id can be 0.

	* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
	Only redraw one the node being selected.

	* gtk/gtktreeprivate.h: Add _gtk_tree_view_queue_draw_node.
2002-01-02 23:51:03 +00:00
Kristian Rietveld
51ba172920 ensure we are unprelighted before reordering
Wed Dec 26 23:41:41 2001  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): ensure
        we are unprelighted before reordering

        * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): we
        need to break out of the for loop, not return

        * gtk/gtktreemodelsort.c: more fixage and cleanups. It seems to
        be pretty stable now, though it still needs some more code
        cleanups.
2001-12-26 22:43:53 +00:00
Anders Carlsson
ecfd1affa6 Don't call map here.
2001-12-20  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c (gtk_tree_view_realize): Don't call
	map here.
2001-12-20 04:06:01 +00:00
Padraig O'Briain
b2925eba12 Fix typo (list->data becomes list->next)
* gtk/gtktreeview.c (gtk_tree_view_get_expander_column):
Fix typo (list->data becomes list->next)
2001-12-18 08:06:34 +00:00
Kristian Rietveld
d3403353cb free path at the end
Thu Dec 13 22:02:41 2001  Kristian Rietveld   <kris@gtk.org>

        * gtk/gtktreeview.c (validate_visible_area): free path
        at the end
2001-12-13 21:01:46 +00:00
Kristian Rietveld
fe655f3919 do not try to find the clicked node in the tree when tree == NULL
Thu Dec 13 20:37:27 2001  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_button_press): do not try
        to find the clicked node in the tree when tree == NULL
2001-12-13 19:36:40 +00:00
Anders Carlsson
5a3de51ba1 Compare event->state with the default mod mask.
2001-12-13  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Compare
	event->state with the default mod mask.
2001-12-13 17:25:22 +00:00
Jonathan Blandford
f3f62347b3 Remove validate_rows_timer in unrealize. Reported by Matthew Wilson.
Wed Dec 12 16:43:10 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_unrealize): Remove
	validate_rows_timer in unrealize.  Reported by Matthew Wilson.
2001-12-12 22:15:27 +00:00
Jonathan Blandford
97f4886426 Change bin_window to be located at y=TREE_VIEW_HEADER_HEIGHT(tree_view).
Tue Dec 11 15:25:06 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Change
	bin_window to be located at y=TREE_VIEW_HEADER_HEIGHT(tree_view).
	Makes some flicker while scrolling go away.
2001-12-11 20:28:21 +00:00
Jonathan Blandford
2b6c3b4dcb stupid bug where I didn't reset the timer.
Mon Dec 10 19:42:29 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (validate_rows_handler): stupid bug where I
	didn't reset the timer.
2001-12-11 00:45:25 +00:00
Anders Carlsson
ba464807f6 Return if edited_column is NULL, also grab focus before removing the
2001-12-10  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c (gtk_tree_view_remove_widget): Return
	if edited_column is NULL, also grab focus before removing
	the cell_editable.
2001-12-10 03:43:10 +00:00
Jonathan Blandford
9bec4e275a remove g_return_if_fail.
Fri Dec  7 23:42:50 2001  Jonathan Blandford  <jrb@webwynk.net>

	* gtk/gtktreeview.c (validate_rows_handler): remove
	g_return_if_fail.

	* gtk/gtktreeview.c (validate_visible_area): Patch from Manish
	Singh <yosh@gimp.org> to fix bug when rendering Tree with an
	empty model.
2001-12-08 04:53:10 +00:00
Jonathan Blandford
82c5ace889 get logic right, #66249
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.
2001-12-08 01:10:52 +00:00
Jonathan Blandford
d1a858c837 Minor fix.
Tue Dec  4 18:38:35 2001  Jonathan Blandford  <jrb@redhat.com>

	* demos/gtk-demo/main.c: (create_tree): Minor fix.

	* docs/tree-column-sizing.txt: Update

	* gtk/gtkrbtree.[ch]: Massive work to support validation.

	* gtk/gtktreemodel.c: Doc fixes.

	* gtk/gtktreeview.c: Incremental reflow added.
	* gtk/gtktreeviewcolumn.c: ditto
	* gtk/gtktreeviewcolumn.h: ditto
2001-12-04 23:49:57 +00:00
Owen Taylor
7537825b34 Patch from Bill Haneman (with many modifications) to make the focus color
Mon Dec  3 16:39:17 2001  Owen Taylor  <otaylor@redhat.com>

	Patch from Bill Haneman (with many modifications) to make
	the focus color work on dark themes and to make the
	focus line width configurable. (#61079, #63074)

        * gtk/gtkwidget.c: Add style properties,
	::focus-widget, ::focus-line-width, and ::focus-padding.

	* gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a
	state argument as well so we can use fg[STATE] to
	draw instead of always drawing with black.
	Cange paint_focus() to respect GtkWidget::focus-width
	and GtkWidget::focus-line-pattern. Fix continuity
	problem where the default 1-1 stipple had a blob
	in one corner and a gap in the other. Change the
	interpretation of x/y/width/height to be the bounding
	box of the focus rect instead of the rectangle
	passed to gdk_draw_rectangle.

	* gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c
	gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c
	gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width
	and ::focus-line-padding.

	* gtk/gtkentry.c: Handle :;focus-width property; cleanup
	and remove duplicated code; fix drawing of focus rectangle
	when interior-focus = FALSE. (#63072, #63073)

	* gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c
	gtk/gtktreeviewcolumn.c: Basic fixups to make compile;
	Range and TreeViewColumn will need more extensive fixing.

	* gtk/gtkcolorsel.c: Honor focus line attributes when
	drawing the focus on the color swatches. (#63071)

	* gtk/gtkhsv.c: Honor focus line attributes when
	drawing the focus for the ring and triangle.

	* docs/widget_geometry.txt: Start at documenting how
	various widgets are drawn.

	* gtk/gtkbutton.c (_gtk_button_paint): Export
	_gtk_button_paint() librarywide, so we don't have
	duplicate a bunch of code in gtktogglebutton.c.

	* gtk/gtktogglebutton.c: Use _gtk_button_paint().
2001-12-04 03:27:30 +00:00
Alex Larsson
c7cd3421f7 Return FALSE from expose handlers.
2001-12-03  Alex Larsson  <alexl@redhat.com>

	* gtk/gtkaccellabel.c:
	* gtk/gtkarrow.c:
	* gtk/gtkcolorsel.c:
	* gtk/gtkcontainer.c:
	* gtk/gtklabel.c:
	* gtk/gtktextview.c:
	* gtk/gtktogglebutton.c:
	* gtk/gtktreeview.c:
	* gtk/gtkwindow.c:
	Return FALSE from expose handlers.
2001-12-03 22:11:40 +00:00
Kristian Rietveld
5a2ebedc20 if we use pointers, we should free the previous pointer first (if it
Mon Dec  3 21:15:59 2001  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
        we use pointers, we should free the previous pointer first (if
        it exists), before we set a new pointer. (#64726)

        * gtk/gtktreeprivate.h: get rid of cursor_drag

        * gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check
        for cursor_drag
        (gtk_tree_view_bin_expose): don't directly return in the while
        loop
        (gtk_tree_view_class_init): indentend expanders by default
        (gtk_tree_view_header_focus): only give the button focus
        if it's clickable, visible and the column is reorderable
        (#65539)

        * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
        create and free cursor
2001-12-03 21:20:12 +00:00
Jonathan Blandford
94a097ef5d Add a "resizable" property, to get rid of the
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.
2001-11-19 21:18:22 +00:00
Owen Taylor
a036c6e59f Make gtkmarshal.list/gtkmarshal.h only for compatibility with GTK+-1.2;
Sat Nov 17 18:26:45 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am gtk/gtkmarshal.list gtk/gtkmarshalers.list
	gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h
	only for compatibility with GTK+-1.2; and deprecate it;
	put all marshalers we actually use into gtkmarshalers.list
	and use the _gtk_marshal_ prefix for these marshalers.
2001-11-17 23:28:51 +00:00
Jonathan Blandford
2fdf30186c New function to get a GdkWindow to compare event->window to.
Thu Nov 15 16:24:55 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_get_bin_window): New function
	to get a GdkWindow to compare event->window to.

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_left_right): emit
	the signal for lateral motion too, #64361

	* gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): remove window
	arg as it is useless, #64137
2001-11-15 22:20:18 +00:00
Owen Taylor
b27345fe2c Cal gdk_window_invalidate_maybe_recurse() for recursion. (Soeren Sandmann)
Thu Nov 15 14:19:34 2001  Owen Taylor  <otaylor@redhat.com>

 	* gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Cal
 	gdk_window_invalidate_maybe_recurse() for recursion.
 	(Soeren Sandmann)

 	* gtk/gtkviewport.c: Make !redraw_on_allocate. (Soeren Sandmann)

	* gtk/gtkcontainer.c (gtk_container_expose): Call
	gtk_container_forall() not _foreach() to propagate,
	since we need to propagate exposes to internal children
	as well.

	* gtk/gtkwidget.c (gtk_widget_set_events, gtk_widget_add_events):
	Remove the restriction of only being able to call these
	on window widgets, since we have lots of NO_WINDOW widgets
	with windows now; for add events, recurse over the children
	of widget->window to find one owned by the widget.

	* gtk/gtkbutton.[ch]: Make a NO_WINDOW widget, using an input-only
	window to catch events.

	* gtk/gtktogglebutton.[ch]: Remove the code for switching
	between NO_WINDOW and WINDOW widgets based on the mode.

	* gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c gtk/gtkclist.c
	gtk/gtktreeview.c: Adopt to NO_WINDOW change for GtkButton.

	* gtk/gtkrange.[ch]: Make into a NO_WINDOW widget.

	* gtk/gtkhscale.c, gtk/gtkvscale.c: Adopt to NO_WINDOW
	change for range.

	* gtk/gtknotebook.[ch]: Make into a NO_WINDOW widget.

	* docs/Changes-2.0.txt: Add a note about the NO_WINDOW changes.
2001-11-15 21:04:51 +00:00
Jonathan Blandford
99fea7f976 Return the currently selected column when we get the column, #64380
Wed Nov 14 17:40:23 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_get_expander_column): Return
	the currently selected column when we get the column, #64380

	* gtk/gtkentry.c (gtk_cell_editable_key_press_event): Handle Esc
	to cancel CellRendererText editting, #63613

	* gtk/gtkcellrenderertext.c: ditto

	* gtk/gtkcellrenderertext.h: formatting changes
2001-11-14 22:52:43 +00:00
Matthias Clasen
9b17c006c8 Documentation fixes. (#64377)
* gtk/gtktreeview.c: Documentation fixes. (#64377)

        * gtk/gtktreestore.c: Documentation fixes. (#64376)
2001-11-12 22:29:13 +00:00
Owen Taylor
57479a86be Add row_draggable() vfunc, and wrapper function.
Mon Nov  5 22:34:29 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktreednd.[ch] (struct _GtkTreeDragSourceIface):
	Add row_draggable() vfunc, and wrapper function.

	* gtk/gtktreednd.[ch] (struct _GtkTreeDragDestIface): Make
	row_drop_possible take a GtkSelectionData, rather than
	model/row pair.

	* gtk/gtktreestore.c gtk/gtkliststore.c: Update for
	new DND interfaces.

	* gtk/gtktreeview.[ch]: Remove the row_draggable_func
	location_dropable_func from gtk_tree_view_set_rows_drag_source/dest.
	and rename them to enable_model_drag_source/dest.

	* gtk/treeviewcolumn.c: Add DND of columns between rows.
	Still can't drop _to_ the left tree, but other places
	work.

	* gtk/gtktreeview.c (unset_reorderable): Unset the
	reorderable property if unset/enable_model_drag_source/dest
	are called manually.

	* gtk/gtktreestore.c (gtk_tree_store_row_drop_possible):
	Correct for change in depth count handling.

	* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
	Pass in a expose area to gtk_tree_view_column_cell_render()
2001-11-06 19:10:03 +00:00
Jonathan Blandford
050625298e Clean up height code a bit. I don't think it's completely correct yet, but
Fri Nov  2 16:45:17 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Clean up height code
	a bit.  I don't think it's completely correct yet, but it's
	getting there.
2001-11-02 21:47:27 +00:00
Jonathan Blandford
a2ff9e4179 Fix reorder_fixup, #59583
Thu Nov  1 19:11:35 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkrbtree.c (gtk_rbtree_reorder_fixup): Fix reorder_fixup,
	#59583

	* gtk/gtktreeselection.c (gtk_tree_selection_set_mode): fix
	warning.
2001-11-02 00:13:30 +00:00
Jonathan Blandford
2704ea2b58 it's amazing how well things work sometimes, even when they're completely
Thu Nov  1 15:45:04 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
	it's amazing how well things work sometimes, even when they're
	completely wrong.

	* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
	where you could try to collapse a node w/o it having children.

	(gtk_tree_view_class_init): remove Shift L<->R as they already
	existed for expand/collapse.
2001-11-01 20:46:01 +00:00
Jonathan Blandford
b852358d0a Fix crash found by Matt Wilson.
Thu Nov  1 12:21:31 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_focus_to_cursor): Fix crash
	found by Matt Wilson.
2001-11-01 17:23:03 +00:00
Jonathan Blandford
d63b7cd693 Support Shift, Control, and Shift|Control L<->R, #63475
Thu Nov  1 00:44:50 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Support Shift,
	Control, and Shift|Control L<->R, #63475
2001-11-01 06:29:35 +00:00
Jonathan Blandford
d7a97b9728 rename gtk_selection_data_set_tree_row, #60218
Wed Oct 31 16:53:48 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreednd.c (gtk_tree_set_row_drag_data): rename
	gtk_selection_data_set_tree_row, #60218
	(gtk_tree_get_row_drag_data): rename
	gtk_selection_data_get_tree_row, #60218

	* gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): Actually
	get this right, after the third try, #63122.
2001-10-31 21:55:55 +00:00
Jonathan Blandford
c49351c86b Added a "cursor_changed" signal, #62850.
Wed Oct 31 14:05:17 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Added a
	"cursor_changed" signal, #62850.
2001-10-31 19:08:09 +00:00
Anders Carlsson
62adef452e Calculate the buttons size request before using it. Fixes #61696.
2001-10-29  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c (gtk_tree_view_size_request): Calculate
	the buttons size request before using it. Fixes #61696.
2001-10-29 16:48:56 +00:00
Anders Carlsson
fdb66f1ab4 Create new "indent_expander" style property.
2001-10-26  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c:
	(gtk_tree_view_class_init): Create new "indent_expander"
	style property.

	(gtk_tree_view_get_arrow_xrange): Add a tree argument
	to the function since the xrange can change depending
	on where in the tree we are.

	(coords_are_over_arrow): Update function call to
	gtk_tree_view_get_arrow_xrange.
	(gtk_tree_view_draw_arrow): Likewise.

	(gtk_tree_view_real_expand_collapse_cursor_row):
	Call real_{expand|collapse}_row, so that we'll have an
	animation.
2001-10-26 19:45:06 +00:00
Jonathan Blandford
889d64b46e Add support for invalid nodes. (_gtk_rbnode_rotate_right): Ditto.
Thu Oct 25 16:27:29 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkrbtree.c (_gtk_rbnode_rotate_left): Add support for
	invalid nodes.
	 (_gtk_rbnode_rotate_right): Ditto.
	 (_gtk_rbtree_node_mark_invalid): New function.
	 (_gtk_rbtree_node_mark_valid): New function.

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_class_init): We're a
	GObject, not a GtkObject.
	(gtk_tree_model_sort_row_has_child_toggled): Rewrote to be more
	correct.
	(gtk_tree_model_sort_row_deleted): ditto.
	(gtk_tree_model_sort_{un,}ref_node): Fix.

	* gtk/gtktreeview.c: Protean incremental reflow support (commented
	out)

	* gtk/gtktreeview.h (GtkTreeViewSearchEqualFunc): change char *key
	to const char *key.

	* gtk/gtktreemodel.c (gtk_tree_row_reference_unref_path_helper):
	Important 1 line fix to fix a lot of refcounting woes.
2001-10-25 20:32:40 +00:00
Anders Carlsson
aa3a4f7e92 This ought to make msw happy since it fixes #62887.
2001-10-24  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c:
	(gtk_tree_view_real_expand_row): add an animate argument
	(gtk_tree_view_real_collapse_row): likewise

	(gtk_tree_view_button_press), (gtk_tree_view_button_release),
	(gtk_tree_view_collapse_all), (gtk_tree_view_expand_row),
	(gtk_tree_view_collapse_row): update functions that call
	real_{expand|collapse}_row to set the animate argument
	accordingly.
2001-10-25 05:22:13 +00:00
Owen Taylor
4e32ede287 Remove G_DISABLE_CONST_RETURNS.
Tue Oct 23 11:53:00 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.

	* gtk/gtkfontsel.[ch]: Make gtk_font_selection_get_font()
	G_CONST_RETURN. (Murray Cumming)

	* gtk/gtkfontsel.c (gtk_font_selection_dialog_get_preview_text):
	Make G_CONST_RETURN.

	* gtk/gtkfilesel.c (open_user_dir): Fix bug with freeing
	results of g_get_home_dir().

	* gtk/gtkfilesel.c: Make filesel->fileop_file a duplicated
	copy. Storing the return from gtk_entry_get_text() is evil.

	* gtk/gtkcombo.c gtk/gtkcellrenderertext.c gtk/gtkbindings.c
	gtk/gtkfilesel.c gtk/gtkfontsel.c gtk/gtkimmodule.c
	gtk/gtkobject.c gtk/gtkoldeditable.c gtk/gtktreedatalist.c
	gtk/gtksignal.c: Add const.

	* gdk/x11/gdkkeys-x11.c (get_direction): Add missing const.

	* gtk/gtktreeview.c: Namespace object data keys to be safe, even
	if we are setting them on private widgets.

	* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
	Duplicate entry->text before setting it as object data.
2001-10-23 16:02:23 +00:00
Jonathan Blandford
dc754528a0 Remove handle_box from App demo.
Mon Oct 22 14:08:26 2001  Jonathan Blandford  <jrb@redhat.com>

	* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.

	* gtk/gtktreeview.c (size_allocate): Move to a different drawing
	system.  Instead of having a window the size of the tree, we have
	a window the size of widget->allocation, and simply draw with the
	offset.
	(coords_are_over_arrow): ditto.  Move to window coordinates.
	(do_prelight): ditto
	(do_unprelight): ditto

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
	Minor fix from Kristian Rietveld to fix unsorted case.
2001-10-22 18:24:29 +00:00
Manish Singh
a53be4f328 PROP_MODEL and PROP_EXPANDER_COLUMN can be NULL, so don't do a object case
Sat Oct 20 18:16:04 2001  Manish Singh  <yosh@gimp.org>

        * gtk/gtktreeview.c (gtk_treeview_get_property): PROP_MODEL and
        PROP_EXPANDER_COLUMN can be NULL, so don't do a object case check
        for those
2001-10-21 01:18:42 +00:00
Manish Singh
a52d7cd409 correct docs for use_align
Fri Oct 19 13:44:51 2001  Manish Singh  <yosh@gimp.org>

        * gtk/gtktreeview.c (gtk_treeview_scroll_to_cell): correct docs
        for use_align
2001-10-19 20:46:43 +00:00
Joshua N Pritikin
1d528b97ed Fix to work on empty models.
* gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): Fix to work
on empty models.
2001-10-12 18:39:14 +00:00
Matthias Clasen
524704cd43 Remove stale gdk backend includes.
* gtk/gtkcolorsel.c, gtk/gtkwidget.c, gtk/gtktreeview.c:
        Remove stale gdk backend includes.
2001-10-11 20:37:51 +00:00
Kristian Rietveld
58a5467a45 should destroy the search dialog
Fri Oct  5 19:06:07 2001  Kristian Rietveld  <kristian@planet.nl>

        * gtk/gtktreeview.c (gtk_tree_view_leave_notify): should
        destroy the search dialog

        * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
        added check to prevent creation of a search dialog if there's
        already one around

        * gtk/gtktreeview.c: Define GTK_TREE_VIEW_SEARCH_DIALOG_KEY, and use
        it instead of "search-dialog" (when getting/setting the search dialog
        widget).
2001-10-05 17:10:20 +00:00
Jonathan Blandford
58ed9e8bef change scroll_to_cell delayed code to happen in size_allocate.
Mon Oct  1 14:07:02 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): change
	scroll_to_cell delayed code to happen in size_allocate.

	* gtk/gtkstyle.c (gtk_default_draw_expander): change
	prelight/normal arrow drawing.

	* gtk/gtktreedatalist.c: Change compare func to use g_utf8_collate

	* gtk/gtktreestore.c: refactor.
2001-10-01 18:12:34 +00:00
Jonathan Blandford
c1745a4bd2 only start editing when you select with a keyboard.
Thu Sep 27 16:46:36 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): only
	start editing when you select with a keyboard.

	(gtk_tree_view_button_press_event): much more graceful now.

	* gtk/gtkstyle.c: Draw togglebutton better.
2001-09-27 20:49:34 +00:00
Jonathan Blandford
4b6bc02f66 Stop being stupid and emitting the signal every time.
Wed Sep 26 19:48:01 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_set_valist): Stop being
	stupid and emitting the signal every time.

	* gtk/gtkliststore.c (gtk_list_store_set_valist): ditto
2001-09-27 00:09:41 +00:00
Jonathan Blandford
efae27a3a5 Removed (gtk_tree_view_column_set_alignment): xalign = CLAMP (xalign, 0.0,
Tue Sep 25 15:32:44 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_set_cell_renderer): Removed
	(gtk_tree_view_column_set_alignment): xalign = CLAMP (xalign, 0.0, 1.0);  Fixes 61012.

	* gtk/gtktreestore.c (gtk_tree_store_sort_helper): Fixed #61012
	Patch from Detlef Reichl
2001-09-25 19:38:18 +00:00
Jonathan Blandford
92841cb95a Make a GtkCellEditable (get_widget_window_size): Change to let it honor
Tue Sep 25 12:34:42 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkentry.c: Make a GtkCellEditable
	(get_widget_window_size): Change to let it honor size_allocate
	when a CellEditable.

	* gtk/gtktreeview.c: M-x clean-line-ends.  Lots of focus and
	editable changes.
	(gtk_tree_view_set_cursor): Now you can set the cursor
	horizontally, as well as start editing.

	* gtk/gtkstyle.c (gtk_default_draw_check): changing toggle drawing
	code to look more like the other check buttons.

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size):
	Change the way we calculate cell size.

	* gtk/gtkmarshal.list (VOID:STRING,STRING): new marshaller.

	* demos/gtk-demo/sizegroup.c: Add mnemonics.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): Fix docs.
	Fix logic.

	* gtk/gtkcellrenderertext.c: Change to be editable.

	* gtk/gtkcellrenderertoggle.c: Change to be activatable.

	* test/testtreesort.c: Fix misspelling

	* test/testreecolumns.c: Add mnemonics.

	* test/testreeedit.c: New test program.
2001-09-25 16:44:39 +00:00
Sven Neumann
b728e2eaba configure.in gdk/Makefile.am gtk/Makefile.am gtk/gtkselection.c
2001-09-20  Sven Neumann  <sven@gimp.org>

	* configure.in
	* gdk/Makefile.am
	* gtk/Makefile.am
	* gtk/gtkselection.c
	* gtk/gtktreeview.c
	* gtk/gtkwindow.c: removed remaining traces of nanox GDK backend.
2001-09-20 16:31:21 +00:00
Owen Taylor
483fca5e50 Small warning cleanups.
Thu Sep 20 11:03:51 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkobject.c gtk/gtklist.c gtk/gtkplug.c gtk/gtksocket.c
        gtk/gtktreemodelsort.c gtk/gtktreeview.c: Small warning cleanups.

        * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_get_group): Change
        the function definition so we don't accidentally rely on
        the compat #define from gtk_radio_menu_item_group.
        (#60782, Jeff Franks)
2001-09-20 15:08:00 +00:00
Owen Taylor
de24d6cd79 Patch from Frank Belew #59037 for Solaris compilation.
Wed Sep 19 16:01:27 2001  Owen Taylor  <otaylor@redhat.com>

	Patch from Frank Belew #59037 for Solaris compilation.

	* gtk/maketypes.awk: Change syntax slightly for a call
	to sub(), apparently making awk on Solaris happier.

	* gtk/gtktreeview.c: Remove C++ comments.
2001-09-19 20:07:05 +00:00
Jonathan Blandford
fa6e6928f6 centralize all the editing code
Tue Sep 18 18:46:54 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_start_editing): centralize all
	the editing code

	* gtk/gtkcelleditable.c: Got rid of stop_editing, as there was no
	reason to call it beyond emiting the two signals.

	* gtk/gtkentry.c (gtk_entry_class_init): add "has_frame" property
	to GtkEntry.
2001-09-18 22:49:02 +00:00
Jonathan Blandford
f724f836ec Add put for use with editable widgets. This function is private, and
Tue Sep 18 12:12:43 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_put): Add put for use with
	editable widgets.  This function is private, and should only be
	used by GtkTreeView.
2001-09-18 16:15:10 +00:00
Jonathan Blandford
a251679148 Add editable interface. This should be the last big GtkTreeView API
Mon Sep 17 17:39:52 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkcelleditable.[ch]: Add editable interface.  This should
	be the last big GtkTreeView API change.

	* gtk/gtkcellrenderer.[ch]: Get rid of the "event" vfunc, and
	replace with "activate" and "start_editing".  Also, added a
	"can_activate" and "can_edit" property.

	* gtk/gtktreeviewcolumn.c: modify to use above.
2001-09-17 21:44:20 +00:00
Jonathan Blandford
fc8304b134 Rename interface signals to make them more clear. Also, change
Wed Sep 12 19:01:05 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.h (struct _GtkTreeModelIface): Rename interface
	signals to make them more clear.  Also, change ::range_changed to
	::row_changed.
	* gtk/gtktreemodel.c: Adjust to interface change
	* gtk/gtktreemodel.h: ditto
	* gtk/gtktreemodelsort.c: ditto
	* gtk/gtktreestore.c: ditto
	* gtk/gtkliststore.c: ditto
	* gtk/gtktreeview.c: ditto
	* tests/testtreecolumns.c: ditto
	* gtk/gtkmarshal.list: Actually remove a marshaller!
2001-09-12 23:16:18 +00:00
Joshua N Pritikin
4eece537a3 minor fixes 2001-09-11 04:27:53 +00:00
Jonathan Blandford
92ed35d388 remove g_print.
Sat Sep  8 01:44:18 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_set_dirty):
	remove g_print.

	* gtk/gtktreeview.c (gtk_tree_view_set_model): unref model when we
	change models, #59899

Sat Sep  8 01:44:32 2001  Jonathan Blandford  <jrb@redhat.com>

	* POTFILES.in: missed one.
2001-09-08 05:50:44 +00:00
Jonathan Blandford
4a9a6249d0 Removed 'fill' attribute. It was silly b/c that was a property of the cell
Fri Sep  7 20:45:29 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_pack_{start,end}):
	Removed 'fill' attribute.  It was silly b/c that was a property of
	the cell renderer, anyway.
	(gtk_tree_view_column_render): Actually render the packed
	renderers.
	* doc/tree-column-sizing.txt: initial devel documentation.
	* gtk/gtktreeview.c (gtk_tree_view_expand_all): Fix bug.
	* gtk/gtkcellrenderertextpixbuf.[ch]: removed.

	* tests/testtreefocus.c: fix up to reflect above changes.
	* tests/testtreeview.c: ditto
	* demos/gtk-demo/stock_browser.c: ditto
2001-09-08 00:56:30 +00:00
Owen Taylor
1bbf2ac7ee Make gdkx.h the only installed header from gdk/x11. All structures in
Fri Sep  7 11:51:44 2001  Owen Taylor  <otaylor@redhat.com>

      Make gdkx.h the only installed header from gdk/x11.
      All structures in gdk/x11 are opaque.

	* gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h:
	Don't install gdk{drawable,pixmap,window}-x11.h.

	* gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c:
	Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11,
	GdkVisualClass into C files.

	* gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static.

	* gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c,
	gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c}
	Add public functions to replace previously exported direct
	structure access.
	gdk_x11_colormap_get_{xdisplay,xcolormap}
	gdk_x11_cursor_get_{xdisplay,xcursor},
	gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual,
	gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
	gdk_x11_gc_get_{xdisplay,ximage}

	* gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo,
	GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals.

      Fix a number of variables and functions that were exported
      "accidentally" from GDK.

	* gdk/**.[ch]: gdk => _gdk for gdk_visual_init,
	gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit,
	gdk_input_exit,	gdk_windowing_exit, gdk_event_func, gdk_event_data,
	gdk_event_notify, gdk_queued_events, gdk_queued_tail,
	gdk_event_new, gdk_events_queue, gdk_events_unqueue,
	gdk_event_queue_find_first, gdk_event_queue_remove_link,
	gdk_event_queue_append, gdk_event_button_generate,
	gdk_debug_flags, gdk_default_filters, gdk_parent_root.

	* gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c,
	   gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}:
	gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks,
	gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window,
	gdk_use_xshm, gdk_input_ignore_core.

	* gdk/x11/xsettings-common.h (xsettings_list_insert): Add
	#defines to namespace functions into the private _gdk_
	namespace.

	* gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window ()
	to replace gdk_parent_root exported variable. Adjust and
	deprecate GDK_ROOT_PARENT().

	* demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix
	GDK_ROOT_PARENT usage, remove includes of port-specific
	headers.

	* gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for
	_gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core,
	gdk_input_devices, _gdk_input_windows, gdk_init_input_core.

	* gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c}
	docs/Changes-2.0.txt: Remove gdk_wm_protocols,
	gdk_wm_delete_window functions, gdk_wm_take_focus,
	use gdk_atom_intern() instead.

	* gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h}
	  gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h}
	  gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h}
	  gtk/gtkselection.c
        Unexport gdk_selection_property, just use
	gdk_atom_intern ("GDK_SELECTION").

	* gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}:
	Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type,
	GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate,
	GdkVisualprivate, gdk_x11_gc_flush.

      Make a number of public exports of variables into functions
      to increase encapsulation.

	* gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h
	gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer,
	move to gdkinternals.h. Add gdk_device_get_core_pointer ().

	* gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h
	docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code,
	gdk_error_warnings.

	* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
	  docs/Changes-2.0.txt:
	s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen()
	s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow()
	Add gdk_x11_get_default_xdisplay().

	* gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c
	win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c
	gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class,
	Don't export gdk_progclass, move --class command line
	option and handling to common portion of GDK.

      Miscellaneous fixes:

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix
	g_return_val_if_fail that should have been g_return_if_fail.

	* gdk/gdkinternals.h gdk/gdkprivate.h: Move
	gdk_synthesize_window_state() to the semi-public gdkprivate.h.

	* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded
	X11 dependency.

	* gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO:
	Remove unused gdk_key_repeat_disable/restore.

	* linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c
	x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def:
	Remove unused gdk_null_window_warnings variable.

	* gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox;
	it can be retrieved from the repository; it is too far
	from functional to be worth having people check out;
	it would be easier to start from scratch, I suspect.

	* gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID().

	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
	Fix some accidentally global variables and unused global variables.

	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
	Fix some accidentally global variables and unused global variables.

      Add some space for future expansion to multihead.

	* gdk/gdkdrawable.h: Add four reserved function pointers
	for future expansion of GdkDrawableClass.

	* gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer
	where we can put a GdkScreen * later.
2001-09-07 21:50:20 +00:00
Jonathan Blandford
92c0936ffa patch from vishnu@pobox.com (Joshua N Pritikin) to fix math and an
Sun Sep  2 20:32:36 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): patch from
	vishnu@pobox.com (Joshua N Pritikin) to fix math and an assertion,
	#59731
2001-09-03 08:41:06 +00:00
Jonathan Blandford
b5ea25c500 Patch from vishnu@pobox.com (Joshua N Pritikin) to emit signal at the
Sun Sep  2 17:38:42 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_deleted): Patch from
	vishnu@pobox.com (Joshua N Pritikin) to emit signal at the correct
	time, #59727

	* gtk/gtkbutton.c (gtk_button_update_state): Get depressed
	correctly.
2001-09-03 06:45:17 +00:00