Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-74840

Implement QmlDom in Qt

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: P2: Important
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 6.3
    • Component/s: QML: Tooling
    • Labels:

      Description

      Implement QmlDom in Qt that can serve as a replacement for big parts of the QML rewriter in Qt Creator/Qt Quick Designer.

      The QMLDom should have a public API

      If the Qt Quick Designer is not supposed to interact with the 'private' AST directly, the only natural solution I currently see is a QMLDom.
      This QMLDom provides read/write functionality for QML files/text buffers, similar to an XML Dom. The QMLDom would interact with the QML code model and provide also type information.

      The availability of a public QMLDom would make developing tools around QML a lot easier. Tools that generate QML from third-party data could use it and also tools for verifying QML would heavily benefit from a public QMLDom.
      The user could write powerful QML generation or verification tools on top of QMLDom.

      Most of the heavy lifting of the Rewriter in the Qt Quick Designer would have to be done by the QMLDom, though.
      Qt Quick Designer would benefit heavily from such a QMLDom with a well maintained public API. Updates of the AST, language would not directly impact Qt Creator and Qt Quick Designer anymore.

      The rewriter reoganizes the code, but can track where things end up, and update locations without a reparse.
      Things comments are preserved, and associated with the various elements (enabling better rewrite).

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              fawzi Fawzi Mohamed
              Reporter:
              thohartm Thomas Hartmann
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:

                  Gerrit Reviews

                  There are no open Gerrit changes