summaryrefslogtreecommitdiff
path: root/gtk/gtktreeviewcolumn.h
Commit message (Collapse)AuthorAgeFilesLines
* handle rtl code.Jonathan Blandford2003-03-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sun Mar 2 23:35:57 2003 Jonathan Blandford <jrb@gnome.org> * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size): handle rtl code. * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size): ditto * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): ditto * gtk/gtktreeview.c: (invalidate_column), (invalidate_last_column), (gtk_tree_view_get_real_requested_width_from_column), (gtk_tree_view_size_allocate_columns), (gtk_tree_view_size_allocate), (gtk_tree_view_button_press), (gtk_tree_view_button_release_drag_column), (gtk_tree_view_update_current_reorder), (gtk_tree_view_motion_drag_column), (gtk_tree_view_bin_expose), (gtk_tree_view_key_press), (gtk_tree_view_header_focus), (gtk_tree_view_get_background_xrange), (gtk_tree_view_get_arrow_xrange), (gtk_tree_view_is_expander_column), (gtk_tree_view_set_column_drag_info), (gtk_tree_view_move_cursor_left_right): Add RTL support. * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): add an expand flag. * gtk/gtktreeviewcolumn.c: (gtk_tree_view_column_class_init), (gtk_tree_view_column_set_property), (gtk_tree_view_column_get_property), (gtk_tree_view_column_set_expand), (gtk_tree_view_column_get_expand), (gtk_tree_view_column_cell_process_action): Add support for expand flag
* add a gtk_list_store_sort_iter_changed line for some special case ...Kristian Rietveld2002-11-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value): add a gtk_list_store_sort_iter_changed line for some special case ... (#96647 (issue 1), testcases from Soeren Sandmann and Daniel Elstner). Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org> Inconsistent state for toggle renderers, requested by Paolo Bacchilega in #88130. * gtk/gtktreeprivate.h: move GtkCellRendererInfo here. * gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away, fix some indentation issues. * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init), (gtk_cell_renderer_toggle_set_property), (gtk_cell_renderer_toggle_get_property), (gtk_cell_renderer_toggle_render): add an inconsistent property. * gtk/gtkstyle.c (gtk_default_draw_check), (gtk_default_draw_option): support drawing inconsistent options/checks for cells. Tue Nov 26 22:14:14 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done), (gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid calling _editing_done twice (which has nasty side-effects). (#96647, (issue 2) testcase from Soeren Sandmann). Tue Nov 26 22:12:21 2002 Kristian Rietveld <kris@gtk.org> #82739, patch from Padraig O'Briain. * gtk/gtktreeviewcolumn.[ch]: add gtk_tree_view_column_cell_get_position() Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org> Yes, this chunk breaks ABI compatibility. Owen knows about it and agreed with it. It doesn't break ABI that bad though, things will still work. Please keep it silent :P. This patch fixes some keynav issues reported by Narayana Pattipati in #81633. (Also mentioned in #92037 (Sun tracking bug)). * gtk/gtkmarshalers.list: add two silly marshalers * gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all), (gtk_tree_view_real_unselect_all), (gtk_tree_view_real_select_cursor_row), (gtk_tree_view_real_toggle_cursor_row), (gtk_tree_view_real_expand_collapse_cursor_row), (gtk_tree_view_real_start_interactive_search): change the return type from void to gboolean, update prototypes, functions, signals and entries in GtkTreeViewClass, (gtk_tree_view_class_init): add select_cursor_row binding for enter key, (gtk_tree_view_key_press): only navigate the header button if the header is also visible ... Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org> API bit of #75745, reported by Richard Hult. * gtk/gtkcellrenderer.h (GtkCellRendererState): add GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
* Deprecation cleanupManish Singh2002-10-131-7/+10
| | | | | | | | | | | Sun Oct 13 12:29:15 2002 Manish Singh <yosh@gimp.org> * gtk/gtkcolorsel.[ch] gtk/gtkcombo.[ch] gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtktreeview.[ch] gtk/gtktreeviewcolumn.[ch]: Deprecation cleanup * gtk/gtkcolorseldialog.c: make window not resizable (lost accidently in the previous cleanup)
* The "big treeview focus patch". Fixes several issues and adds someKristian Rietveld2002-05-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Massive padding addition to class structures.Owen Taylor2002-02-231-0/+6
| | | | | | | | Sat Feb 23 11:54:12 2002 Owen Taylor <otaylor@redhat.com> * gtk/*.h gdk/*.h: Massive padding addition to class structures. * gtk/gtktextmark.h: Fix a FIXME about G_CONST_RETURN.
* change gtk_tree_view_column_cell_render, gtk_tree_view_column_cell_focus,Kristian Rietveld2002-02-191-16/+0
| | | | | | | | | | | | | | | | | | | | | 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)
* s/obj/klass/ where appropriatejacob berkman2001-12-121-1/+1
| | | | | | 2001-12-12 jacob berkman <jacob@ximian.com> * gtk/gtk*.h (GTK_IS_*_CLASS): s/obj/klass/ where appropriate
* get logic right, #66249Jonathan Blandford2001-12-081-6/+0
| | | | | | | | | | | | | | 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.
* Minor fix.Jonathan Blandford2001-12-041-4/+9
| | | | | | | | | | | | | | | | 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
* Add a "resizable" property, to get rid of theJonathan Blandford2001-11-191-1/+4
| | | | | | | | | | | | | | | | 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.
* Removed (gtk_tree_view_column_set_alignment): xalign = CLAMP (xalign, 0.0,Jonathan Blandford2001-09-251-2/+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
* Make a GtkCellEditable (get_widget_window_size): Change to let it honorJonathan Blandford2001-09-251-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* centralize all the editing codeJonathan Blandford2001-09-181-0/+1
| | | | | | | | | | | | | 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.
* Add editable interface. This should be the last big GtkTreeView APIJonathan Blandford2001-09-171-1/+6
| | | | | | | | | | | | | 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.
* Removed 'fill' attribute. It was silly b/c that was a property of the cellJonathan Blandford2001-09-081-9/+11
| | | | | | | | | | | | | | | | | 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
* Add "use_align" to give people the option to just make a cell visible.Jonathan Blandford2001-08-241-12/+12
| | | | | | | | | | | | | | 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.
* use GtkSortType instead of GtkTreeSortOrder. (#59173).Kristian Rietveld2001-08-231-3/+3
| | | | | | | | | 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).
* 2 new signals; is_expander/is_expanded.Jonathan Blandford2001-08-191-1/+3
| | | | | | | | | | | | 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.
* changed new_with_types to just plain new, fixing the number of columns,Jonathan Blandford2001-06-301-0/+4
| | | | | | | | | | | | | | | | | | 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.
* New function to reflect that you can (hypothetically) pack cell renderersJonathan Blandford2001-06-271-11/+25
| | | | | | | | | | | | | | | | | | 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.
* s/RESIZEABLE/RESIZABLE/Havoc Pennington2001-06-251-1/+1
| | | | | | | | | 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/
* Fix stupid error introduced last night that was making things decidedlyOwen Taylor2001-06-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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().
* Docs fixups, and:Havoc Pennington2001-06-151-1/+1
| | | | | | | | | 2001-06-14 Havoc Pennington <hp@redhat.com> Docs fixups, and: * gtk/gtkcompat.h: remove GTK_DISABLE_COMPAT_H, replace with GTK_DISABLE_DEPRECATED
* further justify gtk_tree_model_get_flags by adding a second flag for atk.Jonathan Blandford2001-06-121-2/+0
| | | | | | | | | | Tue Jun 12 12:41:27 2001 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreemodel.h (GTK_TREE_MODEL_LIST_ONLY): further justify gtk_tree_model_get_flags by adding a second flag for atk. * gtk/gtktreemodel.c: make cursor behavior interact better with mouse presses.
* Now it's a GObject instead of a GtkObject. TheJonathan Blandford2001-06-071-3/+0
| | | | | | | | | | | | | | Thu Jun 7 18:25:42 2001 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreeselection.c: Now it's a GObject instead of a GtkObject. The GtkTreeSelection::selection_changed signal is now the GtkTreeSelection::changed signal. * gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection object. * tests/gtktree*.c: Modified to deal with new GtkTreeSelection object.
* Fix bug #55573Jonathan Blandford2001-06-051-78/+81
| | | | | | Tue Jun 5 14:57:18 2001 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
* Initial stab at getting the focus code to work.Jonathan Blandford2001-06-011-7/+7
| | | | | | | | | | | | | | | | | | 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.
* Remove almost all instances of GtkCellRenderer in code (all but dnd iconJonathan Blandford2001-05-251-62/+83
| | | | | | | | | | | | | | 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.
* Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS macros toJonathan Blandford2001-05-221-1/+1
| | | | | | | | | | 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.
* You can now set all sorts of properties in any order you wan, whether orJonathan Blandford2001-05-161-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* fix a fixme.Jonathan Blandford2001-04-121-0/+6
| | | | | | | | | | | | | | | | | | 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.
* Massive reordering/sorting work. Now pretty much works.Jonathan Blandford2001-03-291-2/+3
| | | | | | | | | | | | | | 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.
* More work on implementing sortable interface.Jonathan Blandford2001-03-281-2/+14
| | | | | | | Tue Mar 27 20:55:29 2001 Jonathan Blandford <jrb@redhat.com> * gtk/gtkliststore.c: More work on implementing sortable interface.
* Forgot to namespace this.Jonathan Blandford2001-03-231-7/+7
| | | | | | | | | | | | | 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
* s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMNJonathan Blandford2001-03-161-5/+5
| | | | | | | | | | | 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.
* Changed prototype to allow for getting the location of the cell relativeJonathan Blandford2001-03-151-2/+3
| | | | | | | | | | | | | | | 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.
* Only draw the column that is exposed.Jonathan Blandford2001-02-231-1/+1
| | | | | | | | | | | 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.
* Changed name to be set_cell_data_func to make it clear what the functinoJonathan Blandford2001-02-211-8/+10
| | | | | | | | | | | | | 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.
* updated for win32 msvc buildHans Breuer2001-02-191-1/+1
|
* removed gtk_*_store_get, and moved to GtkTreeModel.Jonathan Blandford2001-02-171-6/+12
| | | | | | | | | | | | | | | | | | | | | 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
* remove validation idleHavoc Pennington2001-02-081-14/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* sync to tree changesHavoc Pennington2001-01-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add this function, bug 40251Havoc Pennington2001-01-111-0/+1
| | | | | | | | | | 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
* don't draw if label->layout is NULL due to a pending resizeHavoc Pennington2001-01-091-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* handle case where there are no rows in the modelHavoc Pennington2001-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add thisHavoc Pennington2001-01-041-2/+2
| | | | | | | | | | | | | | | | | | | 2001-01-04 Havoc Pennington <hp@redhat.com> * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add this * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to user_data instead of tree_node * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from TREE_VIEW_COLUMN_SIZE * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename "size" field to "width" finishes bug 40061 * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint for bitfields, bug 40268
* Rename some stuff:Havoc Pennington2001-01-041-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-04 Havoc Pennington <hp@redhat.com> Rename some stuff: s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g; s/GtkModelSimple/GtkTreeModelSimple/g; s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g; s/gtk_model_simple/gtk_tree_model_simple/g; s/gtkmodelsimple/gtktreemodelsimple/g; s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g; s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g; s/column_set_col_type/column_set_sizing/g; s/GtkTreeSelectionType/GtkTreeSelectionMode/g; s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g; s/GtkCellRendererType/GtkCellRendererState/g; * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h (gtk_cell_renderer_toggle_class_init): change "state" property to "active", to match GtkToggleButton (gtk_cell_renderer_toggle_get_active): new function, bug 40269 (gtk_cell_renderer_toggle_set_active): new function (gtk_cell_renderer_toggle_set_property): route changes to toggle state through gtk_cell_renderer_set_active
* Port to GObject, can go back in gdk-pixbuf after setting up aHavoc Pennington2000-12-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-16 Havoc Pennington <hp@pobox.com> * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: Port to GObject, can go back in gdk-pixbuf after setting up a gdk-pixbuf-marshal.h header over there. * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g; (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal args (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be set (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons here, do it when we create the buttons later (gtk_tree_view_realize_buttons): add some g_return_if_fail (gtk_tree_view_map): paranoia checks that column->button is shown and unmapped (gtk_tree_view_size_request): only request visible children. Move header size calculation in here, for cleanliness, and to maintain invariants for child widgets if we eventually let users set different children inside the buttons (gtk_tree_view_map_buttons): factor out code to map buttons, since it was being called several times (gtk_tree_view_size_allocate_buttons): move_resize the drag windows instead of just moving them; their height may change if we allow random widgets in there, or the theme changes. (gtk_tree_view_size_allocate): move button size allocation above emitting the scroll signals, to ensure a sane state when we hit user code (gtk_tree_view_button_release): remove queue_resize after tree_view_set_size(), set_size() will handle any resize queuing that's needed (gtk_tree_view_focus_in): just queue a draw, don't fool with draw_focus goo (gtk_tree_view_focus): use gtk_get_current_event() and gdk_event_get_state() (gtk_tree_view_deleted): don't queue_resize() after calling set_size() (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove semicolon (gtk_tree_view_create_button): show the button here (gtk_tree_view_button_clicked): actually emit the clicked signal on the column (_gtk_tree_view_set_size): return right away if the size is unchanged, as a cheesy optimization (gtk_tree_view_setup_model): rename set_model_realized to setup_model to match the flag that indicates whether we've called it (gtk_tree_view_get_hadjustment): create adjustment if it doesn't exist, because set_scroll_adjustment does that and it shouldn't matter what order you call these in (gtk_tree_view_get_vadjustment): ditto (gtk_tree_view_set_headers_visible): canonicalize the bool, for paranoia (gtk_tree_view_set_headers_visible): call gtk_tree_view_map_buttons() instead of using cut-and-paste code (gtk_tree_view_append_column): clarify whether the return value is the count of columns before or after, and do the increment separately from the return statement so you can tell from the code. (gtk_tree_view_remove_column): ditto (gtk_tree_view_insert_column): ditto (gtk_tree_view_get_column): remove g_return_if_fail for columns outside the existing range, the docs say that outside-range columns are allowed, so we handle them as documented. (Presumably this allows a nice loop with column != NULL as test.) (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments mean (left/right/center etc.). (gtk_tree_view_collapse_all): only queue a draw if we're mapped (gtk_tree_view_expand_row): add docs (gtk_tree_view_collapse_row): add docs * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new function to emit the clicked signal on a column * gdk/gdkevents.c (gdk_event_get_state): new function, to get the state of an event (gdk_event_get_time): don't treat GDK_SCROLL as a button event, remove default case from switch so gcc will whine if we don't explicitly handle all event types * gtk/gtktreeselection.h: added some FIXME * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename "columns" to "n_columns" and "column" to "columns" for clarity
* added more fields to allow more interesting iterators. Also, made theJonathan Blandford2000-11-091-41/+43
| | | | | | | | | | | | | Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to allow more interesting iterators. Also, made the lifecycle of iterators more explicit. * gtk/gtktreemodelsort.[ch]: New model for sorting. * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed types.
* New function.Jonathan Blandford2000-10-301-1/+1
| | | | | | | | | | | | | | | | | | Mon Oct 30 19:23:50 2000 Jonathan Blandford <jrb@redhat.com> * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function. * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function. * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c, gtk/gtktreeviewcolumn.h: Fixed inline docs. * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree widget. Needs writing someday. * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to the docs.