1. 11 Feb, 2022 1 commit
  2. 24 Jul, 2021 1 commit
  3. 22 May, 2021 1 commit
  4. 11 Mar, 2021 1 commit
  5. 07 Dec, 2020 4 commits
  6. 21 Aug, 2020 1 commit
  7. 30 Jun, 2019 2 commits
  8. 11 Jun, 2019 1 commit
  9. 27 May, 2019 1 commit
  10. 12 Apr, 2019 1 commit
    • Emmanuele Bassi's avatar
      Add default GtkLayoutManagerClass.get_request_mode() · a27737b0
      Emmanuele Bassi authored
      Just like GtkContainer provides a default implementation of
      GtkWidgetClass.get_request_mode(), we can do the same inside
      GtkLayoutManager.
      
      A default implementation preserves the behavior of existing widgets that
      moved, or will move, to a GtkLayoutManager.
      a27737b0
  11. 28 Mar, 2019 2 commits
    • Emmanuele Bassi's avatar
      Connect LayoutManager to LayoutChild · 3f0f7c73
      Emmanuele Bassi authored
      If we want to inspect the type of layout properties exposed by a
      GtkLayoutManager, we need a way to connect the layout manager type to
      the GtkLayoutChild type it creates. In order to do so, we can set the
      GtkLayoutChild type on a field of the GtkLayoutManagerClass structure.
      
      Storing the GtkLayoutChild type on the class structure of the layout
      manager also allows us to implement a default create_layout_child()
      virtual function.
      3f0f7c73
    • Emmanuele Bassi's avatar
      65c394db
  12. 26 Mar, 2019 6 commits
    • Emmanuele Bassi's avatar
      Do not connect to a non-existing signal · 3389ddf6
      Emmanuele Bassi authored
      The GtkWidget::parent-set signal was removed in ff6cd8f7.
      
      Instead of removing GtkLayoutChild instances associated to a widget
      using notifications when the widget's parent changes, we can have
      gtk_widget_unparent() call a method on GtkLayoutManager to remove any
      eventual GtkLayoutChild instances associated to the widget.
      3389ddf6
    • Emmanuele Bassi's avatar
      Drop warning from GtkLayoutManager::get_request_mode() · 341660e0
      Emmanuele Bassi authored
      We can return a sensible default value, so we don't really need to warn
      about a missing implementation.
      341660e0
    • Emmanuele Bassi's avatar
      Changes after review · 65965bed
      Emmanuele Bassi authored
       - Rename GtkLegacyLayout to GtkCustomLayout
       - Use for() to iterate over children in GtkBinLayout
       - Whitespace fixes for code imported from GtkBox
       - Store the GtkLayoutChild instances inside LayoutManager
       - Simplify the GtkLayoutManager API by dropping unnecessary arguments
       - Fix the ownership model of GtkLayoutManager
      65965bed
    • Emmanuele Bassi's avatar
      Add GtkLayoutChild · 5cbf6f5f
      Emmanuele Bassi authored
      Layout managers needs a way to store properties that control the layout
      policy of a widget; typically, we used to store these in GtkContainer's
      child properties, but since GtkLayoutManager is decoupled from the
      actual container widget, we need a separate storage. Additionally, child
      properties have their own downsides, like requiring a separate, global
      GParamSpecPool storage, and additional lookup API.
      
      GtkLayoutChild is a simple GObject class, which means you can introspect
      and document it as you would any other type.
      5cbf6f5f
    • Emmanuele Bassi's avatar
      Hook GtkLayoutManager into GtkWidget · 1b8595b5
      Emmanuele Bassi authored
      We delegate the size request mode, the measuring, and the allocation of
      a widget through a GtkLayoutManager instance, if one has been attached
      to the widget; otherwise, we fall back to the widget's own implementation.
      1b8595b5
    • Emmanuele Bassi's avatar
      Add GtkLayoutManager · 24754c32
      Emmanuele Bassi authored
      A base abstract class for layout manager delegate objects.
      
      Layout managers are associated to a single widget, like event
      controllers, and are responsible for measuring and allocating the
      children of the widget they are bound to.
      24754c32