Merge remote-tracking branch 'origin/4.13' into master

Change-Id: Ib60df85a85fc1c94d8cc0dc23ea9fcdb4822bcab
This commit is contained in:
Eike Ziller
2020-08-25 12:42:04 +02:00
32 changed files with 328 additions and 87 deletions

View File

@@ -128,13 +128,14 @@ function(add_qtc_library name)
EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS}
)
file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
get_filename_component(public_build_interface_dir "${CMAKE_CURRENT_SOURCE_DIR}/.." ABSOLUTE)
file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/..")
target_include_directories(${name}
PRIVATE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>"
"$<INSTALL_INTERFACE:include/${include_dir_relative_path}/..>"
"$<BUILD_INTERFACE:${public_build_interface_dir}>"
"$<INSTALL_INTERFACE:include/${include_dir_relative_path}>"
)
set(skip_translation OFF)
@@ -378,15 +379,16 @@ function(add_qtc_plugin target_name)
EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS}
)
file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
get_filename_component(public_build_interface_dir "${CMAKE_CURRENT_SOURCE_DIR}/.." ABSOLUTE)
file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/..")
target_include_directories(${target_name}
PRIVATE
"${CMAKE_CURRENT_BINARY_DIR}"
"${CMAKE_BINARY_DIR}/src"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>"
"$<INSTALL_INTERFACE:include/${include_dir_relative_path}/..>"
"$<BUILD_INTERFACE:${public_build_interface_dir}>"
"$<INSTALL_INTERFACE:include/${include_dir_relative_path}>"
)
set(plugin_dir "${IDE_PLUGIN_PATH}")

View File

@@ -53,6 +53,8 @@ Editing
* Fixed that find usages was finding function arguments when searching functions (QTCREATORBUG-2176)
* Fixed crash in lexer (QTCREATORBUG-19525)
* Fixed handling of incomplete macro invocations (QTCREATORBUG-23881)
* Fixed update of function signature tooltip (QTCREATORBUG-24449)
* Fixed that built-in macros were ignored for custom toolchains (QTCREATORBUG-24367)
### Language Client
@@ -60,6 +62,7 @@ Editing
* Added highlighting of code range for diagnostics
* Added tooltips for diagnostics
* Fixed various issues with completion, outline, files with spaces, and synchronization
* Fixed handling of workspace folders (QTCREATORBUG-24452)
### QML
@@ -90,6 +93,10 @@ Editing
* Added option to sort file list
### Widget Designer
* Fixed that designed widgets were dark in dark theme (QTCREATORBUG-23981)
Projects
--------
@@ -222,6 +229,7 @@ Federico Guerinoni
Friedemann Kleint
Henning Gruendl
Ivan Komissarov
Jacek Nijaki
Jaroslaw Kobus
Jochen Becher
Jochen Seemann
@@ -229,8 +237,10 @@ Johanna Vanhatapio
Joni Poikelin
Junker, Gregory
Knud Dollereder
Kwanghyo Park
Lars Knoll
Leena Miettinen
Lukasz Ornatek
Mahmoud Badri
Marco Bubke
Michael Brüning

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

After

Width:  |  Height:  |  Size: 109 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -30,26 +30,52 @@
\title Connecting Bare Metal Devices
You can connect bare metal devices to a development host to run and debug
You can configure build and run kits to use Bare Metal tool chains installed
on the development host to build applications for Bare Metal devices. You
can connect the devices to the development host to run and debug
applications on them from \QC using GDB or a hardware debugger. This enables
you to debug on small devices that are not supported by the generic remote
Linux device plugin. However, if the device does not have Qt libraries, you
need a fake Qt installation.
Linux device plugin.
\note If you use qmake to build the project and the device does not have
Qt libraries, you need a fake Qt installation.
The following tool chains are supported for building applications:
\list
\li GCC: Microchip Technology (AVR, AVR32, PIC16, PIC32),
NXP Semiconductors (ColdFire, M68K), Texas Instruments (MSP430),
National Semiconductor (CR16C), Renesas Electronics (M32R, M32C,
RL78, RX, SuperH, V850), Tensilica XTENSA (ESP8266, ESP32), RISC-V,
Arm
\li \l{https://www.iar.com/iar-embedded-workbench/}{IAR EW}:
Microchip Technology (AVR, AVR32), NXP Semiconductors
(ColdFire, M68K), Texas Instruments (MSP430),
National Semiconductor (CR16C), Renesas Electronics (78K,
M16/R8C, M32C, R32C, RH850, RL78, RX, SuperH, V850),
STMicroelectronics (STM8), 8051, RISC-V, Arm
\li \l{https://www.keil.com/product/}{Keil}: Arm, C51 (8051),
C251 (80251), C166 (C16x, XC16x)
\li \l{http://sdcc.sourceforge.net/}{SDCC}: STMicroelectronics (STM8),
8051
\endlist
The bare metal device type accepts custom GDB commands that you specify in
the device options. You can specify the commands to execute when connecting
using a particular debug server provider.
The following debug server providers are supported:
The following debug server providers are supported when using GDB:
\list
\li \l EBlink
\li \l J-Link
\li \l OpenOCD
\li \l ST-LINK
\li \l {uVision IDE}
\li \l ST-Link
\endlist
ST-Link and J-Link debug server providers can be used together with
the \l {uVision IDE}.
\section1 Enabling the Bare Metal Device Plugin
To enable the Bare Metal Device plugin:
@@ -200,7 +226,11 @@
\l{http://www.keil.com/support/man/docs/uv4/uv4_overview.htm}{uVision} is
an IDE for developing applications for embedded devices. Applications can
be debugged by using uVision Simulator or directly on hardware by using
St-Link.
St-Link and J-Link.
You can view the current state of peripheral registers in the
\uicontrol {Peripheral Registers} view in Debug mode. The view
is hidden by default.
\section3 uVision Simulator

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -61,7 +61,7 @@
Breakpoints come in two varieties: \c unclaimed and \c claimed.
An unclaimed breakpoint represents a task to interrupt the debugged
program and passes the control to you later. I has two states:
program and passes the control to you later. It has two states:
\c pending and \c implanted.
Unclaimed breakpoints are stored as a part of a session and exist
@@ -145,6 +145,35 @@
\endlist
\section2 Specifying Breakpoint Settings
You can specify settings for breakpoints in \uicontrol Tools >
\uicontrol Options > \uicontrol Debugger. For more information,
see \l{Specifying Debugger Settings}.
To use a full absolute path in breakpoints, select the
\uicontrol {Set breakpoints using a full absolute path} check box.
GDB and CDB enable setting breakpoints on source lines for which no code
was generated. In such situations, the breakpoint is shifted to the next
source code line for which the code was actually generated. To reflect
such temporary changes by moving the breakpoint markers in the source code
editor, select \uicontrol GDB > \uicontrol {Adjust breakpoint locations}
or \uicontrol CDB > \uicontrol {Correct breakpoint location}.
When using CDB as backend, you can specify that the debugger should break on
specific events, such as C++ exceptions, thread creation or exit, loading or
unloading \l{Viewing Modules}{application modules}, or particular output.
Select the appropriate check boxes in the \uicontrol CDB >
\uicontrol {Break on} group. To disable first-chance break on access
violation exceptions, select the \uicontrol {Ignore first chance access
violations} check box. The second occurrence of an access violation will
break into the debugger.
You can automatically add breakpoints on some functions to catch error
and warning messages. For more information, see \l{Specifying CDB Settings}
and \l{Specifying Extended GDB Settings}.
For more information on breakpoints, see
\l{http://sourceware.org/gdb/onlinedocs/gdb/Breakpoints.html#Breakpoints}
{Breakpoints, Watchpoints, and Catchpoints} in GDB documentation.

View File

@@ -325,6 +325,53 @@
To keep debugging all children after a fork, select the
\uicontrol {Debug all child processes} check box.
\section2 Specifying CDB Settings
To specify settings for managing the CDB process, select \uicontrol Tools >
\uicontrol Options > \uicontrol Debugger > \uicontrol CDB.
\image qtcreator-cdb-options.png "CDB options"
You can specify additional arguments for starting CDB in the
\uicontrol {Additional arguments} field.
If a console application does not start up properly in the configured
console and the subsequent attach fails, you can diagnose the issue by
using CDB's native console. Select the \uicontrol {Use CDB console}
check box to override the console set in the Windows system
environment variables. Note that the native console does not
prompt on application exit.
To automatically add a breakpoint on the \c CrtCbgReport() function,
select the \uicontrol {Stop when CrtCbgReport() is called} check box.
This catches runtime error messages caused by \c assert(), for example.
In the \uicontrol {Break on} group, specify whether the debugger should
break on C++ exceptions, on thread creation or exit, on loading or
unloading the specified \l{Viewing Modules}{application modules}, or on
the specified output.
To disable first-chance break on access violation exceptions, select the
\uicontrol {Ignore first chance access violations} check box.
The second occurrence of an access violation will break into the debugger.
CDB enables setting breakpoints in comments or on source lines for which
no code was generated. In such situations, the breakpoint is shifted to
the next source code line for which the code was actually generated. To
reflect such temporary changes by moving the breakpoint markers in the
source code editor, select the \uicontrol {Correct breakpoint location}
check box. For more information, see \l{Setting Breakpoints}.
To use the abstraction layer provided by Python Dumper
classes to create a description of data items displayed
in the \uicontrol Locals and \uicontrol Expressions
views, select the \uicontrol {Use Python dumper} check box.
For more information, see \l{Debugging Helper Implementation}.
To add information about first-chance and second-chance exceptions
to the \uicontrol Issues output pane, select the check boxes
in the \uicontrol {Add Exceptions to the Issues View} group.
\section1 Mapping Source Paths
To enable the debugger to step into the code and display the source code

View File

@@ -118,10 +118,15 @@
The debugger then takes over and starts the program with suitable
parameters.
When using GDB or CDB as debug backend, you can specify additional commands
to execute before and after the backend and debugged program are started or
attached in \uicontrol Tools > \uicontrol Options > \uicontrol Debugger >
\uicontrol GDB and \uicontrol CDB. For more information, see
\l{Specifying Debugger Settings}.
\note Starting a C++ program in the debugger can take a long time, typically
in the range of several seconds to minutes if complex features are used.
\section1 Launching the Debugger in Different Modes
The debugger plugin can run the native debuggers in various operating modes
@@ -171,6 +176,13 @@
\uicontrol {Run Settings} and select the \uicontrol {Run in terminal} check
box.
If a console application does not start up properly in the configured
console and the subsequent attach fails, you can diagnose the issue by
using CDB's native console. Select \uicontrol Tools > \uicontrol Options >
\uicontrol Debugger > \uicontrol CDB > \uicontrol {Use CDB console} to
override the console set in the Windows system environment variables.
Note that the native console does not prompt on application exit.
To launch the debugger in Start Internal mode, click the
\uicontrol {Start Debugging} button for the active project.
@@ -596,6 +608,23 @@
It is also possible to continue executing the program until the current
function completes or jump to an arbitrary position in the current function.
\section2 Customizing Debug Views
You can change the appearance and behavior of the debug views by specifying
settings in \uicontrol Options > \uicontrol Debugger. For example, you can:
\list
\li Use alternating row colors in debug views.
\li Adopt font size changes from the main editor.
\li Have tooltips displayed in the main editor while you are debugging.
\li Close temporary source and memory views and switch to the previously
used \QC mode when the debugger exits.
\li Bring \QC to the foreground when the debugged application is
interrupted.
\endlist
For more information, see \l{Specifying Debugger Settings}.
\include creator-debugger-common.qdocinc debugger-breakpoints
\include creator-debugger-common.qdocinc debugger-call-stack-trace
\include creator-debugger-common.qdocinc debugger-locals
@@ -691,6 +720,12 @@
By default, the \uicontrol Modules view is hidden.
When using CDB as debug backend, you can specify that the debugger should
break when application modules are loaded or unloaded. To enable breaking
for the specified modules, select \uicontrol Tools > \uicontrol Options >
\uicontrol Debugger > \uicontrol CDB. For more information, see
\l{Specifying CDB Settings}.
\section2 Viewing Source Files
The \uicontrol {Source Files} view lists all the source files included in
@@ -991,12 +1026,15 @@
not to generate the wire format directly, but to use the abstraction
layer provided by the Python Dumper classes, specifically the \c{Dumper}
class itself, and the \c{Dumper:Value} and \c{Dumper:Type} abstractions.
These provide a complete framework to take care of the \c iname and \c addr
fields, to handle children of simple types, references, pointers, enums, and
known and unknown structs, as well as some convenience functions to handle
common situations.
When using CDB as debugger backend, you can enable the Python dumper by
selecting \uicontrol Tools > \uicontrol Options > \uicontrol Debugger >
\uicontrol CDB > \uicontrol {Use Python dumper}.
\section3 Dumper Class
The \c Dumper class contains generic bookkeeping, low-level, and convenience

View File

@@ -301,7 +301,7 @@
\list
\li \uicontrol {\l{User Interface}{Welcome}} mode for opening projects,
tutorial, and examples.
tutorials, and examples.
\li \uicontrol{\l{Coding}{Edit}} mode for editing project and source
files.

View File

@@ -62,7 +62,7 @@
\section1 Saving Workspaces
The changes you make to a workspace are saved when you exit \QC.
In \QMLD, you can select \uicontrol View > \uicontrol Workspaces >
Select \uicontrol View > \uicontrol Workspaces >
\uicontrol Manage > \uicontrol {Restore last workspace on startup}
to restore the current workspace the next time you start \QC.
@@ -75,10 +75,12 @@
To switch between workspaces, select \uicontrol {Switch To}.
To create a new workspace:
To save a workspace after you've moved views around or opened and
closed them:
\list 1
\li Select \uicontrol New.
\image qtcreator-workspace-new.png "New Workspace Name dialog"
\li In the \uicontrol {Enter the name of the workspace} field,
enter a name for the workspace.
\li Select \uicontrol Create to create a new empty workspace or
@@ -86,5 +88,10 @@
switch to it.
\endlist
To delete the selected workspace, select \uicontrol Delete.
To delete the selected workspace, select \uicontrol Delete in
\uicontrol {Workspace Manager}.
To export workspace settings into \e {.wrk} files select \uicontrol Export.
To import them to another computer, select \uicontrol Import, and then
locate the workspace settings file.
*/

View File

@@ -70,7 +70,7 @@
If you have built the project before, \QC can use the existing build
configuration to make the exact same build as found in the directory
available to \QC. To import a build, specify a directory in the
\uicontrol {Import Build from} section and select \uicontrol {Import}.
\uicontrol {Import Build From} section and select \uicontrol {Import}.
You can edit the build configuration later. For more information, see
\l{Editing Build Configurations}.

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2018 The Qt Company Ltd.
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -36,25 +36,25 @@
\title Sharing Project Settings
\QC stores user-specific project settings in a .pro.user file. You can
share these settings between several projects as a .pro.shared file. It
has the same XML structure as a .pro.user file, but only contains the
\QC stores user-specific project settings in a \e {.user} file. You can
share these settings between several projects as a \e {.shared} file. It
has the same XML structure as a \e {.user} file, but only contains the
settings to share.
\section1 Creating Shared Settings File
The easiest way to create a .pro.shared file is to copy settings from the
.pro.user file. Typically, you would share some of the values in the
The easiest way to create a \e {.shared} file is to copy settings from the
\e {.user} file. Typically, you would share some of the values in the
\c ProjectExplorer.Project.EditorSettings section.
\note You must always specify the
\c ProjectExplorer.Project.Updater.FileVersion variable and use the same
value for it as in the .pro.user file.
value for it as in the \e {.user} file.
You can then deliver the .pro.shared file to other developers or copy it to
You can then deliver the \e {.shared} file to other developers or copy it to
other development PCs.
The following is an example of a pro.shared file:
The following is an example of a \e {.shared} file:
\code
<?xml version="1.0" encoding="UTF-8"?>
@@ -78,16 +78,16 @@
\section1 Updating Shared Settings
The first time \QC loads the project after you added pro.shared settings,
it overwrites the pro.user settings with them. If you open the project for
the first time and \QC has not created a .pro.user file, the settings in the
.pro.shared file take effect immediately.
The first time \QC loads the project after you add shared settings,
it overwrites the user settings with them. If you open the project for
the first time and \QC has not created a \e {.user} file, the settings
in the \e {.shared} file take effect immediately.
If you receive a .pro.shared file and do not want to use a particular
If you receive a \e {.shared} file and do not want to use a particular
setting in it, you can change it. \QC marks it a \e sticky setting. The next
time you open a project, the setting is not updated. \QC tracks sticky
settings in the .pro.user file and removes the mark if the values in the
pro.user and pro.shared files eventually become identical. This is to avoid
settings in the \e {.user} file and removes the mark if the values in the
user and shared files eventually become identical. This is to avoid
a permanent sticky setting that was created just because you wanted to try
something out.

View File

@@ -68,7 +68,7 @@
Typically, only a subset of the kit settings is relevant for a particular
setup. Therefore, \QC plugins register sets of relevant settings that you
can view and modify in \uicontrol Tools > \uicontrol Options >
\uicontrol Kits >. For example, if you use CMake to build all your projects,
\uicontrol Kits. For example, if you use CMake to build all your projects,
you can hide Qbs and qmake settings by default.
To hide and show settings in the \uicontrol Kits tab for the

View File

@@ -37,10 +37,9 @@
\QC provides a cross-platform, complete integrated development environment
(IDE) for application developers to create applications for multiple
desktop, \l {http://doc.qt.io/QtForDeviceCreation/index.html}{embedded},
and mobile device platforms, such as \l{Connecting Android Devices}{Android}
and \l{Connecting iOS Devices}{iOS}. It is available for Linux, \macos and
Windows
\l{Desktop Platforms}{desktop}, \l {Embedded Platforms}{embedded}, and
\l{Mobile Platforms}{mobile device} platforms, such as \l Android and
\l iOS. It is available for \l Linux, \l \macos and \l Windows
operating systems. For more information, see \l{Supported Platforms}.
In addition, you can use the experimental

View File

@@ -30,8 +30,8 @@
\title Specifying Dynamic Properties
In addition to the properties predefined for QML types, you can specify
\e {dynamic properties} to add properties that would not otherwise
Each predefined QML type has a set of predefined properties that you can
specify values for. You can add custom properties that would not otherwise
exist for a particular type. You bind the properties to dynamic expressions
to define global properties for an object that can be read by other objects.
For example, you can specify global properties for the root object that you
@@ -42,18 +42,19 @@
and then use bindings to refer to the value of the margin property from
other objects.
Similarly, you can add dynamic properties at component level.
Similarly, you can add custom properties for your own QML types that are
based on the predefined types.
You can specify dynamic properties for objects in the
\uicontrol Connections view.
You can add properties for objects in the \uicontrol Connections view,
\uicontrol Properties tab.
\image qmldesigner-dynamicprops.png
\image qmldesigner-dynamicprops.png "Custom properties in Connection View Custom Properties tab"
To specify dynamic properties for an object:
To add properties for an object:
\list 1
\li In the \uicontrol {Connections} view, select the
\uicontrol {Properties} tab.
\li Select \uicontrol View > \uicontrol Views >
\uicontrol {Connections View} > \uicontrol {Properties}.
\li Select the \inlineimage plus.png
(\uicontrol Add) button to add a dynamic property for the currently
selected item. The item ID is displayed in the \uicontrol Item
@@ -61,9 +62,67 @@
\li Double-click the value in the \uicontrol Property column to give a
name to the property.
\li Double-click the value in the \uicontrol {Property Type} column to
specify the type of the property.
specify the \l{Supported Property Types}{type of the property}.
\li Double-click the value in the \uicontrol {Property Value} column
to specify a dynamic expression as the value of the property.
to specify the value of the property.
\endlist
The properties you add for a QML type are displayed in the
\uicontrol Properties view when you select a component of
that type in \uicontrol Navigator or \uicontrol {Form Editor}.
\image qtquick-custom-properties.png "Custom properties in Properties view"
For more information about setting property values in the
\uicontrol Properties view, see \l{Specifying Item Properties}.
For an example of using custom properties in an application, see
\l{Creating a Mobile Application}.
\section1 Supported Property Types
The following table describes the supported property types:
\table
\header
\li Type
\li Description
\row
\li alias
\li \l{Property Aliases}{Property alias} that holds a reference to
another property
\row
\li bool
\li Binary \c true or \c false value
\row
\li color
\li Color value that can be specified by using an SVG color name, such
as "red", "green", or "lightsteelblue", or a hexadecimal triplet or
quad in the form "#RRGGBB" and "#AARRGGBB", respectively. For
example, the color red corresponds to a triplet of "#FF0000" and
a slightly transparent blue to a quad of "#800000FF".
In addition, you can use the following Qt functions: \l{Qt::rgba()}
{Qt.rgba()}, \l{Qt::hsva()}{Qt.hsva()}, \l{Qt::hsla()}{Qt.hsla()},
\l{Qt::darker()}{Qt.darker()}, \l{Qt::lighter()}{Qt.lighter()}, and
\l{Qt::tint()}{Qt.tint()}.
\row
\li int
\li Whole integer number, such as 0, 10, or -20
\row
\li real
\li Number with a decimal point
\row
\li string
\li Free form text string
\row
\li url
\li Resource locator, such as a file name. It can be either absolute,
(\c http://qt-project.org), or relative (\c pics/logo.png). A
relative URL is resolved relative to the URL of the parent
component.
\row
\li variant
\li Generic property type. For example, variant properties can store
numbers, strings, objects, arrays, and functions.
\endtable
*/

View File

@@ -52,8 +52,10 @@
following views, select \uicontrol View > \uicontrol Views:
\list
\li \uicontrol {Form Editor} (1) provides a canvas for designing 2D UIs.
For more information, see \l {Editing 2D Content}.
\li \uicontrol {Form Editor} (1) provides a canvas for designing
2D UIs. For more information, see \l {Editing 2D Content}.
When you are editing 3D scenes, the \uicontrol {Form Editor} is
used as a canvas for the 3D scene projected by the camera.
\li \uicontrol {3D Editor} provides an editor for files you created
using 3D graphics applications and stored in one of the supported
@@ -88,11 +90,11 @@
\li \uicontrol {Open Documents} shows currently open files.
\li \uicontrol {Projects} shows a list of projects open in the
\li \uicontrol {Projects} (6) shows a list of projects open in the
current session. For more information, see
\l{Viewing Project Files}.
\li \uicontrol {States} (6) displays the different states of the item.
\li \uicontrol {States} displays the different states of the item.
QML states typically describe user interface configurations, such as
the UI controls, their properties and behavior and the available
actions. For more information, see \l{Adding States}.

View File

@@ -32,25 +32,30 @@
The \uicontrol Properties view displays all the properties of the selected
item. The properties are grouped by type. The top part of the view displays
properties that are common to all QML types, such as position, size, and
visibility.
properties that are common to all QML types, such as type, id, position,
size, and visibility.
The bottom part of the view displays properties that are specific to each
QML type. For example, the following image displays the properties you can
set for \uicontrol Rectangle and \uicontrol Text items.
The bottom part of the view displays properties that have been defined for
the QML type. For example, the following image displays the predefined
properties you can set for \uicontrol Rectangle and \uicontrol Text items.
\image qmldesigner-element-properties.png
To change the item type, double-click the \uicontrol Type field in the
\uicontrol Properties view, and enter the name of another QML type in the
field. If you have specified properties for the item that are not supported
for the new type, the type cannot be changed and an error message is
displayed. Select the \inlineimage icons/action-icon.png
When you create a component using a QML type, the component has all the
properties of the type you used. If you realize later that another
QML type with another set of predefined properties would be more suitable
for your purposes, you can change the component type by double-clicking the
\uicontrol Type field in the \uicontrol Properties view. Enter the name of
another QML type in the field.
If you have specified values for properties that are not supported by
the new type, \QC offers to remove them for you. If you'd rather do
this yourself, you can select the \inlineimage icons/action-icon.png
(\uicontrol Actions) menu next to the property name, and then select
\uicontrol Reset to remove the property values before trying again.
To modify the common properties of multiple items simultaneously, select
them in the \uicontrol Navigator or on the canvas:
To modify the values of common properties of multiple items simultaneously,
select the items in the \uicontrol Navigator or on the canvas:
\list
\li On Windows, press and hold \key Ctrl and \key Shift, and then click
@@ -71,6 +76,18 @@
For more information on the properties available for an item, press
\key {F1}.
\section1 Specifying Custom Properties
Each predefined QML type has a set of properties that you can extend by
defining additional properties for your own QML components. For more
information, see \l{Specifying Dynamic Properties}.
The properties you add for a QML type are displayed in the
\uicontrol Properties view when you select a component
of that type in \uicontrol Navigator or \uicontrol {Form Editor}.
\image qtquick-custom-properties.png "Custom properties in Properties view"
\section1 Viewing Changes in Properties
The default values of properties are displayed in white color, while the

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View File

@@ -98,6 +98,7 @@ public:
{
out << data.image;
out << data.nodeData;
out << data.nodeId;
return out;
}
@@ -106,6 +107,7 @@ public:
{
in >> data.image;
in >> data.nodeData;
in >> data.nodeId;
return in;
}

View File

@@ -28,8 +28,6 @@
#include "cppmodelmanager.h"
#include "headerpathfilter.h"
#include <baremetal/baremetalconstants.h>
#include <coreplugin/icore.h>
#include <projectexplorer/headerpath.h>
@@ -385,8 +383,11 @@ void CompilerOptionsBuilder::addProjectMacros()
{
static const int useMacros = qEnvironmentVariableIntValue("QTC_CLANG_USE_TOOLCHAIN_MACROS");
if (m_projectPart.toolchainType == BareMetal::Constants::IAREW_TOOLCHAIN_TYPEID || useMacros)
if (m_projectPart.toolchainType == ProjectExplorer::Constants::CUSTOM_TOOLCHAIN_TYPEID
|| m_projectPart.toolchainType.name().contains("BareMetal")
|| useMacros) {
addMacros(m_projectPart.toolChainMacros);
}
addMacros(m_projectPart.projectMacros);
}

View File

@@ -51,7 +51,7 @@ BuildDirectoryAspect::BuildDirectoryAspect() : d(new Private)
setSettingsKey("ProjectExplorer.BuildConfiguration.BuildDirectory");
setLabelText(tr("Build directory:"));
setDisplayStyle(PathChooserDisplay);
setExpectedKind(Utils::PathChooser::ExistingDirectory);
setExpectedKind(Utils::PathChooser::Directory);
}
BuildDirectoryAspect::~BuildDirectoryAspect()

View File

@@ -422,10 +422,7 @@ void DebugView::instancesChildrenChanged(const QVector<ModelNode> & nodeList)
void DebugView::customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data)
{
if (identifier == "PuppetStatus" && data.count() == 1) {
m_debugViewWidget->setPuppetStatus(data.constFirst().toString());
} else if (isDebugViewEnabled()) {
if (isDebugViewEnabled()) {
QTextStream message;
QString string;
message.setString(&string);

View File

@@ -131,7 +131,7 @@ protected:
QRectF m_boundingRect;
QRectF m_paintedBoundingRect;
QRectF m_selectionBoundingRect;
QColor m_frameColor{0xaa, 0xaa, 0xaa};
QColor m_frameColor;
private: // functions
void setup();

View File

@@ -495,9 +495,6 @@ QProcessEnvironment PuppetCreator::processEnvironment() const
}
#ifndef QMLDESIGNER_TEST
auto view = QmlDesignerPlugin::instance()->viewManager().nodeInstanceView();
view->emitCustomNotification("PuppetStatus", {}, {QVariant(m_qrcMapping)});
// set env var if QtQuick3D import exists
QmlDesigner::Import import = QmlDesigner::Import::createLibraryImport("QtQuick3D", "1.0");
if (m_model->hasImport(import, true, true))

View File

@@ -216,7 +216,9 @@ static bool isIdToAvoid(const QString& id)
"layer",
"scale",
"enabled",
"anchors"
"anchors",
"texture",
"shaderInfo"
};
return ids.contains(id);

View File

@@ -158,13 +158,15 @@ void QmlPreviewPlugin::setLanguageLocale(const QString &locale)
QObject *QmlPreviewPlugin::getPreviewPlugin()
{
auto pluginIt = std::find_if(ExtensionSystem::PluginManager::plugins().begin(),
ExtensionSystem::PluginManager::plugins().end(),
const QVector<ExtensionSystem::PluginSpec *> specs = ExtensionSystem::PluginManager::plugins();
auto pluginIt = std::find_if(specs.begin(),
specs.end(),
[](const ExtensionSystem::PluginSpec *p) {
return p->name() == "QmlPreview";
});
if (pluginIt != ExtensionSystem::PluginManager::plugins().constEnd())
if (pluginIt != specs.end())
return (*pluginIt)->plugin();
return nullptr;