1. 27 Feb, 2012 1 commit
  2. 11 Feb, 2012 2 commits
  3. 29 Nov, 2011 1 commit
    • Benjamin Otte's avatar
      treeview: Rename function · 806dca06
      Benjamin Otte authored
      _gtk_tree_view_find_path() was not a name that not really described what
      the function does. And I kept forgetting it. Also, it took the tree view
      as an argument and that was completely unnecessary.
      806dca06
  4. 27 Jan, 2011 1 commit
    • Carlos Garnacho's avatar
      Make GtkTreeView use GtkStyleContext · 08af1783
      Carlos Garnacho authored
      Expander animation has been replaced by implicit animations
      from the style context.
      
      Column headers are also properly themed, GtkContainer::get_path_for_child()
      is implemented and the treeview resets column buttons style on columns
      being reordered.
      
      The default CSS has changed to theme treeviews sensibly.
      08af1783
  5. 07 Jan, 2011 1 commit
    • Kristian Rietveld's avatar
      Introduce gtk_tree_view_is_blank_at_pos() · 4ed78177
      Kristian Rietveld authored
      This function is useful to figure out whether the tree view is "blank"
      at a given location.  For such locations you might want to popup a
      custom popup menu, clear the current selection or start rubber banding.
      In the future, we are planning on updating GtkTreeView's user
      interactions to take advantage of this new function.
      
      Part of bug 350618.
      4ed78177
  6. 15 Dec, 2010 1 commit
    • Kristian Rietveld's avatar
      Revisit "Handle clicks in indentation area" · c8d130ef
      Kristian Rietveld authored
      Check (x, y) is inside background area.  If yes, continue processing
      and clamp the coordinates into cell area.  This way we will properly
      handle getting a cell (which is only used for setting the focus cell)
      for clicks in the indentation area (in LTR and RTL mode) and clicks
      in the focus rectangle area in case focus-line-width is large.
      c8d130ef
  7. 12 Dec, 2010 1 commit
  8. 06 Dec, 2010 1 commit
    • Tristan Van Berkom's avatar
      Changed GtkTreeViewColumn->requested_width to ->padding · bf1aa2ad
      Tristan Van Berkom authored
      Now we bookkeep the treeview assigned padding asides from the
      requested width stored in the GtkCellAreaContext, this removes
      the need for bookkeeping the deepest expanded depth in gtktreeview.c
      
      At allocation time, just remove the padding from the allocated width
      of the column and feed the rest to the underlying cell area.
      bf1aa2ad
  9. 05 Dec, 2010 9 commits
  10. 29 Nov, 2010 1 commit
  11. 28 Nov, 2010 1 commit
    • Kristian Rietveld's avatar
      First go at migrating GtkTreeView(Column) to GtkCellArea · 6fe9df2f
      Kristian Rietveld authored
      This is still very much a work in progress, but it renders and more or
      less works.  I will be fixing up the details in the very near future.
      
      Important: this commit breaks ABI as it modifies the GtkTreeViewColumn
      structure in gtktreeviewcolumn.h.  This is a sealed structure that needs
      to be moved to an internal header file, most likely gtktreeprivate.h.
      6fe9df2f
  12. 26 Oct, 2010 1 commit
    • Tristan Van Berkom's avatar
      Added GtkScrollablePolicy property to scrollable interface · 3fe0fb4e
      Tristan Van Berkom authored
      This patch adds the GtkScrollablePolicy type property to GtkScrollable
      and implements it in all subclasses. GtkScrolledWindow observes this
      property to make a good guess about when to show/hide scrollbars for
      height-for-width content.
      
      Most scrollable children do not do height-for-width *yet* but
      most certainly will (toolpalette, treeview, iconview, textview
      widgets all TODO), for scrollable widgets that do have a minimum
      and natural size, it's important for them to observe the state
      of this property in order to properly drive the scroll adjustments
      according to the desired GtkScrollablePolicy. This patch makes
      GtkViewport do this.
      
      Patch also adds tests/testscrolledwindow.c to display the effects
      of this property.
      3fe0fb4e
  13. 22 Oct, 2010 2 commits
  14. 26 Sep, 2010 1 commit
  15. 26 Jul, 2010 1 commit
  16. 25 May, 2010 1 commit
  17. 21 Apr, 2010 1 commit
  18. 04 Apr, 2010 3 commits
    • Kristian Rietveld's avatar
      Correct problems with earlier fix for bug #480065 · a763546c
      Kristian Rietveld authored
      Initialize event_last_[xy] to out of range coordinates and also update
      these values in enter and leave notify.  Fix up calls to
      update_prelight() from size allocate.  Unconditionally doing these calls
      caused problems with hover selection.  Now we only do this call when
      the "width before the expander column" has changed.  (Which might be
      awkward, but it is the best heuristic I could come up with so far).
      a763546c
    • Kristian Rietveld's avatar
      Bug 480065 - wrong tree collapsed (or expanded) after having scrolled · 0cbf76ed
      Kristian Rietveld authored
      Commit again after revert.
      
      Store (x, y) of last motion event.  From
      gtk_tree_view_adjustment_changed(), call prelight_or_select() so that
      the prelight is recalculated.  We do the same from
      gtk_tree_view_size_allocate() for the case that clicking on an expander
      shows new rows that resize the column(s) left of the expander.  This
      means that the expander is moved horizontally, in such a case the
      prelight also has to be reconsidered.
      0cbf76ed
    • Benjamin Otte's avatar
      Revert dd511e82 · fb0968a9
      Benjamin Otte authored
      The patch completely breaks entry completion - as can be seen when using
      epiphany. Bug 480065 has been reopened.
      fb0968a9
  19. 21 Dec, 2009 2 commits
    • Kristian Rietveld's avatar
      Correct problems with earlier fix for bug #480065 · f59294fd
      Kristian Rietveld authored
      Initialize event_last_[xy] to out of range coordinates and also update
      these values in enter and leave notify.  Fix up calls to
      update_prelight() from size allocate.  Unconditionally doing these calls
      caused problems with hover selection.  Now we only do this call when
      the "width before the expander column" has changed.  (Which might be
      awkward, but it is the best heuristic I could come up with so far).
      f59294fd
    • Kristian Rietveld's avatar
      Bug 480065 - wrong tree collapsed (or expanded) after having scrolled · f223577a
      Kristian Rietveld authored
      Commit again after revert.
      
      Store (x, y) of last motion event.  From
      gtk_tree_view_adjustment_changed(), call prelight_or_select() so that
      the prelight is recalculated.  We do the same from
      gtk_tree_view_size_allocate() for the case that clicking on an expander
      shows new rows that resize the column(s) left of the expander.  This
      means that the expander is moved horizontally, in such a case the
      prelight also has to be reconsidered.
      f223577a
  20. 19 Dec, 2009 1 commit
  21. 16 Dec, 2009 1 commit
    • Benjamin Otte's avatar
      Revert dd511e82 · 96472854
      Benjamin Otte authored
      The patch completely breaks entry completion - as can be seen when using
      epiphany. Bug 480065 has been reopened.
      96472854
  22. 27 Nov, 2009 3 commits
    • Kristian Rietveld's avatar
      Bug 596473 - Second double-click of GtkTreeView row doesn't emit... · 2ef9b989
      Kristian Rietveld authored
      Rework double click handling in GtkTreeView.  We cannot blindly use
      the 2BUTTON_PRESS and 3BUTTON_PRESS events.  In case a user does two
      fast double clicks, we receive a 3BUTTON_PRESS and BUTTON_PRESS.  We
      cannot easily deduce two double clicks from this.
      
      We have removed the bookkeeping using row references of the last paths
      clicked.  Instead we monitor event time, (x, y) coordinates and compare
      against double-click-time and double-click-distance ourselves.
      2ef9b989
    • Kristian Rietveld's avatar
      Bug 480065 - wrong tree collapsed (or expanded) after having scrolled · dd511e82
      Kristian Rietveld authored
      Store (x, y) of last motion event.  From
      gtk_tree_view_adjustment_changed(), call prelight_or_select() so that
      the prelight is recalculated.  We do the same from
      gtk_tree_view_size_allocate() for the case that clicking on an expander
      shows new rows that resize the column(s) left of the expander.  This
      means that the expander is moved horizontally, in such a case the
      prelight also has to be reconsidered.
      dd511e82
    • Kristian Rietveld's avatar
      Logically re-group fields in GtkTreePrivate structure · d3592dc2
      Kristian Rietveld authored
      This should now cause much less of a headache than before.  Fields have
      been properly reordered, each group has been given a comment.  Since the
      GtkTreePrivate structure is private (as the name says), this should not
      have any effect on ABI.
      d3592dc2
  23. 26 Oct, 2009 1 commit
  24. 15 Jun, 2009 1 commit
    • Federico Mena Quintero's avatar
      bgo#580560 - Make Backspace work in the file chooser to to to the parent directory · 2b3de3dd
      Federico Mena Quintero authored
      GtkFileChooserDefault actually implements a binding signal for
      Backspace, to make it go to the parent directory.  However,
      GtkTreeView was eating our Backspace, and thus the file chooser was
      not getting a chance to execute its binding signal.
      
      GtkTreeView implements a Backspace binding itself, which it uses to
      move to the parent node of the current cursor node.  However, the
      binding handler would return TRUE even if there was no parent to the
      current node.  Now the binding handler only returns TRUE if it
      actually changed the cursor.
      
      Additionally, gtk_tree_view_key_press() sees if no bindings handled a
      key press; in that case, it re-sends the key press to the treeview's
      search entry.  However, sending a Backspace to an empty entry makes
      the entry beep.  Thus, we add a flag that gets set from GtkTreeView's
      Backspace binding handler, to tell gtk_tree_view_key_press() when it
      should *not* re-emit the key press on the search entry.  Sort of,
      "yeah, I didn't handle this key press, but I don't want you to send it
      to the search entry, either!".
      Signed-off-by: 's avatarFederico Mena Quintero <federico@novell.com>
      2b3de3dd
  25. 11 Jul, 2008 1 commit
    • Kristian Rietveld's avatar
      Fix #316087. · 2cc12474
      Kristian Rietveld authored
      2008-07-11  Kristian Rietveld  <kris@gtk.org>
      
      	Bug 316087 - Resizing columns is chaotic
      
      	* gtk/gtktreeprivate.h: add new member fields.
      
      	* gtk/gtktreeview.c (gtk_tree_view_init), (validate_row): set post
      	validation flag,
      	(gtk_tree_view_size_allocate_columns): rework the size allocation
      	mechanism to only recalculate the expand values if the width of the
      	widget, content or the column configuration has changed,
      	(gtk_tree_view_size_allocate): move call to size_allocate_columns()
      	to before the adjustment updates so the proper width is used after
      	we updated it,
      	(gtk_tree_view_button_press), (gtk_tree_view_motion_resize_column):
      	use the column width minus the expand value for the resized width,
      	(gtk_tree_view_move_column_after): update call to
      	gtk_tree_view_size_allocate_columns().
      
      	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_expand): set use
      	resized width to FALSE.
      
      	* tests/Makefile.am:
      	* tests/testtreecolumnsizing.c: new interactive test program
      	for testing column resizing with different column configurations.
      
      
      svn path=/trunk/; revision=20818
      2cc12474