From a561a3fff8578d3618ba0fdf1fae44f78814d363 Mon Sep 17 00:00:00 2001 From: Stefan Dunca <47554641+stefandunca@users.noreply.github.com> Date: Mon, 4 Apr 2022 10:48:23 +0300 Subject: [PATCH] Clarify dynamic scoping --- src/contributing.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/contributing.md b/src/contributing.md index ed3b278b..6950bae0 100644 --- a/src/contributing.md +++ b/src/contributing.md @@ -86,7 +86,7 @@ Use `Layout.preferredWidth` and `Layout.preferredHeight` attached properties to Follow [Qt's recommendations](https://doc.qt.io/qt-5/qtqml-documents-scope.html) if appropriate -- Consider dynamic scoping. Component `id`s are not accessible outside the component's scope. If required, the component can expose the instance through properties binding. E.g. `readonly property ComponentType exposedComponent: privateInstanceId` +- Avoid dynamic scoping in out-of-line components, see more: https://doc.qt.io/qt-5/qtqml-documents-scope.html#component-instance-hierarchy - Example ```qml @@ -101,6 +101,8 @@ Follow [Qt's recommendations](https://doc.qt.io/qt-5/qtqml-documents-scope.html) } ``` +- Component `id`s are not accessible outside the component's scope. If required, the component can expose the instance through properties binding. E.g. `readonly property ComponentType exposedComponent: privateInstanceId` + - If in doubt, explicitly use an instance variable to access properties - If the scope is clear and there is no ambiguity, use the property directly for readability @@ -153,4 +155,4 @@ Try scenarios - Resize window to check the behavior for each case - Visually validate that each control is behaving as expected -- Add controls with different properties that affect control size behavior \ No newline at end of file +- Add controls with different properties that affect control size behavior