1. 08 Apr, 2013 7 commits
    • Tristan Van Berkom's avatar
      Add Composite Child machinery and APIs to GtkWidget · 3b7fc8cd
      Tristan Van Berkom authored
      This commit implements the needed machinery for GtkWidget
      to build it's composite content from GtkBuilder XML and
      adds the following API:
      
        o gtk_widget_init_template()
      
          An api to be called in instance initializers of any
          GtkWidget subclass that uses template XML to build it's components.
      
        o gtk_widget_class_set_template()
      
          API to associate GtkBuilder XML to a given GtkWidget subclass
      
        o gtk_widget_class_automate_child()
      
          API to declare an object built by GtkBuilder to be associated
          with an instance structure offset and automatically set.
      
       o gtk_widget_get_automated_child()
      
         API for bindings to fetch a child declared to be automated by
         gtk_widget_class_automate_child(), for the case where bindings
         do not generate GObjects under the hood and cannot use structure
         offsets to resolve composite object pointers.
      
       o gtk_widget_class_declare_callback[s]()
      
         Declare static functions to be used in signal callbacks from
         a given class's template XML
      
       o gtk_widget_class_set_connect_func()
      
         API for bindings to override the signal connection machinery
         for a given GtkWidget derived class.
      3b7fc8cd
    • Tristan Van Berkom's avatar
      GtkBuilder: Allow G_PARAM_CONSTRUCT properties to be set on internal children. · 64b87824
      Tristan Van Berkom authored
      This patch allows properties of type G_PARAM_CONSTRUCT to be set
      on internal children or explicitly constructed objects (built
      with <constructor>) while previously, G_PARAM_CONSTRUCT properties
      being set on already constructed objects would result in an misinformed
      warning that "construct-only properties cannot be set".
      
      G_PARAM_CONSTRUCT_ONLY properties are still refused as parameters
      to already constructed children.
      64b87824
    • Tristan Van Berkom's avatar
      GtkBuilder: Add private _gtk_builder_extend_with_template() · b7da0d21
      Tristan Van Berkom authored
      This adds the definition of the <template> tag with some documentation
      on the variant of the format.
      
      _gtk_builder_extend_with_template() is to be used while GtkContainer
      builds from composite templates. A couple of error codes are also added
      to handle a few new possible failure cases.
      
      DTD Files gtkbuilder.rnc and gtkbuilder.rng have been updated to include
      the new <template> tag and it's attributes.
      b7da0d21
    • Tristan Van Berkom's avatar
      GtkBuilder: Added api to allow private signal callbacks · 82583640
      Tristan Van Berkom authored
      In preperation for composite objects, for better encapsulation
      the following APIs are added to allow handling of signals declared
      in the XML with callbacks declared statically.
      
        o gtk_builder_add_callback_symbol[s]()
      
          Adds a symbol to the internal symbol hash
      
        o gtk_builder_lookup_symbol()
      
          Looks up a symbol, exposed in case added symbols are used
          in conjunction with gtk_builder_connect_signals_full()
      
      The default implementation of gtk_builder_connect_signals() now
      does not have a strong requirement on GModule (or a strong requirement
      on symbols being declared in the global namespace). Instead GModule
      is used as a fallback in the case that symbols are not declared
      explicitly.
      82583640
    • Tristan Van Berkom's avatar
      Work around access to global resources without calling gtk_init() · 4ec6d600
      Tristan Van Berkom authored
      Some utilities such as GIR and gtk-doc, initialize class vtables without
      initializing GTK+, with composite templates accessing resources this
      causes a hand full of unneeded warnings.
      
      The workaround for now is the use a private function _gtk_ensure_resources()
      which is both called while initializing GTK+, and at the beginning of
      gtk_widget_class_set_template_from_resource() (the private function
      ensures that the resource will only ever be registered GOnce).
      4ec6d600
    • Tristan Van Berkom's avatar
      Deprecate gtk_widget_push_composite_child & friends · c6ab5157
      Tristan Van Berkom authored
      Deprecate gtk_widget_push_composite_child, gtk_widget_pop_composite_child,
      gtk_widget_set_composite_name, gtk_widget_get_composite_name.
      
      This API is just bloat and was never useful, this patch deprecates
      it and removes all internal calls to the composite child APIs
      c6ab5157
    • Tristan Van Berkom's avatar
      GtkScale: Properly chain up in GtkBuildableIface->custom_finished() · 38dc4733
      Tristan Van Berkom authored
      This was causing <style> markup to be ignored when specified
      on GtkScale types.
      38dc4733
  2. 07 Apr, 2013 1 commit
  3. 06 Apr, 2013 21 commits
  4. 05 Apr, 2013 10 commits
  5. 04 Apr, 2013 1 commit