1. 26 Jan, 2011 1 commit
  2. 24 Jan, 2011 1 commit
  3. 20 Jan, 2011 3 commits
  4. 14 Jan, 2011 1 commit
  5. 04 Jan, 2011 1 commit
  6. 20 Dec, 2010 1 commit
    • Havoc Pennington's avatar
      Add invariant that a child is unmapped if parent is unmapped · b67c5af5
      Havoc Pennington authored
      Requires fixes to GtkContainer and GtkWindow to unmap their
      children, rather than just withdrawing or hiding the container
      window.
      
      Requires fix to GtkHandleBox to chain up to GtkContainer unmap.
      
      Historically we avoided these unmaps for efficiency reasons,
      but these days it's a bigger problem that there's no way
      for child widgets to know that one of their ancestors has
      become unmapped.
      b67c5af5
  7. 07 Dec, 2010 1 commit
  8. 04 Dec, 2010 3 commits
  9. 13 Nov, 2010 1 commit
  10. 10 Nov, 2010 1 commit
  11. 05 Nov, 2010 1 commit
  12. 04 Nov, 2010 1 commit
  13. 22 Oct, 2010 1 commit
    • Tristan Van Berkom's avatar
      Fixed problems with combination of height-for-width apis and · d26ac642
      Tristan Van Berkom authored
      alignment/margin vfuncs adjust_size_request/allocation
      
      Now get_height_for_width() will internally update the for_width
      before passing it to the real height_for_width() vfunc, allowing
      margins and extra space for alignments to be stripped, thus requesting
      sufficient height for greater than natural widths (and also accounting
      for margins properly). Test case adjusted in testadjustsize to ensure
      proper behavior.
      d26ac642
  14. 21 Oct, 2010 1 commit
  15. 20 Oct, 2010 1 commit
  16. 19 Oct, 2010 2 commits
  17. 13 Oct, 2010 1 commit
    • Havoc Pennington's avatar
      Add horizontal and vertical expand flags, compute_expand() to GtkWidget · 031856eb
      Havoc Pennington authored
      GtkWidget now has flags for horizontal and vertical expand, and
      a compute_expand() method. compute_expand() is used by containers
      to set a default expand flag. (If a widget has expand set explicitly,
      it always overrides the results of compute_expand.)
      
      GtkContainer has a default implementation of compute_expand which
      simply walks over all child widgets and sets expand=TRUE
      if any child is expanding.
      
      The overall effect is that you only have to set expand on
      leaf nodes in the widget tree, while previously you had to
      set expand all the way up the tree as you packed every
      container. Also, now containers need not have their own child
      properties for expand.
      
      For old containers which do have "expand" child properties,
      they should override compute_expand and include the child
      properties in whether the container is expand=TRUE.
      Also, the old container should use
      "child_prop_expand || gtk_widget_compute_expand()" everywhere
      it previously used simply "child_prop_expand"
      
      https://bugzilla.gnome.org/show_bug.cgi?id=628902
      031856eb
  18. 11 Oct, 2010 3 commits
    • Owen W. Taylor's avatar
      Fix handling of the geometry widget · 88cf5470
      Owen W. Taylor authored
      The geometry widget feature of gtk_window_set_geometry_hints() has
      never really worked right because the calculation that GTK+ did to
      compute the base size of the window only worked when the geometry
      widget had a larger minimum size than anything else in the window.
      
      Setup:
      * Move the GtkSizeGroup private functions to a new private header
        gtksizegroup-private.h
      * Add the possibilty to pass flags to _gtk_size_group_queue_resize(),
        with the flag GTK_QUEUE_RESIZE_INVALIDATE_ONLY to suppress adding
        the widget's toplevel to the resize queue.
      * _gtk_container_resize_invalidate() is added to implement that feature
      * _gtk_widget_override_size_request()/_gtk_widget_restore_size_request()
        allow temporarily forcing a large minimum size on the geometry
        widget without creating resize loops.
      
      GtkWindow:
      * Compute the extra width/height around the geometry widget
        correctly; print a warning if the computation fails.
      * Always make the minimum size at least the natural minimum
        size of the toplevel; GTK+ now fails badly with underallocation.
      * Always set the base size hint; we were failing to set it
        properly when the specified minimum size was overriden, but
        it's harmless to always set it.
      
      Tests:
      * New test 'testgeometry' that replaces the 'gridded geometry' test
        from testgtk. The new test is roughly similar but creates a bunch
        of windows showing different possibilities.
      * The testgtk test is removed. No need to have both.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=68668
      88cf5470
    • Tristan Van Berkom's avatar
    • Javier Jardón's avatar
  19. 08 Oct, 2010 1 commit
  20. 27 Sep, 2010 2 commits
  21. 26 Sep, 2010 4 commits
    • Benjamin Otte's avatar
      Move GtkSizeRequest into GtkWidget · d9c92598
      Benjamin Otte authored
      It doesn't make sense to keep them separate as GtkSizeRequest requires a
      GtkWidget and GtkWidget implements GtkSizeRequest, so you can never have
      one without the other.
      It also makes the code a lot easier because no casts are required when
      calling functions.
      
      Also, the names would translate to gtk_widget_get_width() and people
      agreed that this would be a too generic name, so a "preferred" was added
      to the names.
      
      So this patch moves the functions:
      gtk_size_request_get_request_mode() => gtk_widget_get_request_mode()
      gtk_size_request_get_width() => gtk_widget_get_preferred_width()
      gtk_size_request_get_height() => gtk_widget_get_preferred_height()
      gtk_size_request_get_size() => gtk_widget_get_preferred_size()
      gtk_size_request_get_width_for_height() =>
        gtk_widget_get_preferred_width_for_height()
      gtk_size_request_get_height_for_width() =>
        gtk_widget_get_preferred_height_for_width()
      ... and moves the corresponding vfuncs to the GtkWidgetClass.
      
      The patch also renames the implementations of the vfuncs in widgets to
      include the word "preferrred".
      d9c92598
    • Benjamin Otte's avatar
      API: Remove gtk_container_propagate_expose() · 9aa4f417
      Benjamin Otte authored
      Also, move the documentation to its replacement
      gtk_widget_propagate_draw().
      9aa4f417
    • Benjamin Otte's avatar
      container: Implement gtk_container_propagate_draw() without fallbacks · 7947b3fa
      Benjamin Otte authored
      No more fallbacks to gtk_container_propagate_expose().
      7947b3fa
    • Benjamin Otte's avatar
      API: Add gtk_container_propagate_draw() · 0cbe62f9
      Benjamin Otte authored
      Equivalent to gtk_container_propagate_expose(), just for the draw event.
      Also port GtkContainer to the draw vfunc
      0cbe62f9
  22. 21 Sep, 2010 1 commit
  23. 17 Sep, 2010 1 commit
  24. 15 Sep, 2010 1 commit
  25. 13 Sep, 2010 1 commit
  26. 08 Sep, 2010 1 commit
    • Tristan Van Berkom's avatar
      Completely removed requisition cache from GtkWidget instance structure. · 99340074
      Tristan Van Berkom authored
      Since we have a new mechanism for requesting sizes: GtkSizeRequestIface;
      it makes no sense to maintain this cache on the GtkWidget structure...
      removing the requisition cache however does not break the old "size-request"
      signal which is there for backwards compatability reasons.
      
      In any case widget->requisition should not have been accessed,
      gtk_widget_get_child_requisition() would have been the correct way
      to consult the cache.
      
      This commit also deprecates the newly added gtk_widget_get_requisition()
      API and makes it fallback on gtk_size_request_get_size().
      99340074
  27. 01 Sep, 2010 3 commits