Merge remote-tracking branch 'origin/4.13' into master
Change-Id: Ib60df85a85fc1c94d8cc0dc23ea9fcdb4822bcab
@@ -128,13 +128,14 @@ function(add_qtc_library name)
|
|||||||
EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS}
|
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}
|
target_include_directories(${name}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
|
||||||
PUBLIC
|
PUBLIC
|
||||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>"
|
"$<BUILD_INTERFACE:${public_build_interface_dir}>"
|
||||||
"$<INSTALL_INTERFACE:include/${include_dir_relative_path}/..>"
|
"$<INSTALL_INTERFACE:include/${include_dir_relative_path}>"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(skip_translation OFF)
|
set(skip_translation OFF)
|
||||||
@@ -378,15 +379,16 @@ function(add_qtc_plugin target_name)
|
|||||||
EXTRA_TRANSLATIONS ${_arg_EXTRA_TRANSLATIONS}
|
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}
|
target_include_directories(${target_name}
|
||||||
PRIVATE
|
PRIVATE
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||||
"${CMAKE_BINARY_DIR}/src"
|
"${CMAKE_BINARY_DIR}/src"
|
||||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
|
||||||
PUBLIC
|
PUBLIC
|
||||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>"
|
"$<BUILD_INTERFACE:${public_build_interface_dir}>"
|
||||||
"$<INSTALL_INTERFACE:include/${include_dir_relative_path}/..>"
|
"$<INSTALL_INTERFACE:include/${include_dir_relative_path}>"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(plugin_dir "${IDE_PLUGIN_PATH}")
|
set(plugin_dir "${IDE_PLUGIN_PATH}")
|
||||||
|
10
dist/changes-4.13.0.md
vendored
@@ -53,6 +53,8 @@ Editing
|
|||||||
* Fixed that find usages was finding function arguments when searching functions (QTCREATORBUG-2176)
|
* Fixed that find usages was finding function arguments when searching functions (QTCREATORBUG-2176)
|
||||||
* Fixed crash in lexer (QTCREATORBUG-19525)
|
* Fixed crash in lexer (QTCREATORBUG-19525)
|
||||||
* Fixed handling of incomplete macro invocations (QTCREATORBUG-23881)
|
* 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
|
### Language Client
|
||||||
|
|
||||||
@@ -60,6 +62,7 @@ Editing
|
|||||||
* Added highlighting of code range for diagnostics
|
* Added highlighting of code range for diagnostics
|
||||||
* Added tooltips for diagnostics
|
* Added tooltips for diagnostics
|
||||||
* Fixed various issues with completion, outline, files with spaces, and synchronization
|
* Fixed various issues with completion, outline, files with spaces, and synchronization
|
||||||
|
* Fixed handling of workspace folders (QTCREATORBUG-24452)
|
||||||
|
|
||||||
### QML
|
### QML
|
||||||
|
|
||||||
@@ -90,6 +93,10 @@ Editing
|
|||||||
|
|
||||||
* Added option to sort file list
|
* Added option to sort file list
|
||||||
|
|
||||||
|
### Widget Designer
|
||||||
|
|
||||||
|
* Fixed that designed widgets were dark in dark theme (QTCREATORBUG-23981)
|
||||||
|
|
||||||
Projects
|
Projects
|
||||||
--------
|
--------
|
||||||
|
|
||||||
@@ -222,6 +229,7 @@ Federico Guerinoni
|
|||||||
Friedemann Kleint
|
Friedemann Kleint
|
||||||
Henning Gruendl
|
Henning Gruendl
|
||||||
Ivan Komissarov
|
Ivan Komissarov
|
||||||
|
Jacek Nijaki
|
||||||
Jaroslaw Kobus
|
Jaroslaw Kobus
|
||||||
Jochen Becher
|
Jochen Becher
|
||||||
Jochen Seemann
|
Jochen Seemann
|
||||||
@@ -229,8 +237,10 @@ Johanna Vanhatapio
|
|||||||
Joni Poikelin
|
Joni Poikelin
|
||||||
Junker, Gregory
|
Junker, Gregory
|
||||||
Knud Dollereder
|
Knud Dollereder
|
||||||
|
Kwanghyo Park
|
||||||
Lars Knoll
|
Lars Knoll
|
||||||
Leena Miettinen
|
Leena Miettinen
|
||||||
|
Lukasz Ornatek
|
||||||
Mahmoud Badri
|
Mahmoud Badri
|
||||||
Marco Bubke
|
Marco Bubke
|
||||||
Michael Brüning
|
Michael Brüning
|
||||||
|
Before Width: | Height: | Size: 209 B After Width: | Height: | Size: 109 B |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 7.1 KiB |
BIN
doc/qtcreator/images/qtcreator-cdb-options.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 11 KiB |
BIN
doc/qtcreator/images/qtcreator-workspace-new.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
doc/qtcreator/images/qtquick-custom-properties.png
Normal file
After Width: | Height: | Size: 28 KiB |
@@ -30,26 +30,52 @@
|
|||||||
|
|
||||||
\title Connecting Bare Metal Devices
|
\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
|
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
|
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
|
Linux device plugin.
|
||||||
need a fake Qt installation.
|
|
||||||
|
\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 bare metal device type accepts custom GDB commands that you specify in
|
||||||
the device options. You can specify the commands to execute when connecting
|
the device options. You can specify the commands to execute when connecting
|
||||||
using a particular debug server provider.
|
using a particular debug server provider.
|
||||||
|
|
||||||
The following debug server providers are supported:
|
The following debug server providers are supported when using GDB:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li \l EBlink
|
\li \l EBlink
|
||||||
\li \l J-Link
|
\li \l J-Link
|
||||||
\li \l OpenOCD
|
\li \l OpenOCD
|
||||||
\li \l ST-LINK
|
\li \l ST-Link
|
||||||
\li \l {uVision IDE}
|
|
||||||
\endlist
|
\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
|
\section1 Enabling the Bare Metal Device Plugin
|
||||||
|
|
||||||
To enable 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
|
\l{http://www.keil.com/support/man/docs/uv4/uv4_overview.htm}{uVision} is
|
||||||
an IDE for developing applications for embedded devices. Applications can
|
an IDE for developing applications for embedded devices. Applications can
|
||||||
be debugged by using uVision Simulator or directly on hardware by using
|
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
|
\section3 uVision Simulator
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2019 The Qt Company Ltd.
|
** Copyright (C) 2020 The Qt Company Ltd.
|
||||||
** Contact: https://www.qt.io/licensing/
|
** Contact: https://www.qt.io/licensing/
|
||||||
**
|
**
|
||||||
** This file is part of the Qt Creator documentation.
|
** This file is part of the Qt Creator documentation.
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
|
|
||||||
Breakpoints come in two varieties: \c unclaimed and \c claimed.
|
Breakpoints come in two varieties: \c unclaimed and \c claimed.
|
||||||
An unclaimed breakpoint represents a task to interrupt the debugged
|
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.
|
\c pending and \c implanted.
|
||||||
|
|
||||||
Unclaimed breakpoints are stored as a part of a session and exist
|
Unclaimed breakpoints are stored as a part of a session and exist
|
||||||
@@ -145,6 +145,35 @@
|
|||||||
|
|
||||||
\endlist
|
\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
|
For more information on breakpoints, see
|
||||||
\l{http://sourceware.org/gdb/onlinedocs/gdb/Breakpoints.html#Breakpoints}
|
\l{http://sourceware.org/gdb/onlinedocs/gdb/Breakpoints.html#Breakpoints}
|
||||||
{Breakpoints, Watchpoints, and Catchpoints} in GDB documentation.
|
{Breakpoints, Watchpoints, and Catchpoints} in GDB documentation.
|
||||||
|
@@ -325,6 +325,53 @@
|
|||||||
To keep debugging all children after a fork, select the
|
To keep debugging all children after a fork, select the
|
||||||
\uicontrol {Debug all child processes} check box.
|
\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
|
\section1 Mapping Source Paths
|
||||||
|
|
||||||
To enable the debugger to step into the code and display the source code
|
To enable the debugger to step into the code and display the source code
|
||||||
|
@@ -118,10 +118,15 @@
|
|||||||
The debugger then takes over and starts the program with suitable
|
The debugger then takes over and starts the program with suitable
|
||||||
parameters.
|
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
|
\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.
|
in the range of several seconds to minutes if complex features are used.
|
||||||
|
|
||||||
|
|
||||||
\section1 Launching the Debugger in Different Modes
|
\section1 Launching the Debugger in Different Modes
|
||||||
|
|
||||||
The debugger plugin can run the native debuggers in various operating 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
|
\uicontrol {Run Settings} and select the \uicontrol {Run in terminal} check
|
||||||
box.
|
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
|
To launch the debugger in Start Internal mode, click the
|
||||||
\uicontrol {Start Debugging} button for the active project.
|
\uicontrol {Start Debugging} button for the active project.
|
||||||
|
|
||||||
@@ -596,6 +608,23 @@
|
|||||||
It is also possible to continue executing the program until the current
|
It is also possible to continue executing the program until the current
|
||||||
function completes or jump to an arbitrary position in the current function.
|
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-breakpoints
|
||||||
\include creator-debugger-common.qdocinc debugger-call-stack-trace
|
\include creator-debugger-common.qdocinc debugger-call-stack-trace
|
||||||
\include creator-debugger-common.qdocinc debugger-locals
|
\include creator-debugger-common.qdocinc debugger-locals
|
||||||
@@ -691,6 +720,12 @@
|
|||||||
|
|
||||||
By default, the \uicontrol Modules view is hidden.
|
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
|
\section2 Viewing Source Files
|
||||||
|
|
||||||
The \uicontrol {Source Files} view lists all the source files included in
|
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
|
not to generate the wire format directly, but to use the abstraction
|
||||||
layer provided by the Python Dumper classes, specifically the \c{Dumper}
|
layer provided by the Python Dumper classes, specifically the \c{Dumper}
|
||||||
class itself, and the \c{Dumper:Value} and \c{Dumper:Type} abstractions.
|
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
|
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
|
fields, to handle children of simple types, references, pointers, enums, and
|
||||||
known and unknown structs, as well as some convenience functions to handle
|
known and unknown structs, as well as some convenience functions to handle
|
||||||
common situations.
|
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
|
\section3 Dumper Class
|
||||||
|
|
||||||
The \c Dumper class contains generic bookkeeping, low-level, and convenience
|
The \c Dumper class contains generic bookkeeping, low-level, and convenience
|
||||||
|
@@ -301,7 +301,7 @@
|
|||||||
\list
|
\list
|
||||||
|
|
||||||
\li \uicontrol {\l{User Interface}{Welcome}} mode for opening projects,
|
\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
|
\li \uicontrol{\l{Coding}{Edit}} mode for editing project and source
|
||||||
files.
|
files.
|
||||||
|
@@ -62,7 +62,7 @@
|
|||||||
\section1 Saving Workspaces
|
\section1 Saving Workspaces
|
||||||
|
|
||||||
The changes you make to a workspace are saved when you exit \QC.
|
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}
|
\uicontrol Manage > \uicontrol {Restore last workspace on startup}
|
||||||
to restore the current workspace the next time you start \QC.
|
to restore the current workspace the next time you start \QC.
|
||||||
|
|
||||||
@@ -75,10 +75,12 @@
|
|||||||
|
|
||||||
To switch between workspaces, select \uicontrol {Switch To}.
|
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
|
\list 1
|
||||||
\li Select \uicontrol New.
|
\li Select \uicontrol New.
|
||||||
|
\image qtcreator-workspace-new.png "New Workspace Name dialog"
|
||||||
\li In the \uicontrol {Enter the name of the workspace} field,
|
\li In the \uicontrol {Enter the name of the workspace} field,
|
||||||
enter a name for the workspace.
|
enter a name for the workspace.
|
||||||
\li Select \uicontrol Create to create a new empty workspace or
|
\li Select \uicontrol Create to create a new empty workspace or
|
||||||
@@ -86,5 +88,10 @@
|
|||||||
switch to it.
|
switch to it.
|
||||||
\endlist
|
\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.
|
||||||
*/
|
*/
|
||||||
|
@@ -70,7 +70,7 @@
|
|||||||
If you have built the project before, \QC can use the existing build
|
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
|
configuration to make the exact same build as found in the directory
|
||||||
available to \QC. To import a build, specify a directory in the
|
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
|
You can edit the build configuration later. For more information, see
|
||||||
\l{Editing Build Configurations}.
|
\l{Editing Build Configurations}.
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2018 The Qt Company Ltd.
|
** Copyright (C) 2020 The Qt Company Ltd.
|
||||||
** Contact: https://www.qt.io/licensing/
|
** Contact: https://www.qt.io/licensing/
|
||||||
**
|
**
|
||||||
** This file is part of the Qt Creator documentation.
|
** This file is part of the Qt Creator documentation.
|
||||||
@@ -36,25 +36,25 @@
|
|||||||
|
|
||||||
\title Sharing Project Settings
|
\title Sharing Project Settings
|
||||||
|
|
||||||
\QC stores user-specific project settings in a .pro.user file. You can
|
\QC stores user-specific project settings in a \e {.user} file. You can
|
||||||
share these settings between several projects as a .pro.shared file. It
|
share these settings between several projects as a \e {.shared} file. It
|
||||||
has the same XML structure as a .pro.user file, but only contains the
|
has the same XML structure as a \e {.user} file, but only contains the
|
||||||
settings to share.
|
settings to share.
|
||||||
|
|
||||||
\section1 Creating Shared Settings File
|
\section1 Creating Shared Settings File
|
||||||
|
|
||||||
The easiest way to create a .pro.shared file is to copy settings from the
|
The easiest way to create a \e {.shared} file is to copy settings from the
|
||||||
.pro.user file. Typically, you would share some of the values in the
|
\e {.user} file. Typically, you would share some of the values in the
|
||||||
\c ProjectExplorer.Project.EditorSettings section.
|
\c ProjectExplorer.Project.EditorSettings section.
|
||||||
|
|
||||||
\note You must always specify the
|
\note You must always specify the
|
||||||
\c ProjectExplorer.Project.Updater.FileVersion variable and use the same
|
\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.
|
other development PCs.
|
||||||
|
|
||||||
The following is an example of a pro.shared file:
|
The following is an example of a \e {.shared} file:
|
||||||
|
|
||||||
\code
|
\code
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
@@ -78,16 +78,16 @@
|
|||||||
|
|
||||||
\section1 Updating Shared Settings
|
\section1 Updating Shared Settings
|
||||||
|
|
||||||
The first time \QC loads the project after you added pro.shared settings,
|
The first time \QC loads the project after you add shared settings,
|
||||||
it overwrites the pro.user settings with them. If you open the project for
|
it overwrites the 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
|
the first time and \QC has not created a \e {.user} file, the settings
|
||||||
.pro.shared file take effect immediately.
|
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
|
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
|
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
|
settings in the \e {.user} file and removes the mark if the values in the
|
||||||
pro.user and pro.shared files eventually become identical. This is to avoid
|
user and shared files eventually become identical. This is to avoid
|
||||||
a permanent sticky setting that was created just because you wanted to try
|
a permanent sticky setting that was created just because you wanted to try
|
||||||
something out.
|
something out.
|
||||||
|
|
||||||
|
@@ -68,7 +68,7 @@
|
|||||||
Typically, only a subset of the kit settings is relevant for a particular
|
Typically, only a subset of the kit settings is relevant for a particular
|
||||||
setup. Therefore, \QC plugins register sets of relevant settings that you
|
setup. Therefore, \QC plugins register sets of relevant settings that you
|
||||||
can view and modify in \uicontrol Tools > \uicontrol Options >
|
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.
|
you can hide Qbs and qmake settings by default.
|
||||||
|
|
||||||
To hide and show settings in the \uicontrol Kits tab for the
|
To hide and show settings in the \uicontrol Kits tab for the
|
||||||
|
@@ -37,10 +37,9 @@
|
|||||||
|
|
||||||
\QC provides a cross-platform, complete integrated development environment
|
\QC provides a cross-platform, complete integrated development environment
|
||||||
(IDE) for application developers to create applications for multiple
|
(IDE) for application developers to create applications for multiple
|
||||||
desktop, \l {http://doc.qt.io/QtForDeviceCreation/index.html}{embedded},
|
\l{Desktop Platforms}{desktop}, \l {Embedded Platforms}{embedded}, and
|
||||||
and mobile device platforms, such as \l{Connecting Android Devices}{Android}
|
\l{Mobile Platforms}{mobile device} platforms, such as \l Android and
|
||||||
and \l{Connecting iOS Devices}{iOS}. It is available for Linux, \macos and
|
\l iOS. It is available for \l Linux, \l \macos and \l Windows
|
||||||
Windows
|
|
||||||
operating systems. For more information, see \l{Supported Platforms}.
|
operating systems. For more information, see \l{Supported Platforms}.
|
||||||
|
|
||||||
In addition, you can use the experimental
|
In addition, you can use the experimental
|
||||||
|
@@ -30,8 +30,8 @@
|
|||||||
|
|
||||||
\title Specifying Dynamic Properties
|
\title Specifying Dynamic Properties
|
||||||
|
|
||||||
In addition to the properties predefined for QML types, you can specify
|
Each predefined QML type has a set of predefined properties that you can
|
||||||
\e {dynamic properties} to add properties that would not otherwise
|
specify values for. You can add custom properties that would not otherwise
|
||||||
exist for a particular type. You bind the properties to dynamic expressions
|
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.
|
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
|
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
|
and then use bindings to refer to the value of the margin property from
|
||||||
other objects.
|
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
|
You can add properties for objects in the \uicontrol Connections view,
|
||||||
\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
|
\list 1
|
||||||
\li In the \uicontrol {Connections} view, select the
|
\li Select \uicontrol View > \uicontrol Views >
|
||||||
\uicontrol {Properties} tab.
|
\uicontrol {Connections View} > \uicontrol {Properties}.
|
||||||
\li Select the \inlineimage plus.png
|
\li Select the \inlineimage plus.png
|
||||||
(\uicontrol Add) button to add a dynamic property for the currently
|
(\uicontrol Add) button to add a dynamic property for the currently
|
||||||
selected item. The item ID is displayed in the \uicontrol Item
|
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
|
\li Double-click the value in the \uicontrol Property column to give a
|
||||||
name to the property.
|
name to the property.
|
||||||
\li Double-click the value in the \uicontrol {Property Type} column to
|
\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
|
\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
|
\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
|
||||||
*/
|
*/
|
||||||
|
@@ -52,8 +52,10 @@
|
|||||||
following views, select \uicontrol View > \uicontrol Views:
|
following views, select \uicontrol View > \uicontrol Views:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li \uicontrol {Form Editor} (1) provides a canvas for designing 2D UIs.
|
\li \uicontrol {Form Editor} (1) provides a canvas for designing
|
||||||
For more information, see \l {Editing 2D Content}.
|
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
|
\li \uicontrol {3D Editor} provides an editor for files you created
|
||||||
using 3D graphics applications and stored in one of the supported
|
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 {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
|
current session. For more information, see
|
||||||
\l{Viewing Project Files}.
|
\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
|
QML states typically describe user interface configurations, such as
|
||||||
the UI controls, their properties and behavior and the available
|
the UI controls, their properties and behavior and the available
|
||||||
actions. For more information, see \l{Adding States}.
|
actions. For more information, see \l{Adding States}.
|
||||||
|
@@ -32,25 +32,30 @@
|
|||||||
|
|
||||||
The \uicontrol Properties view displays all the properties of the selected
|
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
|
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
|
properties that are common to all QML types, such as type, id, position,
|
||||||
visibility.
|
size, and visibility.
|
||||||
|
|
||||||
The bottom part of the view displays properties that are specific to each
|
The bottom part of the view displays properties that have been defined for
|
||||||
QML type. For example, the following image displays the properties you can
|
the QML type. For example, the following image displays the predefined
|
||||||
set for \uicontrol Rectangle and \uicontrol Text items.
|
properties you can set for \uicontrol Rectangle and \uicontrol Text items.
|
||||||
|
|
||||||
\image qmldesigner-element-properties.png
|
\image qmldesigner-element-properties.png
|
||||||
|
|
||||||
To change the item type, double-click the \uicontrol Type field in the
|
When you create a component using a QML type, the component has all the
|
||||||
\uicontrol Properties view, and enter the name of another QML type in the
|
properties of the type you used. If you realize later that another
|
||||||
field. If you have specified properties for the item that are not supported
|
QML type with another set of predefined properties would be more suitable
|
||||||
for the new type, the type cannot be changed and an error message is
|
for your purposes, you can change the component type by double-clicking the
|
||||||
displayed. Select the \inlineimage icons/action-icon.png
|
\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 Actions) menu next to the property name, and then select
|
||||||
\uicontrol Reset to remove the property values before trying again.
|
\uicontrol Reset to remove the property values before trying again.
|
||||||
|
|
||||||
To modify the common properties of multiple items simultaneously, select
|
To modify the values of common properties of multiple items simultaneously,
|
||||||
them in the \uicontrol Navigator or on the canvas:
|
select the items in the \uicontrol Navigator or on the canvas:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li On Windows, press and hold \key Ctrl and \key Shift, and then click
|
\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
|
For more information on the properties available for an item, press
|
||||||
\key {F1}.
|
\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
|
\section1 Viewing Changes in Properties
|
||||||
|
|
||||||
The default values of properties are displayed in white color, while the
|
The default values of properties are displayed in white color, while the
|
||||||
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 73 KiB |
@@ -98,6 +98,7 @@ public:
|
|||||||
{
|
{
|
||||||
out << data.image;
|
out << data.image;
|
||||||
out << data.nodeData;
|
out << data.nodeData;
|
||||||
|
out << data.nodeId;
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
@@ -106,6 +107,7 @@ public:
|
|||||||
{
|
{
|
||||||
in >> data.image;
|
in >> data.image;
|
||||||
in >> data.nodeData;
|
in >> data.nodeData;
|
||||||
|
in >> data.nodeId;
|
||||||
|
|
||||||
return in;
|
return in;
|
||||||
}
|
}
|
||||||
|
@@ -28,8 +28,6 @@
|
|||||||
#include "cppmodelmanager.h"
|
#include "cppmodelmanager.h"
|
||||||
#include "headerpathfilter.h"
|
#include "headerpathfilter.h"
|
||||||
|
|
||||||
#include <baremetal/baremetalconstants.h>
|
|
||||||
|
|
||||||
#include <coreplugin/icore.h>
|
#include <coreplugin/icore.h>
|
||||||
|
|
||||||
#include <projectexplorer/headerpath.h>
|
#include <projectexplorer/headerpath.h>
|
||||||
@@ -385,8 +383,11 @@ void CompilerOptionsBuilder::addProjectMacros()
|
|||||||
{
|
{
|
||||||
static const int useMacros = qEnvironmentVariableIntValue("QTC_CLANG_USE_TOOLCHAIN_MACROS");
|
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.toolChainMacros);
|
||||||
|
}
|
||||||
|
|
||||||
addMacros(m_projectPart.projectMacros);
|
addMacros(m_projectPart.projectMacros);
|
||||||
}
|
}
|
||||||
|
@@ -51,7 +51,7 @@ BuildDirectoryAspect::BuildDirectoryAspect() : d(new Private)
|
|||||||
setSettingsKey("ProjectExplorer.BuildConfiguration.BuildDirectory");
|
setSettingsKey("ProjectExplorer.BuildConfiguration.BuildDirectory");
|
||||||
setLabelText(tr("Build directory:"));
|
setLabelText(tr("Build directory:"));
|
||||||
setDisplayStyle(PathChooserDisplay);
|
setDisplayStyle(PathChooserDisplay);
|
||||||
setExpectedKind(Utils::PathChooser::ExistingDirectory);
|
setExpectedKind(Utils::PathChooser::Directory);
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildDirectoryAspect::~BuildDirectoryAspect()
|
BuildDirectoryAspect::~BuildDirectoryAspect()
|
||||||
|
@@ -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)
|
void DebugView::customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data)
|
||||||
{
|
{
|
||||||
if (identifier == "PuppetStatus" && data.count() == 1) {
|
if (isDebugViewEnabled()) {
|
||||||
m_debugViewWidget->setPuppetStatus(data.constFirst().toString());
|
|
||||||
|
|
||||||
} else if (isDebugViewEnabled()) {
|
|
||||||
QTextStream message;
|
QTextStream message;
|
||||||
QString string;
|
QString string;
|
||||||
message.setString(&string);
|
message.setString(&string);
|
||||||
|
@@ -131,7 +131,7 @@ protected:
|
|||||||
QRectF m_boundingRect;
|
QRectF m_boundingRect;
|
||||||
QRectF m_paintedBoundingRect;
|
QRectF m_paintedBoundingRect;
|
||||||
QRectF m_selectionBoundingRect;
|
QRectF m_selectionBoundingRect;
|
||||||
QColor m_frameColor{0xaa, 0xaa, 0xaa};
|
QColor m_frameColor;
|
||||||
|
|
||||||
private: // functions
|
private: // functions
|
||||||
void setup();
|
void setup();
|
||||||
|
@@ -495,9 +495,6 @@ QProcessEnvironment PuppetCreator::processEnvironment() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifndef QMLDESIGNER_TEST
|
#ifndef QMLDESIGNER_TEST
|
||||||
auto view = QmlDesignerPlugin::instance()->viewManager().nodeInstanceView();
|
|
||||||
view->emitCustomNotification("PuppetStatus", {}, {QVariant(m_qrcMapping)});
|
|
||||||
|
|
||||||
// set env var if QtQuick3D import exists
|
// set env var if QtQuick3D import exists
|
||||||
QmlDesigner::Import import = QmlDesigner::Import::createLibraryImport("QtQuick3D", "1.0");
|
QmlDesigner::Import import = QmlDesigner::Import::createLibraryImport("QtQuick3D", "1.0");
|
||||||
if (m_model->hasImport(import, true, true))
|
if (m_model->hasImport(import, true, true))
|
||||||
|
@@ -216,7 +216,9 @@ static bool isIdToAvoid(const QString& id)
|
|||||||
"layer",
|
"layer",
|
||||||
"scale",
|
"scale",
|
||||||
"enabled",
|
"enabled",
|
||||||
"anchors"
|
"anchors",
|
||||||
|
"texture",
|
||||||
|
"shaderInfo"
|
||||||
};
|
};
|
||||||
|
|
||||||
return ids.contains(id);
|
return ids.contains(id);
|
||||||
|
@@ -158,13 +158,15 @@ void QmlPreviewPlugin::setLanguageLocale(const QString &locale)
|
|||||||
|
|
||||||
QObject *QmlPreviewPlugin::getPreviewPlugin()
|
QObject *QmlPreviewPlugin::getPreviewPlugin()
|
||||||
{
|
{
|
||||||
auto pluginIt = std::find_if(ExtensionSystem::PluginManager::plugins().begin(),
|
const QVector<ExtensionSystem::PluginSpec *> specs = ExtensionSystem::PluginManager::plugins();
|
||||||
ExtensionSystem::PluginManager::plugins().end(),
|
|
||||||
|
auto pluginIt = std::find_if(specs.begin(),
|
||||||
|
specs.end(),
|
||||||
[](const ExtensionSystem::PluginSpec *p) {
|
[](const ExtensionSystem::PluginSpec *p) {
|
||||||
return p->name() == "QmlPreview";
|
return p->name() == "QmlPreview";
|
||||||
});
|
});
|
||||||
|
|
||||||
if (pluginIt != ExtensionSystem::PluginManager::plugins().constEnd())
|
if (pluginIt != specs.end())
|
||||||
return (*pluginIt)->plugin();
|
return (*pluginIt)->plugin();
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|