From ad0b10e695c51f6660fe4267a7c29f74a34585a8 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 16 Mar 2021 15:27:48 +0100 Subject: [PATCH] Doc: make Qt Quick terminology more consistent - Use "component" instead of "QML type", "item" or "element" - Hide Qt Quick and QML where possible (kept it in some Qt Creator topics) - Fix references to imports, assets, and modules in Library - Add links to the new Design view topics Task-number: QDS-3778 Change-Id: I714aeb218efd4bdc1fc2f156194bf95ce3e174b5 Reviewed-by: Johanna Vanhatapio Reviewed-by: Thomas Hartmann --- ...qtquick-designer-qtquickcontrols-types.png | Bin 15753 -> 16437 bytes .../creator-only/qtquick-app-tutorial.qdoc | 52 +++--- .../creator-only/qtquick-creating.qdoc | 10 +- .../src/qtquick/library/qtquick-controls.qdoc | 144 ++++++++--------- .../qtquick/library/qtquick-data-models.qdoc | 44 +++--- .../src/qtquick/library/qtquick-images.qdoc | 50 +++--- .../library/qtquick-pathview-editor.qdocinc | 12 +- .../src/qtquick/library/qtquick-shapes.qdoc | 38 ++--- .../src/qtquick/library/qtquick-text.qdoc | 68 ++++---- .../src/qtquick/qtquick-adding-dynamics.qdoc | 13 +- .../src/qtquick/qtquick-animation-types.qdoc | 10 +- .../src/qtquick/qtquick-buttons.qdoc | 110 +++++++------ .../src/qtquick/qtquick-form-editor.qdoc | 14 +- .../qtquick/qtquick-modules-with-plugins.qdoc | 23 ++- .../src/qtquick/qtquick-navigator.qdoc | 15 +- .../examples/doc/coffeemachine.qdoc | 7 +- .../examples/doc/ebikedesign.qdoc | 8 +- doc/qtdesignstudio/examples/doc/loginui1.qdoc | 149 +++++++++--------- doc/qtdesignstudio/examples/doc/loginui2.qdoc | 54 +++---- doc/qtdesignstudio/examples/doc/loginui3.qdoc | 68 ++++---- doc/qtdesignstudio/examples/doc/loginui4.qdoc | 19 +-- .../examples/doc/progressbar.qdoc | 70 ++++---- doc/qtdesignstudio/examples/doc/sidemenu.qdoc | 53 ++++--- .../examples/doc/washingMachineUI.qdoc | 28 ++-- .../examples/doc/webinardemo.qdoc | 34 ++-- .../images/studio-2d-effects.png | Bin 10924 -> 16550 bytes .../src/qtbridge/qtbridge-figma-using.qdoc | 2 +- .../src/qtdesignstudio-javascript.qdoc | 8 +- .../src/qtdesignstudio-projects.qdoc | 30 ++-- .../qtdesignstudio-logic-helpers.qdoc | 2 +- .../qtdesignstudio-visual-effects.qdoc | 59 ++++--- 31 files changed, 591 insertions(+), 603 deletions(-) diff --git a/doc/qtcreator/images/qtquick-designer-qtquickcontrols-types.png b/doc/qtcreator/images/qtquick-designer-qtquickcontrols-types.png index 247eb70e386d58ed4ffea66b55c7be7d6ed7779c..5fc18d4c629e45b6f1c75e2e62c35530330000ef 100644 GIT binary patch literal 16437 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 BxDo&W literal 15753 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 x+A+wwhlzo~!35-D$RFMg{vd$@?2>@%Xt|0&b diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc index 3fbef6889c6..c1a76565a6a 100644 --- a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc +++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -30,11 +30,11 @@ \title Creating a Qt Quick Application - This tutorial uses built-in QML types and illustrates basic concepts of + This tutorial uses preset components and illustrates basic concepts of \l{Qt Quick}. For more information about the UI choices you have, see \l{User Interfaces}. - This tutorial describes how to use \QC to implement Qt Quick states and + This tutorial describes how to use \QC to implement states and transitions. We create an application that displays a Qt logo that moves between three rectangles on the page when you click them. @@ -47,13 +47,13 @@ \include qtquick-tutorial-create-empty-project.qdocinc qtquick empty application - \QC generates a QML file, \e main.qml, and opens it in - \uicontrol {Text Editor}. The wizard template uses the \l Window type, + \QC generates a component file, \e main.qml, and opens it in + \uicontrol {Text Editor}. The wizard template uses the \l Window component, which does not support adding states. Because we want to use states in - this example, we first replace the Window type with a \l {basic-rectangle} - {Rectangle} type. We must also remove the line that sets the \c title - property, which the Rectangle type does not have. If you change the value of - the \uicontrol Type property in the \uicontrol Properties view, \QC offers + this example, we first replace the Window component with a \l {basic-rectangle} + {Rectangle} component. We must also remove the line that sets the \c title + property, which the Rectangle component does not have. If you change the value of + the \uicontrol component property in the \l Properties view, \QC offers to automatically remove the \c title property. \section1 Creating the Main View @@ -62,20 +62,19 @@ the top left corner of the view and two empty rectangles. We use the \e qt-logo.png image in this tutorial, but you can also use - any other image or a QML type, instead. + any other image or a component, instead. \note If a view is hidden, you can show it by selecting \uicontrol View > \uicontrol Views. \list 1 - \li Select \uicontrol Rectangle in \uicontrol Navigator, and enter - \e page in the \uicontrol Id field in the \uicontrol Properties - view. + \li Select \uicontrol Rectangle in \l Navigator, and enter + \e page in the \uicontrol Id field in \uicontrol Properties. - \li Select \uicontrol Library > \uicontrol Assets > - \uicontrol {Add New Assets} to locate qt-logo.png (or your own - image) and add it to the project folder. + \li Select \l Library > \uicontrol Assets > \inlineimage plus.png + to locate qt-logo.png (or your own image) and add it to the + project folder. \li Drag and drop the image from \uicontrol Assets to \e page in \uicontrol Navigator. @@ -93,9 +92,10 @@ \endlist - \li In \uicontrol Library > \uicontrol {QML Types} > - \uicontrol {Qt Quick - Basic}, select \uicontrol Rectangle and - drag and drop it to \e page in \uicontrol Navigator. + \li In \uicontrol Library > \uicontrol Components > + \uicontrol {Default Components} > \uicontrol Basic, select + \uicontrol Rectangle and drag and drop it to \e page in + \uicontrol Navigator. \image qmldesigner-tutorial-topleftrect.png "Rectangle properties" @@ -131,7 +131,7 @@ \endlist - \li Drag and drop a \uicontrol {Mouse Area} type from the + \li Drag and drop a \uicontrol {Mouse Area} component from the \uicontrol Library to \e topLeftRect in \uicontrol Navigator. \li Click \uicontrol {Layout}, and then click the @@ -142,7 +142,7 @@ \li In the \uicontrol Navigator, copy topLeftRect (by pressing \key {Ctrl+C}) and paste it to \e page in \uicontrol Navigator twice (by pressing \key {Ctrl+V}). \QC renames the new instances - of the type topLeftRect1 and topLeftRect2. + of the component topLeftRect1 and topLeftRect2. \li Select topLeftRect1 and edit its properties: @@ -194,9 +194,9 @@ For more information about the views you used, see: \list - \li \l{Creating Components} - \li \l{Navigator} - \li \l{Specifying Component Properties} + \li \l Library + \li \l Navigator + \li \l Properties \endlist Next, we will make the image move between the rectangles when users click @@ -247,7 +247,7 @@ For more information about the views you used, see: \list - \li \l{Adding States} + \li \l States \li \l{Connecting Components to Signals} \endlist @@ -305,7 +305,7 @@ \list \li \l{Editing Easing Curves} - \li \l{Animating Transitions Between States} + \li \l{Transition Editor} \endlist Click the rectangles to view the animated transitions. diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc index f5a70f9e8c4..46f2b55b2e3 100644 --- a/doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc +++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc @@ -52,15 +52,15 @@ target platforms. \li \uicontrol {Qt Quick Application - Scroll} uses the - \l{ScrollView} type to implement a scrollable list view + \l{ScrollView} component to implement a scrollable list view (requires Qt 5.9 or later). \li \uicontrol {Qt Quick Application - Stack} uses the - \l{StackView} type to implement a set of pages with a stack-based + \l{StackView} component to implement a set of pages with a stack-based navigation model (requires Qt 5.7 or later). \li \uicontrol {Qt Quick Application - Swipe} uses the - \l{SwipeView} type to implement a set of pages with a swipe-based + \l{SwipeView} component to implement a set of pages with a swipe-based navigation model (requires Qt 5.7 or later). \endlist @@ -179,7 +179,7 @@ \e main.qml, that you can modify in the \uicontrol {Form Editor} or the \uicontrol {Text Editor}. - For the Stack and Swipe applications, \QC generates two UI files, + For the Stack and Swipe applications, \QC generates two \l{UI Files}{UI files}, \e Page1Form.ui.qml and \e Page2Form.ui.qml, that you can modify in the \uicontrol {Form Editor} and a QML file, \e main.qml, that you can modify in the \uicontrol {Text Editor} to add the application logic. @@ -269,7 +269,7 @@ files in the project folder belong to the project. Therefore, you do not need to individually list all the files in the project. - \li .qml file defines an UI item, such as a component or the + \li .qml file defines a UI item, such as a component or the whole application UI. \li ui.qml file defines a form for the application UI. This file is diff --git a/doc/qtcreator/src/qtquick/library/qtquick-controls.qdoc b/doc/qtcreator/src/qtquick/library/qtquick-controls.qdoc index d5b86029742..beedc128d9d 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-controls.qdoc +++ b/doc/qtcreator/src/qtquick/library/qtquick-controls.qdoc @@ -30,13 +30,13 @@ \title User Interaction Methods - You can use a set of basic QML types to add interaction methods to UIs, + You can use a set of basic components to add interaction methods to UIs, such as performing actions by using a pointing device or the keyboard, or flicking the visible area of the screen horizontally or vertically. - Further, you can use \l{Qt Quick Controls} types to inform users about + Further, you can use \l{Qt Quick Controls} components to inform users about the progress of the application or to gather input from users. - \image qtquick-designer-qtquickcontrols-types.png "Qt Quick Controls 2 types in Library" + \image qtquick-designer-qtquickcontrols-types.png "Qt Quick Controls components in Library" The following types of controls are available for user interaction: @@ -50,7 +50,7 @@ \endlist You can specify values for the properties of components in the - \uicontrol Properties view. Some properties are common to all components, + \l Properties view. Some properties are common to all components, whereas some are common to particular types of controls. Some properties are only available for a particular component. The following sections describe the basic interaction methods, the controls, and their properties. @@ -63,17 +63,17 @@ \section2 Mouse Area - QML uses signals and handlers to deliver mouse interactions. Specifically, - Qt Quick provides a \uicontrol {Mouse Area} type that developers can use to - define JavaScript callbacks (also called signal handlers), which accept - mouse events within a defined area. + Signals and handlers are used to deliver mouse interactions. Specifically, + you can use a \uicontrol {Mouse Area} component to define JavaScript + callbacks (also called signal handlers), which accept mouse events within + a defined area. A mouse area receives events within a defined area. One quick way to define this area is to \l{Setting Anchors and Margins}{anchor} the mouse area to its parent's area. If the parent is a \l {basic-rectangle}{Rectangle} (or any component that is derived from an \l {basic-item}{Item}), the mouse area will fill the area defined by the parent's dimensions. Alternatively, you - can define an area smaller or larger than the parent. Several controls,such + can define an area smaller or larger than the parent. Several controls, such as \l {Button}{buttons}, contain a mouse area. A mouse area emits \l{Connecting Components to Signals}{signals} in response @@ -102,38 +102,38 @@ to the focused component. If no component has active focus, the key event is ignored. If the component with active focus accepts the key event, propagation stops. Otherwise the event is sent to the component's parent - until the event is accepted, or the root item is reached and the event is - ignored. + until the event is accepted, or the root component is reached and the event + is ignored. A component has focus when the \uicontrol Focus property in the \uicontrol Advanced tab is set to \c true. However, for reusable or imported components, this is not sufficient, and you should use - a \uicontrol {Focus Scope} type. + a \uicontrol {Focus Scope} component. Within each focus scope, one object may have focus enabled. If more than one component have it enabled, the last component to enable it will have the focus and the others are unset, similarly to when there are no focus scopes. - When a focus scope receives active focus, the contained type with - focus set (if any) also gets the active focus. If this type is - also a focus scope, both the focus scope and the sub-focused item + When a focus scope receives active focus, the contained component with + focus set (if any) also gets the active focus. If this component is + also a focus scope, both the focus scope and the sub-focused component will have active focus. - The \uicontrol {Focus Scope} type is not a visual type, and therefore the - properties of its children need to be exposed to the parent item of the - focus scope. \l{Using Layouts}{Layouts} and \l{Using Positioners} - {positioners} will use these visual and styling properties to create the - layout. + The \uicontrol {Focus Scope} component is not a visual component and + therefore the properties of its children need to be exposed to the parent + component of the focus scope. \l{Using Layouts}{Layouts} and + \l{Using Positioners}{positioners} will use these visual and styling + properties to create the layout. For more information, see \l {Keyboard Focus in Qt Quick}. \section2 Flickable \uicontrol Flickable places its children on a surface that can be dragged - and flicked, causing the view onto the child items to scroll. This + and flicked, causing the view onto the child components to scroll. This behavior forms the basis of components that are designed to show large - numbers of child items, such as \uicontrol {List View} and + numbers of child components, such as \uicontrol {List View} and \uicontrol {Grid View}. For more information, see \l{List and Grid Views}. In traditional user interfaces, views can be scrolled using standard @@ -144,14 +144,14 @@ scrolling continues after the user has stopped touching the view. The contents of a flickable component are not automatically clipped. If - the component is not used as a full-screen item, consider selecting the + the component is not used as a full-screen component, consider selecting the \uicontrol Clip check box in the \uicontrol Visibility section. \image qtquick-designer-flickable-properties.png "Flickable properties" Users can interact with a flickable component if the \uicontrol Interactive property is set to \c true. Set it to \c false to temporarily disable - flicking. This enables special interaction with the components children. + flicking. This enables special interaction with the component's children. For example, you might want to freeze a flickable map while scrolling through a pop-up that is a child of the Flickable. @@ -202,20 +202,20 @@ The \uicontrol {Content size} field specifies the dimensions of the surface controlled by a flickable. Typically, set the values of the - \uicontrol W and \uicontrol H fields to the combined size of the items + \uicontrol W and \uicontrol H fields to the combined size of the components placed in the flickable. You can set additional margins around the content in the \uicontrol Margins field. The \uicontrol Origin field specifies the origin of the content. It refers to the top-left position of the content regardless of layout - direction. Usually, the \uicontrol X and \uicontrol Y are set to 0. + direction. Usually, the \uicontrol X and \uicontrol Y values are set to 0. However, a \l{ListView}{List View} and \l {GridView}{Grid View} - may have an arbitrary origin due to delegate size variation, or item + may have an arbitrary origin due to delegate size variation, or component insertion or removal outside the visible region. \section1 General Control Properties - You can set control properties in the \uicontrol Properties view. + You can set control properties in the \l Properties view. \image qtquick-designer-control-properties.png "Control section in Properties" @@ -229,7 +229,7 @@ components, unless it has been explicitly set for them. \note Take care when enabling wheel events for controls within scrollable - items, such as \l Flickable, because the control will consume the + components, such as \l Flickable, because the control will consume the events, and therefore interrupt scrolling of the flickable. \uicontrol Spacing is useful for controls that have multiple or repetitive @@ -296,7 +296,7 @@ \if defined(qtdesignstudio) To create a button that contains an icon, use the wizard template to \l{Creating Custom Controls}{create a custom button} and drag-and-drop - the icon to the button background item. For an example of using the + the icon to the button background component. For an example of using the wizard template, see \l{Creating a Push Button}. \endif @@ -323,7 +323,7 @@ \image qtquickcontrols2-checkdelegate.gif "Check delegate" - Use check boxes to build multi-selection option lists, where any number + Use check boxes to build multi-selection option lists where any number of options can be selected, including none, but the options are not mutually exclusive. @@ -346,11 +346,11 @@ When options can be grouped, you can use a partially checked check box to represent the whole group. Select \uicontrol PartiallyChecked in the \uicontrol {Check state} field to indicate that users selected some - sub-items in the group, but not all of them. + sub-components in the group but not all of them. The checkable options are often listed vertically. - The check box label should be a statement that the check mark makes true, + The check box label should be a statement that the check mark makes true and that the absence of a check mark makes false. Therefore, the check box label should not contain a negative statement. @@ -421,7 +421,7 @@ focus. Select the \uicontrol Checkable check box to make a button checkable. To make the button checked, select the \uicontrol Checked check box. - Buttons that belong to the same parent item can be mutually exclusive. + Buttons that belong to the same parent component can be mutually exclusive. Users can click a button to check it, and the previous selection is cleared. Users cannot uncheck the currently checked button by clicking it. Instead, they must click another button in the group to set the new @@ -463,7 +463,7 @@ that the UI has to wait for the operation to complete. A busy indicator is similar to an indeterminate \l {Progress Bar}. Both can - be used to indicate background activity. The main difference is visual, and + be used to indicate background activity. The main difference is visual and that a progress bar can also present a concrete amount of progress (when it can be determined). Due to the visual difference, busy indicators and indeterminate progress bars fit in different places in UIs. @@ -620,7 +620,7 @@ A flat combo box does not draw a background unless it is interacted with, which makes it blend into the UI. Use flat combo - boxes on a tool bar, for example, to match the flat look of tool + boxes on a toolbar, for example, to match the flat look of tool buttons. To create a flat combo box, select the \uicontrol Flat check box. @@ -682,24 +682,24 @@ \uicontrol {Tool Bar} contains application-wide and context-sensitive actions and controls, such as navigation buttons and search fields. A - tool bar is commonly used as a header or footer of an \l ApplicationWindow. + toolbar is commonly used as a header or footer of an \l ApplicationWindow. Select the toolbar position in the \uicontrol Position field. \image qtquick-designer-toolbar-properties.png "Tool Bar properties" \uicontrol {Tool Button} is nearly identical to \l Button, but it has a graphical appearance that makes it more suitable for insertion into a - tool bar. + toolbar. - A tool bar does not provide a layout of its own, but requires you to + A toolbar does not provide a layout of its own, but requires you to position its contents, for instance by creating a \l RowLayout. If the - tool bar contains only one item, it will resize to fit the implicit item - size. This makes a tool bar particularly suitable for use together with + toolbar contains only one item, it will resize to fit the implicit item + size. This makes a toolbar particularly suitable for use together with \l{Using Layouts}{layouts}. However, you can specify content size in the \uicontrol {Content width} and \uicontrol {Content height} fields. \uicontrol {Tool Separator} is used to visually distinguish between - groups of items on a tool bar by separating them with a line. It can + groups of items on a toolbar by separating them with a line. It can be used in horizontal or vertical toolbars by setting the value of the \uicontrol Orientation field. @@ -747,10 +747,10 @@ \section1 Summary of User Interaction Methods - The following table lists the QML types that you can use to add interaction - methods to UIs. The \e Location column contains the tab name where you can - find the type in \uicontrol Library. The \e MCU column indicates which types - are supported on MCUs. + The following table lists the components that you can use to add interaction + methods to UIs. The \e Location column contains the module where you can + find the component in \l Library > \uicontrol Components. The \e MCU column + indicates which components are supported on MCUs. \table \header @@ -762,118 +762,118 @@ \row \li \inlineimage icons/busyindicator-icon16.png \li \l [QtQuickControls]{BusyIndicator}{Busy Indicator} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li Indicates activity while content is being loaded. \row \li \inlineimage icons/button-icon16.png \li \l [QtQuickControls]{Button} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \inlineimage ok \li A push button that you can associate with an action. \row \li \inlineimage icons/checkbox-icon16.png \li \l [QtQuickControls]{CheckBox}{Check Box} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \inlineimage ok \li An option button that can be toggled on (checked) or off (unchecked). \row \li \inlineimage icons/checkbox-icon16.png \li \l [QtQuickControls]{CheckDelegate}{Check Delegate} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li An item delegate that can be toggled on (checked) or off (unchecked). \row \li \inlineimage icons/combobox-icon16.png \li \l [QtQuickControls]{ComboBox}{Combo Box} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A combined button and popup list that is populated by using a data model. \row \li \inlineimage icons/delaybutton-icon16.png \li \l [QtQuickControls]{DelayButton}{Delay Button} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li An option button that is triggered when held down long enough. \row \li \inlineimage icons/dial-icon16.png \li \l [QtQuickControls]{Dial} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \inlineimage ok \li A circular dial that is rotated to set a value. \row \li \inlineimage flickable-icon16.png \li \l [QML]{Flickable} - \li Qt Quick - Basic + \li Default Components - Basic \li \inlineimage ok \li Items can be flicked horizontally or vertically. \row \li \inlineimage focusscope-icon16.png \li \l{FocusScope}{Focus Scope} - \li Qt Quick - Basic + \li Default Components - Basic \li \li Assists in keyboard focus handling when building reusable QML components. \row \li \inlineimage mouse-area-icon16.png \li \l [QtQuick]{MouseArea}{Mouse Area} - \li Qt Quick - Basic + \li Default Components - Basic \li \inlineimage ok \li Enables simple mouse handling. \row \li \inlineimage icons/pageindicator-icon16.png \li \l [QtQuickControls]{PageIndicator}{Page Indicator} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li Indicates the indicate the currently active page in a container of multiple pages. \row \li \inlineimage icons/progressbar-icon16.png \li \l [QtQuickControls]{ProgressBar}{Progress Bar} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \inlineimage ok \li Indicates the progress of an operation. \row \li \inlineimage icons/radiobutton-icon16.png \li \l [QtQuickControls]{RadioButton}{Radio Button} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \inlineimage ok \li An option button that can be switched on (checked) or off (unchecked). \row \li \inlineimage icons/radiobutton-icon16.png \li \l [QtQuickControls]{RadioDelegate}{Radio Delegate} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li An item delegate that can be toggled on (checked) or off (unchecked). \row \li \inlineimage icons/rangeslider-icon16.png \li \l [QtQuickControls]{RangeSlider}{Range Slider} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li Enables users to select a range of values by sliding two handles along a track. \row \li \inlineimage icons/roundbutton-icon16.png \li \l [QtQuickControls]{RoundButton}{Round Button} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A push button with rounded corners that you can associate with an action. \row \li \inlineimage icons/slider-icon16.png \li \l [QtQuickControls]{Slider} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \inlineimage ok \li Enables users to select a value by sliding a handle along a track. \row \li \inlineimage icons/spinbox-icon16.png \li \l [QtQuickControls]{SpinBox}{Spin Box} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li Enables users to specify a value by clicking the up or down buttons, by pressing up or down on the keyboard, or by entering a value in @@ -881,54 +881,54 @@ \row \li \inlineimage icons/switch-icon16.png \li \l [QtQuickControls]{Switch} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \inlineimage ok \li An option button that can be toggled on or off. \row \li \inlineimage icons/switch-icon16.png \li \l [QtQuickControls]{SwitchDelegate}{Switch Delegate} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li An item delegate with a switch indicator that can be toggled on or off. \row \li \inlineimage icons/toolbar-icon16.png \li \l [QtQuickControls] {TabBar}{Tab Bar} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li Enables users to switch between different views or subtasks. \row \li \inlineimage icons/toolbutton-icon16.png \li \l [QtQuickControls]{TabButton}{Tab Button} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A button that is functionally similar to \uicontrol Button, but provides a look that is more suitable for a \uicontrol {Tab Bar}. \row \li \inlineimage icons/toolbar-icon16.png \li \l [QtQuickControls]{ToolBar}{Tool Bar} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A container of application-wide and context sensitive actions and controls, such as navigation buttons and search fields. \row \li \inlineimage icons/toolbutton-icon16.png \li \l [QtQuickControls]{ToolButton}{Tool Button} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A button that is functionally similar to \uicontrol Button, but provides a look that is more suitable for a \uicontrol {Tool Bar}. \row \li \inlineimage icons/toolseparator-icon16.png \li \l [QtQuickControls]{ToolSeparator}{Tool Separator} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li Separates a group of items from adjacent items on a \uicontrol {Tool Bar}. \row \li \inlineimage icons/tumbler-icon16.png \li \l [QtQuickControls]{Tumbler} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A spinnable wheel of items that can be selected. \endtable diff --git a/doc/qtcreator/src/qtquick/library/qtquick-data-models.qdoc b/doc/qtcreator/src/qtquick/library/qtquick-data-models.qdoc index 5f646dbc5f9..ad7c2e8c6b7 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-data-models.qdoc +++ b/doc/qtcreator/src/qtquick/library/qtquick-data-models.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -35,15 +35,15 @@ \title Lists and Other Data Models Applications typically need to handle and display data that is organized - into list or grid views. Qt Quick uses models, views, and delegates for + into list or grid views. Models, views, and delegates are used for this purpose. They modularize the visualization of data in order to give you control over the different aspects of the data. For example, you can swap a list view with a grid view with little changes to the data. Similarly, encapsulating an instance of the data in a delegate allows developers to dictate how to present or handle the data. - A \e model contains the data and its structure. There are several QML - types for creating different types of models. A \e view is a container + A \e model contains the data and its structure. There are several + components for creating different types of models. A \e view is a container that displays the data in a list or a grid, or along a path. A \e delegate dictates how the data should appear in the view. The delegate takes each piece of data in the model and encapsulates it. The data is then accessible @@ -56,10 +56,10 @@ \section1 List and Grid Views - A list view organizes items as a list, whereas a grid view organizes them as - a grid. By default, items in list and grid views flow vertically from left - to right. They are laid out from left to right horizontally, and from top to - bottom vertically. + A list view organizes components as a list, whereas a grid view organizes + them as a grid. By default, components in list and grid views flow + vertically from left to right. They are laid out from left to right + horizontally, and from top to bottom vertically. You can change the list view orientation in the \uicontrol Orientation field and the grid view flow in the \uicontrol Flow field. You can change @@ -111,7 +111,7 @@ \note Setting the \uicontrol Cache property is not a replacement for creating efficient delegates. It can improve the smoothness of scrolling - behavior at the expense of additional memory usage. The fewer objects and + behavior at the expense of additional memory usage. The fewer items and bindings in a delegate, the faster a view can be scrolled. It is important to realize that setting a cache will only postpone issues caused by slow-loading delegates, it is not a solution to this problem. @@ -174,7 +174,7 @@ You can replace the default model and delegate with other, more complex models and delegates in \uicontrol {Text Editor}. \l{ItemDelegate}{Item Delegate} and \l{SwipeDelegate}{Swipe Delegate} - types are also available in \uicontrol Library. + components are also available in \uicontrol Library. \include qtquick-pathview-editor.qdocinc pathview \if defined(qtdesignstudio) @@ -183,10 +183,10 @@ \section1 Summary of Model Components - The following table lists the QML types that you can use to add data models + The following table lists the components that you can use to add data models to UIs. The \e Location column contains the tab name where you can find the - type in \uicontrol Library. The \e MCU column indicates which types are - supported on MCUs. + component in \l Library > \uicontrol Components. The \e MCU column indicates + which components are supported on MCUs. \table \header @@ -198,39 +198,39 @@ \row \li \inlineimage gridview-icon16.png \li \l{GridView}{Grid View} - \li Qt Quick - Views + \li Default Components - Views \li \li A grid vizualization of a model. \row \li \inlineimage icons/itemdelegate-icon16.png \li \l{ItemDelegate}{Item Delegate} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A standard view item that can be used as a delegate in various views and controls, such as \l ListView and \l ComboBox. \row \li \inlineimage listview-icon16.png \li \l{ListView}{List View} - \li Qt Quick - Views + \li Default Components - Views \li \inlineimage ok \li A list vizualization of a model. \row \li \inlineimage pathview-icon16.png \li \l{Path View} - \li Qt Quick - Views + \li Default Components - Views \li \li Vizualizes the contents of a model along a path. \row \li \inlineimage icons/scrollview-icon16.png \li \l [QtQuickControls] {ScrollView}{Scroll View} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li Provides scrolling for user-defined content. It can be used instead - of a \l Flickable item. + of a \l Flickable component. \row \li \inlineimage icons/stackview-icon16.png \li \l [QtQuickControls] {StackView}{Stack View} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A stack-based navigation model. \if defined(qtdesignstudio) @@ -244,7 +244,7 @@ \row \li \inlineimage icons/itemdelegate-icon16.png \li \l{SwipeDelegate}{Swipe Delegate} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A view item that can be swiped left or right to expose more options or information. It is used as a delegate in views such @@ -252,7 +252,7 @@ \row \li \inlineimage icons/swipeview-icon16.png \li \l[QtQuickControls] {SwipeView}{Swipe View} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \inlineimage ok \li Enables users to navigate pages by swiping sideways. \endtable diff --git a/doc/qtcreator/src/qtquick/library/qtquick-images.qdoc b/doc/qtcreator/src/qtquick/library/qtquick-images.qdoc index 92b00c37884..d2acabafebd 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-images.qdoc +++ b/doc/qtcreator/src/qtquick/library/qtquick-images.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -31,30 +31,30 @@ \title Images \target basic-image - The Image type is used for adding images to the UI in several supported + The Image component is used for adding images to the UI in several supported formats, including bitmap formats, such as PNG and JPEG, and vector graphics formats, such as SVG. You must add the images to your project in the \uicontrol Assets tab of \uicontrol Library to be able to use them in designs. - \image qtquick-designer-image-type.png "Image type in different views" + \image qtquick-designer-image-type.png "Image component in different views" When you drag and drop an image file from the \uicontrol Assets tab of \uicontrol Library to \uicontrol Navigator or \uicontrol {Form Editor}, - \QC automatically creates a component of the Image type for you with + \QC automatically creates a component of the Image component for you with the path to the image file set as the value of the \uicontrol Source field in \uicontrol Properties. To load images from a URL using a supported URL scheme, specify the URL in the \uicontrol Source field. - You can use the \l {Border Image} type to display an image, + You can use the \l {Border Image} component to display an image, such as a PNG file, as a border and a background. For more information about using border images to create buttons, see \l {Creating Scalable Buttons and Borders}. If you need to display animated images, such as GIFs, use the - \l {Animated Image} type. + \l {Animated Image} component. \section1 Image Size @@ -63,13 +63,13 @@ If the image \uicontrol Size is not specified, the size of the source image is used automatically. - By default, explicitly setting the width and height of the item causes + By default, explicitly setting the width and height of the component causes the image to be scaled to that size. To change this behavior, set the value of the \uicontrol {Fill mode} field. Images can be stretched, tiled, or scaled uniformly to the specified size with or without cropping. The \uicontrol Pad option means that the image is not transformed. - \note If the \uicontrol Clip check box is not selected, the item might + \note If the \uicontrol Clip check box is not selected, the component might paint outside its bounding rectangle even if the \uicontrol {Fill mode} is set to \uicontrol PreserveAspectCrop. @@ -146,11 +146,11 @@ \section1 Border Image - The Border Image type extends the features of the Image type. It is used - to create borders out of images by scaling or tiling parts of each image. A - source image is broken into 9 regions that are scaled or tiled individually. - The corner regions are not scaled at all, while the horizontal and vertical - regions are scaled according to the values of the + The Border Image component extends the features of the Image component. + It is used to create borders out of images by scaling or tiling parts + of each image. A source image is broken into 9 regions that are scaled or + tiled individually. The corner regions are not scaled at all, while the + horizontal and vertical regions are scaled according to the values of the \uicontrol {Horizontal tile mode} and \uicontrol {Vertical tile mode} field, or both. @@ -169,13 +169,13 @@ \note You cannot change the \uicontrol {Source size} of a border image. For examples of using border images, see the documentation of the - \l [QtQuick]{BorderImage} type. + \l [QtQuick]{BorderImage} component. \section1 Animated Image - The Animated Image type extends the features of the Image type, providing - a way to play animations stored as images containing a series of frames, - such as those stored in GIF files. + The Animated Image component extends the features of the Image component, + providing a way to play animations stored as images containing a series of + frames, such as those stored in GIF files. Set the speed of the animation in the \uicontrol Speed field. The speed is measured in percentage of the original animated image speed. The default @@ -199,10 +199,10 @@ \section1 Summary of Images - The following table lists the QML types that you can use to add images. - The \e Location column contains the tab name where you can find the type - in \uicontrol Library. The \e MCU column indicates which types are supported - on MCUs. + The following table lists the components that you can use to add images. + The \e Location column contains the tab name where you can find the + component in \l Library > \uicontrol Components. The \e MCU column + indicates which components are supported on MCUs. \table \header @@ -214,20 +214,20 @@ \row \li \inlineimage animated-image-icon16.png \li \l [QtQuick]{AnimatedImage}{Animated Image} - \li Qt Quick - Basic + \li Default Components - Basic \li \li An images that stores animations containing a series of frames, such as those stored in GIF files. \row \li \inlineimage border-image-icon16.png \li \l [QtQuick]{BorderImage}{Border Image} - \li Qt Quick - Basic + \li Default Components - Basic \li \inlineimage ok \li An image that is used as a border or background. \row \li \inlineimage image-icon16.png \li \l [QtQuick]{Image} - \li Qt Quick - Basic + \li Default Components - Basic \li \inlineimage ok \li An image in one of the supported formats, including bitmap formats such as PNG and JPEG and vector graphics formats such as SVG. @@ -238,7 +238,7 @@ \li Studio Components \li \li An icon from an ISO 7000 icon library specified as a \l Picture - type. You can select the icon to use and its color. + component. You can select the icon to use and its color. \endif \endtable */ diff --git a/doc/qtcreator/src/qtquick/library/qtquick-pathview-editor.qdocinc b/doc/qtcreator/src/qtquick/library/qtquick-pathview-editor.qdocinc index be5e5675baf..8acab27e58d 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-pathview-editor.qdocinc +++ b/doc/qtcreator/src/qtquick/library/qtquick-pathview-editor.qdocinc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -28,7 +28,7 @@ \section1 Path View - The Path View type lays out data provided by data models on a \l{Path}. + The Path View component lays out data provided by data models on a \l{Path}. A graphical spline editor enables you to specify path view paths, which is a non-trivial task to do in the code editor. @@ -36,7 +36,7 @@ \image qmldesigner-pathview-editor.png "Path View editor" To start editing the path, double-click the path view in - \uicontrol {Form Editor}. The editor composes the path of PathCubic path + \l {Form Editor}. The editor composes the path of PathCubic path objects. They are cubic Bezier curves to a given position with two control points. Drag and drop the control points in \uicontrol {Form Editor} to construct the curve. @@ -78,7 +78,7 @@ \section1 SvgPath - The Svg Path type uses an SVG path data string to draw a path as a line. + The Svg Path component uses an SVG path data string to draw a path as a line. The stroke property values that specify the appearance of the path are described in \l{Strokes}. @@ -89,10 +89,10 @@ string that specifies the path. For more information, see \l{https://www.w3.org/TR/SVG/paths.html#PathData}{W3C SVG Path Data}. - \note Mixing SvgPath with other types of elements is not always supported. + \note Mixing SvgPath with other types of components is not always supported. For example, when \l Shape is backed by \c GL_NV_path_rendering, a \l ShapePath can contain one or more SvgPath elements, or one or more - elements of other types, but not both. + components of other types, but not both. //! [svgpath] */ diff --git a/doc/qtcreator/src/qtquick/library/qtquick-shapes.qdoc b/doc/qtcreator/src/qtquick/library/qtquick-shapes.qdoc index 8ce4def14e2..59b45078f1b 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-shapes.qdoc +++ b/doc/qtcreator/src/qtquick/library/qtquick-shapes.qdoc @@ -45,18 +45,18 @@ \image studio-shapes.png "Shapes in Form Editor" \else - You can use the Rectangle type to draw basic shapes in - \uicontrol {Form Editor}. + You can use the Rectangle component to draw basic shapes in + \l {Form Editor}. \image qml-shapes.png "Shapes in Form Editor" \endif - Most visual types in \uicontrol Library are based on the \l [QtQuick] - {Item} type. Even though it has no visual appearance itself (similarly + Most visual components in \uicontrol Library are based on the \l [QtQuick] + {Item} component. Even though it has no visual appearance itself (similarly to a mouse area, for example), it defines all the properties that are - common across visual types, such as position, size, and visibility. For + common across visual components, such as position, size, and visibility. For more information, see \l{Specifying Basic Component Properties}. - In addition, each type has a set of properties that specify its visual + In addition, each component has a set of properties that specify its visual appearance and behavior. You can modify the property values to set fill and border colors, stroke width, and other characteristics of the shapes. @@ -67,7 +67,7 @@ \target basic-rectangle \section1 Rectangle - The basic \l [QtQuick] {Rectangle} QML type is used for drawing shapes + The basic \l [QtQuick] {Rectangle} component is used for drawing shapes with four sides and corners, as well as a solid border. \if defined(qtdesignstudio) @@ -101,9 +101,9 @@ \section2 Studio Rectangle If you want to modify each corner of the rectangle independently - or use a dashed border, select the Rectangle type in the + or use a dashed border, select the Rectangle component in the \uicontrol {Studio Components} tab of \uicontrol Library instead - of the basic rectangle type. + of the basic rectangle component. By setting the values of properties in the \uicontrol {Corner Radiuses} group, you can draw each corner independently. By using radius values @@ -121,7 +121,7 @@ \section1 Border - The Border type is used to create borders out of four segments: + The Border component is used to create borders out of four segments: left, top, right, and bottom. By selecting the \uicontrol {Draw top}, \uicontrol {Draw right}, \uicontrol {Draw bottom}, and \uicontrol {Draw left} check boxes, you can determine whether each @@ -141,7 +141,7 @@ line. In the \uicontrol {Border mode} field, you can specify whether the border - is drawn along the inside or outside edge of the item, or on top of the + is drawn along the inside or outside edge of the component, or on top of the edge. If you select a dashed or dotted pattern in the \uicontrol {Stroke style} @@ -170,8 +170,8 @@ \section1 Triangle - The Triangle type can be used to draw triangles with different dimensions - and shapes. The type is enclosed in an invisible rectangle that determines + The Triangle component can be used to draw triangles with different dimensions + and shapes. The component is enclosed in an invisible rectangle that determines its size. The dimensions of the triangle can be changed to make it elongated or squatter with space around it by setting the left, right, top, and bottom margins in the \uicontrol Margins group. The margins are set between the @@ -210,7 +210,7 @@ \section1 Pie - The Pie type is used to create a pie slice, a pie that is missing slices, + The Pie component is used to create a pie slice, a pie that is missing slices, or just the pie rind (similar to an arc), depending on the values of the \uicontrol Begin, \uicontrol End, and \uicontrol {Hide line} properties. @@ -222,10 +222,10 @@ \section1 Summary of Shapes - The following table lists the QML types that you can use to draw shapes. - The \e Location column contains the tab name where you can find the type - in \uicontrol Library. The \e MCU column indicates which types are supported - on MCUs. + The following table lists the components that you can use to draw shapes. + The \e Location column contains the tab name where you can find the + component in \l Library > \uicontrol Components. The \e MCU column + indicates which components are supported on MCUs. \table \header @@ -255,7 +255,7 @@ \row \li \inlineimage rect-icon16.png \li \l Rectangle - \li Qt Quick - Basic + \li Default Components - Basic \li \inlineimage ok \li A rectangle that is painted with a solid fill color or linear gradient and an optional border. You can use the radius property diff --git a/doc/qtcreator/src/qtquick/library/qtquick-text.qdoc b/doc/qtcreator/src/qtquick/library/qtquick-text.qdoc index a495375c1ab..6f25a698917 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-text.qdoc +++ b/doc/qtcreator/src/qtquick/library/qtquick-text.qdoc @@ -30,11 +30,11 @@ \title Text - You can use several different text types to add read-only or editable text - to a UI, such as titles or labels and text input fields with placeholder - text. The \l Text type adds formatted text, the \l TextEdit type adds a - multiline line edit, and the \l TextInput type adds a single editable line - field. + You can use several different text components to add read-only or editable + text to a UI, such as titles or labels and text input fields with + placeholder text. The \l Text component adds formatted text, the \l TextEdit + component adds a multiline line edit, and the \l TextInput component adds a + single editable line field. You can select the font to use and specify extensive properties for each text string, such as size in points or pixels, style name, emphasis, @@ -44,7 +44,7 @@ \youtube yOUdg1o2KJM - To create a label with a background, use the \l Label type from the + To create a label with a background, use the \l Label component from the Qt Quick Controls module. \section1 Using Rich Text @@ -78,7 +78,7 @@ size, emphasis, aligment, and spacing of the text. Specify the font size in either points or pixels in the \uicontrol Size field. - \image qtquick-designer-text-properties.png "Text type properties" + \image qtquick-designer-text-properties.png "Text component properties" To display custom fonts in the list of available fonts in the \uicontrol Font field, add them in the \uicontrol Assets tab @@ -104,8 +104,8 @@ \section1 Text Alignment - You can align text items horizontally and vertically. By default, text is - vertically aligned to the top. Horizontal alignment follows the natural + You can align text components horizontally and vertically. By default, text + is vertically aligned to the top. Horizontal alignment follows the natural alignment of the text. By default, left-to-right text like English is aligned to the left side of the text area, whereas right-to-left text like Arabic is aligned to the right side of the text area. @@ -116,7 +116,7 @@ For a single line of text, the size of the text is the area of the text. In this common case, all alignments are equivalent. To center a text in its parent, use \l{Setting Anchors and Margins}{anchoring} or bind the - width of the text item to that of the parent. For more information, see + width of the text component to that of the parent. For more information, see \l{Setting Bindings}. \section1 Text and Style Colors @@ -129,17 +129,17 @@ or sunken text. You set the font style in the \uicontrol Style field of the \uicontrol Font section. - For the \uicontrol {Text Edit} and \uicontrol {Text Input} types, you + For the \uicontrol {Text Edit} and \uicontrol {Text Input} components, you can also set the color of selected text and the text highlight color that is used behind selections in the \uicontrol {Selected text color} and \uicontrol {Selection color} fields. For more information about selecting colors, see \l{Picking Colors}. You - can only set solid colors for text items. + can only set solid colors for text components. \section1 Advanced Text Properties - The height and width of a text item are determined automatically depending + The height and width of a text component are determined automatically depending on the values of the properties you set, to accommodate the length of the string that you specify in the \uicontrol Text field and the font size, for example. @@ -148,15 +148,15 @@ size of the displayed text is determined. Select \uicontrol FixedSize to use the size specified in the \uicontrol Size field in pixels or points. Select \uicontrol HorizontalFit or \uicontrol VerticalFit to use the largest - size up to the size specified that fits the width or height of the item. + size up to the size specified that fits the width or height of the component. Select \uicontrol Fit to use the largest size up to the size specified that - fits within the width and height of the item. The font size of fitted text + fits within the width and height of the component. The font size of fitted text has a minimum bound specified by the \uicontrol {Minimum size} field and maximum bound specified by the \uicontrol Size field. In the \uicontrol {Wrap mode} field, you can wrap the text to the text - item's width. The text will only wrap if you set an explicit width for - the text item. By default, text is not wrapped. Select \uicontrol WordWrap + component's width. The text will only wrap if you set an explicit width for + the text component. By default, text is not wrapped. Select \uicontrol WordWrap to restrict wrapping to word boundaries only. Select \uicontrol WrapAnywhere to enable wrapping at any point on a line, even if it occurs in the middle of a word. Select \uicontrol Wrap to wrap at a word boundary, if possible, @@ -165,7 +165,7 @@ You can use the \uicontrol Elide property with the \uicontrol Wrap option to fit a single line of plain text to a set width. Select \uicontrol ElideRight, and set the \uicontrol {Maximum line count} - or the text item height (in the \uicontrol H field). If you set both, + or the text component height (in the \uicontrol H field). If you set both, the maximum line count will apply unless the lines do not fit in the height allowed. @@ -197,7 +197,7 @@ better performance than rich text. In the \uicontrol {Render type} field, you can override the default - rendering type for a text item. Select \uicontrol NativeRendering if + rendering type for a text component. Select \uicontrol NativeRendering if you prefer text to look native on the target platform and do not require advanced features such as \l {Managing 2D Transformations} {transformation} of the text. Using rotation or scaling in combination @@ -206,12 +206,12 @@ \target text-edit \section1 Text Input - You can use the \uicontrol {Text Edit} and \uicontrol {Text Input} types to - add text fields where users can enter text. + You can use the \uicontrol {Text Edit} and \uicontrol {Text Input} + components to add text fields where users can enter text. - The Text Input type displays a single line of editable plain text, whereas - the Text Edit type displays a block of editable, formatted text. Both types - are used to accept text input. + The Text Input component displays a single line of editable plain text, + whereas the Text Edit component displays a block of editable, formatted + text. Both components are used to accept text input. \image qtquick-designer-text-input-properties.png "Text input field properties" @@ -258,7 +258,7 @@ be overwritten. If the \uicontrol {Persistent selection} check box is selected, a text edit - or input keeps its selection when active focus moves to another item. + or input keeps its selection when active focus moves to another component. To use a pointer device for selecting text, select the \uicontrol {Select by mouse} check box. @@ -276,10 +276,10 @@ \section1 Summary of Text Components - The following table lists the QML types that you can use to add text to + The following table lists the components that you can use to add text to UIs. The \e Location column contains the tab name where you can find the - type in \uicontrol Library. The \e MCU column indicates which types are - supported on MCUs. + component in \l Library > \uicontrol Components. The \e MCU column + indicates which components are supported on MCUs. \table \header @@ -291,37 +291,37 @@ \row \li \inlineimage icons/label-icon16.png \li \l [QtQuickControls]{Label} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A text label with inherited styling and font. \row \li \inlineimage text-icon16.png \li \l [QtQuick]{Text} - \li Qt Quick - Basic + \li Default Components - Basic \li \inlineimage ok \li Formatted read-only text. \row \li \inlineimage icons/textarea-icon16.png \li \l [QtQuickControls]{TextArea}{Text Area} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li Multiple lines of editable formatted text. \row \li \inlineimage text-edit-icon16.png \li \l [QtQuick]{TextEdit}{Text Edit} - \li Qt Quick - Basic + \li Default Components - Basic \li \li A single line of editable formatted text that can be validated. \row \li \inlineimage icons/textfield-icon16.png \li \l [QtQuickControls]{TextField}{Text Field} - \li Qt Quick - Controls 2 + \li Qt Quick Controls \li \li A single line of editable plain text. \row \li \inlineimage text-input-icon16.png \li \l [QtQuick]{TextInput}{Text Input} - \li Qt Quick - Basic + \li Default Components - Basic \li \li A single line of editable plain text that can be validated. \endtable diff --git a/doc/qtcreator/src/qtquick/qtquick-adding-dynamics.qdoc b/doc/qtcreator/src/qtquick/qtquick-adding-dynamics.qdoc index 70718e2a0d9..6d3c47ff2e6 100644 --- a/doc/qtcreator/src/qtquick/qtquick-adding-dynamics.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-adding-dynamics.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -55,11 +55,10 @@ changed in all the child components, for example. \li \l {Adding States} - Qt Quick allows you to declare various UI states that describe - how component properties change from a base state. Therefore, - states can be a useful way of organizing your UI - logic. You can associate transitions with items to define - how their properties will animate when they change due to a state - change. + You can declare various UI states that describe how component + properties change from a base state. Therefore, states can be + a useful way of organizing your UI logic. You can associate + transitions with components to define how their properties will + animate when they change due to a state change. \endlist */ diff --git a/doc/qtcreator/src/qtquick/qtquick-animation-types.qdoc b/doc/qtcreator/src/qtquick/qtquick-animation-types.qdoc index 3a8cdcc4da1..2e24284b501 100644 --- a/doc/qtcreator/src/qtquick/qtquick-animation-types.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-animation-types.qdoc @@ -38,9 +38,9 @@ the property that is to be animated, and apply the animation depending on the type of behavior that is required. - You can drag and drop the following QML types from \uicontrol Library - > \uicontrol {QML Types} > \uicontrol {Qt Quick - Animation} to - \uicontrol Navigator or \uicontrol {Form Editor}: + You can drag and drop the following components from \l Library > + \uicontrol Components > \uicontrol {Default Components} > + \uicontrol Animation to \l Navigator or \l {Form Editor}: \list \li \l [QML] {ColorAnimation}{Color Animation} is a specialized @@ -65,10 +65,10 @@ animations to be run sequentially. \endlist - For more information about using the QML types, see + For more information about using the components, see \l{Animation and Transitions in Qt Quick}. - For more information about animating properties in the \uicontrol Timeline + For more information about animating properties in the \l Timeline view, see \l{Creating Animations}. For more information about animating property changes in states, see \l{Animating Transitions Between States}. diff --git a/doc/qtcreator/src/qtquick/qtquick-buttons.qdoc b/doc/qtcreator/src/qtquick/qtquick-buttons.qdoc index 7e00f3d8f2c..7e0eaa41b78 100644 --- a/doc/qtcreator/src/qtquick/qtquick-buttons.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-buttons.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -36,7 +36,7 @@ \title Creating Buttons - To create a button type: + To create a button component: \list 1 @@ -49,20 +49,20 @@ \uicontrol Choose to create a QML file called Button.qml (for example). - \note Types are listed in the \uicontrol Library only if the - filename begins with a capital letter. + \note Components are listed in \l Library > \uicontrol Components > + \uicontrol {My Components} only if the filename begins with a + capital letter. - \li Click \uicontrol {Design} to edit the file in the - \uicontrol {Form Editor}. + \li Click \uicontrol {Design} to edit the file in \l {Form Editor}. - \li In the \uicontrol Navigator, select \uicontrol Item and set the - width (\uicontrol W) and height (\uicontrol H) of the button in the - \uicontrol Properties view. + \li In \l Navigator, select \uicontrol Item and set the width + (\uicontrol W) and height (\uicontrol H) of the button in + \l Properties. - \li Drag and drop a \uicontrol Rectangle from the \uicontrol Library to - the item in \uicontrol Navigator. This creates a nested item where - the item is the parent of the rectangle. Items are positioned - relative to their parents. + \li Drag and drop a \uicontrol Rectangle from \uicontrol Library to + the component in \uicontrol Navigator. This creates a nested + component where the Item is the parent of the Rectangle. Components + are positioned relative to their parents. \li In the \uicontrol Properties view, modify the appearance of the rectangle: @@ -76,17 +76,17 @@ \li Select \uicontrol {Layout}, and then select the \inlineimage icons/anchor-fill.png - (\uicontrol {Fill to Parent}) button to anchor the rectangle to - the item. + (\uicontrol {Fill to Parent}) button to anchor the Rectangle to + the Item. \endlist - \li Drag and drop a \uicontrol {Text} type to the item in + \li Drag and drop a \uicontrol {Text} component to the Item in \uicontrol Navigator. - \li In the \uicontrol Properties view, edit the properties of the \uicontrol Text - type. + \li In the \uicontrol Properties view, edit the properties of the + \uicontrol Text component \list a @@ -110,16 +110,16 @@ \endlist - To be useful, the button type has to be created in a project. - When you work on other QML files in the project to create screens - or other components for the UI, the button type appears in the - \uicontrol {My QML Components} tab of the \uicontrol Library view. + To be useful, the button component has to be created in a project. + When you work on other files in the project to create screens + or other components for the UI, the button component appears in + \uicontrol Library > \uicontrol Components > \uicontrol {My Components}. You can use it to create button instances and modify their properties to assign them useful IDs, change their appearance, and set the button text for each button instance, for example. To create a graphical button that scales beautifully without using - vector graphics, use the \l {Border Image} type. For more + vector graphics, use the \l {Border Image} component. For more information, see \l{Creating Scalable Buttons and Borders}. */ @@ -131,7 +131,7 @@ \title Creating Scalable Buttons and Borders - You can use the \l {Border Image} type to display an image, such as a + You can use the \l {Border Image} component to display an image, such as a PNG file, as a border and a background. Use two border images and suitable graphics to change the appearance of @@ -141,49 +141,49 @@ change the appearance of the button depending on other mouse events, such as hovered. - Use a \l Text type to add button text. + Use a \l Text component to add button text. You can use states also to change the button text color and font size. For example, you can scale the button text up or down. - Add a \l {Mouse Area} type that covers the whole area and + Add a \l {Mouse Area} component that covers the whole area and reacts to mouse events. - \image qmldesigner-borderimage-type.png "Button type in Form Editor and States" + \image qmldesigner-borderimage-type.png "Button component in Form Editor and States" - \section1 Creating the Button Type + \section1 Creating the Button Component - To create a button type, select \uicontrol File > + To create a button component, select \uicontrol File > \uicontrol {New File or Project} > \if defined(qtcreator) \uicontrol Qt > \uicontrol {QML File (Qt Quick 2)} > \else \uicontrol {Qt Quick Files} > \uicontrol {Qt Quick File} > \endif - \uicontrol Choose to create a QML file called Button.qml (for example). + \uicontrol Choose to create a file called Button.qml (for example). - \note Types are listed in the \uicontrol Library only if the - filename begins with a capital letter. + \note Components are listed in \l Library > \uicontrol Components > + \uicontrol {My Components} only if the filename begins with a + capital letter. \section1 Constructing the Button Component To construct the button component: \list 1 - \li Click \uicontrol {Design} to edit the QML file in the - \uicontrol {Form Editor}. - \li In the \uicontrol {Assets} tab of \uicontrol Library, select - \uicontrol {Add New Assets} to copy the image files you want - to use to the project folder. - \li In the \uicontrol Navigator, select the root item and set the + \li Click \uicontrol {Design} to edit the component file in + \l {Form Editor}. + \li In the \uicontrol {Assets} tab of \l Library, select + \inlineimage plus.png + to copy the image files you want to use to the project folder. + \li In \l Navigator, select the root component and set the width (\uicontrol W) and height (\uicontrol H) of the button in the - \uicontrol Properties view to match the size of the images + \l Properties view to match the size of the images you plan to use. This specifies the initial size of the button component. - \li Drag and drop two \uicontrol {Border Image} types from - \uicontrol Library to the root item in \uicontrol Navigator. - \li Drag and drop a \uicontrol Text type to the root item. - \li Drag and drop a \uicontrol {Mouse Area} to the root item in - \uicontrol Navigator. + \li Drag and drop two \uicontrol {Border Image} components from + \uicontrol Library to the root component in \uicontrol Navigator. + \li Drag and drop a \uicontrol Text component to the root component. + \li Drag and drop a \uicontrol {Mouse Area} to the root component. \li Select a border image to edit the values of its properties: \list a \li In the \uicontrol Id field, enter an ID for the border @@ -208,11 +208,11 @@ \inlineimage icons/anchor-fill.png (\uicontrol {Fill to Parent}) button. \endlist - \li Select the text item to specify font size and color in + \li Select the text component to specify font size and color in \uicontrol Properties: \list a - \li In the \uicontrol Color field, use - the color picker to select the font color, or enter a value + \li In the \uicontrol Color field, use the \l{Picking Colors} + {color picker} to select the font color, or enter a value in the field. \li In \uicontrol Font group, \uicontrol Size field, enter the font size. @@ -230,7 +230,7 @@ \section1 Using States to Change Component Property Values \list 1 - \li In the \uicontrol States view, select \uicontrol {Create New State} + \li In the \l States view, select \uicontrol {Create New State} twice to create two new states. \image qmldesigner-borderimage-states.png "Active and inactive states" \li Select \uicontrol State1. @@ -239,10 +239,10 @@ , and then select \uicontrol {Set when Condition} to determine when the state should be applied. \li In the \uicontrol {Binding Editor}, select the \c mouseArea - type and the \c pressed signal to specify that the state is + component and the \c pressed signal to specify that the state is applied when the mouse button is pressed down. \image qmldesigner-borderimage-bindings.png "Active state when condition" - \li Select the text item in \uicontrol Navigator to specify that the + \li Select the text component in \uicontrol Navigator to specify that the text size is scaled up when the button is pressed down. \li In \uicontrol Properties, select the \uicontrol Advanced tab, and increase the value of the \uicontrol Scale property. @@ -255,8 +255,6 @@ specify that the state is applied when the mouse button is not pressed down. \image qmldesigner-borderimage-bindings1.png "Inactive state when condition" - it in the \e inactive state by changing the value of its - \uicontrol Visibility property in \uicontrol Properties. \li Press \key {Ctrl+S} to save the button. \li Select the \inlineimage live_preview.png (\uicontrol {Show Live Preview}) button to check how the @@ -265,10 +263,10 @@ component. \endlist - To be useful, the button type has to be created in a project. - When you work on other QML files in the project to create screens - or other components for the UI, the button type appears in the - \uicontrol {My QML Components} tab of the \uicontrol Library view. + To be useful, the button component has to be created in a project. + When you work on other files in the project to create screens + or other components for the UI, the button component appears in + \l Library > \uicontrol Components > \uicontrol {My Components}. You can drag and drop it to \uicontrol {Form Editor} or \uicontrol Navigator to create button instances and modify the values of their properties to assign them useful IDs, change their appearance, diff --git a/doc/qtcreator/src/qtquick/qtquick-form-editor.qdoc b/doc/qtcreator/src/qtquick/qtquick-form-editor.qdoc index 3eaaea48eb2..9321e8a1c1b 100644 --- a/doc/qtcreator/src/qtquick/qtquick-form-editor.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-form-editor.qdoc @@ -180,15 +180,15 @@ Choose \uicontrol Tools > \uicontrol Options > \uicontrol {Qt Quick} > \uicontrol {Qt Quick Designer} to specify settings for snapping. In the - \uicontrol {Parent item padding} field, specify the + \uicontrol {Parent component padding} field, specify the distance in pixels between the parent component and the snapping lines. In - the \uicontrol {Sibling item spacing} field, specify the distance in pixels - between sibling components and the snapping lines. + the \uicontrol {Sibling component spacing} field, specify the distance in + pixels between sibling components and the snapping lines. \image qtquick-designer-options.png "Qt Quick Designer options" The following image shows the snapping lines (1) when - \uicontrol {Parent item padding} is set to 5 pixels. + \uicontrol {Parent component padding} is set to 5 pixels. \image qmldesigner-snap-margins.png "Snapping lines on canvas" @@ -220,9 +220,9 @@ \image qmldesigner-preview-size.png "Component width and height" To set the initial size of the root component, select \uicontrol Tools > - \uicontrol Options > \uicontrol {Qt Quick} > \uicontrol {Qt Quick Designer} and - specify the component width and height in the \uicontrol {Root Item Init Size} - group. + \uicontrol Options > \uicontrol {Qt Quick} > \uicontrol {Qt Quick Designer} + and specify the component width and height in the + \uicontrol {Root Component Init Size} group. \section1 Specifying Canvas Size diff --git a/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc b/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc index dc9448d095e..ba92923c96b 100644 --- a/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-modules-with-plugins.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -46,12 +46,11 @@ the contained components, and therefore, the modules must provide extra type information for code completion and the semantic checks to work correctly. - To create a QML module and make it appear in the \uicontrol Library view in - the Design mode: + To create a QML module and make it appear in the \l Library view: \list 1 - \li Create custom QML controls and place all the \c .qml files in a + \li Create custom components and place all the \c .qml files in a directory dedicated to your module. For example: \c {imports\asset_imports}. @@ -72,8 +71,8 @@ \li Create a \c .metainfo file for your module and place it in the \c designer directory. Meta information is needed to display the - components in the \uicontrol {QML Types} tab in \uicontrol - Library. Use a metainfo file delivered with Qt, such as + components in the \uicontrol Components tab in \uicontrol Library. + Use a metainfo file delivered with Qt, such as \c qtquickcontrols2.metainfo, as an example. \if defined(qtcreator) @@ -91,9 +90,9 @@ \endlist - Your module should now appear in the \uicontrol {QML Imports} tab in - \uicontrol Library in the Design mode. Your components should appear in the - \uicontrol {QML Types} tab if a valid \c .metainfo file is in place. + Your module should now appear in the \uicontrol Components tab in + \uicontrol Library. Your components should appear in a subsection of + the \uicontrol Components tab if a valid \c .metainfo file is in place. \if defined(qtcreator) \section1 Registering QML Types @@ -116,7 +115,7 @@ Ideally, QML modules have a \c{plugins.qmltypes} file in the same directory as the \c qmldir file. The \c qmltypes file contains a description of the - types exported by the module's plugins and is loaded by \QC when the + components exported by the module's plugins and is loaded by \QC when the module is imported. For Qt 4.8 and later, one or more \c qmltypes files can be listed in the @@ -131,7 +130,7 @@ Once you have obtained \c qmlplugindump for the Qt version the QML module's plugins were compiled with, run the following command to load My.Module version 1.0 from \c{/import/path/my/module} including all its plugins and - output a description of the plugins' types to + output a description of the plugins' components to \c{/import/path/my/module/plugins.qmltypes}: \code @@ -175,7 +174,7 @@ \section1 Running QML Modules in Design Mode A QML emulation layer (also called QML Puppet) is used in the Design mode to - render and preview images and to collect data. To be able to render custom types + render and preview images and to collect data. To be able to render custom components correctly from QML modules, the emulation layer must be built with the same Qt version and compiler as the QML modules. diff --git a/doc/qtcreator/src/qtquick/qtquick-navigator.qdoc b/doc/qtcreator/src/qtquick/qtquick-navigator.qdoc index 59dcdad2997..6bd59ce6834 100644 --- a/doc/qtcreator/src/qtquick/qtquick-navigator.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-navigator.qdoc @@ -38,9 +38,9 @@ \image qmldesigner-navigator.png "Navigator with component preview" You can select components in the \uicontrol Navigator view to edit their - properties in the \uicontrol Properties view. Components can access the + properties in the \l Properties view. Components can access the properties of their parent component. To select components in the - \uicontrol {Form Editor} view, right-click a component, and select another + \l {Form Editor} view, right-click a component, and select another component in the \uicontrol Selection submenu. Typically, child components are located within the parent component in @@ -123,7 +123,8 @@ To hide invisible components in \uicontrol Navigator, click \inlineimage filtericon.png - (\uicontrol {Filter Tree}) and select \uicontrol {Show only visible items}. + (\uicontrol {Filter Tree}) and select + \uicontrol {Show Only Visible Components}. \section1 Locking Components @@ -142,14 +143,14 @@ \image qtquick-designer-navigator-lock.gif "Locking components in Navigator" You cannot select locked components in \uicontrol {Form Editor} or - \uicontrol {3D Editor} nor access their properties in + \l {3D Editor} nor access their properties in \uicontrol Properties. If you attempt to \l{Adding States}{remove a state} that changes the properties of a locked component, you are prompted to confirm the removal. If you have \l{Editing Animation Curves}{added easing curves} to keyframe - animations, you can lock and unlock them in the \uicontrol {Curve Editor} + animations, you can lock and unlock them in the \l {Curve Editor} view. If you lock the components that contain the easing curves, the lock status is synchronized between \uicontrol Navigator and \uicontrol {Curve Editor}. @@ -164,7 +165,7 @@ components in \uicontrol {Form Editor}. To list the components in the order in which they appear in the file, as some other tools do, click \inlineimage filtericon.png - (\uicontrol {Filter Tree}), and select \uicontrol {Reverse item order}. + (\uicontrol {Filter Tree}), and select \uicontrol {Reverse Component Order}. To move a component to the top or bottom of the tree within its parent, right-click it in \uicontrol Navigator or \uicontrol {Form Editor} @@ -218,7 +219,7 @@ right-click an instance of a component and then select \uicontrol {Go into Component} in the context menu or press \key F2. - \li In \uicontrol Properties, select \uicontrol {Edit Master Component}. + \li In \uicontrol Properties, select \uicontrol {Edit Base Component}. \endlist The component hierarchy is displayed as a bread crumb path, where you can diff --git a/doc/qtdesignstudio/examples/doc/coffeemachine.qdoc b/doc/qtdesignstudio/examples/doc/coffeemachine.qdoc index 7742b7eba46..8d45fe1b6d0 100644 --- a/doc/qtdesignstudio/examples/doc/coffeemachine.qdoc +++ b/doc/qtdesignstudio/examples/doc/coffeemachine.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -113,7 +113,8 @@ \section1 Using Timelines to Animate Transitions The Coffee Machine application screens for choosing coffee, empty cup, and - brewing each use custom QML types specified in separate QML files. + brewing each use custom components specified in separate component files + (.qml). We use the \uicontrol Timeline view to animate the transitions between the screens during the application flow in \e {ApplicationFlow.ui.qml}. @@ -122,7 +123,7 @@ Our viewport contains 200 frames, so we select the \inlineimage plus.png "Plus button" - button to add a 1200-frame timeline to the root element. + button to add a 1200-frame timeline to the root component. We use the default values for all other fields. To start recording the transition from the startup screen to the coffee diff --git a/doc/qtdesignstudio/examples/doc/ebikedesign.qdoc b/doc/qtdesignstudio/examples/doc/ebikedesign.qdoc index 43d70b09fc2..f91dfca37de 100644 --- a/doc/qtdesignstudio/examples/doc/ebikedesign.qdoc +++ b/doc/qtdesignstudio/examples/doc/ebikedesign.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -55,7 +55,7 @@ Our viewport contains 1000 frames, so we select the \inlineimage plus.png "Plus button" - button to add a 5000-frame timeline to the root element. + button to add a 5000-frame timeline to the root component. We use the default values for all other fields. To start recording the transitions between the Standard screen and the @@ -79,10 +79,10 @@ new timeline appears in the view. When we select \e tripScreen in the \uicontrol Navigator, we can see the - properties of the TripScreen QML type that we can animate in the + properties of the TripScreen component that we can animate in the \uicontrol Properties view. - \image ebikedesign-trip-properties.png "Properties view of the Trip type" + \image ebikedesign-trip-properties.png "Properties view of the Trip component" We set values for the \uicontrol Visibility, \uicontrol Opacity, \uicontrol currentFrame, and \uicontrol Scale properties diff --git a/doc/qtdesignstudio/examples/doc/loginui1.qdoc b/doc/qtdesignstudio/examples/doc/loginui1.qdoc index 4ca8aa35445..d6ea0b5a096 100644 --- a/doc/qtdesignstudio/examples/doc/loginui1.qdoc +++ b/doc/qtdesignstudio/examples/doc/loginui1.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -38,12 +38,12 @@ \e{Log In UI - Part 1} is the first in a series of tutorials that build on each other to illustrate how to use \QDS to create a simple UI with some basic UI components, such as pages, buttons, and fields. Part 1 describes - how to use the \QDS wizard templates to create a Qt Quick project and a + how to use the \QDS wizard templates to create a project and a button UI control, and how to modify the files generated by the wizard templates to design your own UI. - The \e {Learn Qt Quick} sections provide additional information about the - tasks performed by the wizards and about the basics of QML and Qt Quick. + The \e {Learn More} sections provide additional information about the + tasks performed by the wizards and about other basic tasks and concepts. \section1 Creating the UI Project @@ -78,8 +78,8 @@ \image loginui1-project.png "Log In UI project in the Design mode" - The UI is built using a \l{basic-rectangle}{Rectangle} QML type that forms - the background and a \l Text type that displays some text. + The UI is built using a \l{basic-rectangle}{Rectangle} component that forms + the background and a \l Text component that displays some text. \note The visibility of views depends on the selected workspace, so your \QDS might look somewhat different from the above image. @@ -184,7 +184,7 @@ \li Drag and drop the Qt logo from the \uicontrol Assets tab of \uicontrol Library to the top-left corner of the rectangle. \image loginui1-library-assets.png "Library view Assets tab" - \QDS automatically creates a component of the \l{Images}{Image} type + \QDS automatically creates a component of the \l{Images}{Image} component for you with the path to the image file set as the value of the \uicontrol Source field in \uicontrol Properties. \image loginui1-image-properties.png "Image properties" @@ -198,15 +198,15 @@ \image loginui1-main-page.png "Modified UI in the Design mode" - \section2 Learn Qt Quick - QML Types + \section2 Learn More - Components - The \l {Qt Quick} module provides all the basic types necessary for creating - UIs. It provides a visual canvas and includes types for creating and - animating visual components, receiving user input, and creating data models - and views. + \QDS provides preset \l{glossary-component}{components} for creating + UIs, including components for creating and animating visual components, + receiving user input, and creating data models and views. - To be able to use the functionality of Qt Quick types, the wizard template - adds the following \e import statements to the QML files that it creates: + To be able to use the functionality of preset components, the wizard template + adds the following \e import statements to the UI files (.ui.qml) that it + creates: \quotefromfile loginui1/Screen01.ui.qml \skipto import @@ -214,72 +214,72 @@ You can view the import statements in the \uicontrol {Text Editor} view. - The \uicontrol Library view lists the QML types in each Qt module that are - supported by \QDS. You can use the basic types to create your own QML - types, and they will be listed under \uicontrol {My QML Components}. - This section is only visible if you have created custom QML components. + The \l Library view lists the components in each module that are + supported by \QDS. You can use the basic components to create your own + components, and they will be listed under \uicontrol {My Components}. + This section is only visible if you have created custom components. - The \l {basic-rectangle}{Rectangle}, \l Text, and \l {Images}{Image} types - used in this tutorial are based on the \l Item type. It is the base type for - all visual elements, with implementation of basic functions and properties, - such as type name, ID, position, size, and visibility. + The \l {basic-rectangle}{Rectangle}, \l Text, and \l {Images}{Image} + components used in this tutorial are based on the \l Item component. + It is the base component for all visual elements, with implementation + of basic functions and properties, such as component name, ID, position, + size, and visibility. For more information, see \l{Use Case - Visual Elements In QML}. For - descriptions of all QML types, see \l{All QML Types} in the Qt reference + descriptions of all components, see \l{All QML Types} in the Qt reference documentation. \section3 Regtangle Properties - The basic \l {basic-rectangle}{Rectangle} QML type is used for drawing shapes - with four sides and four corners. You can fill rectangles either with a - solid fill color or a gradient. You can specify the border color separately. + The default \l {basic-rectangle}{Rectangle} component is used for drawing + shapes with four sides and four corners. You can fill rectangles either with + a solid fill color or a gradient. You can specify the border color separately. By setting the value of the radius property, you can create shapes with rounded corners. If you want to specify the radius of each corner separately, you can use the - \l{studio-rectangle}{Rectangle} type from the Qt Quick Studio Components - module instead of the basic rectangle type. It is available in the - \uicontrol {Studio Components} tab of \uicontrol Library. + \l{studio-rectangle}{Rectangle} component from the Studio Components + module instead of the basic rectangle component. It is available in the + \uicontrol {Studio Components} tab of \l Library > \uicontrol Components. \section3 Text Properties - The \l Text type is used for adding static text to the UI, such as titles - and labels. You can select the font to use and specify extensive properties - for each text item, such as size in points or pixels, weight, style, and - spacing. + The \l Text component is used for adding static text to the UI, such as + titles and labels. You can select the font to use and specify extensive + properties for each text component, such as size in points or pixels, + weight, style, and spacing. - To display custom fonts in the list of available fonts in - \uicontrol Properties, add them in the \uicontrol Assets - tab of \uicontrol Library. + To display custom fonts in the list of available fonts in \l Properties, + add them in the \uicontrol Assets tab of \uicontrol Library. - If you want to create a label with a background, use the \l Label type - from the Qt Quick Controls module instead of the Text type. + If you want to create a label with a background, use the \l Label component + from the Qt Quick Controls module instead of the Text component. \section3 Image Properties - The \l {Images}{Image} type is used for adding images to the UI in several + The \l {Images}{Image} component is used for adding images to the UI in several supported formats, including bitmap formats such as PNG and JPEG and vector graphics formats such as SVG. You must add the images to your project in the \uicontrol Assets tab of \uicontrol Library to be able to use them in designs. - If you need to display animated images, use the \l {Animated Image} type, - also available in the \uicontrol {Qt Quick - Basic} - tab of \uicontrol Library. + If you need to display animated images, use the \l {Animated Image} + component, also available in \uicontrol Library > \uicontrol Components > + \uicontrol {Default Components} > \uicontrol Basic. \section1 Creating a Push Button You can use another wizard template to create a push button and to add it to the project. The wizard template creates a reusable button component that - appears under \uicontrol {My QML Components} in \uicontrol Library. You can - drag and drop it to \uicontrol {Form Editor} and modify its properties - in \uicontrol Properties to change its appearance and functionality. + appears under \uicontrol {My Components} in \uicontrol Library > Components. + You can drag and drop it to \l {Form Editor} and modify its properties + in \l Properties to change its appearance and functionality. If you find that you cannot use the wizard template nor the ready-made - button controls available in the \uicontrol {Qt Quick Controls 2} tab - in \uicontrol Library to create the kind of push button that you want, - you can create your button from scratch using basic QML types. For more - information, see \l {Creating Buttons} and + button controls available in the \uicontrol {Qt Quick Controls} tab + in \uicontrol Library > \uicontrol Components to create the kind of push + button that you want, you can create your button from scratch using default + components. For more information, see \l {Creating Buttons} and \l {Creating Scalable Buttons and Borders}. To create a push button by using the wizard template: @@ -289,7 +289,7 @@ \uicontrol {Files and Classes} > \uicontrol {Qt Quick Controls} > \uicontrol {Custom Button} > \uicontrol Choose. \li In the \uicontrol {Component name} field, enter a name for your - button type: \e {PushButton}. + button component: \e {PushButton}. \li Select \uicontrol Finish (or \uicontrol Done on \macos) to create the button. \endlist @@ -298,16 +298,16 @@ \image loginui1-button.png "Button in the Design mode." - \section2 Learn Qt Quick - Qt Quick Controls + \section2 Learn More - UI Controls The \e {Custom Button} wizard template creates a \l {Button} - QML type that belongs to the \l {Qt Quick Controls 2} module. It is a + component that belongs to the \l {Qt Quick Controls} module. It is a push-button control that can be pushed or clicked by the user. Buttons are normally used to perform an action or to answer a question. The Button - type inherits properties and functionality from another QML type. These + component inherits properties and functionality from another component. These enable you to set text, display an icon, react to mouse clicks, and so on. - To be able to use the functionality of the Button type, the wizard template + To be able to use the functionality of the Button component, the wizard template adds the following \e import statements to the \e PushButton.ui.qml file: \quotefromfile loginui1/PushButton.ui.qml @@ -315,9 +315,9 @@ \printuntil loginui1 The \l {Qt Quick Templates 2} module provides the functionality of the - Button type. The module is imported as \e T, and the alias is added to - the Button type definition to indicate that the Button type from the - Qt Quick Controls 2 module is used, instead of some other type with the + Button component. The module is imported as \e T, and the alias is added to + the Button component definition to indicate that the Button component from the + Qt Quick Controls module is used, instead of some other component with the same name. \printuntil text @@ -331,7 +331,7 @@ \section1 Styling the Button - You can now modify the properties of the PushButton type to your liking. To + You can now modify the properties of the PushButton component to your liking. To make the changes apply to all the button instances, you must make them in the \e PushButton.ui.qml file. @@ -362,7 +362,7 @@ rounded corners. \li In the \uicontrol States view, select the \e down state and modify the background and border color as above. - \li Select the text item in \uicontrol Navigator to display its + \li Select the text component in \uicontrol Navigator to display its properties in \uicontrol Properties. \li In the \uicontrol {Text Color} field, select \uicontrol Actions > \uicontrol Reset to reset the text color to the default color, @@ -379,26 +379,25 @@ \image loginui1-button-styled.png "Modified button in the Form Editor" - \section2 Learn Qt Quick - Property Bindings + \section2 Learn More - Property Bindings - An object's property can be assigned a static value which stays constant + A component's property can be assigned a static value which stays constant until it is explicitly assigned a new value. In this tutorial, the color values you set in \uicontrol {Binding Editor} are static. - However, to make the fullest use of QML and its built-in support for dynamic - object behavior, you can use property bindings that specify relationships - between different object properties. When a property's dependencies change + However, to make the fullest use of the built-in support for dynamic + component behavior, you can use property bindings that specify relationships + between different component properties. When a property's dependencies change in value, the property is automatically updated according to the specified relationship. - Behind the scenes, the QML engine monitors the property's dependencies - (that is, the variables in the binding expression). When it detects a - change, it re-evaluates the binding expression and applies the new result - to the property. + Behind the scenes, the property's dependencies are monitored (that is, the + variables in the binding expression). When a change is detected, the binding + expression is re-evaluated and the new result is applied to the property. For more information, see \l {Property Binding}. - Next, you will use the \e PushButton type in the main UI QML file, + Next, you will use the \e PushButton component in the main UI file, \e Screen01.ui.qml to add two instances of the button to the UI and to modify their text labels. @@ -409,9 +408,9 @@ \list 1 \li Double-click \e Screen01.ui.qml in \uicontrol Projects to open it in \uicontrol {Form Editor}. - \li Drag and drop two instances of the PushButton type from + \li Drag and drop two instances of the PushButton component from \uicontrol Library to \uicontrol {Form Editor}. - \image loginui1-library.png "My QML Components tab of Library view" + \image loginui1-library.png "My Components tab of Library view" \li Select one of the buttons in \uicontrol Navigator to modify its id and text label in \uicontrol Properties. \li In the \uicontrol Id field, enter \e loginButton. @@ -422,7 +421,7 @@ \li Select the other button, and change its id to \e registerButton and text label to \e {Create Account}. Again, mark the text translatable. - \li When an element is selected, selection handles are displayed in its + \li When a component is selected, selection handles are displayed in its corners and on its sides. Use the selection handles to resize the buttons so that the text fits comfortably on the button background. In this tutorial, the button width is set to 120 pixels. @@ -440,10 +439,10 @@ \image loginui1-ready.png "The finished UI in the Design mode" - \section2 Learn Qt Quick - QML Ids + \section2 Learn More - Component IDs - Each QML type and each instance of a QML type has an \e id that uniquely - identifies it and enables other objects' properties to be bound to it. An + Each component and each instance of a component has an \e id that uniquely + identifies it and enables other components' properties to be bound to it. An id must be unique, it must begin with a lower-case letter or an underscore character, and it can contain only letters, numbers, and underscore characters. diff --git a/doc/qtdesignstudio/examples/doc/loginui2.qdoc b/doc/qtdesignstudio/examples/doc/loginui2.qdoc index 54c3e887d04..6999a50c8e5 100644 --- a/doc/qtdesignstudio/examples/doc/loginui2.qdoc +++ b/doc/qtdesignstudio/examples/doc/loginui2.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -48,8 +48,8 @@ These instructions build on \l {Log In UI - Part 1}. - The \e {Learn Qt Quick} sections provide additional information about the - features of QML and Qt Quick that are relevant to the task at hand. + The \e {Learn More} sections provide additional information about the + task at hand. \section1 Anchoring UI Components @@ -91,23 +91,23 @@ \image loginui2-loginpage.png "Login page in the Design mode" - \section2 Learn Qt Quick - Anchors + \section2 Learn More - Anchors - In an anchor-based layout, each QML type can be thought of as having a set + In an anchor-based layout, each component can be thought of as having a set of invisible \e anchor lines: top, bottom, left, right, fill, horizontal center, vertical center, and baseline. - Anchors enable placing an object either adjacent to or inside of another - object, by attaching one or more of the object's anchor lines to the anchor - lines of the other object. If an object changes, the objects that are - anchored to it will adjust automatically to maintain the anchoring. + Anchors enable placing a component either adjacent to or inside of another + component, by attaching one or more of the component's anchor lines to the + anchor lines of the other component. If a component changes, the components + that are anchored to it will adjust automatically to maintain the anchoring. For more information, see \l{Positioning with Anchors}. \section1 Using Column Positioners You will now add two entry fields to the page and position them in a column - to learn another method of \l{Using Positioners}{positioning items}. + to learn another method of \l{Using Positioners}{positioning components}. Next, you will position the push buttons on the page in another column. Finally, you will anchor the columns to the page to enable their positions to change when the screen size changes. @@ -115,15 +115,15 @@ To add entry fields to the page: \list 1 - \li In \uicontrol Library > \uicontrol {QML Types}, select the - \uicontrol {+ \QtQuick.Controls} button to display the - \l {Qt Quick Controls 2} types in the tab: + \li In \l Library > \uicontrol Components, select the + \inlineimage plus.png + button to add the \l {Qt Quick Controls} module to the project: \image loginui2-imports.png \li Drag and drop two instances of the \uicontrol {Text Field} - type from the \uicontrol {Qt Quick Controls 2} tab to - \uicontrol {Form Editor}. - \li Select one of the text fields in \uicontrol Navigator, and - change its id to \e usernameField in \uicontrol Properties. + component from the \uicontrol {Qt Quick Controls} tab to + \l {Form Editor}. + \li Select one of the text fields in \l Navigator, and + change its id to \e usernameField in \l Properties. \li In the \uicontrol Geometry group, \uicontrol Size field, make the field wide enough to accommodate long user names by setting its width to \e 300 pixels. @@ -136,7 +136,7 @@ and width to \e 300 pixels. \endlist - The Text Field type has additional properties that you can use to change + The Text Field component has additional properties that you can use to change its appearance. For example, you can change the color, font, alignment, or word and letter spacing of the placeholder text. @@ -187,22 +187,18 @@ \image loginui2-loginpage-ready.png "Login page in the Design mode" - \section1 Learn Qt Quick - Positioners + \section1 Learn More - Positioners - Qt Quick provides built-in positioner items. For many use cases, the best - positioner to use is a simple grid, row, or column, and Qt Quick provides - items that will position children in these formations in the most efficient - manner possible. For more information about using pre-defined positioners, - see \l {Item Positioners}. + For many use cases, the best positioner to use is a simple grid, row, or + column, and \QDS provides components that will position children in these + formations in the most efficient manner possible. For more information + about using preset positioners, see \l {Using Positioners}. - For more complicated UI designs, you can use QML types from the - \l {Qt Quick Layouts Overview}{Qt Quick Layouts module}. + For more complicated UI designs, you can use components from the + \l {Using Layouts}{Qt Quick Layouts module}. \section1 Next Steps - To learn more about positioning items in \QDS, see - \l{Positioning Items}. - To learn how to add a second page and move to it from the main page, see the next tutorial in the series, \l {Log In UI - Part 3}. */ diff --git a/doc/qtdesignstudio/examples/doc/loginui3.qdoc b/doc/qtdesignstudio/examples/doc/loginui3.qdoc index 56a76bb73b2..dda20fd6af3 100644 --- a/doc/qtdesignstudio/examples/doc/loginui3.qdoc +++ b/doc/qtdesignstudio/examples/doc/loginui3.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -42,8 +42,8 @@ first page, users can enter a username and password to log in. On the second page, they can register if they do not already have an account. - Because the second page will contain most of the same UI elements as the - login page, you will use \e states to show and hide UI elements as necessary + Because the second page will contain most of the same UI components as the + login page, you will use \e states to show and hide UI components as necessary when a user selects the \uicontrol {Create Account} button. These instructions build on: @@ -53,8 +53,8 @@ \li \l {Log In UI - Part 2} \endlist - The \e {Learn Qt Quick} sections provide additional information about the - features of QML and Qt Quick that are relevant to the task at hand. + The \e {Learn More} sections provide additional information relevant to the + task at hand. \section1 Adding UI Components @@ -71,18 +71,18 @@ To add the text field and a back button needed on the registration page: \list 1 - \li Open \e {Screen01.ui.qml} in \uicontrol {Form Editor} for editing. - \li Drag and drop a \uicontrol {Text Field} from \uicontrol Library - > \uicontrol {QML Types} > \uicontrol {Qt Quick Controls 2} to - \e fieldColumn in \uicontrol Navigator. - \li In \uicontrol Properties, change the id of the text field to + \li Open \e {Screen01.ui.qml} in \l {Form Editor} for editing. + \li Drag and drop a \uicontrol {Text Field} from \l Library + > \uicontrol Components > \uicontrol {Qt Quick Controls} to + \e fieldColumn in \l Navigator. + \li In \l Properties, change the ID of the text field to \e verifyPasswordField. \li In the \uicontrol Geometry group, \uicontrol Size field, set the width of the field to \e 300 pixels to match the size of the existing fields. \li In the \uicontrol Placeholder field, set the placeholder text to \e {Verify password} and mark the text translatable. - \li Drag and drop a PushButton type from \uicontrol Library > + \li Drag and drop a PushButton component from \uicontrol Library > \uicontrol {My QML Components} to their parent rectangle in \uicontrol Navigator. \li Select the button in \uicontrol Navigator and change its id to @@ -145,32 +145,28 @@ \image loginui3-states.png "States view" - \section2 Learn Qt Quick - States + \section2 Learn More - States - In Qt Quick, the \e state of a particular visual item is the set of - information which describes how and where the individual component - parts of the visual item are displayed within it, and all the data - associated with that state. Most visual items in a UI will have a - limited number of states, each with well-defined properties. + The \l{Adding States}{state} of a particular visual component is the set of + information which describes how and where the individual parts of the visual + component are displayed within it, and all the data associated with that + state. Most visual components in a UI will have a limited number of states, + each with well-defined properties. - For example, an element in a list may be either selected or not, and if + For example, a list item may be either selected or not, and if selected, it may either be the currently active single selection or it may be part of a selection group. Each of those states may have certain associated visual appearance (neutral, highlighted, expanded, and so on). - Qt Quick provides a \l State type with properties which define its - semantics and can be used to trigger behavior or animations. UI components - typically have a state property and a default state. The default state - contains all of an item's initial property values, and is therefore useful - for managing property values before state changes. + Youn can apply states to trigger behavior or animations. UI components + typically have a default state that contains all of a component's initial + property values and is therefore useful for managing property values before + state changes. - UI components can specify additional states by adding new State objects to - the state property. Each state within a component has a unique name. To - change the current state of an item, the state property is set to the name - of the state. State changes can be bound to conditions by using the \c when - property. - - For more information, see \l{Qt Quick States}. + You can specify additional states by adding new states. Each state within a + component has a unique name. To change the current state of an component, + the state property is set to the name of the state. State changes can be + bound to conditions by using the \c when property. Next, you will create connections to specify that clicking the \uicontrol {Create Account} button on the login page triggers a @@ -180,12 +176,12 @@ \section1 Connecting Buttons to States - QML types have predefined signals that are emitted when users interact - with the UI. The \e PushButton QML type contains a \l{Mouse Area} type + Components have predefined signals that are emitted when users interact + with the UI. The \e PushButton component contains a \l{Mouse Area} component that has a \e clicked signal. The signal is emitted whenever the mouse is clicked within the area. - You will now use the \uicontrol Connections view to + You will now use the \l Connections view to \l{Connecting Components to Signals}{connect} the clicked signal of \e registerButton to \e registerState and that of \e backButton to \e loginState: @@ -217,7 +213,7 @@ \image loginui3.gif "Moving between login page and registration page" - \section2 Learn Qt Quick - Signal and Event Handlers + \section2 Learn More - Signal and Event Handlers UI components need to communicate with each other. For example, a button needs to know that the user has clicked on it. In response, the button may @@ -233,8 +229,8 @@ \section1 Next Steps - For a more complicated UI, you would typically use QML types that specify - a view of items provided by a model, such as a \l ListView or \l StackView. + For a more complicated UI, you would typically use components that specify + a view of components provided by a model, such as a \l ListView or \l StackView. For more information, see \l{Using Data Models}. To learn how to use a timeline to animate the transition between the login diff --git a/doc/qtdesignstudio/examples/doc/loginui4.qdoc b/doc/qtdesignstudio/examples/doc/loginui4.qdoc index 280def1382c..48eec8fd16e 100644 --- a/doc/qtdesignstudio/examples/doc/loginui4.qdoc +++ b/doc/qtdesignstudio/examples/doc/loginui4.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -53,8 +53,8 @@ \li \l {Log In UI - Part 3} \endlist - The \e {Learn Qt Quick} sections provide additional information about the - features of QML and Qt Quick that are relevant to the task at hand. + The \e {Learn More} sections provide additional information relevant to the + task at hand. \section1 Animating UI Components @@ -287,14 +287,14 @@ \image loginui4.gif "Moving between login page and registration page" - \section2 Learn Qt Quick - Timeline + \section2 Learn More - Timeline - The Qt Quick Timeline module provides QML types to use timelines and + The Qt Quick Timeline module provides components to use timelines and keyframes to animate component properties in UIs. Animating properties enables their values to move through intermediate values instead of immediately changing to the target value. - The Keyframe type specifies the value of a keyframe on a timeline. \QDS + The Keyframe component specifies the value of a keyframe on a timeline. \QDS automatically adds keyframes between two keyframes, and sets their values evenly to create an appearance of movement or transformation. @@ -302,14 +302,15 @@ of the animation. For more information about easing curve types, see the documentation for \l [QML] {PropertyAnimation}{easing curves}. - To be able to use the functionality of Qt Quick Timeline types, \QDS adds - the following \e import statement to the QML files where it uses the types: + To be able to use the functionality of Timeline components, \QDS adds + the following \e import statement to the UI files where it uses the + components: \quotefromfile loginui4/Screen01.ui.qml \skipto QtQuick.Timeline \printuntil 1.0 - All the properties and functions of the QML types from this module are + All the properties and functions of the components from this module are available in the Design mode, and therefore it is enough to learn how to use \uicontrol Timeline, as described in \l {Creating Animations}. diff --git a/doc/qtdesignstudio/examples/doc/progressbar.qdoc b/doc/qtdesignstudio/examples/doc/progressbar.qdoc index 62e6184159b..225efa2aa24 100644 --- a/doc/qtdesignstudio/examples/doc/progressbar.qdoc +++ b/doc/qtdesignstudio/examples/doc/progressbar.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -36,36 +36,36 @@ \section1 Creating the Progress Bar - First, we create an empty Qt Quick project, as described in - \l {Creating Projects}. For the purposes of this example, - we call the project \e progressbar. + First, we create an empty project, as described in \l {Creating Projects}. + For the purposes of this example, we call the project \e progressbar. In this example, we use two overlapping rectangles and a text label to create the progress bar. For another example of a progress bar, see the - \l {progress-bar-control}{Progress Bar} type in Qt Quick Controls. + \l {progress-bar-control}{Progress Bar} component in Qt Quick Controls. - In the Design mode, we drag and drop a \uicontrol Rectangle from the - \uicontrol Library to the \uicontrol {Form Editor} and modify its size - to create the background for the progress bar. We change its id to - \e background in the \uicontrol Properties view. + In the Design mode, we drag and drop a \uicontrol Rectangle from + \l Library to \l {Form Editor} and modify its size to create the + background for the progress bar. We change its ID to \e background in + \l Properties. We want to be able to control the background rectangle and the text label that was added by the project wizard, so we will use an \uicontrol Item - for that. We drag and drop the item from the \uicontrol Library to the - \uicontrol {Form Editor} and change its id to \e root in the - \uicontrol Properties view. + component for that. We drag and drop the Item from \uicontrol Library to + \uicontrol {Form Editor} and change its ID to \e root in + \uicontrol Properties. - To make the background and text children of the item, we drag and drop them - to the item in the \uicontrol Navigator view. This enables us to use the anchor + To make the background and text children of the Item, we drag and drop them + to the Item in \l Navigator. This enables us to use the anchor buttons in \uicontrol Properties > \uicontrol Layout to anchor them to their parent. We anchor the background to its parent on all edges, with a 30-pixel margin at the top to leave space for the text. We then anchor the text to - the top of the item. + the top of the Item. \image progressbar-rectangle.png "Progress bar background in the Form Editor" We now drag and drop another rectangle on top of the background rectangle in - the \uicontrol Navigator and change its id to \e indicator in the properties. + \uicontrol Navigator and change its ID to \e indicator in + \uicontrol Properties. We then anchor the left, top, and bottom of the indicator to its parent with 5-pixel margins. We leave the right side free, because its value needs to change for the animation. @@ -78,13 +78,13 @@ The text label will indicate the progress in numbers and changing color, while the indicator rectangle will indicate it by getting wider and changing color. To animate the label and indicator, we'll add timelines - in the \uicontrol Timeline view. + in the \l Timeline view. For more information about using the timeline, see \l {Creating Animations}. \section2 Adding Color Animation - First, we add a color animation to the \e root item. We select the + First, we add a color animation to the \e root component. We select the \inlineimage plus.png button to add a 100-frame timeline to root. You can use the default values for all other fields. @@ -99,8 +99,8 @@ We then set the color at frame 0 to green (\e {#8de98d}) in \uicontrol Properties > \uicontrol Text > \uicontrol {Text Color}. - We can either pick a color from the color selector or use the - \uicontrol {Set Binding} command in the \inlineimage submenu.png + We can either \l{Picking Colors}{pick a color} from the color selector + or use the \uicontrol {Set Binding} command in the \inlineimage submenu.png (\uicontrol Settings) menu to open the \uicontrol {Binding Editor}. We then move the playhead to frame 50 and set the text color to red @@ -122,9 +122,9 @@ \image progressbar-timeline-indicator.png "Indicator timeline" We will now copy the color animation from the text label to the indicator. - First, we right-click the text item in the \uicontrol Timeline view to open - a context menu and select \uicontrol {Copy All Keyframes from Item} to copy - the keyframe values we specified for the text label. + First, we right-click the text component in the \uicontrol Timeline view to + open a context menu and select \uicontrol {Copy All Keyframes from Item} to + copy the keyframe values we specified for the text label. Next, we select the indicator in the \uicontrol Navigator, and then select \uicontrol {Insert Keyframes for Item} to paste the keyframe @@ -138,11 +138,11 @@ \section1 Creating a Reusable Component We want the progress bar to be reusable, so we'll move it to a separate - QML file. To make sure that the component will contain the timeline, we - select \uicontrol {Filter Tree} in the \uicontrol Navigator, and then + component file. To make sure that the component will contain the timeline, + we select \uicontrol {Filter Tree} in \uicontrol Navigator and then deselect the \uicontrol {Show Only Visible Items} check box to show the - timeline item in the \uicontrol Navigator. We then move the timeline item - to \e root to have it moved as a part of the root component. + timeline component in \uicontrol Navigator. We then move the timeline + component to \e root to have it moved as a part of the root component. Now we can right-click root to open a context menu and select \uicontrol {Move Component into Separate File}. We can see the @@ -152,28 +152,28 @@ \section1 Exporting Properties - We now select the root component in the \uicontrol Navigator, and + We now select the root component in \uicontrol Navigator, and then select \uicontrol {Go into Component} in the context menu to - open \e Root.qml in the \uicontrol {Form Editor}. + open \e Root.qml in \uicontrol {Form Editor}. We want to be able to use the keyframe value as the value of the text label, - so we will export it as a property alias. We select \e timeline in the + so we will export it as a property alias. We select \e timeline in \uicontrol Navigator and then \uicontrol Properties > \uicontrol Timeline > \uicontrol {Current frame} > \uicontrol Settings > \uicontrol {Export Property as Alias}. \image progressbar-root-export-property.png "Export keyframe group as a property" - When we select \e root in the \uicontrol Navigator, we can see the - \e timelineCurrentFrame property in \uicontrol Connections + When we select \e root in \uicontrol Navigator, we can see the + \e timelineCurrentFrame property in \uicontrol {Connections View} > \uicontrol Bindings. We double-click it to change its name to \e progress. - \image progressbar-bindings-progress.png "Connections view Bindings tab" + \image progressbar-bindings-progress.png "Connections View Bindings tab" We will bind some JavaScript to the value of the text label to turn it into a running number that reflects the number of the keyframe on the - timeline. We select the text label in the \uicontrol Navigator, and then + timeline. We select the text label in \uicontrol Navigator and then select \uicontrol Properties > \uicontrol Text > \uicontrol {Set Binding} to open the \uicontrol {Binding Editor}. We set \c {Math.round(root.progress)} as the value of the text label. @@ -190,7 +190,7 @@ We can now add timelines for each progress bar instance, with different settings. We select the \inlineimage plus.png button to add a 4000-frame timeline to the first progress bar instance - (\e root). We select the \uicontrol Continuous check box, so that the + (\e root). We select the \uicontrol Continuous check box so that the animation will loop. In \uicontrol Properties > \uicontrol Root, we can see the diff --git a/doc/qtdesignstudio/examples/doc/sidemenu.qdoc b/doc/qtdesignstudio/examples/doc/sidemenu.qdoc index ff69b48febf..ac50e5cfde6 100644 --- a/doc/qtdesignstudio/examples/doc/sidemenu.qdoc +++ b/doc/qtdesignstudio/examples/doc/sidemenu.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -50,17 +50,17 @@ The button can have the following states: checked, hover, pressed, and normal. We construct the button using different images for the button - background, frame, and front. We then add states in the \uicontrol States - view for each of the button states. In each state, we turn the visibility - of the appropriate images on or off in the button properties, to change - the appearance of the button. + background, frame, and front. We then add \l{Adding States}{states} in + the \l States view for each of the button states. In each state, we turn + the visibility of the appropriate images on or off in the button properties, + to change the appearance of the button. - \image sidemenu-custombutton-states.png "CustomButton QML type states" + \image sidemenu-custombutton-states.png "CustomButton component states" To change the button text when the button state changes, we bind the - text property to the state of the button in the \uicontrol Properties view. - When \e control is selected in the \uicontrol Navigator, we select the - \uicontrol Settings menu for the \uicontrol Text property, and then select + text property to the state of the button in the \l Properties view. + When \e control is selected in the \l Navigator, we select the + \uicontrol Actions menu for the \uicontrol Text property, and then select \uicontrol {Set Binding}. In the \uicontrol {Binding Editor}, we set the binding to \c control.state. @@ -69,7 +69,7 @@ We want the buttons to be checkable, so we set the \l {AbstractButton::}{checkable} property to \c true. - We now select \uicontrol {Set when Condition} in the \uicontrol Settings menu + We now select \uicontrol {Set when Condition} in the \uicontrol Actions menu for the states to bind the properties to the states using \c when conditions. First, we specify that a button instance enters the \e checked state when the \l {AbstractButton::}{checked} property is set to \c true. @@ -99,11 +99,10 @@ \section1 Constructing a Menu Bar We construct the menu bar in the \e {MainFile.ui.qml} file using the - \uicontrol {Form Editor}. The CustomButton type is listed in - \uicontrol Library > \uicontrol {QML Types} > - \uicontrol {My QML Components}. We drag and drop several instances of - the type to the \uicontrol {Form Editor} and enclose them in a RowLayout - type to lay them out as a menu bar. + \l {Form Editor}. The CustomButton component is listed in + \l Library > \uicontrol Components > \uicontrol {My Components}. + We drag and drop several instances of the component to the \l {Form Editor} + and enclose them in a RowLayout component to lay them out as a menu bar. \image sidemenu-menubar.png @@ -126,10 +125,10 @@ click the burger menu. In the \uicontrol {Form Editor}, we use the \l Text and \l {slider-control}{Slider} components to create separate submenus for each set of effects we want to apply to the images. We use - a background image for the menu background and a BurgerMenu custom QML - type for the burger menu icon. + a background image for the menu background and a BurgerMenu custom + component for the burger menu icon. - \image sidemenu-ui.png "SliderMenu type" + \image sidemenu-ui.png "SliderMenu component" We add states to the \e {SideMenu.qml} file in the \uicontrol {Form Editor}. When the application starts, the side menu is in the \e closed state, which @@ -148,7 +147,7 @@ \image sidemenu-states.png "Side menu states" We then select the \inlineimage plus.png - button in the \uicontrol Timeline view to add animation + button in the \l Timeline view to add animation for transitions to the \e open and \e close states: \image sidemenu-timeline-settings.png "Side menu timeline settings" @@ -182,7 +181,7 @@ We select \inlineimage animation.png "Timeline Settings button" to open the \uicontrol {Timeline Settings} dialog. In the \uicontrol {Transitions to states} field, we select the state to - switch to when the animation finishes. In the lower part of the + apply when the animation finishes. In the lower part of the dialog, we bind the states that don't have animations to fixed frames. For more information about using the timeline, see \l {Creating Animations}. @@ -192,7 +191,7 @@ In \e {SideMenu.qml}, we use connections to bind the action of clicking the burger menu to the signal handler for triggering the opening or closing animation, depending on the current state. We create the connections - in the \uicontrol Connections view. + in the \l Connections view. \image sidemenu-connections.png @@ -211,13 +210,14 @@ \section1 Applying Effects We nest the effects in an effects stack and bind them to the - \l {slider-control}{Slider} type instances. The effects apply + \l {slider-control}{Slider} component instances. The effects apply to all the images in the example application, not just the currently open one. We use property bindings to connect the controls in the slider menu to \l {2D Effects}{graphical effects}. To have access to the - properties from all the slider type instances, we export them as aliases + properties from all the slider component instances, we export them as + in \e SliderMenu.ui.qml. We select \uicontrol {Export Property as Alias} in the \uicontrol Settings menu of the \uicontrol Value property in \uicontrol Properties > \uicontrol Slider. @@ -227,9 +227,10 @@ \image sidemenu-effects-stack.png "Effects stack in the Navigator" - We use the \l {Images}{Image} type as the last item in the stack to display - images that we apply the effects to. We export the image source property as - an alias to be able to switch the image inside the stack. + We use the \l {Images}{Image} component as the last item in the stack to + display images that we apply the effects to. We export the image source + property as an \l{Adding Property Aliases}{alias} to be able to switch + the image inside the stack. For more information about the available graphical effects, see \l {2D Effects}. diff --git a/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc b/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc index ed1d079fb3e..2d665624427 100644 --- a/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc +++ b/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc @@ -48,26 +48,26 @@ Users select buttons to navigate between the screens. We use \l{Connecting Components to Signals}{connections} to determine which screen to open when users select a particular button and \l{Adding States} - {States} to show the screens. We use the \l{Creating Animations}{timeline} + {states} to show the screens. We use the \l{Creating Animations}{timeline} to create progress indicators for buttons and the \e Running screen. In addition, all screens contain a small clock component that displays - the current time. We implement a \e TimeDate JavaScript component to + the current time. We implement a \e TimeDate JavaScript object to support this feature on \l{https://doc.qt.io/QtForMCUs/qtul-qmltypes.html} - {Qt for MCUs}, which does not support the \l Date QML type at the time of + {Qt for MCUs}, which does not support the \l Date component at the time of writing. \section1 Creating an Application for MCUs We use the \uicontrol {Qt for MCUs Application} project template to create - an application for MCUs, which support only a subset of the \l{Qt QML}, - \l {Qt Quick}, and \l{Qt Quick Controls} types. We select \uicontrol File > + an application for MCUs, which support only a subset of the preset + \l{glossary-component}{components}. We select \uicontrol File > \uicontrol {New File or Project} > \uicontrol {Qt for MCUs Application} > \uicontrol Choose, and follow the instructions of the wizard to create our project. This way, only the components and properties supported on MCUs are visible - in \uicontrol Library and \uicontrol Properties, and we won't accidentally + in \l Library and \l Properties, and we won't accidentally add unsupported components to our UI or specify unsupported properties for supported components. For more information, see \l{Creating Projects}. @@ -84,10 +84,10 @@ For this example, we used an external tool to design the UI and then exported and imported our design into \QDS as assets and components using \QB, as instructed in \l{Exporting from Design Tools}. While - exporting, we only picked QML types supported by Qt for MCUs to use + exporting, we only picked components supported by Qt for MCUs to use for our components. For the button components, we mostly use the - \l {basic-image}{Image}, \l Text, and \l {Mouse Area} types. For the - screen background, we use the \l {basic-rectangle}{Rectangle} type. + \l {basic-image}{Image}, \l Text, and \l {Mouse Area} components. For the + screen background, we use the \l {basic-rectangle}{Rectangle} component. The text might look different on the desktop and MCUs, because on the desktop we use dynamic font loading, whereas on MCUs fonts are compiled @@ -128,7 +128,7 @@ We animate the rotation properties of the arc segments to rotate each of them into the next block, one after another. - We use this component instead of the \l Arc type, which is not supported + We use this component instead of the \l Arc component, which is not supported on MCUs. We can now add a timeline animation to make the arc move around the button @@ -199,10 +199,10 @@ \section1 Connecting Buttons to State Changes In each file that defines a screen, we connect signals to the - button objects to change to a particular state when users select + button components to change to a particular state when users select buttons. - Some signals are predefined for the \l {Mouse Area} type, some we have to + Some signals are predefined for the \l {Mouse Area} component, some we have to add ourselves. For example, let's look at the start button that we use in \e StartScreen.ui.qml. First, we use the \uicontrol {Text Editor} view to create the \c startClicked signal: @@ -231,14 +231,14 @@ which overrides \c when conditions. Otherwise, we could just select the action to change to the state that we want in the \uicontrol Action field. - We create similar connections between button objects and signals in the + We create similar connections between button components and signals in the other screens to apply other actions that move users to other screens. For more information, see \l {Connecting Components to Signals}. \section1 Showing the Current Time - The \l Date QML type is not supported on Qt for MCUs, and the + The \l Date component is not supported on Qt for MCUs, and the \l{https://doc.qt.io/QtForMCUs/qtul-javascript-environment.html} {implementation of the JavaScript \c Date()} object returns elapsed time since when the application was started instead of the current diff --git a/doc/qtdesignstudio/examples/doc/webinardemo.qdoc b/doc/qtdesignstudio/examples/doc/webinardemo.qdoc index 5ff9fd35ddf..ae71dbcfc01 100644 --- a/doc/qtdesignstudio/examples/doc/webinardemo.qdoc +++ b/doc/qtdesignstudio/examples/doc/webinardemo.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -42,7 +42,7 @@ \section1 Exporting from Adobe Photoshop We use Adobe Photoshop to design our application and \QB to export our - design to \QDS as PNG images and custom QML types. + design to \QDS as PNG images and custom components. Before we can begin, we must set up \QB as instructed in \l{Exporting Designs from Adobe Photoshop}. @@ -63,10 +63,10 @@ will be exported as PNG files, with references to them in the component file that contains them. - We can export some components as QML types that provide the functionality - that we want. To use the types in \QDS, we need to add import statements - that pull in the modules that contain the types. We can even specify - properties for the types to export, so that we won't have to do that in + We can export some components as components that provide the functionality + that we want. To use the components in \QDS, we need to add import statements + that pull in the modules that contain the components. We can even specify + properties for the components to export, so that we won't have to do that in \QDS. \section2 Creating a Reference Image @@ -94,12 +94,12 @@ \image webinardemo-qb-stacklayout.png "Settings for exporting stackLayout artboard" - For the stackLayoutFrame layer, we want to use a \l StackLayout QML type, + For the stackLayoutFrame layer, we want to use a \l StackLayout component, which provides a stack of items where only one item is visible at a time. In the \uicontrol {QML Type} field, we enter \e StackLayout. - To be able to use the type, we enter the statement that imports the - Qt Quick Layouts module, which contains the type, in the + To be able to use the component, we enter the statement that imports the + Qt Quick Layouts module, which contains the component, in the \uicontrol {Add Imports} field: \c {QtQuick.Layouts 1.3}. We will add content to the stack layout in \QDS. @@ -110,10 +110,10 @@ We want to apply the \l {FastBlur} effect to the smallPopup UI control. In the artboard, we have a blurEffect layer that we want to export as a - FastBlurItem QML type. In the \uicontrol {QML Type} field, we enter + FastBlurItem component. In the \uicontrol {QML Type} field, we enter \e FastBlurItem. - To be able to use the type, we added the statement that imports the + To be able to use the component, we added the statement that imports the Qt Quick Studio Effects module: \c {QtQuick.Studio.Effects 1.0}. We specify that the component to which we want to apply the effect is a @@ -121,7 +121,7 @@ in the \uicontrol {QML Properties} field. We can modify the property in the \uicontrol Radius field in the \uicontrol Properties view in \QDS. - \image webinardemo-blureffect.png "FastBlurItem QML item in Design mode" + \image webinardemo-blureffect.png "FastBlurItem component in Design mode" \section2 Creating a Menu with Reusable Buttons @@ -159,12 +159,12 @@ \section1 Using Imported Components - The \e {LayoutReference.ui.qml} file contains a reference image of the - UI we will create. We use the imported components to create the + The \e {LayoutReference.ui.qml} file contains a reference image of + the UI we will create. We use the imported components to create the UI in the \e {MainApp.ui.qml} file. The imported components are - listed in \uicontrol Library > \uicontrol {QML Types} > - \uicontrol {My QML Components}, and we can drag and drop them to the - \uicontrol {Form Editor}. + listed in \uicontrol Library > \uicontrol Components > + \uicontrol {My Components}, and we can drag and drop them to the + \l {Form Editor}. \image webinardemo-mainappui.png "Main app UI in Design mode" diff --git a/doc/qtdesignstudio/images/studio-2d-effects.png b/doc/qtdesignstudio/images/studio-2d-effects.png index 240c33ab726aa6b7935e4ef64080f7f7cbeca6fa..715201335319d050bd08bb75a24d422a69cbc892 100644 GIT binary patch literal 16550 zcmeAS@N?(olHy`uVBq!ia0y~yU@T-{U|h<<#K6GN>=k&5fx#iy)5S5Q;?~=_=_MlW zyS~4F{yX>l&Fb@&e-nL=xe1+;RBRFQU=d_XEE024a5%u=^hC#q$)sU|150CXuX3D3 zj&RRj34?QmIn4(u3=NqJ)PCk)5Mf|2VV%XqU~+W-d12#l+uBF7o~ai7ufIIqDVQNc zH*8(Z&h+#1V&$ZyrLWeB=|o)ETU~zk!IQYi$d~(<&G{F6a$nw?D}i5+9H@Qwzj>vm zthwCZ{zsRV``0ZHnKD`aPvMU(eA)bt!3+~#Tv-`>AY64@&dp0(v%|}F<=!^iI{#oZ z`{e59=jMvOdlD2JoV@wwpX*a<{f~r|K91SddFs=A$7>?LN^X66Q{OY=Tz}Y$AN_}y zPr8%vj+r6(a2qe1a>rcj@>O@${pMI)b*`$~Wk1VFL`*F2{=T{Y^{kc^`UVCDZhmH0 zw_8P5YIuUob1(jJrYcXtvGx2?SU`t@t}P97Nx12eO0{=O64 zw4=A@y}h)QTlVt*C&9WJXRnGBwmAKty!dg6`SE?~{|t6be)6w9WR^gw@K>ijCA)5S zU3~YDr+jO)=PP0DJ>}nQqi&W>TC(K##PSTSD}|Q}Z)7kAY_9m2B;~TAT{QdJnu}lJ zV`J~$*~z~+et+E)MJ=taf9jr>z6eiPR`JYkF59wyCl}7+?VJ^KD3fdVsXoubj1P~F ztE@Qu>+t`3%6^H?jmsDgD7fC(U7lZ3Vp81M)3d~Ey}5c&2G`mC3hB4n>-Qx6DRpk= z+gtRs>rk7JkFVm!jFf|3Xb&=8GAwvsfI183HEH zox3;ds@A;|ljhG~|2%S`rcg@m*)wOp{B*rErF~lCi~3BVE4yYnF)h3z^8QVmnFJOQjB3q;C10wdUHH z4x2v@`RhMyEmF~w_FvlBe?4XQO3w(+AYB9JV1@~7Qddr7Rs=;yuQqSW=v;Q;Z)Tc{ zu>3Qpu(&ABAbo@F2j`ie3tDaMw6Ip=Rj6EIcXFk*RsrFayT%@sx)g?S63I8)Uy|? zipuNe1x^#2A-X%^mP7EawHCe4YZ*AgKkz6rFwA1|Wn`Gu#BcXwOFO>_t9;Fe%v|42 zW`>3^rddo34a*o97HBdsWN}Da!^}Ydi^(xD#J$?mUcXT?|Q?1mR+W$;Zy0w?91DeSAOk`tT8J3 zxFq8B@+JRIo!)Qv?{%~L{3|^E89&day|>y@7nHx{)qz{5=PY}Dz5nbvzKP3J_};$U zArooU(HrsT(b@ZJpSb3iyWKn#7%b%e#pXj|Kl4??Y4ZBtw$9&Mn|ip#b$$KscefaI z_uX#jy`Hx(U>aj3N6Qn=-tGV1|Iah^^Wf`U_9VFReCGC*Vu`quJ1T0 z@O$Q*m$u@1o%41WW#uMc*_3Mdm;LyZoSs_+Dn&n6y^t~7wDZYAqpClfR+zRgnzp{< z>Ls8)@vVbS})6qo^n`nXHE8%M`vx@ zzjk(eck0G@ZS1;Jp^)`)){92T3sbhKFMf07ZGSnRw^l^u%WKk8cjjH+;<&kdUP;`J zihpmskAGV$bKU*4s-9u_skY?$eFY!ye6~*G_Y&3$c=_$|^L=|N-yU7IY}w-5-o+-) zjF&S`O;{_)Zl;-C@axHnw(g0dsfLHuT*LRuY^+}TVBz~kCz78lz5Vv$k>*A3_}3S| zR9*S=^WxFTFD;UuKZ=mLlcL|1Vc#q-Mv&5Nhw-*3!!_StlB?Y)keJr=tvg1$68 zS9)c}Z5KT6<<9ptPv%UTaZtE=ou%+bADREzKYaRi*LB>gG|LLB{Bq>ei+_8Q+^v*e zy{_()lTV&4WLsJIMIpoM_GF`lAEU$n&Umt;(9U7{#NLE_9wyX{nKT+m-)=v`t{8A`}1ba6}?`4yLL*EVIjn$EBOxV3-<*$D5I{&9)VWs(-KF>n_9A*A%uFI?Y zq`w_q(m5;W{l^Jrny(f}oO-_YlA8Nfd-1#GdU-eewwrk_Uj8e#iQRYpr90^rvqWy* zSgEdb?QF-^b&3Xx+G%h8yb#*`VdgfSRqvYR*uQ-u?ess>e#eA$G zsuQg1KJMyOlD_u7=I^ur|K6{)zrN)pB z87Ddgp5L4A!s|KF^!>ffO42sQ%X(%`*Rranj^9VShqc-1M(o z=|7pVwL^Z#$6IgB&HQE?Bp&)vIC<5)|9=+W3JlTt_*ZPthog7f```Wl@bjtowyB~^ zGIl)C-~Hq8+1Kwo_WYjCpZ~uiuW(yX@RfxPO;=W)|Mz7#qrI)QscFWnN!xWceQdZ; zRp~2PZjkiaX1jpOt*UF5)qGylOyBnyZSUhaZoEi}&;9$fY_FigD~+3N+0}mT3r#9K zZCn~d zo)@53b4*v{xMtrx;WT&uS;{qTVv+eA({_LP({Eq%vvaop{$D@;_3FC53pt{m`hu)bjMYFTK!oD0U4ou!`6PV_BDM`!UeOlzsw$@hL zrRVQlF28r*q(jvE-6Zq+n)Fcng-dMmBrp5dlqUcFz%teQ)QZ3H|G%7?v!-IHSL}|` zyh1(g!l$(gN^Re!99G=A{7C2TV7}N+iz3BG4}NwW^Pc#*d!^=a9ox%~k38-8^;u9| z&wUzyxLLlfuVta_qK{`getFya#q`Y4TkHROmuPU;k2fzwpI6ybTP`{$d9lDQX|iot zc<`fSZ$B5A{UU+&W?4yoZ)W`JNWb5kQK7u(qrR=wt3{iI7HH;r{o1l@z5Oc9XF&lQ zp51+a{>J9b;#T#4j~|Y&+fn=c-QxX!3(_(Zn{KJ<+0`HP-u~}jf3^LcJwN~Q+y5=7 zY|e=G)VTHGUi1BT_x63BTO8TwrjelME66_Skln2{`!=q;bA4Ib(X^*W)YL2fs#NBP ze(Wqfd9v{1r^h)P|9(H&clK1D@3im6Y}*%2@YF2iocH+4n;ZKqH}1W3SI^BZ^KpJ! z%%X}plLT+8>zgUto_kfcdxOMs6_w@7)wE(RU7EBaM`+Te-%rFuzMX$L_mQ6a*6x4> znzg?~#lD??ecSr#ZccMW)z$wS{@vWW zH*1dg1)3K`GPpR_E@NO|cmu7Oku)&)GBP*>L#ylqTC+Z>Ffjb+ji1G|mX+ZLvk5B$ zL;=VGP@O)DiGf4h*YlK2)UKN9yB8lHm(DiVn-MUhFMa|G!z`g0%T%6CeOLXw-F<&u z;lrP8vA4IqxBc~M>g@0D>T9d+p5S?6#BgECvrI21``@S6S=Zl;o}~Pn_wANNs`@n_ zKezu@cM4-@SoUMR=0{fV^Y?$I{Aba9+HpSq!!6zLV9$K{j~)K!H~Y>AGpc;kaq#Ef z=s(tm4T*{#Mom{`#*S@Am#t-TP&y{<#~!7gR8ASg`B}f7JJH>F1}t2V`R{7(7__E^&fM%*^X=?%`I!Cxe$Jh*w_e&uX_DFBo#)rh z+xg+_-S_b`=U?6a=gD^dx}VP`^V|P@a&=YR%gg@v_LM)rt#AMD$?M(xcEvq@ZjQ_e zlD?i2L4V&ZKfX+QM&j@FJHDLF{`^bo$fD`FH&61{RsFgBH-G({7<)TyMZN8x-nbw4 zuHu}2%5Uerh%>By^NaqR_C8(g>ihGNzUk!8t&U#%pNhxopFcU}eC?)|gJ(Cy&ac~* zZgFi3xzix3<1L{Mhu3X65R8 zKVNsegC(j^mT{G+V04uzVUV6AI;IRe=Kaj=-IEUxrf_wYu`u3 zo?LLKk%{@lib*E>9zHHN=UwdS^Xtgs_N0t9gzh3;*@>uhfH5Wy>PcQG4x6L}!)0@73e`QTn z)vGDX^7mV9Ea=Jo(J^tcn`o-KYVX?LPyYT@WoGZ0vFX#*_3LsaC#hVXaz*oa{=J&Y zqfaI(yZ6f5D#*@aYG^f8&3rKFdj8*v%=oh_&%gV3we)4h*;}VrzdfD(ZGX|@=Kk1CD5?45pZSH;6O#kWs$xpZgU+HjP2ef*x9muv0!SEQW15m)#zQrO)7 z|FfT)_20yAEhzoFn*I6nuk$wjJaR7Rd{NM?52xBLi|fT(efPS1r|DksHk;kayE5WV z&fEF>$T7}LjZB6$3pG_V*4O_28~r+WWs~EQ>kBfqWzWy6`+TVK`DyoU`ZBYpH_5Ou z%zCta*$Ea_28O6bnun%5|2_ZSI=y3im>4b;`JR;6|N2d~w4w$>!?oGJ89-fh)Ph4n z1yts&{Z@UFfkD6k)++#)Jq!#Be$HY#Y|3z;{+9%(bAhwpz!Dm~OPyCMGAK59clvRw z-z|S`=q*ZKJ|!_#^m9na6p>>REkaCc{JN_(WF=15I+pxjDf;yABx{c28=04dpOKn% z_JxSH0h{Q`ES9X~`tl-NiopPfnek#ee1c z)ps{`38AhoxlFF^O?@I`u%O@SLWT5=5yQsKl=FjNxqe$_5U8; z7M@&bTd~ReT^DzG{qL8@ULNj?-7WL=xZm8p1zDbT^YZ4@9?g2#8oz&k**l$wHIE;e zUSI!zNBv<#t8=ovaX1jH<->#6tZ<5*%rGIa@Z5ta<`}O17 zWren(vldPM7VCP~bkYTP(f!wouAjDg`{eg2JqF)QUEfZL+Arty^?f>@&9Pb%zVGjY z&vRR2r-*J@J%8b!>r+;Es@MN}+IsS$zun69nz6t0cNP9WoXfmRTgmR-kAD04b0oel z*|@AEciys;B3+ZTTin}YzbaR2JX$mT+xaq)vWruXUMs(T*6Qt(?weod)Ri%2ba@3Y z^O^Z+Q`gJO%cbkx+vB|N*A^tl#z%htI%Vy@YkM!J7VZ+g;;ymZbgA>LNvHYkZ#ps8 z+&wpQneDmwJh@_i@gFnNL-zgs@$q+Q>fgt^OL@AMm7Iwx{klFse3|y6HFLkUMSqW* zEx6j}(A24sbEBMtuYA9F-fFJW=ZUclvlf~91)k{gcNCP0^84!kU0=^@;%vL$x&Qwh ztgPOY$NE+9RK4%XnA*1wuZHfm&d5BaA8*lb|NGGC@Vx(z=FDDXdf>f?ea+X?^Z$L_ z{{P?mJB&GY)d8NqStk#qi@Hat16=>J36>(}M%s_V)YJ?~z3 z?cAIfiF+RUgeb*!d* zPxsrZX5O34zi*A^o1_H)mxeX>!~5;;tTI`?;)T_QXWhHgPYFl)2k#Pn`}5VinKwDR zEV7sGWncPtdT?;nFZ<~iw;g@8Gy9Ia`Rg82SN+`#CQG;GY>8!m`|s1gXzm{;U65S#xLZ-xg(;!Lg|~ z%>4DA%Oa^|j2T|5*Q%Dk-Tv^`;%NP_CoWvQ%blOUXj*zMzOM9~_uGUJ$6n`B=^c+J z@4sJ_SazRd;ndPM7nlEevUY#{o~;XBPwx8mGv&LZ>HNRnzFy4SJ5OkKUc292rNzp- zw4{RCpM1Lh{$G`!VNku6nx@&J=;wV+^ZES0YT16gn=ha9>bk4_xqV5lhg(W3{mb88 z+xt7%_R*&_*}sq8@84r~dhglZ{^IL(()a62UWd5)wM_Xo<523k-TZoC-`=f|D_?WE zepmGO}Vd$<3|Q~mdU-)`S;Tc>m9^}oB))*0cg51z+9dw$YyX6SUeKNYJ~=9wqv?5g^H zy_#Px_`v?Z-)`rB-(Oc*m{X{dduYZ+Tc_&|NF}eOWl2v zijqqHe2A5||M%;_36Gyw{bF~Qyt;5FKz6t5G4&Zr{!~_hp{ZbicdRlg=;s z@j^~+y_dbLRq4xHTQ_gITlVHtNQzHQP*6=s`PEr#vvxK&!b11uCtFQcj?At;ARs|6Tg+HdP zZQt%PzdXjo&C0-053QCNz=L&=u{&5VK0 zI#5l8D1qyM7=U7E<1&a2XdeVVt_Zfx%i!eMvvX~$zdbuUn_teRBBq7!#T1#BK{Hg% ztgWk$_sRbJ`P0L1gXKLhhu}3Xetzd}ZO!iWo?FU4EEJY*TemLn`MJ4YOH0M?*L*(w`ua;}_Ui2H}Klr8H_ z^ZdBbP|^5!RgI3;Sut5zT30#uie*?vZcHkQTBPX{a40gEi;F8OE9=Xxhbx1ZuiNvv zPeuFE^Q+V2q^wdpGTk-U7Eju;#pGmkVBp1Vxwn6Khe@st;9fGr+|<PkgZ!J{Lc+x6p~q&~ehReSQ;>l`O7l5CzP&Qjt%`$LeI zbxTX`()$1ZdV70=T8{V2ufNWunsKiG$qe^kktU&evz(Mgm>m@#R{Vbz`m*@(tI)V$ zl}N+e8Aq1~PP;Dh)upp3I%$PdvrhdQ*DH1_Z@U-yEYi$!5rn0Dlqsw*jN6T|svJF2c8YC*=9U9z%5Kiu$@=ZpRqw3Er%#_w>Ru!p z$UblS^y7CXPnx8qt-aKeNq4S?_NJWw zGiI_LeRb0CnutB?(%PFDUn~A@y`Hd`*YM=YlUJ`^4f=9o!pS?C?ek2^6(+M>on%qS z*d3*58lJUfndp=c9(|3=e&}nw&DOp7zf^vWD!b^bU6I@=Z9a8P4#n(IR*CPn=w3b3 zBxH8-;^ir6oL;|geO_kCysP9P)3-gXla3rYVw!!;Lom6`$IMY-MY6j0^3a}552wiZ z`ev?Mu;uvPpIz>CBK|^2`E?r}vQPT@_3Lk!88Lr}|L=S7t_lNVo@a)4#&-Mz0Lv_79deVI-E>Ti!9$Fk?%<~XU6Xz9qg z`N@Y_LK_xrSzm5+kx5Rs^}^z(>>vD=nKg+;it9!#xyh9I@<>sWP}<4FS(k(y5AIf8 z>msqoy6FAAy{~Re>Yc1JH%w=ufp^~$O2{At>Ei_V#kkk3a^w6`hM=c$yU9@X)=Gr*cleoGJ*@rTO6~c|JN#?2Te;ZS}n-8 z{BokYjNkOj@1pJA_|4Skde?A_A%n}r)mg;G-K_m^-sa2pRs!ce^E}FB$_~a}5NVIS zqBy(Y(I{IGLJsA z7VK2%oY-bucGQsJ!junle^;b9uG9Q-T#+y3&Nk6{Q`cgHM}lfkL6QcSMBaBaoy~eO z>ru(?3sTE>thdU^T3dMk+QY32I^qw?EB|IRIU3F#y5_W5_S36VR&Ti{*q(Isc*w*p zH@6nwdjDs+^^Mt6|K@IAcJI@XHnVMKZ?0tUy_iwoReJN;7U#)Q`mB@JI(tphe6IEG z2j`ENpWh1E-Hn$e=Pur$>yb0tB&T^U*V=n>GyXqVvgNIb>qfoPX)J#Zt@^fU_2o6a z*Y2#4npFMrw%+znANq1O#+0(p&RDk1+GeT8Jd;y?Jg?&}Ow#S%T51+2m3CV+w&vRVO^nog%DuYk^ty-? z-ZL^P*=aFh)t|x+U)&q9?j7IDNdf9RpB9JS{K);bYuVzMa`VunyMkisN_>T;eiOGW z$nNsKE4HP`Yic)F@Z3E=O8%}kZqF~7Cbc|c&FNL*VW!hP7HI0`r+K~Z&*|puQL`R-c1*0_Tf?!V;8x8$ z<>=|5YRt2Qw!CaGGJg7V{hBFK#qxP7nGt1|8doj4^;6ZLST)ShgU`1%cq>PU6mhRl`C4Rd_=8WqnF_mk&P5Z0O*)%4JUHP$Tjp>b)1!sKDo3Xkw zKb+OSt^RP$hFQy69GB;BSaU&WbB(oB^UR8qvRfE3yk48I*Ph<_=%wRUS-U>tm*Ew* z&Or<&OYh#Yu8lai^X2MgvTe(4+xQgptyCgNP^tVPMJ zn|Ghhxgf&en>k%sH2ySKn?L`jvWlOZo8-=)NCq`Y!1Ijob_1jt!NB1A@a5Ij*FQZy zJzXz$*1UOg-&iM1nX;we;UQLTu^H-KjQ`hcUm5h!-rH3ts@|43k z2Rr%u`T0%uC@b5xHAzlhK0Y#XrAAX*Tic#JHm&E6967SL`ny;7?YYYW%tS>*-rU~q ze@fvLhn1?k_Y}iY*45$bmpQi2KdgP~&aq=|VbUwMH!f?Lw`!G^=BF!mYehfrEPn1~ zxcu#8VRgSb_Vsp}%5&e{+^nvu+WOtH^i{~obWcyu-IqmPZC~m8>FShwst$e6^dBr* zq_ond^VY3fYu4y6pTCkH@cHp%&&6S%drsWyUzU=VCTCsd(`6%@l9Cdk@hRv`=A6@6 z=f1qWymZTiI|lhn^i6CO-CwQBTy%GzNo&-sMX%Lflsq{xvE<|vRv$J6yIWtsel9fyenP-!;j!n@F_L(~E+hWZ%tEbN}PVZ|~vakH~B=z*Pi8`MS*GRn$ayqf?5RbNT z`ni;8Ef-wQxXcQQi0~+8FZGSxnl;t&w+ZLxXJ><5et&p)*hKo$7oWSVll`=cHZNT| zH-oG60Xx6klgIwcyCR#PF8H`<$~4z*v5T2eQMVR4x4+o3Y?)e$8O!DjE>q)6v1S5K z6)(;;$qdS9%Vl(K-JW~f%=JvBnTv3&@Bb|q6n=8{YT8Yib;!^6-k%v$8;|ECA7i+& zqj0gwzqfaHmseI+z6fVHvq+PfoiAo{T5nwH(vRGg29=R&>gw5Qji*BIy7ovIHofe- zIql5t=4An$9^Q&vC+=lVHD$DI}ZP(suUJh^J!StBC+gc)}aT_UCZCyx!IKfSB;^|i>@;1gj7COLCE zE57Tw?G}6@!uRycEfz|qW}CL3|HS;sZQjyQQLb~*d(Ixau`&7THbt%2S&xkDm-L@W zNLkgocEfd%TXPSH{kwWW_3>JUXYEz-t3rZ`G8X4{?BAPfvUJfRrzm572`)c#!{VKM zl145Y_4M8fo;Z7Us?7w+)~h+Qn4N>2*rMaE9&YI_JlpivQ}Ko8^sbou}9uj%$(nd>wrr)&G= zndjbG;?ce3Zkz7!i64*JNEaN64!$vsH~GYDQP$RL0;;R`U&-`57Io``*r{8rzMQNn zO;gzx3B5U4HS4?4d8@iYyzc(^_;{hFVuNmn zgmW-kHYb;^rdKvo*IkV-ub8D+Ctq7}zfoY@EGO>j8u>hiO5>l#r*aNUOHO*(nN{`U z(DIf2Z-WfaGv_>9tI4+dM3-o4b|#nYEv2u!UwL0Se{rd*_p~kIz6-1C3ua#X?=xu{ zYon6winJo%!2Qy`!l(Bx>YV1X^zYfV&* zXO2Nzm$2SgRk%Pu@Bff+E{+okyvmf7Il$B|CGv|w&M0th%`^#>c+io)XWWUIs zXrApHoa`LrpnFYZ_TiT$0lAy4=jbipTdC@pD7%e;`~15p`+TkW{#;!!#s71#>>CYJ z^FwFP?LQSKU6-l*8-$ zv1Yz{7vJ~)WwY-pifI28^g8|6+hTF?ss(=2PpisW-MOU{S6nUn?m+98mg4*F3pL+a zRP-%beJA(rCylL6N3Z&r%6q&1xf?iX`Jvg;Z5ORmnyMGOv`;sA%S?CL*AUS>RkWkd ztu-vzMRv-jlXo|JF2Bc=w0zTsc?xHiA3pYP!~R04r)ys&hL}G&v_WHQk?_}LQDO7< zek`|~Qfob*OFDdS&cRo*Tb0)6DO7ITy(e?wgOIf{UXIuGrKIP-{quL`qMdc=Ul(2t z&I&(UbK|;IYUd@%2gS}40~IfbL_S+# zG@^otegTe@z&eEIEe>f3;o1={CpbKboRi_6`^y5!PeU0_|@%5TA=ABDeC3>&`l{SG)%YBYStnRo0lP#_HTFgC(1M} z*4&i;q+KKG{<@qVBVW#CUmfia9lN>C@Nc+iTiha%S%;?2xhuTxtFUhWcE7AAxvSS^ zO{_6laW`+)O3hm@MfbTH-RyYusDGJ6N(hI^(Yt$h#mrK6E4-oeb^p9AyXV|n7i00! z#J=BudRQKp_+6$ov%EgU+T_P3$FJqP^y#0g_SJWmD@1s=UphT$u@CEf>8_rvx6_uz z`V>mt)ay30|C{zRJI16dC;U#l#s9m-v+vjEf32Lihf(8^nzlmN-&?E1GHX}I*?tcW zo^mi$*>AUs)+>>dvb{!HFJ>{F*?Hmey+yn}!H+J8nD}LQRj*sxB)YORpA+11gJm&z z`w`2ylVRhs3+FfJM{o1_6`5nTAXqysJ1Xkdg@w*9EdzcfesgZ;^W5+0$6n&qcessL znSYvhh@0E7J(Zuoy}7A8l~4A9rsXV~TdTv@-@BUhLQT!{+_kmQ-%opbdNwY5F=_7H zz4`a;etG^%RVr~<{v<=!bf!t>r9N3}jZeo*7kEEu+!N^$>DDV%`r|`lY1D~{dNVDb zE#dgGBrlYE!GjXv$tvwGE`cm*t6kMDiM;yg;V307y|TSuT+*h(VD6;FKdqfRo0^(T zv#-h6R(;taKf(NykK>v7>mEHydc0);F48v+>K@&0&jte5`l2QR=BLFPCmkn|gljiijNr zfvHa?Jv|-1CT?%q-(S2JL{?{=Iy2K)vwWHVe7{>8GcT)YZhq0==k4Y7VusC(oeu*| zRZ9~-%Sy#vi*9@cl)VM1yzV!c=NBW3iVN2amCx)n^z~jq|;`@DMv=l z9hsB26+U*;oX5^5HIGB1U6qc0g&K07>1MfhaE zp(PWRG5`Ge^IyxU)2EY**}3jHStor+C==eKv3mU^<;|OC#DIoS?p9~%F45c^vPIc9 zFomo1`V{>uy&3EFPg0Im;$IV0N^4(k$6(-6fi@wq34!ZYLB{ROLN&+1taaGem;o@2-i@ zR6U;~;$Uu={%VELhNc@ki`9+QFEh^FjlFwfqVivUk9nFMR{~zDE%OqIl+WnC@G;HFQDcE6D4r~@RItoS z^7Qre@p)1nn&~8WVz#AetJsnmk%@=fcukIdlMMajaPNe%ap;V!(CiBf9A{a7{M*PB zR3Mz?#n4prP`^8qN*62!S#AwuVVhPx&J~!LQG6dSgvghcHqjJx5cA+mTJbABXZlcbaX;OGOSeH zUusnKau4Hn-wJBGwgfPEeb12Ar-r1F!DYKU(irD79 zNso%?(%@hhU zy2a|9rn>NW<%^%YUcJha`u{q2`$ACpGcjFQs`G}9+hx6TYK|of_MOUkTOzzU(~F_$ z)1Q^o7ieC)Jmu!*^xx|>pIDx=x?nRcjU_TNvJzBAbh)Sba7=bG`nzKNru6kM9crgG z&B)!&dwB{2%hM~}>m7pEEZ0oY`xGC1X0!Z#i7Kyvs$DL^yHd857k|9KoxSAFvc1M# z-b*@jM4Z`QeZRHgtyu}w-bbg`JAyPTyY+mC4?eM3)nsY@{e53pCdX;L5UMoDee!ep zx>Ki4RTOjPw@%gBvFBi`jrP1tMpHq4*5Cij%H(L(ET{gx8`R@_74z%typq{oEZrO; zcy*vE{GoC+r@?n~SRMmx^HXhYiw{))h?Q)U(!Fy0-PF|83C<5Xt-=4o9@;cLN z&W}^BN45E`OknrklQz*&f92$RYD*j93KRZ`mw$er7*y&2v-Wi`K7PTjKauzHK%+C@D}xM#f%3z22-%;1aG=(rj8<67OlLSElMr`4;r zT%NM*Ma~&;Qd@R+>if$<-j*k#)MPIt=cH{rw@TeHMQmc-$p)QGTb{Pm*U$a3&8ldL z_a%Lq3F)7GDka`N-)`}3b%N^Bg5|TfaQiYcv@pWQN063$!KPyvOjsEb6n!_|d{Y*^ zx$e<2*Bf^}JkOo8aFdLIV@=cqp53X*_y3suiVRwIRxtFBsgTI36WbRpyD?X9`C+|_ zO*eku=gZ|={-u@gSK4k7)|dIx3r{tg_4Uti<&*B7yMLnKB}Egnw@pvp-&|v{Wzius zb3VJvFXEqV`IFuJRkrKL<&}pYPEtQvn>>H%g-0&i<}F*{eblY@uBJ(K`SP~~;kvt@ z9EyL|r<(t2LsQ9yV%JBu?m;pl@hUA}YtkpEy3S;l6W26-mr|XSzWMYfWtUltbXYa> ztbVQv>@&;i(VJe7b@_C<{h#XYu+1rdeWoj|c@?&4$;s7?M!inTPx4jQ*PS`|G(>&j zRPGQtV>`~W_T{@Sn`;EAudjY&yW`nG_j`BueUVCT-M;5mOz;j7jh29W5B7dND4iW? zcB-hITl@EFndLiTmu~o^|LKc|qKxncnGeT~OIP}rKP>pG=VrVjS#p}Ilip4fhhXPA{T>~T%0UcY4T%L_T@8MuIUG) znjiQ+HKuJ<(DFRft{X+m-Fh#&JQkUqz9RMWl{m-W9GBduw=LsHee)?}@1Gl)-$k#@ zuDDp1__=0r-?El8rbQE(AB9&xKC`Or$%_f`ywlFzyz8d^_LNH6p2?|OYUXI3)f7!# zxL)&JjoFv=XL!#}`Whd+MQOoYlebw9JQqI-`=nBlp5G-V(ZlrgkoM#QwR;0!we%f% zr&pKyO;a2l((&$ z_gkVQz)Cad*eScaWi*N80&)^7| zCz&CyCpuo`&1#!@?99eX#M*2ps_?%qmLC15vvzHdG_qwJlpEe&(5;* z%T0OY52{B>PVVAu$hu`FXtlwmpA%wqeP|MpY%BEG5?)Ta+@~d^I&RGP1HJ8RgyCQFvjBS<0g$o$h@y zAJr|N@Hugbh_;QJ>O>W46lw{jXzV`-Q;ToeS{vi zPy5r+#x(2xHYc`o&h30Fxm#s?vwycNV>#3#X>2n4eutp)0?maj=BKol8GCwqvb(Hc zzA#&3;>l}IW(7q>tqRvGIT$>2zHDh@If-86OsCp6xikG5I)8)PqY)z1ObLl#ko5 zSF1ArO~~boDkm4t&B>8$lIC1v!WOMJ}KYKbWO(+#WOm$P+ zP3^57gg2d-U257oD{q#^@2gXOetw>vcJ|fP)sNRSWLEcFyE>)v^Rt!05rKh;ioOf~ zPUhw1)oCk!e(ve|OPae~?w#3r^OC%8=53{nYTt!(yQ@yyUJwaBTRWq4TDy#{$@hnA zPki~~9u_86Kh^K1vtrh76O*Gxvy95#MC_G`+@2RZOQtw)F5l*z{mXjIY;9xpdrLfH zAD_)!{IoqPD_Ov??+kP0wq46Mv|Zk3l6ts}_uunCUteAm)f*Y>R3|sa==Yu}%lo%A zrS53@p%%_8{wEoquFg-(^qS2RaVsvEPu_0LOm35%bC)h!vxaAuP|lZcdp`08-Tk1m z@p*4NSAb8=jW6w$3g<6~cxQP@L?|8d34T=a?U}fkn3ffTm8$#K7ss|#f3EbscxToD z{^N%{gPklnv#Nb>Zp{wA5n&#^NMzY1k-h00nNKTDPExIQdEpS{vF(C!%a-rck4}~| z3aC!-m-CQrJ?s|jWSNjz?K{&fcUIaXalM!w4y`BU)p*noeTro-es(7Dx^3AFnRWML{dWI8^R8rP44?eOjn*^k|L(Th zTfR_ud2`*C3-1bc?LXOX&BEe(|Ff@OyKcj$X-BO^B%jtB7FK3_+51i;BTUoIZlU&+ zG?#s)Qt2@PmokL&U0U`2EM3q4AncgqlWSx~WWzS5(Dw7h-Cyy$}b?(cq$9$cs0wOGH0-`M%% zrK;DjGO33gOI0m$zE%h-UGb8vxvVtA4#@fx@-D2^n2yWf>p# zFIxVsq_mt;d zpYl%|uexe-bnUdN%*2@|D<^GVaY3xB>`CdW-Zhygl^2|gh?LaKlUQSN%Jiu5mx*^> zF9biqg+v~dQdQ(&6_ohXfm jckNRLOXieDCB{Ad(^5lDo4TILc)ucCU3b%&kfXkKew?lg zGu-0V-^$41(sr~<-rK7BZ~czM3zt?b)a;tAk-VsH+peO*jhFHr9oJMJyeOi$%5Pt& zW>L@S;Oz-sxna=;ro}D#9SWiGH}AMV))tA+SfUx@6|K5BDtFGIucfmxA1+?nGyB^e z^%Jd&L@W1ZB`?uj)$_D}>)V92^WExATsO;}UNzY%_=mN`wgm}S_bOy|{rFlIDO`L=!ffd}WSoSs*>!h7-V4_@Z?6-4GmFZ@+hUh?VGS+~$lE*m=vKl^Jo zEN?E%^iyCuwc^^G-xNn$%Kg$ z8=aUKW(ipoKR;)C&M^I)jEE4!g((c4o}QK^F9gRJp3fIt4N^_-4u}yY*PCbC&+oqsnmL)hy6Jh^=qr_B`1x zE`|&*;}^HL>*p3-zAUn9%G9Z?mzWr4J<>N$KWCH2QR$G$$l&{tyR~%NjvWz2@-`I) z#VY(8t}rq9e(XMU$f?d_(MnAhM@L339)^sr{8Oh-|Gg;ksf~%5Vb-JBxwp4ny?WL6 zv%|NjlXK_&P3+s^-MVMt0njdyXD22qTbI8x`4$`-Tl?ijpoj#+1(Ev~f;QUEa=I6g zz~B&Ev$_8NKileWU%pS6HA`#f<;%@y3V(ll`-GR3jltxo`ImR9^*LKAT!k4fi0nUc z`t)P-i&kN~R@g(~y@@wcaEYLi=V9S;eskLuzZCxGJ!n6GnN2}h# z6$}l_Or)y<|1EOu&XE3RC}_1Hc#o|-bW$2+j1gn?TEkY8qtBKe6%4(1qV2vQ^MbjV zU1!s#7g)sVxu0e^@T|Z}_Fc8*+otZjntxdtwrt0Av zIOo=#`lquV?QH+;aY=+LwfMf*2mL!oYB?A<{Cz+6skbQ44o^1mQ;okgFVdQ&MBb@0COwJ A{Qv*} literal 10924 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 yq=lSLVD= \uicontrol {New File or Project} > \uicontrol {Files and Classes} > \uicontrol {JavaScript} > \uicontrol {JavaScript File} > \uicontrol Choose to create a @@ -120,7 +120,7 @@ } \endcode - \li Add the following code to use a \l Timer type to specify a range of + \li Add the following code to use a \l Timer component to specify a range of values for the property: \code property Timer name1Timer: Timer{ diff --git a/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc index 83e587fb16d..054e3d54f71 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -43,8 +43,8 @@ to enter the settings needed for that particular type of project and create the necessary files for you. - Studio projects are useful for creating UIs. You cannot use - them for application development, because they do not contain: + \QDS projects are useful for creating UIs. You cannot use them for + application development, because they do not contain: \list \li C++ code @@ -52,7 +52,7 @@ \li Code needed for deploying applications to devices. \endlist - Because the UIs do not contain any C++ code, you do not need + Because the projects do not contain any C++ code, you do not need to build them. To test how well your designs work, you can preview the UIs on the desktop or embedded Linux devices. For more information, see \l{Previewing}. @@ -64,20 +64,18 @@ \list \li \uicontrol {Qt for MCUs Application} creates an application that - uses a subset of \l{Qt QML} and \l{Qt Quick Controls} types (as - supported by Qt for MCUs) that you can deploy, run, and debug on - MCU boards. - \li \uicontrol {Qt Quick Application - Empty} creates a Qt Quick UI - project that uses \l{Qt Quick} types and can be run on all target - platforms. - \li \uicontrol {Qt Quick 3D Application} creates a Qt Quick UI project - that uses Qt Quick and \l{Qt Quick 3D} types. + uses a subset of preset components (as supported by Qt for MCUs) + that you can deploy, run, and debug on MCU boards. + \li \uicontrol {Qt Quick Application - Empty} creates a project that + uses default components and can be run on all target platforms. + \li \uicontrol {Qt Quick 3D Application} creates a project that uses + default and 3D components. \li \uicontrol {Qt Quick Application - Scroll} and - \uicontrol {Qt Quick Application - Stack} create a Qt Quick - application that uses Qt Quick Controls to implement a scrollable + \uicontrol {Qt Quick Application - Stack} create an application + that uses preset UI controls to implement a scrollable list or a set of pages with a stack-based navigation model. - \li \uicontrol {Qt Quick Application - Launcher} creates a Qt Quick UI - project that uses Qt Quick types and defines a QML laucher + \li \uicontrol {Qt Quick Application - Launcher} creates a + project that uses default components and defines a launcher application. \endlist diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/qtdesignstudio-logic-helpers.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/qtdesignstudio-logic-helpers.qdoc index 463a1358c95..5d541d40427 100644 --- a/doc/qtdesignstudio/src/qtquickdesigner-components/qtdesignstudio-logic-helpers.qdoc +++ b/doc/qtdesignstudio/src/qtquickdesigner-components/qtdesignstudio-logic-helpers.qdoc @@ -162,7 +162,7 @@ For example, to use a \l Text component to display the value of a slider, we drag-and-drop \uicontrol Text, \uicontrol Slider, and - \uicontrol {String Mapper} components to the same parent item. Then + \uicontrol {String Mapper} components to the same parent component. Then we select \uicontrol {String Mapper} in \uicontrol Navigator to display its properties in \uicontrol Properties. There we bind the value of the \c input property of the string mapper to the value of the \c value diff --git a/doc/qtdesignstudio/src/qtquickdesigner-components/qtdesignstudio-visual-effects.qdoc b/doc/qtdesignstudio/src/qtquickdesigner-components/qtdesignstudio-visual-effects.qdoc index 1476e3e2879..bbd1eb61ac7 100644 --- a/doc/qtdesignstudio/src/qtquickdesigner-components/qtdesignstudio-visual-effects.qdoc +++ b/doc/qtdesignstudio/src/qtquickdesigner-components/qtdesignstudio-visual-effects.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Design Studio documentation. @@ -30,24 +30,23 @@ \title 2D Effects - \QDS provides a set of Qt Quick Studio effects that inherit the types in the - \l {Qt Graphical Effects} module. To apply a visual effect to a component, - drag-and-drop it from \uicontrol Library > \uicontrol Effects to the - component in \uicontrol Navigator. + \QDS provides a set of effects that you can apply to components by + dragging-and-dropping them from \l Library > \uicontrol Components + > \uicontrol {Qt Quick Studio Effects} to the component in \l Navigator. \image studio-2d-effects.png "Effects tab in Library" Effects have one or more source properties for specifying the visual input - for which the effect is applied to an item. The altered visual output is - then presented in the effect item itself. The source can be another, often - hidden, item in the QML scene. More complex effects can have multiple - sources. The source item type can be any QML type, even video or another + for which the effect is applied to a component. The altered visual output is + then presented in the effect component itself. The source can be another, + often hidden, component in the scene. More complex effects can have multiple + sources. The source component can be any component, even video or another effect. Pipelining multiple effects together is a simple way to create even more impressive output. Each effect has a set of properties that can be used to configure the effect - output. Properties can be animated just like any other QML properties. The - QML type documentation contains property descriptions and basic usage + output. They can be animated just like any other properties. The + component documentation contains property descriptions and basic usage examples. In addition to the effects described in this topic, you can set linear, @@ -64,29 +63,29 @@ cache when the source or the effect properties are animated. The \uicontrol {Transparent border} property determines the blur behavior - near the edges of the item, where the pixel blurring is affected by + near the edges of the component, where the pixel blurring is affected by the pixels outside the source edges. If the property is set to \c true, the pixels outside the source are interpreted as being transparent, which is similar to OpenGL clamp-to-border - extension. The blur is expanded slightly outside the effect item area. + extension. The blur is expanded slightly outside the effect component area. If the property is set to \c false, the pixels outside the source are interpreted as containing the same color as the pixels at the edge of - the item, which is similar to OpenGL clamp-to-edge behavior. The blur - does not expand outside the effect item area. + the component, which is similar to OpenGL clamp-to-edge behavior. The blur + does not expand outside the effect component area. \section1 Summary of 2D Effects The following table summarizes the available effects and contains links to - the documentation of the inherited QML type. + the developer documentation of the inherited component. \note The effects are available when running with OpenGL. \table \header \li Icon - \li Qt Quick Studio Effect + \li Effect \li Description \row \li \inlineimage icons/blend-mode-16px.png @@ -122,13 +121,13 @@ \uicontrol Desaturation field. The value ranges from \c 0.0 (no change) to \c 1.0 (desaturated). Desaturated pixel values are calculated as averages of the original RGB component values - of the source item. + of the source component. \row \li \inlineimage icons/directional-blur-16px.png \li \l {DirectionalBlur}{Directional Blur} \li Applies a blur effect to the specified direction. The value of the \uicontrol Angle field, defines the direction of the blur. This - effect makes the source item appear to be moving in the direction of + effect makes the source component appear to be moving in the direction of the blur. Blur is applied to both sides of each pixel, and therefore setting the direction to \c 0 and \c 180 provides the same result. @@ -142,7 +141,7 @@ \row \li \inlineimage icons/displace-16px.png \li \l Displace - \li Moves the pixels of the source item according to the displacement + \li Moves the pixels of the source component according to the displacement map specified in the \uicontrol {Displacement source} field. The value of the \uicontrol Displacement field specifies the @@ -156,7 +155,7 @@ \li \l {DropShadow}{Drop Shadow} \li Generates a soft shadow behind the source component using a gaussian blur. This effect blurs the alpha channel of the input and - colorizes the result, which it then places behind the source object + colorizes the result, which it then places behind the source component to create a soft shadow. You can set the shadow's color in the \uicontrol {Drop Shadow Color} field and change its location in the \uicontrol {Horizontal offset} and \uicontrol {Vertical offset} @@ -192,7 +191,7 @@ \row \li \inlineimage icons/gamma-adjust-16px.png \li \l [QML] {GammaAdjust}{Gamma Adjust} - \li Alters the luminance of the source item. This effect is applied + \li Alters the luminance of the source component. This effect is applied to each pixel according to the curve that is pre-defined as a power-law expression, where the value of the \uicontrol Gamma field is used as the reciprocal scaling exponent. @@ -223,7 +222,7 @@ \li Generates a halo-like glow around the source component. This effect blurs the alpha channel of the source and colorizes it with \uicontrol {Glow color}. It then places the alpha channel behind the - source, resulting in a halo or glow around the object. The quality + source, resulting in a halo or glow around the component. The quality of the blurred edge can be controlled by using the values of the \uicontrol Samples and \uicontrol Radius and the strength of the glow can be changed using the value of the \uicontrol Spread field. @@ -261,8 +260,8 @@ \li \inlineimage icons/levels-16px.png \li \l {LevelAdjust}{Level Adjust} \li Adjusts color levels in the RGBA color space. This effect adjusts - the source item colors separately for each color channel. Source - item contrast can be adjusted and color balance altered. + the source component colors separately for each color channel. Source + component contrast can be adjusted and color balance altered. The value of the \uicontrol Gamma field specifies the change factor for how the value of each pixel color channel is altered according @@ -303,9 +302,9 @@ \li \inlineimage icons/opacity-mask-16px.png \li \l {OpacityMask}{Opacity Mask} \li Masks the source component with another component specified in the - \uicontrol {Mask source} field. The mask item gets rendered into an + \uicontrol {Mask source} field. The mask component gets rendered into an intermediate pixel buffer and the alpha values from the result are - used to determine the visibility of the source item's pixels in the + used to determine the visibility of the source component's pixels in the display. Select the \uicontrol Invert check box to specify that the @@ -317,7 +316,7 @@ \li \inlineimage icons/radial-blur-16px.png \li \l {RadialBlur}{Radial Blur} \li Applies a directional blur effect in a circular direction around the - component's center point. This effect makes the source item appear + component's center point. This effect makes the source component appear to be rotating into the direction of the blur. Other available motionblur effects are \uicontrol {Zoom Blur} and \uicontrol {Directional Blur}. @@ -345,7 +344,7 @@ \row \li \inlineimage icons/threshold-16px.png \li \l {ThresholdMask}{Threshold Mask} - \li Masks the source item with another item specified by + \li Masks the source component with another component specified by \uicontrol {Mask source}. The value of the \uicontrol Spread field determines the smoothness of the mask edges near the \uicontrol Threshold alpha value. Setting spread to \c 0.0 uses @@ -356,7 +355,7 @@ \li \inlineimage icons/zoom-blur-16px.png \li \l {ZoomBlur}{Zoom Blur} \li Applies a directional blur effect towards source component's - center point. This effect makes the source item appear to be + center point. This effect makes the source component appear to be moving towards the center point in Z-direction or the camera appear to be zooming rapidly.