Commit Graph

164 Commits

Author SHA1 Message Date
Kristian Rietveld
acce60b799 The "big treeview focus patch". Fixes several issues and adds some
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.
2002-05-05 14:54:00 +00:00
Alex Larsson
4632fb81c7 Integrate Erwann Chenede's multihead changes for the gtk/ directory.
Mon Apr 29 18:28:00 2002  Owen Taylor  <otaylor@redhat.com>

	Integrate Erwann Chenede's multihead changes for the gtk/ directory.

	* gtk/gtkclipboard.[ch]: Add gtk_clipboard_get_for_display(),
	make internals multihead aware.

	* gtk/gtkcolorsel.[ch]: Add
	gtk_color_selection_set_change_palette_with_screen_hook () [ugh!]
	make up for non-multihead safety of
	gtk_color_selection_set_change_palette_hook()

	* gtk/gtkinvisible.[ch] gtk/gtkmenu.[ch] gtkwindow.[ch]: Add
	gtk_{invisible,menu,window}_set_screen(); add "screen" properties
	for GtkWindow and GtkMenu.

	* gtk/gtkplug.[ch]: Add gtk_plug_construct_for_display(),
	gtk_plug_new_for_display(). Multihead fixes.

	* gtk/gtkselection.[ch]: Add gtk_selection_owner_set_for_display(),
	make internals multihead aware.

	* gtk/gtksettings.[ch]: Add gtk_settings_get_for_screen(), get
	rid of now-useless gtk_settings_constructor().

	* gtk/gtkstyle.[ch]: Add gtk_style_get_font_for_display(), fix
	check/radio button indicators bitmap handling to be multihead
	safe.

	* gtk/gtkwidget.[ch]: Add gtk_widget_get_screen(), gtk_widget_has_screen(),
	gtk_widget_get_display(), gtk_widget_get_clipboard(),
	gtk_widget_get_root_window().

	* gtk/gtkbindings.c gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkcombo.c
	gtk/gtkctree.c gtk/gtkdnd.c gtk/gtkfilesel.c gtk/gtkgamma.c
	gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtkimcontext.c gtk/gtklabel.c
	gtk/gtklist.c gtk/gtkmain.c gtk/gtkmenuitem.c gtk/gtkmenushell.c
	gtk/gtknotebook.c gtk/gtkoldeditable.c gtk/gtkoptionmenu.c
	gtk/gtkpaned.c gtk/gtkpreview.c gtk/gtksocket.c gtk/gtktext.c
	gtk/gtktextbuffer.c gtk/gtktextview.c gtk/gtktipsquery.c
	gtk/gtktooltips.c gtk/gtktreeview.c gtk/gtktreeviewcolumn.c:
	misc mechanical multihead-safety fixes.

	* gtk/gtkclipboard.c: Use a GtkImage rather than a pixmap for
	the dropper, look up the color palette only at realization time,
	other multihead fixes.

	* gtk/gtkcombo.c (gtk_combo_unrealize): Popdown the list when
	unrealizing.

	* gtk/gtkentry.c: Only claim ownership of the primary selection
	when realized, misc multihead fixes.

	* gtk/gtkfontsel.c: Only fill in fonts when attached to a screen,
	fix gtk_font_selection_get_font() for multihead.

	* gtk/gtkgc.c: make the depth => drawable hash per-screen.

	* gtk/gtkinvisible.c: Add a constructor that realizes the
	widget, so we get a realized widget with g_object_new() as
	well gtk_invisible_new() as before.

	* gtk/gtkmain.c: Get rid of unused gtk_visual/gtk_colormap
	variables.

	* gtk/gtktextdisplay.c: Add warnings if stipple bitmaps
	are used on the wrong screen.

	* gtk/gtktoolbar.c: Make handling of GtkSettings-based layout
	read properties and connect to settings when the screen is changed,
	rather than on init/finalize.

	* gtk/gtkwindow.c: Fix icon handing to be multihead safe ...
	default icon pixmaps/mask are only shared between windows on the
	same screen. Misc multihead fixes.

Sat Apr 27 13:49:53 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
	Update docs to reference GDK_SELECTION_CLIPBOARD rather GDK_NONE.

2002-04-29  Alex Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkproperty-fb.c (gdk_property_get):
	Fix silly bug, noticed by Sven Neumann.

Sun Apr 28 22:43:55 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): Fix
	so that you can set a new sort func.
2002-04-29 22:53:45 +00:00
Kristian Rietveld
b4ddb130c7 Fixes #74206.
Thu Apr 25 23:49:01 2002  Kristian Rietveld  <kris@gtk.org>

        Fixes #74206.

        * gtk/gtktreeprivate.h: add _gtk_tree_view_column_count_special_cells

        * gtk/gtktreeview.c (_gtk_tree_view_column_has_editable_cell),
        (_gtk_tree_view_column_get_editable_cell): remove a space which made
        the code look ugly
        (_gtk_tree_view_column_count_special_cells): new function,
        (gtk_tree_view_column_cell_process_action): if there's only one
        activatable cell, the whole column will activate that renderer.
2002-04-25 21:44:33 +00:00
Kristian Rietveld
cb3c5cc14d This commit adds a cell_background property for cell renderers. With this
Tue Apr 23 18:35:34 2002  Kristian Rietveld  <kris@gtk.org>

        This commit adds a cell_background property for cell renderers. With
        this property you can make your TreeView look incredibly ugly.

        * gtk/gtkcellrenderer.c: add cell_background, cell_background_gdk and
        cell_background_set properties,
        (set_cell_bg_color): new function,
        (gtk_cell_renderer_get_property), (gtk_cell_renderer_set_property):
        support for new properties,
        (gtk_cell_renderer_render): render a background when set.

        * gtk/gtkcellrenderer.h: add cell_background_set and cell_background
        fields.

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
        when rendering, pass in just the background_area of the cell and not
        the background_area of the entire column.
2002-04-23 16:39:01 +00:00
Kristian Rietveld
3e0a1a5190 add _gtk_tree_view_column_autosize
Fri Apr 19 23:38:16 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeprivate.h: add _gtk_tree_view_column_autosize

        * gtk/gtktreeview.c: privately export _gtk_tree_view_column_autosize,
        and add a small note about that function,
        (gtk_tree_view_button_press): check for double click and
        "not having an autosize" column before autosizing the column,

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_min_width):
        call _gtk_tree_view_column_autosize to update autosized column width
        (gtk_tree_view_column_set_max_width): ditto
2002-04-19 23:41:37 +00:00
Matthias Clasen
1f75708d5a s/<!>/<!-- -->/g throughout the documentation to bring the produced
* gtk/gtkitemfactory.c:
	* gtk/gtkiconfactory.c:
	* gtk/gtkwidget.c:
	* gtk/gtkstyle.c:
	* gtk/gtkrc.c:
	* gtk/gtktreeviewcolumn.c:
	* gtk/gtkdialog.c:
	* gtk/gtktreemodel.c: s/<!>/<!-- -->/g throughout the
	documentation to bring the produced Docbook closer to XML.

	* gdk/tmpl/rgb.sgml:
	* gdk/tmpl/general.sgml:
	* gtk/tmpl/gtktogglebutton.sgml:
	* gtk/tmpl/gtkaccellabel.sgml:
	* gtk/tmpl/gtkradiobutton.sgml:
	* gtk/tmpl/gtktreemodel.sgml:
	* gtk/tmpl/gtkwidget.sgml:
	* gtk/tmpl/gtkimage.sgml:
	* gtk/tmpl/gtktooltips.sgml:
	* gtk/tmpl/gtksignal.sgml:
	* gtk/tmpl/gtkcombo.sgml:
	* gtk/tmpl/gtkdnd.sgml:
	* gtk/tmpl/gtksocket.sgml:
	* gtk/tmpl/gtkdrawingarea.sgml:
	* gtk/tmpl/gtkobject.sgml:
	* gtk/tmpl/gtkpaned.sgml:
	* gtk/tmpl/gtkmain.sgml: s/<!>/<!-- -->/g throughout the
	documentation to bring the produced Docbook closer to XML.
2002-04-18 22:04:46 +00:00
Kristian Rietveld
54db0fc9fd add _gtk_tree_view_column_get_editable_cell and
Sun Apr 14 16:56:59 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeprivate.h: add _gtk_tree_view_column_get_editable_cell and
        _gtk_tree_view_column_get_neighbor_sizes

        * gtk/gtktreeviewcolumn.c (struct _GtkTreeViewColumnCellInfo): add
        real_width field,
        (_gtk_tree_view_column_get_editable_cell): implement,
        (gtk_tree_view_column_cell_process_action): fill info->real_width
        (_gtk_tree_view_column_get_neighbor_sizes): implement

        * gtk/gtktreeview.c (gtk_tree_view_button_press): make the "editable
        widget" show up with the same size as the actual cell, so it doesnt
        cover the complete column if there are any other cells in that column.
2002-04-14 15:05:04 +00:00
Kristian Rietveld
64e33eb68f Fixes #78110
Tue Apr  9 21:41:24 2002  Kristian Rietveld  <kris@gtk.org>

        Fixes #78110

        * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
        add override_browse_mode argument and implement,
        (gtk_tree_selection_unselect_path): always unselect the path,
        (toplevel): update uses of _gtk_tree_selection_internal_select_node

        * gtk/gtktreeview.c: update uses of
        _gtk_tree_selection_internal_select_node

        * gtk/gtktreeprivate.h (_gtk_tree_selection_internal_select_node):
        update prototype

Tue Apr  9 21:39:44 2002  Kristian Rietveld  <kris@gtk.org>

        Fixes #77862

        * gtk/gtktreeprivate.h: add _gtk_tree_view_column_has_editable_cell

        * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_has_editable_cell):
        new function

        * gtk/gtktreeview.c (gtk_tree_view_button_press): send cell event
        on first click when cell isn't editable

Tue Apr  9 21:37:31 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreedatalist.c (_gtk_tree_data_list_check_type): add some
        types which were missing and useful to use (fixes #77870)
2002-04-09 19:48:32 +00:00
Kristian Rietveld
6d4655b01a free anchor row reference after unselecting the selection (fixes #76272)
Fri Apr  5 18:28:56 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeselection.c (gtk_tree_selection_set_mode): free
        anchor row reference after unselecting the selection (fixes #76272)

Fri Apr  5 18:27:48 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_real_expand_row): only return
        when we don't have to open all children (fixes #75736)

Fri Apr  5 18:24:24 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear): unref
        cellrenderer after clearing the attributes of the renderer (fixes
        #75592)
2002-04-05 16:28:14 +00:00
Jonathan Blandford
8c114fa6a0 implement. (gtk_tree_view_move_cursor_up_down): check for focus
Fri Apr  5 05:55:14 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreeview.c (gtk_tree_view_grab_focus): implement.
	  (gtk_tree_view_move_cursor_up_down): check for focus
	  (gtk_tree_view_move_cursor_page_up_down): ditto
	  (gtk_tree_view_move_cursor_left_right): ditto
	  (gtk_tree_view_move_cursor_start_end): ditto
	  (gtk_tree_view_real_select_all): ditto
	  (gtk_tree_view_real_unselect_all): ditto
	  (gtk_tree_view_real_select_cursor_row): ditto
	  (gtk_tree_view_real_toggle_cursor_row): ditto
	  (gtk_tree_view_real_expand_collapse_cursor_row): ditto
	  (gtk_tree_view_real_select_cursor_parent): ditto
	  (gtk_tree_view_real_start_interactive_search): ditto

	* gtk/gtktreeviewcolumn.c: grab focus
2002-04-05 16:11:32 +00:00
Jonathan Blandford
60a1fa69d0 add example to docs, as people are seeming to have trouble with this
Fri Mar 15 12:51:42 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_new_with_attributes): add example to docs,
	as people are seeming to have trouble with this function.

Remake docs as well.
2002-03-15 21:47:52 +00:00
Jonathan Blandford
51c6334d10 make args const, 74159 (gtk_tree_view_insert_column_with_attributes):
Fri Mar 15 11:28:41 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
	make args const, 74159
	(gtk_tree_view_insert_column_with_attributes): ditto

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_cell_process_action): remov unused variables.
2002-03-15 16:37:07 +00:00
Jonathan Blandford
540751b9ab get rid of really bad focus loop. (gtk_tree_view_clamp_node_visible): only
Thu Mar  7 16:46:58 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (validate_visible_area): get rid of really
	bad focus loop.
	(gtk_tree_view_clamp_node_visible): only clamp the node when
	realized.  Need to replace this with scroll_to_cell sometime.
	(gtk_tree_view_header_focus): clickable or reorderable columns are
	focusable, #73656

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_widget): fix
	docs to reflect behaviour change, #73682
2002-03-08 17:58:22 +00:00
Jonathan Blandford
d8dd3fb392 move event handling to the process_action function so we can have the
Wed Mar  6 00:20:59 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_cell_process_action): move event handling to
	the process_action function so we can have the event go to
	individual cells.
2002-03-06 05:27:29 +00:00
Jonathan Blandford
bcd7700649 remove sizing == AUTOSIZE check. Update docs.
Tue Mar  5 18:17:31 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_fixed_width):
	remove sizing == AUTOSIZE check.  Update docs.
2002-03-05 23:22:27 +00:00
Jonathan Blandford
314a1b60d8 doc fix proposed by tvv@sparc.spb.su (Vitaly Tishkov), #73567.
Tue Mar  5 18:06:49 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_resizable):
	doc fix proposed by tvv@sparc.spb.su (Vitaly Tishkov), #73567.
2002-03-05 23:08:56 +00:00
Tim Janik
f0b58ab846 added compile time switch to put the tree views into a hpaned for owen to
Sun Mar  3 06:39:19 2002  Tim Janik  <timj@gtk.org>

        * gtk/gtkfilesel.c: added compile time switch to put the tree views
        into a hpaned for owen to play with.

        * gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free):
        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func),
        (gtk_tree_view_column_finalize):
        * gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func),
        (gtk_tree_store_set_sort_func), (gtk_tree_store_finalize):
        * gtk/gtktreeselection.c (gtk_tree_selection_finalize):
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func),
        (gtk_tree_model_sort_set_default_sort_func),
        (gtk_tree_model_sort_set_sort_func):
        * gtk/gtkliststore.c (gtk_list_store_set_default_sort_func),
        (gtk_list_store_set_default_sort_func),
        (gtk_list_store_set_sort_func), (gtk_list_store_finalize):
        add reentrancy protection around destroy() function invocation.

        * gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix
        destroy function invocation (which was missing).
2002-03-03 05:41:28 +00:00
Kristian Rietveld
aa83195ad6 set first_cell to FALSE after first iteration
Fri Mar  1 23:59:35 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size): set
        first_cell to FALSE after first iteration

        * gtk/gtktreeview.c (validate_visible_area): reduce usage of
        GTK_RBNODE_GET_HEIGHT, check for node != NULL,
        (gtk_tree_view_top_row_to_dy): remove call to gtk_adjustment_changed
        (gtk_tree_view_search_iter): select iter after scrolling
2002-03-01 23:08:31 +00:00
Kristian Rietveld
07d3ebd017 take into account that a path from a rowref can be NULL. (#72623 and
Tue Feb 26 19:47:16 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (validate_visible_area): take into account
        that a path from a rowref can be NULL. (#72623 and #72650)

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_render_or_focus):
        let focus_rectangle be the same as cell_area for empty cells (#69900)
2002-02-26 18:56:53 +00:00
Kristian Rietveld
2544d7b719 call _gtk_tree_view_column_cell_set_dirty when visible, so this column
Mon Feb 25 22:11:34 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_visible): call
        _gtk_tree_view_column_cell_set_dirty when visible, so this column
        gets some space allocated. (#70996)

        * gtk/gtkliststore.c (gtk_list_store_get_path): add simple
        optimization for the tail case
        (gtk_list_store_real_set_value): remove unneeded _get_path calls
2002-02-25 21:20:25 +00:00
Jonathan Blandford
095ae0c09d Documented undocumented functions.
Sat Feb 23 00:28:47 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviecolumn.c: Documented undocumented functions.
2002-02-23 07:05:55 +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
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
Matthias Clasen
e2b730ac43 General property notification cleanup. 2002-01-28 18:52:49 +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
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
Matthias Clasen
63b4e37957 Doc markup fix.
* gtk/gtkwidget.c: Doc markup fix.

        * gtk/gtktreeviewcolumn.c: Markup fixes. (#66447)

        * gtk/gtktreestore.c: Typo fixes. (#66445)

        * gtk/gtkaccelgroup.c: Misc doc markup. (#66425)

        * gtk/gtkclipboard.c (gtk_clipboard_get_owner): Fix reference
        to gtk_clipboard_set_with_owner(). (#66424)

        * gtk/tmpl/gtkclipboard.sgml: Fix references to
        get_clipboard_set_with_owner(). (#66424)
2001-12-08 21:39:34 +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
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
Matthias Clasen
f4f1768db9 Fix docs for gtk_tree_view_column_set_sort_order. (#62647)
* gtk/gtktreeviewcolumn.c: Fix docs for
        gtk_tree_view_column_set_sort_order. (#62647)

        * gtk/gtkcontainer.c: Fix docs for
        gtk_container_set_border_width. (#64139)

        * gtk/gtkcolorsel.c: Documentation fixes.

        * gtk/tmpl/gtkpaned.sgml: Document gtk_paned_set_gutter_size
        as noop. (#45802)

        * gtk/tmpl/gtkcolorsel.sgml: Remove stuff duplicating inline
        docs. (#60481)
2001-11-10 01:30:31 +00:00
Jonathan Blandford
0cc916c5d7 don't know why this didn't commit 2001-10-31 22:57:51 +00:00
Anders Carlsson
ed96ad827c Add note about width having to be greater than 0. This fixes #55574.
2001-10-27  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_fixed_width):
	Add note about width having to be greater than 0. This fixes
	#55574.
2001-10-27 00:25:17 +00:00
Jonathan Blandford
59b95e91e1 fix broken code.
Tue Oct  9 14:50:51 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_model_sort_column_changed): fix broken code.
2001-10-09 18:51:43 +00:00
Jonathan Blandford
63973ab30a improve warning.
Fri Oct  5 20:50:00 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_iter_has_child): improve
	warning.

	* gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): ref and
	unref nodes, #okay61676

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_sort): we listen
	to the property; no need to clear the other columns.  Also, we go
	to 'unsorted' if the model supports it.
2001-10-06 00:50:36 +00:00
James Henstridge
b8a10f46a9 s/width/fixed_width/ in order to get things to compile.
2001-10-03  James Henstridge  <james@daa.com.au>

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_fixed_width):
        s/width/fixed_width/ in order to get things to compile.
2001-10-03 13:33:50 +00:00
Jonathan Blandford
f2f359089f docs
Wed Oct  3 00:37:09 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkcelleditable.c: docs

	* gtk/gtktreemodel.h: more docs.
2001-10-03 04:44:13 +00:00
Manish Singh
d0ff4a3247 typo fix: s/Wether/Whether/ in reorderable property description
Sat Sep 29 12:25:26 2001  Manish Singh  <yosh@gimp.org>

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): typo
        fix: s/Wether/Whether/ in reorderable property description
2001-09-29 19:29:46 +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
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
c45ee0bf85 Get rid of broken "can_edit" and "can_activate" properties in favor of
Tue Sep 18 13:51:35 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkcellrenderer.h (enum): Get rid of broken "can_edit" and
	"can_activate" properties in favor of
	GTK_CELL_RENDERER_MODE_INERT, GTK_CELL_RENDERER_MODE_ACTIVATABLE,
	and GTK_CELL_RENDERER_MODE_EDITABLE
2001-09-18 17:52:42 +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
Havoc Pennington
372853b107 put GtkPacker back in here so it won't be in gtk-unused.txt, but don't put
2001-09-08  Havoc Pennington  <hp@pobox.com>

	* gtk/gtk-sections.txt: put GtkPacker back in here so it won't be
	in gtk-unused.txt, but don't put it back in gtk-docs.sgml.

	Tons of other additions from gtk-unused.txt, but mostly skipping
	all the tree stuff for now.

2001-09-08  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_add_attribute):
	docs fixes

	* gtk/gtktable.c (gtk_table_get_col_spacing): docs fixes

	* gtk/gtkspinbutton.c (gtk_spin_button_get_increments): docs fixes

	* gtk/gtksocket.c (gtk_socket_steal): docs fixes

	* gtk/gtkscrolledwindow.h: docs fixes

	* gtk/gtkimage.c (gtk_image_new): docs fixes
2001-09-08 06:24:46 +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
Jonathan Blandford
747b72533a Add "use_align" to give people the option to just make a cell visible.
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.
2001-08-24 20:09:26 +00:00
Kristian Rietveld
7cfc56dbd3 use GtkSortType instead of GtkTreeSortOrder. (#59173).
Thu Aug 23 20:01:41 2001  Kristian Rietveld  <kristian@planet.nl>

        * gtk/gtktreemodelsort.[ch], gtk/gtktreesortable.[ch],
        gtk/gtktreestore.[ch], gtk/gtktreeviewcolumn.[ch],
        gtk/gtkliststore.[ch]: use GtkSortType instead of GtkTreeSortOrder.
        (#59173).
2001-08-23 18:33:37 +00:00
Tim Janik
0b5311f5e9 chain parent class handlers, pointed out by Joshua N Pritikin
Thu Aug 23 16:26:47 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize):
        * gtk/gtktextmark.c (gtk_text_mark_finalize): chain parent class
        handlers, pointed out by Joshua N Pritikin <vishnu@pobox.com>.
2001-08-23 16:54:49 +00:00
Jonathan Blandford
56f78b5bdb Grr... Get it right.
Tue Aug 21 00:45:55 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_destroy): Grr... Get it right.
2001-08-21 04:49:15 +00:00
Jonathan Blandford
c600b2dcae *** empty log message *** 2001-08-21 03:53:13 +00:00
Jonathan Blandford
112eb9b2e5 Sun Aug 19 01:44:44 2001 Jonathan Blandford <jrb@redhat.com>>
* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_pack_{start,end}_cell_renderer): sink cell.

	* gtk/gtktreeview.c (gtk_tree_view_insert_column): sink column.
	(_gtk_tree_view_find_node): If *node is NULL,
	*tree should be NULL too.

	* demos/gtk-demo/stock_browser.c (do_stock_browser): don't unref
	column/renderers.
	* tests/testtreecolumns.c: ditto
	* tests/testtreefocus.c: ditto
	* tests/testtreesort.c: ditto
	* tests/testtreeview.c: ditto
	* tests/treestoretest.c: ditto
2001-08-19 06:58:11 +00:00
Jonathan Blandford
6ffd507dea 2 new signals; is_expander/is_expanded.
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.
2001-08-19 04:19:56 +00:00
Owen Taylor
aa49527fa7 Enforce the widget/child realization/mapping invariants.
Sat Jul  7 02:50:14 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_parent): Enforce
	the widget/child realization/mapping invariants.

	* gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add functions
	gtk_widget_[get/set]_child_visible() to control
	whether visible children of a mapped window are
	mapped.

	* docs/widget_system.txt: Updated for changes in
	container contract, and addition of GTK_CHILD_VISIBLE.

	* gtk/gtkcontainer.c: Add generic map()/unmap()
	functions that work for almost all containers.

	* gtk/gtknotebook.c gtk/gtkpacker.c: Use
	gtk_widget_set_child_visible() where necessary.

	* gtk/*.c: Remove excess map(), unmap(), and
	realization/mapping invariant enforcing code
	from many containers.
2001-07-19 14:57:15 +00:00
Owen Taylor
4e2b60ac4d Patch from Matthias Clasen to remove remove all instances of
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.
2001-07-18 23:39:26 +00:00
Jonathan Blandford
a4a7652d09 remove gtk_tree_model_get_first in favor of gtk_tree_model_get_iter_root.
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.
2001-07-09 17:09:35 +00:00
Owen Taylor
c1a14d036d Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)), not
Wed Jul  4 22:35:40 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
	  gtk/gtkwidget.c:
	Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
	not GTK_WIDGET_GET_ANCESTOR ... see
	http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html.
	Indicate the best practice in the docs for gtk_widget_get_toplevel().

	* gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(),
	so GtkPlug can give the correct signals when transforming
	from a child to a toplevel.

	* gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle
	reparentation correctly.

	* gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed):
	Propagate the previous_toplevel argument down properly.

	* gtk/gtklabel.c (gtk_label_finalize): Fix unrefing
	of wrong atr list.

	* gtk/gtkplug.[ch]: Add an "embedded" signal.

	* gtk/gtksocket.[ch]: Add "child_added", "child_removed"
	signals.

	* gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add
	functions gtk_plug_get_id(), gtk_socket_get_id(),
	to avoid the user having to worry about realization,
	and gdkx.h.

	* tests/testsocket.c: Extend to try out the new signals
	and gtk_plug/socket_get_id().

	* gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix
	setting of underline attributes.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
	DestroyNotify events from SubstructureNotifyMask

	* gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
	Switch GDK_WINDOW_TYPE (window) as needed.

	* gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up,
	allow creation of toplevel windows as children of
	foreign windows.

	* gtk/gtkplug.c: Remove hacks involving changing private
	fields of GdkWindow.

	* gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make
	exactly the same signals and notification
	be emitted for local embedding as for inter-process
	embedding.
2001-07-05 02:58:34 +00:00
Jonathan Blandford
ee5ff7ddc2 changed new_with_types to just plain new, fixing the number of columns,
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.
2001-06-30 02:38:17 +00:00
Havoc Pennington
49c1e6dc89 fixes to compile with G_DISABLE_COMPAT
2001-06-29  Havoc Pennington  <hp@redhat.com>

       * Throughout: fixes to compile with G_DISABLE_COMPAT
	(s/g_signal_connectc/g_signal_connect/,
	s/g_signal_newc/g_signal_new/,
	s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/)
2001-06-29 16:30:25 +00:00
Jonathan Blandford
b6f809739b Patch Thomas Broyer from <tbroyer@ltgt.net>. Expander arrows are now
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.
2001-06-29 03:11:01 +00:00
Tim Janik
10f047cf4c up version to 1.3.7, interface age 0, binary age 0. depend on glib 1.3.7.
Thu Jun 28 17:18:41 2001  Tim Janik  <timj@gtk.org>

	* configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface
	age 0, binary age 0. depend on glib 1.3.7.

	* gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.

	* gtk/gtkmenubar.c: same here.

	* gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.

	* gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.

	* gtk/gtkentry.c (gtk_entry_focus_in): same here.

	* gtk/gtkmenubar.c (add_to_window): likewise.

	* gtk/gtktextbtree.c: and here...

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.

	* gtk/gtktoolbar.c (gtk_toolbar_init): once more.

	* gtk/gtktreemodel.c (connect_ref_callbacks): and another time.

	* gtk/gtktreeviewcolumn.c:
	(_gtk_tree_view_column_set_tree_view): yet again.

	* demos/gtk-demo/images.c (progressive_timeout): demonstrate
	signal connections without g_signal_connect_data().

	* demos/gtk-demo/stock_browser.c (do_stock_browser): second
	demo of the matter.

	* demos/testpixbuf.c (main): running out of equality phrases for the
	ChangeLog, but had to adapt connections here as well.

	* demos/testanimation.c (progressive_timeout): and for the fun of it,
	tackled this the same way.

	* tests/testtext.c (create_view): ok, it's becoming a pain at this
	point, but had enough enery for one more fix.

	* tests/testtreecolumns.c (main): stand up man, do your work!

	* tests/testtreeview.c (set_columns_type): ok, this is the last file i
	fix, either that's been all of it or CVS gtk is broken yet again.
2001-06-28 17:12:40 +00:00
Jonathan Blandford
8eaa071617 New function to reflect that you can (hypothetically) pack cell renderers
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.
2001-06-27 23:44:53 +00:00
Kjartan Maraas
f10e18bfd6 Fix a typo.
2001-06-27  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtktreeviewcolumn.c: Fix a typo.
2001-06-27 23:34:43 +00:00
Havoc Pennington
0e0ee24bea s/RESIZEABLE/RESIZABLE/
2001-06-25  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
	s/RESIZEABLE/RESIZABLE/

	* gtk/gtkwindow.c, gtk/gtkwindow.h: s/resizeable/resizable/
2001-06-25 23:48:51 +00:00
Owen Taylor
cc223eeff6 Fix stupid error introduced last night that was making things decidedly
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().
2001-06-24 15:34:48 +00:00
Jonathan Blandford
451b224324 Fix bug #55573
Tue Jun  5 14:57:18 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
2001-06-05 19:01:30 +00:00
Jonathan Blandford
f3f7dd9e0c Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
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.
2001-06-05 15:30:53 +00:00
Jonathan Blandford
11043de66f Initial stab at getting the focus code to work.
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.
2001-06-01 22:57:30 +00:00
Jonathan Blandford
710fb020bf Remove almost all instances of GtkCellRenderer in code (all but dnd icon
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 23:10:49 +00:00
Jonathan Blandford
04af158605 Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS macros to
Tue May 22 16:25:27 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview*.h:
	* gtk/gtkcell*.h:
	* gtk/gtk*store.h:
	Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS
	macros to all objects.
2001-05-22 20:30:48 +00:00
Jonathan Blandford
66152ab6d0 Evil function to deal with very large (TM) amounts of text. May be moved
Tue May 22 15:13:52 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkcellrenderertext.c
	(gtk_cell_renderer_text_set_fixed_size): Evil function to deal
	with very large (TM) amounts of text.  May be moved to
	GtkCellRenderer in the future, though I'm not sure it wants to be
	this accessible.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
	More sanity brought to this class.  I like it.

	* tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
	case.  Kids, don't try this at home.

	* gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
	convenience function.

	* gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.
2001-05-22 19:18:47 +00:00
Jonathan Blandford
2970a2feee You can now set all sorts of properties in any order you wan, whether or
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.
2001-05-16 00:23:30 +00:00
Jonathan Blandford
31210813cb fix a fixme.
Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>

        * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.

        * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
        GTK_TYPE_STRING.

        * gtk/gtktreeview.c: New functions to allow initial column
        dragging work.

        * gtk/gtktreeviewcolumn.c: Initial column dragging support.

        * tests/testtreefocus.c: give dave some love.

        * tests/testtreesort.c: Modify test to check really long samples.
2001-04-12 16:11:54 +00:00
Jonathan Blandford
f19af6f49c Massive reordering/sorting work. Now pretty much works.
Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@webwynk.net>

	* gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
	reordering/sorting work.  Now pretty much works.

	* gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
	reorder mostly work.  Still need to get the parity correct.

	* gtk/gtktreeviewcolumn.c: Listen for "model" property changed
	signal, so I can listen for the sort_column_changed signal so I
	can change my "sort_indicator" property.  Cool.
2001-03-29 21:30:05 +00:00
Jonathan Blandford
88bbc2a534 More work on implementing sortable interface.
Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c: More work on implementing sortable
	interface.
2001-03-28 01:54:14 +00:00
Jonathan Blandford
b572436d35 Forgot to namespace this.
Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
	this.

	* gtk/gtktreestore.c (gtk_tree_store_set_value): change from
	set_cell to set_value

	* gtk/gtkliststore.c (gtk_list_store_set_value): change from
	set_cell to set_value
2001-03-23 21:12:33 +00:00
Jonathan Blandford
4d4af2941e s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN

	* gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.

	* gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
	everything into the ::destroy function, and freed a lot more.
2001-03-16 22:59:24 +00:00
Jonathan Blandford
e4d1660042 Changed prototype to allow for getting the location of the cell relative
Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkcellrenderer.h: Changed prototype to allow for getting
	the location of the cell relative to its area.
	* gtk/gtkcell*: modified for above change
	* gtk/gtktreeview.c: modified for above change.

Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
	 (gtk_tree_view_finalize): actually unref the model.  Thanks to
	Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
2001-03-15 23:21:39 +00:00
Tim Janik
06718ecfed added accumulator data argument to g_signal_newc() functions.
Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>

        * *.c: added accumulator data argument to g_signal_newc()
        functions.

        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model):
        * gtk/gtktreeview.c (gtk_tree_view_setup_model):
        * gtk/treestoretest.c (make_window):
        s/g_signal_connect/g_signal_connectc/.

        * gtk/gtktextbuffer.c: completed signal arg fixups,
        they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
2001-03-08 16:36:17 +00:00
Tim Janik
35af5c4eba marshaller fixes.
Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>

        * gtk/*.c: marshaller fixes.

        * gtk/gtkmarshal.list: extreme cleanup.

        * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
        param spec for now.

        * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
        where appliable.

        * gtk/gtktypeutils.[hc]: updates to GLib API changes.
        special cased autogenerated boxed types from gtktypebuiltins_ids.c
        which are not reference counted:
        GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
        PangoFontDescription, GtkTreeIter and GtkTreePath.

Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtktreeselection.h:
        * gtk/gtktreemodel.c:
        * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
        file should be included directly, and gobject/gmarshal.h
        as well as gtk/gtkmarshal.h even can't be included directly.

        * Makefile.am: grr, install gtk-config-2.0.

        * gtk/testgtk.c:
        * gtk/simple.c:
        * gtk/gtkmenu.c:
        * gtk/gtkitemfactory.c: use g_object_connect() instead of
        passing "*signal*::*" args to gtk_widget_set().

        * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.

        * gtk/*.c: removed trailer arg from property setters and getters.
        macro fixups.

Thu Mar  1 04:01:57 2001  Tim Janik  <timj@gtk.org>

        * test-gdk-pixbuf.c: fixed includes.
2001-03-07 14:49:21 +00:00
Jonathan Blandford
e83dca5093 Add "clicked" signal back to columns.
Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
	Add "clicked" signal back to columns.

	* ChangeLog: remove conflict markers.
2001-03-06 22:23:05 +00:00
Jonathan Blandford
3b2ffda1f5 renamed "child_toggled" to "has_child_toggled".
Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.c: renamed "child_toggled" to
	"has_child_toggled".

	* gtk/gtktreeview.c: Handle removing columns better.  Updated to
	handle new signal name.

	* gtk/gtktreestore.c: Updated to handle new signal name.
	* gtk/gtklisttore.c: Updated to handle new signal name.
	* gtk/gtktreemodelsort.c: Updated to handle new signal name.
2001-03-05 19:43:24 +00:00
Jonathan Blandford
193bed1896 Move handling of buttons fully in gtktreeviewcolumn. This code is less
Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
	Move handling of buttons fully in gtktreeviewcolumn.  This code is
	less interrelated then it was, but it still requires the
	GtkTreeView to map it.

	* test/testtreecolumn.c: Now I can add a column to one view,
	remove it, add it to the another view, remove it, then re-add it
	to the first.  Nifty.
2001-03-02 00:49:32 +00:00
Jonathan Blandford
1efdc10301 Only draw the column that is exposed.
Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
	column that is exposed.

	(_gtk_tree_view_update_size): Changed name from set_size, and
	changed function to do more work, and not force people calling it
	to figure out the size.  Simplifies a lot of code elsewhere.
2001-02-23 23:00:52 +00:00
Jonathan Blandford
334a40e893 Changed name to be set_cell_data_func to make it clear what the functino
Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
	Changed name to be set_cell_data_func to make it clear what
	the functino does.  Close bug #51069.

Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/testgtk.c (main): Remove turning on of profiling malloc,
	have memory actually freed.  Keeps box running longer.
2001-02-21 19:59:23 +00:00
Hans Breuer
c3aba35edf updated for win32 msvc build 2001-02-19 21:54:04 +00:00
Jonathan Blandford
b10825d537 removed gtk_*_store_get, and moved to GtkTreeModel.
Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
	gtk_*_store_get, and moved to GtkTreeModel.

	* gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.

	* gtk/Makefile.am: remove gtktreemodelmapping.[ch]

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
	set the func.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
	freeze/thaw notify between setting all the properties for a cell.

	* gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2001-02-17 00:16:08 +00:00
Havoc Pennington
4a3c8a367a remove validation idle
2001-02-08  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
	validation idle

	* demos/gtk-demo/main.c (create_tree): adjust to changes in text
	cell renderer

	* demos/pixbuf-demo.c (timeout): remove deprecated
	gtk_widget_draw

	* demos/testpixbuf-save.c (main): remove deprecated
	gtk_drawing_area_size

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
	buttons even if the model isn't setup. gtk_tree_view_check_dirty()
	at the start of the allocation.
	(gtk_tree_view_check_dirty): handle column->button == NULL, handle
	unsetup or NULL model.

	* gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the
	even/odd/sorted cells in the tree view.

	* gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
	bugfixes

	* gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
	backgrounds with draw_flat_box using different detail for even/odd
	rows.

	* gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
	row, so we can draw the alternating colors thing

	* gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
	property from a synonym property, notify for the synonym.
	Also, nuke the background_gdk_set and foreground_gdk_set synonyms
	(gtk_text_tag_get_property): Always return the font, even if
	all its fields aren't set

	* gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
	store the attr list; it leaves us with no way to change attributes
	in _render according to the render flags, and no way to implement
	get_property. Instead store all the specific text attributes.
	Separate whether an attribute is enabled from its value. Sync all
	properties with GtkTextTag, make them all consistent, etc.

	* gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
	renderers can highlight the sort row/column

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
	accessor functions to get values; this has the side effect of
	showing up which accessor functions were missing. Added those.

	* gtk/gtktreeviewcolumn.h: Replace set_justification with
	set_alignment, to be consistent with GtkLabel, GtkMisc

	* gtk/gtktreeviewcolumn.c: Added code to display sort indicator
	arrow.

	* gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h

	* gtk/gtktreesortable.h: updates in here
2001-02-08 23:36:53 +00:00
Havoc Pennington
ef4356b567 adapt to handle PangoColor
2001-01-26  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor

	* gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
	not offset by TREE_VIEW_HEADER_HEIGHT
	(gtk_tree_view_tree_to_widget_coords): fix to not offset by
	TREE_VIEW_HEADER_HEIGHT

	* configure.in (included_loaders): for me, --with-included-loaders
	generates the error "the specified loader yes does not exist",
	i.e. the arg defaults to "yes", so change test for value ""
	to test for value "yes", and include all loaders in that case.

	* gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function

	* gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
	handle TREE_VIEW_VERTICAL_SEPARATOR
	(gtk_tree_view_bin_expose): fix to consider the row offset as
	pointing halfway into vertical separator.
	(gtk_tree_view_draw_node_focus_rect): ditto

	* gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
	--gtk-debug=updates, which causes gdk_window_set_debug_updates
	(TRUE) to be called.

	* gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
	debug mode where the invalid region is colored in on invalidate,
	so you can see the flicker and know whether your redraw code is
	doing a good job.

	* gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in
	tree window coordinates (clip rect is in tree window coords)

	* gtk/Makefile.am: add gtktreednd.[hc]

	* gtk/gtkliststore.c: implement gtktreednd interfaces.

	* gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
	drag-and-drop data operations on a model (so we can set up tree
	drag-and-drop automatically)

	* gtk/testgtk.c: Add a window to change sensitivity in the
	GtkLabel test; add a way to change the entry frame in GtkEntry
	test

	* gtk/gtkentry.c (gtk_entry_set_has_frame):
	(gtk_entry_get_has_frame): new functions to remove the frame
	around an entry
	(gtk_entry_size_request): shrink requisition if no frame
	(gtk_entry_draw_focus): don't draw frame if no frame

	* gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
	checks inside a cell renderer
	(gtk_default_draw_option): ditto for options

	* gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
	children from the alignment, not the button
	(gtk_tree_view_column_init): ref/sink the column, to emulate
	GObject refcounting.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
	Use theme functions to draw the toggles

	* gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors

	* gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
	GdkPangoAttrEmbossed to use in rendering insensitive text

	* gdk/gdkpango.c (gdk_draw_layout_line): render new properties

	* gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
	using new GDK features
2001-01-26 21:12:05 +00:00
Havoc Pennington
e248e4e79e sync to tree changes
2001-01-19  Havoc Pennington  <hp@redhat.com>

	* demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes

	* gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
	function

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
	implement

	* gtk/gtktreeview.c (gtk_tree_view_move_to): rename
	scroll_to_cell, matches TextView scroll functions better
	(gtk_tree_view_tree_to_widget_coords): new function
	(gtk_tree_view_widget_to_tree_coords): new function
	(gtk_tree_view_get_visible_rect): new function
	(gtk_tree_view_get_path_at_pos): accept negative coordinates
	(gtk_tree_view_draw_node_focus_rect): new function moved from
	draw_focus, also, use width of bin_window as width of the focus
	rect
	(gtk_tree_view_expand_row): fix bug where it didn't recognize
	already-expanded rows
	(gtk_tree_view_get_cell_rect): new function
	(gtk_tree_view_get_path_at_pos): return the click position
	relative to the passed-in cell
	(gtk_tree_view_set_expander_column): new function

	* configure.in: remove gtk-config-2.0 chmod

	* gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
	and properly handle drags with targets we don't understand
	(gtk_text_view_drag_end): don't stop scrolling, the source isn't
	scrolling anyway
	(gtk_text_view_drag_drop): stop scrolling here though, and set the
	mark invisible

	* gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
	function
	(gtk_drag_dest_get_target_list): new function
	(gtk_drag_dest_set_target_list): new function

	* gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation

	* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
	related to drag-and-drop
2001-01-19 22:39:19 +00:00
Havoc Pennington
69c58e538a add this function, bug 40251
2001-01-10  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
	add this function, bug 40251

	* gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
	of type macro
2001-01-11 17:59:40 +00:00
Havoc Pennington
85267e9224 don't draw if label->layout is NULL due to a pending resize
2001-01-09  Havoc Pennington  <hp@redhat.com>

	* gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
	is NULL due to a pending resize

	* gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
	column width to values less than 1

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
	width to be between min/max width, and still set the width
	even if autosize is turned on, so the tree view can use this
	function in order to autosize.
	(gtk_tree_view_column_init): set initial width to 1 not 0

	* gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
	setter function to modify column width, so we get notification
	(gtk_tree_view_insert_iter_height): ditto
	(gtk_tree_view_calc_size): ditto
	(gtk_tree_view_check_dirty): ditto

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
	properties to change all the interesting attributes of the tree
	view column.
	(gtk_tree_view_column_set_header_clickable): rename set_clickable
	(gtk_tree_view_column_get_clickable): add
	(gtk_tree_view_column_set_cell_renderer): don't unset the current
	attributes; assume a cell renderer with equivalent object
	properties has been swapped in. Do g_object_notify().
	(gtk_tree_view_column_set_visible): g_object_notify
	(gtk_tree_view_column_get_sizing): rename from get_col_type
	(gtk_tree_view_column_set_sizing): g_object_notify
	(gtk_tree_view_column_set_width): add g_object_notify
	(gtk_tree_view_column_set_min_width): ditto
	(gtk_tree_view_column_set_max_width): ditto
	(gtk_tree_view_column_set_title): ditto
	(gtk_tree_view_column_set_clickable): ditto
	(gtk_tree_view_column_set_widget): ditto
	(gtk_tree_view_column_set_justification): ditto
2001-01-09 23:24:20 +00:00
Havoc Pennington
637c61da76 handle case where there are no rows in the model
2001-01-09  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
	there are no rows in the model

	* gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
	NULL, then return the start of the list

	* gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
	if we can't get any rows from an empty model

	* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
	extraneous * after function pointer typedef usage

	* Makefile.am: don't specify full path to cp and rm

	* gtk/gtkcellrenderertextpixbuf.c
	(gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
	NULL before dereferencing, fixes a segfault that happened from
	time to time

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
	use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
	and reindent the function
	(gtk_cell_renderer_pixbuf_get_size): indentation

	* gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
	we quit it
	(gtk_dialog_add_buttons_valist): add g_return_if_fail
	(gtk_dialog_set_default_response): New function, to set default
	button
	(gtk_dialog_set_response_sensitive): New function, to set
	sensitivity of buttons

	* gtk/gtkcellrendererpixbuf.c
	(gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
	(gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
	handle any G_TYPE_OBJECT subclass, not just the base class, and
	also boxed types.
	(_gtk_tree_data_list_value_to_node): ditto

	* gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if
	--gtk-debug=tree

	* gtk/gtkmain.c: add GTK_DEBUG_TREE

	* gtk/gtkdebug.h: add GTK_DEBUG_TREE
2001-01-09 17:45:34 +00:00
Jonathan Blandford
15b23123f7 Show menu items before adding to option menu.
Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>

	* tests/testtreeview.c (main): Show menu items before adding to
	option menu.

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
	around if we kill them.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
	Return if we pass in a NULL model.
2001-01-08 19:07:51 +00:00