• Icon: Technical task Technical task
    • Resolution: Done
    • Icon: P1: Critical P1: Critical
    • 6.0.0, 6.0
    • Core: Object Model
    • None
    • All

      Qt 5's QML engine implements automatic data bindings on top of the Qt property system using dynamic data structures and change notifications through notifier signals.

      Through research we have learned that it should be possible to implement a more efficient data binding system by encapsulating the property data itself in a type, which can intercept reading and writing.

      This will allow us to support automatic data bindings from C++ and significantly reduce our memory and initialization overhead. It will also form the basis of a new compilation of QML to C++.

      The API could look a little bit like this:

          QProperty<int> width;
          QProperty<int> height;
          QProperty<int> area;
      
          width.bind(height); // keep it square
      
          area.bind([&]() { return width * height; }
      
          height = 100; // marks width and area dirty
      
          print(area); // updates width and area
      

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            shausman Simon Hausmann
            shausman Simon Hausmann
            Votes:
            4 Vote for this issue
            Watchers:
            20 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes