Merge remote-tracking branch 'origin/14.0'
Change-Id: I5e5ffe1b986fd8b4e5d60c9a5864541747ef890c
@@ -5,6 +5,18 @@ add_feature_info("Build documentation" WITH_DOCS "")
|
||||
option(WITH_ONLINE_DOCS "Build online documentation" OFF)
|
||||
add_feature_info("Build online documentation" WITH_ONLINE_DOCS "")
|
||||
|
||||
option(BUILD_DOCS_BY_DEFAULT "Build documentation by default" OFF)
|
||||
add_feature_info("Build documentation by default" BUILD_DOCS_BY_DEFAULT "")
|
||||
|
||||
|
||||
if (BUILD_DOCS_BY_DEFAULT)
|
||||
set(EXCLUDE_DOCS_FROM_ALL "")
|
||||
set(INCLUDE_DOCS_INTO_ALL "ALL")
|
||||
else()
|
||||
set(EXCLUDE_DOCS_FROM_ALL "EXCLUDE_FROM_ALL")
|
||||
set(INCLUDE_DOCS_INTO_ALL "")
|
||||
endif()
|
||||
|
||||
# Get information on directories from qmake
|
||||
# as this is not yet exported by cmake.
|
||||
# Used for QT_INSTALL_DOCS
|
||||
@@ -46,13 +58,13 @@ endfunction()
|
||||
function(_setup_doc_targets)
|
||||
# Set up important targets:
|
||||
if (NOT TARGET html_docs)
|
||||
add_custom_target(html_docs COMMENT "Build HTML documentation")
|
||||
add_custom_target(html_docs ${INCLUDE_DOCS_INTO_ALL} COMMENT "Build HTML documentation")
|
||||
endif()
|
||||
if (NOT TARGET qch_docs)
|
||||
add_custom_target(qch_docs COMMENT "Build QCH documentation")
|
||||
add_custom_target(qch_docs ${INCLUDE_DOCS_INTO_ALL} COMMENT "Build QCH documentation")
|
||||
endif()
|
||||
if (NOT TARGET docs)
|
||||
add_custom_target(docs COMMENT "Build documentation")
|
||||
add_custom_target(docs ${INCLUDE_DOCS_INTO_ALL} COMMENT "Build documentation")
|
||||
add_dependencies(docs html_docs qch_docs)
|
||||
endif()
|
||||
endfunction()
|
||||
@@ -114,6 +126,7 @@ function(_setup_qdoc_targets _qdocconf_file _retval)
|
||||
|
||||
set(_html_target "html_docs_${_target}")
|
||||
add_custom_target("${_html_target}"
|
||||
${INCLUDE_DOCS_INTO_ALL}
|
||||
${_full_qdoc_command} -outputdir "${_html_outputdir}" "${_qdocconf_file}"
|
||||
${_qdoc_index_args} ${_qdoc_include_args}
|
||||
COMMENT "Build HTML documentation from ${_qdocconf_file}"
|
||||
@@ -126,7 +139,7 @@ function(_setup_qdoc_targets _qdocconf_file _retval)
|
||||
|
||||
# Install HTML files as a special component
|
||||
install(DIRECTORY "${_html_outputdir}" DESTINATION "${_arg_INSTALL_DIR}"
|
||||
COMPONENT html_docs EXCLUDE_FROM_ALL)
|
||||
COMPONENT html_docs ${EXCLUDE_DOCS_FROM_ALL})
|
||||
|
||||
set("${_retval}" "${_html_outputdir}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
@@ -154,6 +167,7 @@ function(_setup_qhelpgenerator_targets _qdocconf_file _html_outputdir)
|
||||
set(_qch_target "qch_docs_${_target}")
|
||||
set(_html_target "html_docs_${_target}")
|
||||
add_custom_target("${_qch_target}"
|
||||
${INCLUDE_DOCS_INTO_ALL}
|
||||
Qt::qhelpgenerator "${_html_outputdir}/${_target}.qhp" -o "${_qch_outputdir}/${_target}.qch"
|
||||
COMMENT "Build QCH documentation from ${_qdocconf_file}"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
@@ -163,7 +177,7 @@ function(_setup_qhelpgenerator_targets _qdocconf_file _html_outputdir)
|
||||
add_dependencies(qch_docs "${_qch_target}")
|
||||
|
||||
install(FILES "${_qch_outputdir}/${_target}.qch" DESTINATION "${_arg_INSTALL_DIR}"
|
||||
COMPONENT qch_docs EXCLUDE_FROM_ALL)
|
||||
COMPONENT qch_docs ${EXCLUDE_DOCS_FROM_ALL})
|
||||
endfunction()
|
||||
|
||||
# Helper functions:
|
||||
@@ -283,6 +297,7 @@ function(add_qtc_doc_attribution target attribution_file output_file qdocconf_fi
|
||||
file(MAKE_DIRECTORY ${output_dir})
|
||||
# add target
|
||||
add_custom_target(${target}
|
||||
${INCLUDE_DOCS_INTO_ALL}
|
||||
Qt6::qtattributionsscanner -o "${output_file}" --basedir "${PROJECT_SOURCE_DIR}" ${attribution_file}
|
||||
COMMENT "Create attributions ${output_file} from ${attribution_file}"
|
||||
DEPENDS "${attribution_file}"
|
||||
|
15
dist/changelog/changes-14.0.0.md
vendored
@@ -99,7 +99,7 @@ Editing
|
||||
### Python
|
||||
|
||||
* Added options for updating Python Language Server
|
||||
([Documentation] (https://doc-snapshots.qt.io/qtcreator-14.0/creator-language-servers.html))
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-14.0/creator-language-servers.html))
|
||||
|
||||
### Language Server Protocol
|
||||
|
||||
@@ -110,18 +110,23 @@ Editing
|
||||
|
||||
### Compiler Explorer
|
||||
|
||||
* Added a wizard template for code that uses Qt
|
||||
* Added a wizard template for code that uses Qt to `File`> `New File`>
|
||||
`Compiler Explorer`
|
||||
[Documentation](https://doc.qt.io/qtcreator/creator-how-to-create-compiler-explorer-sessions.html)
|
||||
|
||||
### Models
|
||||
|
||||
* Added more visual attributes for relations
|
||||
* Added support for linked files
|
||||
* Added support for custom images
|
||||
* Added support for linked files in model element properties
|
||||
* Added support for custom images in model element properties
|
||||
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-14.0/creator-how-to-create-models.html))
|
||||
|
||||
### SCXML
|
||||
|
||||
* Added visualization of conditions on transitions
|
||||
* Added visualization of conditions on transitions by using square brackets: `[]`
|
||||
([QTCREATORBUG-21946](https://bugreports.qt.io/browse/QTCREATORBUG-21946))
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-14.0/creator-scxml.html))
|
||||
|
||||
Projects
|
||||
--------
|
||||
|
@@ -67,8 +67,14 @@ if(WITH_ONLINE_DOCS)
|
||||
_add_doc(${IDE_DOC_FILE_ONLINE} "qtcreatordev/qtcreator-dev-online.qdocconf")
|
||||
endif()
|
||||
|
||||
if (BUILD_DOCS_BY_DEFAULT)
|
||||
set(EXCLUDE_DOCS_FROM_ALL "")
|
||||
else()
|
||||
set(EXCLUDE_DOCS_FROM_ALL "EXCLUDE_FROM_ALL")
|
||||
endif()
|
||||
|
||||
install(DIRECTORY config
|
||||
DESTINATION ${IDE_HEADER_INSTALL_PATH}/doc
|
||||
COMPONENT Devel
|
||||
EXCLUDE_FROM_ALL
|
||||
${EXCLUDE_DOCS_FROM_ALL}
|
||||
)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(TextFinder VERSION 0.1 LANGUAGES CXX)
|
||||
|
||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 83 KiB |
BIN
doc/qtcreator/images/qtcreator-modeleditor-classes.webp
Normal file
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 63 KiB |
BIN
doc/qtcreator/images/qtcreator-modeleditor-packages.webp
Normal file
After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 81 KiB |
BIN
doc/qtcreator/images/qtcreator-modeleditor.webp
Normal file
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 11 KiB |
@@ -519,5 +519,5 @@
|
||||
The \l {Application Output} view shows some information even if the
|
||||
Performance Analyzer displays error messages.
|
||||
|
||||
\sa {Analyze}{How To: Analyze}, {Analyzers}, {Analyzing Code}
|
||||
\sa {Analyze}{How To: Analyze}, {Analyzers}, {Analyzing Code}, {Kits}
|
||||
*/
|
||||
|
@@ -151,5 +151,5 @@
|
||||
is especially useful when viewing large trace files that are difficult to
|
||||
visualize using the built-in trace-viewer (\c{chrome://tracing}).
|
||||
|
||||
\sa {Analyze}{How To: Analyze}, {Analyzers}
|
||||
\sa {Activate kits for a project}, {Analyze}{How To: Analyze}, {Analyzers}
|
||||
*/
|
||||
|
@@ -392,7 +392,7 @@
|
||||
\image qtcreator-valgrind-remote-settings.png {Start Remote Analysis dialog}
|
||||
|
||||
\li Select the application to run and analyze, as well as the
|
||||
\l{glossary-buildandrun-kit}{kit} to use.
|
||||
\l{Kits}{kit} to use.
|
||||
|
||||
\endlist
|
||||
|
||||
|
@@ -149,8 +149,7 @@
|
||||
building Qt from \c modules/Core.json and uses it instead of the version
|
||||
in \c sdk_definitions.json.
|
||||
|
||||
\sa {Android}{How To: Develop for Android},
|
||||
{Developing for Android}
|
||||
\sa {Android}{How To: Develop for Android}, {Developing for Android}, {Kits}
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
\brief Settings for running applications on Android devices.
|
||||
|
||||
Specify settings for running applications on the \l {kits-tab}{Run device} that
|
||||
Specify settings for running applications on the \l {Kits}{Run device} that
|
||||
you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
|
||||
\uicontrol Run > \uicontrol {Run Settings}.
|
||||
|
||||
@@ -66,5 +66,5 @@
|
||||
\endcode
|
||||
|
||||
\sa {Activate kits for a project}, {Configure projects for running},
|
||||
{Android}{How To: Develop for Android}
|
||||
{Android}{How To: Develop for Android}, {Kits}
|
||||
*/
|
||||
|
@@ -499,6 +499,6 @@
|
||||
To add a permission, select it from the list, and then click \uicontrol Add.
|
||||
|
||||
\sa {Build and Run}{How To: Build and Run},
|
||||
{Android}{How To: Develop for Android}, {Android Run Settings}
|
||||
{Android}{How To: Develop for Android}, {Android Run Settings}, {Kits}
|
||||
*/
|
||||
|
||||
|
@@ -153,5 +153,5 @@
|
||||
{Remote Linux}{How To: Develop for remote Linux},
|
||||
{Run on many platforms}, {Debugging}, {Debuggers}, {Debugger},
|
||||
{Developing for \B2Q Devices}, {Developing for Remote Linux Devices},
|
||||
{Profiling QML Applications}
|
||||
{Profiling QML Applications}, {Kits}
|
||||
*/
|
||||
|
@@ -71,7 +71,8 @@
|
||||
|
||||
The available settings depend on the debug server provider.
|
||||
|
||||
\sa {Enable and disable plugins}, {Bare Metal}{How To: Develop for Bare Metal}
|
||||
\sa {Add kits}, {Enable and disable plugins},
|
||||
{Bare Metal}{How To: Develop for Bare Metal}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@@ -296,6 +297,7 @@
|
||||
\previouspage creator-how-tos.html
|
||||
|
||||
\ingroup creator-how-to-bare-metal
|
||||
\ingroup creator-how-to-manage-kits
|
||||
|
||||
\title Add Bare Metal devices
|
||||
|
||||
|
@@ -11,15 +11,15 @@
|
||||
|
||||
\brief Settings for building applications with CMake.
|
||||
|
||||
Specify build settings for the selected \l{glossary-buildandrun-kit}{kit} in
|
||||
Specify build settings for the selected \l{Kits}{kit} in
|
||||
\uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Build >
|
||||
\uicontrol {Build Settings}.
|
||||
|
||||
Configuring medium-sized to large CMake projects in \QC can be a
|
||||
challenge due to the number of variables that you need to pass to
|
||||
CMake to configure the project correctly. To make this easier,
|
||||
\QC creates an initial configuration for you based on the kit
|
||||
settings and displays it in \uicontrol {Initial Configuration} in
|
||||
\QC creates an initial configuration for you based on the \l{Kits}
|
||||
{kit preferences} and displays it in \uicontrol {Initial Configuration} in
|
||||
the \uicontrol {Build Settings} of the project.
|
||||
Or, you can use CMake presets to configure CMake.
|
||||
|
||||
|
@@ -133,12 +133,13 @@
|
||||
\previouspage creator-how-tos.html
|
||||
|
||||
\ingroup creator-how-to-build-with-cmake
|
||||
\ingroup creator-how-to-manage-kits
|
||||
|
||||
\title Add CMake tools
|
||||
|
||||
\QC automatically detects the CMake executable that you specify in the
|
||||
\c PATH. You can add paths to other CMake executables and use them in
|
||||
different build and run \l{glossary-buildandrun-kit}{kits}.
|
||||
different build and run \l{Kits}{kits}.
|
||||
|
||||
To see the CMake installations that \QC automatically detects:
|
||||
|
||||
@@ -183,8 +184,8 @@
|
||||
|
||||
\image qtcreator-kits-cmake.png {Kits preferences}
|
||||
|
||||
\sa {Build with CMake}{How To: Build with CMake}, {CMake}, {Add kits},
|
||||
{kits-tab}{Kits}
|
||||
\sa {Build with CMake}{How To: Build with CMake},
|
||||
{Manage Kits}{How To: Manage Kits}, {CMake}, {Kits}
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
\brief Settings for building applications with the Conan package manager.
|
||||
|
||||
Specify build settings for the selected \l{glossary-buildandrun-kit}{kit} in
|
||||
Specify build settings for the selected \l{Kits}{kit} in
|
||||
\uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Build >
|
||||
\uicontrol {Build Settings}.
|
||||
|
||||
@@ -30,5 +30,5 @@
|
||||
Select \uicontrol {Build missing} to build packages from source if binary
|
||||
packages are not found.
|
||||
|
||||
\sa {Conan Package Manager}
|
||||
\sa {Activate kits for a project}, {Conan Package Manager}
|
||||
*/
|
||||
|
@@ -58,7 +58,7 @@
|
||||
\endtable
|
||||
|
||||
The debugger plugin automatically selects a suitable native debugger for
|
||||
each \l{kits-tab}{kit} from the ones found on the computer. The automatic
|
||||
each \l{Kits}{kit} from the ones found on the computer. The automatic
|
||||
setup fails if the native debugger is not installed on the computer or
|
||||
if \QC does not support the installed version.
|
||||
|
||||
@@ -148,5 +148,5 @@
|
||||
|
||||
\image qtcreator-run-settings-python.webp {Run settings for a Python project}
|
||||
|
||||
\sa {Debug}{How To: Debug}, {Debugging}, {Debuggers}, {Debugger}
|
||||
\sa {Debug}{How To: Debug}, {Debugging}, {Debuggers}, {Debugger}, {Kits}
|
||||
*/
|
||||
|
@@ -29,7 +29,7 @@
|
||||
\section1 Setting Up the Debugger
|
||||
|
||||
The debugger plugin automatically selects a suitable native debugger for
|
||||
each \l{kits-tab}{kit} from the ones found on your system. You can select
|
||||
each \l{Kits}{kit} from the ones found on your system. You can select
|
||||
another kit. To specify the debugger and compiler to use for each kit, go to
|
||||
\preferences > \uicontrol Kits.
|
||||
|
||||
@@ -212,7 +212,7 @@
|
||||
\l{Debugging a Qt Quick Application}.
|
||||
|
||||
\sa {Debugging a C++ Application}, {Debug}{How To: Debug}, {Debuggers},
|
||||
{Debugger}
|
||||
{Debugger}, {Kits}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@@ -301,7 +301,7 @@
|
||||
\title Start and debug an external application
|
||||
|
||||
To debug any executable on your local or on a remote
|
||||
machine without using a project, specify a build and run kit that
|
||||
machine without using a project, specify a build and run \l{Kits}{kit} that
|
||||
identifies the device to debug the application on.
|
||||
|
||||
While the \e{start external} debugger mode does not strictly require a
|
||||
@@ -342,7 +342,8 @@
|
||||
configuration to use.
|
||||
\endlist
|
||||
|
||||
\sa {Debug}{How To: Debug}, {Debugging}, {Debuggers}, {Debugger}
|
||||
\sa {Activate kits for a project}, {Debug}{How To: Debug}, {Debugging},
|
||||
{Debuggers}, {Debugger}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@@ -406,7 +407,8 @@
|
||||
process to start.
|
||||
\endlist
|
||||
|
||||
\sa {Debug}{How To: Debug}, {Debugging}, {Debuggers}, {Debugger}
|
||||
\sa {Activate kits for a project}, {Debug}{How To: Debug}, {Debugging},
|
||||
{Debuggers}, {Debugger}
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@@ -281,6 +281,6 @@
|
||||
updated in the running application, but not in the source code.
|
||||
|
||||
\if defined(qtcreator)
|
||||
\sa {Debug}{How To: Debug}, {Debugging}, {Debuggers}, {Debugger}
|
||||
\sa {Debug}{How To: Debug}, {Debugging}, {Debuggers}, {Debugger}, {Kits}
|
||||
\endif
|
||||
*/
|
||||
|
@@ -250,8 +250,8 @@
|
||||
To disable the embedded code model and use \QMLLS for everything,
|
||||
select \uicontrol {Use \QMLLS advanced features}.
|
||||
|
||||
Also, \QC tries to use \QMLLS shipped with
|
||||
the Qt version in your current kit. To override that behavior and always use
|
||||
Also, \QC tries to use \QMLLS shipped with the Qt version in your current
|
||||
\l{Kits}{kit}. To override that behavior and always use
|
||||
\QMLLS of the highest registered Qt version, select
|
||||
\uicontrol {Use \QMLLS from latest Qt version}.
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
> \uicontrol {Initial Configuration}.
|
||||
|
||||
\sa {Manage Language Servers}{How To: Manage Language Servers},
|
||||
{Enabling and Disabling Messages}, {CMake Build Configuration},
|
||||
{Enabling and Disabling Messages}, {CMake Build Configuration}, {Kits}
|
||||
{Language Servers}
|
||||
*/
|
||||
|
||||
|
@@ -30,15 +30,15 @@
|
||||
You can create the following types of structural diagrams:
|
||||
|
||||
\list
|
||||
\li Package diagrams, which consist of packages and their relationships,
|
||||
\li Package diagrams, which consist of packages and their relationships
|
||||
and visualize how the system is packaged.
|
||||
\li Class diagrams, which consists of classes, dependencies,
|
||||
inheritance, associations, aggregation, and composition, and
|
||||
show a system in an object-oriented way.
|
||||
\li Component diagrams, which represent a set of components and their
|
||||
relationships, and show the implementation of a system.
|
||||
relationships and show the implementation of a system.
|
||||
\li Deployment diagrams, which represent a set of software and hardware
|
||||
components and their relationships, and visualize the deployment
|
||||
components and their relationships and visualize the deployment
|
||||
of a system.
|
||||
\endlist
|
||||
|
||||
@@ -55,19 +55,17 @@
|
||||
|
||||
\section1 Editing Models
|
||||
|
||||
You can create models that have several different structural or
|
||||
behavioral diagrams.
|
||||
You can add elements to the diagrams and specify properties for them. You
|
||||
can either use standard model elements or add your own elements with custom
|
||||
icons.
|
||||
You can create models that have several different structural or behavioral
|
||||
diagrams. Add elements to the diagrams and specify properties for them. Use
|
||||
standard model elements or add your own elements with custom icons.
|
||||
|
||||
\image qtcreator-modeleditor.png {Class diagram in the model editor}
|
||||
\image qtcreator-modeleditor.webp {Class diagram in the model editor}
|
||||
\caption A class diagram in the model editor.
|
||||
|
||||
You can add model elements to diagrams in the following ways:
|
||||
Add elements to diagrams in the following ways:
|
||||
|
||||
\list
|
||||
\li Drag model elements from the element tool bar (1) to the
|
||||
\li Drag elements from the element tool bar (1) to the
|
||||
editor (2).
|
||||
\li Select tool bar buttons (3) to add elements to the element tree (4).
|
||||
\li Drag elements from the element tree to the editor to add them and
|
||||
@@ -79,22 +77,26 @@
|
||||
|
||||
\section2 Grouping Elements
|
||||
|
||||
You can group elements by surrounding them with a boundary. When you move
|
||||
the boundary, all elements within it are moved together. Similarly, drag
|
||||
a swimlane to the diagram. When you move the swimlane, all elements right
|
||||
to the swimlane (for vertical swimlanes) or below it (for horizontal swimlanes)
|
||||
will be moved together. A vertical swimlane is created when you drop the
|
||||
swimlane icon on the top border of the diagram and a horizontal swimlane
|
||||
is created when you drop the icon near the left border.
|
||||
To group elements, surround them with a \e boundary. When you move
|
||||
the boundary, all elements within it move together.
|
||||
|
||||
Classes or other objects that you lay on packages are moved with the packages.
|
||||
You can move individual elements and modify their properties (5) by selecting
|
||||
them. You can also use \e multiselection to group elements temporarily.
|
||||
Similarly, drag a \e swimlane to the diagram. When you move the swimlane, all
|
||||
elements right to the swimlane (for vertical swimlanes) or below it (for
|
||||
horizontal swimlanes) move together.
|
||||
|
||||
To create a vertical swimlane, drop the swimlane icon on the top border of
|
||||
the diagram. To create a horizontal swimlane, drop the icon near the left
|
||||
border.
|
||||
|
||||
Classes or other objects that you lay on packages move with the packages.
|
||||
To move individual elements and modify their properties (5), select them.
|
||||
|
||||
Use \e multiselection to group elements temporarily.
|
||||
|
||||
\section2 Aligning Elements
|
||||
|
||||
To align elements in the editor, select several elements and right-click to
|
||||
open a context menu. Select actions in the \uicontrol {Align Objects} menu
|
||||
open a context menu. Select actions in \uicontrol {Align Objects} menu
|
||||
to align elements horizontally or vertically or to adjust their width and
|
||||
height.
|
||||
|
||||
@@ -111,20 +113,42 @@
|
||||
then select \uicontrol {Add Related Elements} in the context menu.
|
||||
|
||||
By default, when you select an element in a diagram, it is highlighted also
|
||||
in the \uicontrol Structure view. To change this behavior so that selecting
|
||||
an element in the \uicontrol Structure makes it highlighted also in the
|
||||
diagram, click and hold the \inlineimage icons/linkicon.png
|
||||
button, and then select \uicontrol {Synchronize Diagram with Structure}.
|
||||
To keep the selections in the diagram and the \uicontrol Structure view
|
||||
in \uicontrol Structure view. To change this behavior so that selecting
|
||||
an element in \uicontrol Structure makes it highlighted also in the
|
||||
diagram, select \inlineimage icons/linkicon.png and then select
|
||||
\uicontrol {Synchronize Diagram with Structure}.
|
||||
To keep the selections in the diagram and \uicontrol Structure view
|
||||
synchronized, select \uicontrol {Keep Synchronized}.
|
||||
|
||||
\section2 Linking from Element Names to Files
|
||||
|
||||
To link to a file from the name of an element, select the file in
|
||||
\uicontrol {Linked file}.
|
||||
|
||||
\section2 Zooming into Diagrams
|
||||
|
||||
To zoom into diagrams, select the \uicontrol {Zoom In} toolbar button,
|
||||
press \key Ctrl++, or press \key Ctrl and roll the mouse wheel up. To zoom
|
||||
out of diagrams, select \uicontrol {Zoom Out}, press \key Ctrl+-, or press
|
||||
\key Ctrl and roll the mouse wheel down. To reset the diagram size to 100%,
|
||||
select \uicontrol {Reset Zoom} or press \key Ctrl+0.
|
||||
To zoom into diagrams:
|
||||
|
||||
\list
|
||||
\li Select \uicontrol {Zoom In} toolbar button.
|
||||
\li Press \key Ctrl++.
|
||||
\li Press \key Ctrl and roll the mouse wheel up.
|
||||
\endlist
|
||||
|
||||
To zoom out of diagrams:
|
||||
|
||||
\list
|
||||
\li Select \uicontrol {Zoom Out}.
|
||||
\li Press \key Ctrl+-.
|
||||
\li Press \key Ctrl and roll the mouse wheel down.
|
||||
\endlist
|
||||
|
||||
To reset the diagram size to 100%:
|
||||
|
||||
\list
|
||||
\li Select \uicontrol {Reset Zoom}.
|
||||
\li Press \key Ctrl+0.
|
||||
\endlist
|
||||
|
||||
\section2 Printing Diagrams
|
||||
|
||||
@@ -137,15 +161,27 @@
|
||||
|
||||
\section2 Exporting Diagrams as Images
|
||||
|
||||
To save diagrams as images, select \uicontrol File >
|
||||
To save diagrams as images, go to \uicontrol File, and then select
|
||||
\uicontrol {Export Diagram}. To save only the selected parts of a diagram,
|
||||
select \uicontrol {Export Selected Elements}.
|
||||
|
||||
\section1 Adding Custom Elements
|
||||
|
||||
The model editor has the following built-in element types: package,
|
||||
component, class, and item. For package, component, and class elements, you
|
||||
can specify custom icons. The color, size, and form of the icon are
|
||||
component, class, and item.
|
||||
|
||||
To use custom icons for the built-in elements, select an image file in
|
||||
\uicontrol {Image} in element properties.
|
||||
|
||||
\image qtcreator-model-editor-component-diagram.webp {Component properties}
|
||||
\caption The Image field in Component properties.
|
||||
|
||||
\section2 Using Definition Files
|
||||
|
||||
For package, component, and class elements, you can use definition files to
|
||||
specify custom icons.
|
||||
|
||||
The color, size, and form of the icon are
|
||||
determined by a stereotype. If you attach the stereotype to an element, the
|
||||
element icon is replaced by the custom icon. For example, you can attach the
|
||||
entity and interface stereotypes to classes and the database stereotype to
|
||||
@@ -185,7 +221,7 @@
|
||||
and templates for existing types (such as a composition relation that
|
||||
can be drawn between classes).
|
||||
|
||||
You can add your own definition file and save it with the file extension
|
||||
Add your own definition file and save it with the file extension
|
||||
\e .def to add custom colors and icons for stereotypes, elements, or tool
|
||||
bars. Either store this file in the same directory as the
|
||||
\e standard.def file or select the root element of a model and apply your
|
||||
@@ -203,47 +239,52 @@
|
||||
|
||||
\title Create UML-style models
|
||||
|
||||
You can use wizards to create UML-style models and \e {scratch models}.
|
||||
Use wizards to create UML-style models and \e {scratch models}.
|
||||
|
||||
To create models and edit them in the model editor:
|
||||
|
||||
\list 1
|
||||
|
||||
\li Select \uicontrol File > \uicontrol {New File} > \uicontrol Modeling
|
||||
> \uicontrol Model > \uicontrol Choose.
|
||||
\li Go to \uicontrol File > \uicontrol {New File} > \uicontrol Modeling
|
||||
> \uicontrol Model, and then select \uicontrol Choose.
|
||||
|
||||
The model file opens in the model editor.
|
||||
|
||||
\li Drag model elements to the editor and select them to
|
||||
specify properties for them:
|
||||
|
||||
\image qtcreator-modeleditor-packages.png {Package diagram in the model editor}
|
||||
\image qtcreator-modeleditor-packages.webp {Package diagram in the model editor}
|
||||
\caption A package diagram in the model editor.
|
||||
|
||||
\list 1
|
||||
|
||||
\li In the \uicontrol Stereotypes field, enter the stereotype to
|
||||
apply to the model element or select a predefined stereotype
|
||||
\li In \uicontrol Stereotypes, enter the stereotype to
|
||||
apply to the element or select a predefined stereotype
|
||||
from the list.
|
||||
|
||||
\li In the \uicontrol Name field, give a name to the model element.
|
||||
\li In \uicontrol Name, give a name to the element.
|
||||
|
||||
\li Select the \uicontrol {Auto sized} check box to reset the
|
||||
element to its default size after you have changed the element
|
||||
\li In \uicontrol {Linked file}, select a file to create a link to
|
||||
it from the element name.
|
||||
|
||||
\li In \uicontrol Image, select an image to use as a custom icon for
|
||||
the element.
|
||||
|
||||
\li Select \uicontrol {Auto sized} to reset the
|
||||
element to its default size after you changed the element
|
||||
size by dragging its borders.
|
||||
|
||||
\li In the \uicontrol Color field, select the color of the model
|
||||
element.
|
||||
\li In \uicontrol Color, select the color of the element.
|
||||
|
||||
\li In the \uicontrol Role field, select a \e role to make the model
|
||||
\li In \uicontrol Role, select a \e role to make the model
|
||||
element color lighter, darker, or softer. You can also remove
|
||||
color and draw the element outline or flatten the element by
|
||||
removing gradients.
|
||||
|
||||
\li Select the \uicontrol Emphasized check box to draw the model
|
||||
\li Select \uicontrol Emphasized to draw the model
|
||||
element with a thicker line.
|
||||
|
||||
\li In the \uicontrol {Stereotype display} field, select:
|
||||
\li In \uicontrol {Stereotype display}, select:
|
||||
|
||||
\list
|
||||
|
||||
@@ -283,12 +324,12 @@
|
||||
|
||||
\list 1
|
||||
|
||||
\li In the \uicontrol Stereotypes field, select the
|
||||
\li In \uicontrol Stereotypes, select the
|
||||
\e stereotype to apply to the relation.
|
||||
|
||||
\li In the \uicontrol Name field, give a name to the relation.
|
||||
\li In \uicontrol Name, give a name to the relation.
|
||||
|
||||
\li In the \uicontrol Direction field, you can change the direction
|
||||
\li In \uicontrol Direction, change the direction
|
||||
of the connection or make it bidirectional.
|
||||
|
||||
\endlist
|
||||
@@ -321,11 +362,12 @@
|
||||
Therefore, you can assign a \l{Keyboard Shortcuts}{keyboard shortcut} to the
|
||||
wizard and use it to create and open models with empty diagrams.
|
||||
|
||||
To create a scratch model, select \uicontrol File > \uicontrol {New File} >
|
||||
\uicontrol Modeling > \uicontrol {Scratch Model} > \uicontrol Choose.
|
||||
To create a scratch model, go to \uicontrol File > \uicontrol {New File} >
|
||||
\uicontrol Modeling > \uicontrol {Scratch Model}, and then select
|
||||
\uicontrol Choose.
|
||||
|
||||
\sa {Create class diagrams}, {Create component diagrams},
|
||||
{Create package diagrams}, {Model Editor}
|
||||
\sa {Create Models and Diagrams}{How To: Create Models and Diagrams},
|
||||
{Model Editor}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@@ -336,27 +378,27 @@
|
||||
|
||||
\title Create package diagrams
|
||||
|
||||
You can create UML-style models that contain \e {package diagrams}.
|
||||
Create UML-style models that contain \e {package diagrams}.
|
||||
They show packages and their relationships to visualize how the
|
||||
system is packaged.
|
||||
|
||||
You can add nested package elements to a package diagram. The depth of the
|
||||
Add nested package elements to a package diagram. The depth of the
|
||||
elements in the diagram corresponds to the depth of the structured model.
|
||||
Elements stacked on other elements of the same type are automatically drawn
|
||||
in a darker shade of the selected color.
|
||||
|
||||
\image qtcreator-modeleditor-packages.png {Package diagram in the model editor}
|
||||
\image qtcreator-modeleditor-packages.webp {Package diagram in the model editor}
|
||||
\caption A package diagram in the model editor.
|
||||
|
||||
Right-click a package to open a context menu, where you can select
|
||||
Right-click a package to open a context menu, and select
|
||||
\uicontrol {Create Diagram} to create a new package diagram within the
|
||||
model. You can drag items from the element tree to the diagram.
|
||||
model. Drag items from the element tree to the diagram.
|
||||
|
||||
To update the include dependencies of the package, select
|
||||
\uicontrol {Update Include Dependencies}.
|
||||
|
||||
\sa {Create class diagrams},{Create component diagrams},
|
||||
{Create UML-style models}, {Model Editor}
|
||||
\sa {Create Models and Diagrams}{How To: Create Models and Diagrams},
|
||||
{Model Editor}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@@ -367,11 +409,11 @@
|
||||
|
||||
\title Create class diagrams
|
||||
|
||||
You can create UML-style models that contain \e {class diagrams}. They show
|
||||
Create UML-style models that contain \e {class diagrams}. They show
|
||||
classes, dependencies, inheritance, associations, aggregation, and
|
||||
composition to visualize a system in an object-oriented way.
|
||||
|
||||
\image qtcreator-modeleditor-classes.png {Class diagram in the model editor}
|
||||
\image qtcreator-modeleditor-classes.webp {Class diagram in the model editor}
|
||||
\caption A class diagram in the model editor.
|
||||
|
||||
To create class diagrams:
|
||||
@@ -387,10 +429,10 @@
|
||||
|
||||
\list
|
||||
|
||||
\li In the \uicontrol Template field, specify the template to
|
||||
\li In \uicontrol Template, specify the template to
|
||||
use.
|
||||
|
||||
\li In the \uicontrol {Template display} field, select the
|
||||
\li In \uicontrol {Template display}, select the
|
||||
display format for the template:
|
||||
|
||||
\list
|
||||
@@ -409,15 +451,15 @@
|
||||
|
||||
\endlist
|
||||
|
||||
\li In the \uicontrol Members field, specify members for the
|
||||
\li In \uicontrol Members, specify members for the
|
||||
class, as described in \l {Specify members}.
|
||||
|
||||
\li Select \uicontrol {Clean Up} to format the contents of
|
||||
the \uicontrol Members field depending on their visibility
|
||||
\uicontrol Members depending on their visibility
|
||||
(private, protected, public) and following the rules set for
|
||||
whitespace, line breaks, and so on.
|
||||
|
||||
\li Select the \uicontrol {Show members} check box to show
|
||||
\li Select \uicontrol {Show members} to show
|
||||
the members in the diagram.
|
||||
|
||||
\endlist
|
||||
@@ -431,17 +473,36 @@
|
||||
\section1 Add relations
|
||||
|
||||
Elements in class diagrams can have the following types of relations:
|
||||
inheritance, association, and dependency. The end points of association
|
||||
relations can have the following properties: role, cardinality, navigable,
|
||||
and relationship.
|
||||
|
||||
\list
|
||||
\li Aggregation
|
||||
\li Association
|
||||
\li Composition
|
||||
\li Dependency
|
||||
\li Inheritance
|
||||
\endlist
|
||||
|
||||
The end points of association relations can have the following properties:
|
||||
|
||||
\list
|
||||
\li Cardinality
|
||||
\li Navigable
|
||||
\li Role
|
||||
\li Relationship
|
||||
\endlist
|
||||
|
||||
\section2 Create self-relations
|
||||
|
||||
To create self-relations, start creating a new association and press
|
||||
\key Shift to create a new \e {sampling point} while dragging the
|
||||
association. Create another sampling point and drag the association
|
||||
to the same class.
|
||||
|
||||
To add more points, press \key Shift and click a relation. To delete a
|
||||
point, press \key Ctrl and click a point.
|
||||
\section2 Add and delete points
|
||||
|
||||
To add more points, press \key Shift and click a relation.
|
||||
|
||||
To delete a point, press \key Ctrl and click a point.
|
||||
|
||||
\section2 Specify members
|
||||
|
||||
@@ -490,8 +551,8 @@
|
||||
|
||||
\endlist
|
||||
|
||||
\sa {Create component diagrams}, {Create package diagrams},
|
||||
{Create UML-style models}, {Model Editor}
|
||||
\sa {Create Models and Diagrams}{How To: Create Models and Diagrams},
|
||||
{Model Editor}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@@ -502,14 +563,19 @@
|
||||
|
||||
\title Create component diagrams
|
||||
|
||||
You can create UML-style models that contain \e {component diagrams}.
|
||||
They epresent a set of components and their relationships, and show the
|
||||
Create UML-style models that contain \e {component diagrams}.
|
||||
They represent a set of components and their relationships, and show the
|
||||
implementation of a system.
|
||||
|
||||
You can add source code components, such as libraries, databases, programs,
|
||||
and architectural layers to a component diagram. To add components to
|
||||
component diagrams, drag source code from \uicontrol Projects to
|
||||
the editor, and select \uicontrol {Add Component}.
|
||||
Add source code components, such as libraries, databases, programs,
|
||||
and architectural layers to a component diagram.
|
||||
|
||||
To add components to component diagrams:
|
||||
|
||||
\list 1
|
||||
\li Drag source code from \uicontrol Projects to the editor.
|
||||
\li Select \uicontrol {Add Component}.
|
||||
\endlist
|
||||
|
||||
\image qtcreator-model-editor-component-diagram.webp {Component diagram in the model editor}
|
||||
\caption A component diagram in the model editor.
|
||||
@@ -518,6 +584,6 @@
|
||||
the component in the editor or select \uicontrol {Show Definition} in the
|
||||
context menu.
|
||||
|
||||
\sa {Create class diagrams}, {Create package diagrams},
|
||||
{Create UML-style models}, {Model Editor}
|
||||
\sa {Create Models and Diagrams}{How To: Create Models and Diagrams},
|
||||
{Model Editor}
|
||||
*/
|
||||
|
@@ -233,6 +233,9 @@
|
||||
The editor center-aligns transition labels, but you can drag them to
|
||||
other positions.
|
||||
|
||||
Conditions on transitions appear below the transition lines within square
|
||||
brackets ([]).
|
||||
|
||||
To add edge points to transitions, select a transition line. You can add
|
||||
only two edge points for each line. The editor automatically removes
|
||||
unnecessary edge points. To remove the selected edge point, select
|
||||
|
@@ -41,7 +41,7 @@
|
||||
instructions to install \QC.
|
||||
|
||||
To develop with Qt, you also need a Qt version. You can register Qt versions
|
||||
in the stand-alone \QC to use them in \l{kits-tab}{kits}.
|
||||
in the stand-alone \QC to use them in \l{Kits}{kits}.
|
||||
|
||||
\section2 Use package managers
|
||||
|
||||
@@ -89,5 +89,5 @@
|
||||
{Compiling \QC} and \l{https://wiki.qt.io/Building_Qt_Creator_from_Git}
|
||||
{Building Qt Creator from Git}.
|
||||
|
||||
\sa {Register installed Qt versions}
|
||||
\sa {Manage Kits}{How To: Manage Kits}, {Register installed Qt versions}
|
||||
*/
|
||||
|
@@ -53,8 +53,8 @@
|
||||
This also enables code completion of QML code and removes error messages.
|
||||
|
||||
The following example illustrates how to specify the import path for qmake
|
||||
projects so that it works when switching between build and run kits for
|
||||
different target platforms:
|
||||
projects so that it works when switching between build and run \l{Kits}{kits}
|
||||
for different target platforms:
|
||||
|
||||
\code
|
||||
TEMPNAME = $${QMAKE_QMAKE}
|
||||
|
@@ -10,7 +10,7 @@
|
||||
|
||||
\brief Build and clean steps for Incredibuild.
|
||||
|
||||
Specify build settings for the selected \l{glossary-buildandrun-kit}{kit} in
|
||||
Specify build settings for the selected \l{Kits}{kit} in
|
||||
\uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Build >
|
||||
\uicontrol {Build Settings}.
|
||||
|
||||
|
@@ -147,7 +147,8 @@
|
||||
If the current device state is \uicontrol Connected, (the traffic light icon is
|
||||
orange), you need to configure the device using Xcode.
|
||||
|
||||
\sa {iOS}{How To: Develop for iOS}, {Developing for iOS}
|
||||
\sa {Activate kits for a project}, {iOS}{How To: Develop for iOS},
|
||||
{Developing for iOS}
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@@ -34,6 +34,6 @@
|
||||
Debugging works transparently if GDB server is installed on the device and
|
||||
it is compatible with the GDB on the host.
|
||||
|
||||
\sa {Remote Linux}{How To: Develop for remote Linux}, {Run on many platforms}, {Compilers},
|
||||
{Embedded Platforms}, {kit-preferences}{Kits}
|
||||
\sa {Remote Linux}{How To: Develop for remote Linux},
|
||||
{Run on many platforms}, {Compilers}, {Embedded Platforms}, {Kits}
|
||||
*/
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
\brief Settings for running applications on \B2Q devices.
|
||||
|
||||
Specify settings for running applications on the \l {kits-tab}{Run device} that
|
||||
Specify settings for running applications on the \l {Kits}{Run device} that
|
||||
you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
|
||||
\uicontrol Run > \uicontrol {Run Settings}.
|
||||
|
||||
@@ -25,6 +25,6 @@
|
||||
host and on the device.
|
||||
|
||||
\sa {\B2Q}{How To: Develop for \B2Q}, {Manage Kits}{How To: Manage Kits},
|
||||
{Configure projects for running}, {kits-tab}{Kits},
|
||||
{Configure projects for running}, {Kits},
|
||||
{\B2Q Deploy Configuration}
|
||||
*/
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
\brief Settings for running applications on Linux-based devices.
|
||||
|
||||
Specify run settings for the selected \l{glossary-buildandrun-kit}{kit} in
|
||||
Specify run settings for the selected \l{Kits}{kit} in
|
||||
\uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Run >
|
||||
\uicontrol {Run Settings}.
|
||||
|
||||
@@ -37,6 +37,6 @@
|
||||
Select the \uicontrol {Forward to local display} check box to show a remotely
|
||||
running X11 client on a local display.
|
||||
|
||||
\sa {Activate kits for a project}, {Configure projects for running}, {kits-tab}{Kits},
|
||||
\sa {Activate kits for a project}, {Configure projects for running}, {Kits},
|
||||
{Remote Linux}{How To: Develop for remote Linux}
|
||||
*/
|
||||
|
@@ -181,6 +181,7 @@
|
||||
\previouspage creator-how-tos.html
|
||||
|
||||
\ingroup creator-how-to-mcu
|
||||
\ingroup creator-how-to-manage-kits
|
||||
|
||||
\title Manage MCU Kits
|
||||
|
||||
@@ -209,7 +210,7 @@
|
||||
software required for MCU development with the current kit.
|
||||
|
||||
\sa {Enable and disable plugins}, {MCUs}{How To: Develop for MCUs},
|
||||
{Developing for MCUs}
|
||||
{Manage Kits}{How To: Manage Kits}, {Developing for MCUs}
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
@@ -10,7 +10,7 @@
|
||||
|
||||
\brief Settings for building applications with Meson.
|
||||
|
||||
Specify build settings for the selected \l{glossary-buildandrun-kit}{kit} in
|
||||
Specify build settings for the selected \l{Kits}{kit} in
|
||||
\uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Build >
|
||||
\uicontrol {Build Settings}.
|
||||
|
||||
|
@@ -21,7 +21,7 @@
|
||||
|
||||
\QC automatically detects the Meson and Ninja executables specified in the
|
||||
\c PATH. You can add paths to other Meson or Ninja executables and use them
|
||||
in different build and run \l{glossary-buildandrun-kit}{kits}.
|
||||
in different build and run \l{Kits}{kits}.
|
||||
|
||||
\note Enable the Meson plugin to use it.
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
\image qtcreator-kits-meson.png "Setting Meson executable in Kit preferences"
|
||||
|
||||
For more information, see \l {kits-tab}{Kits}.
|
||||
For more information, see \l {Kits}.
|
||||
|
||||
\section1 Editing Meson Build Descriptions
|
||||
|
||||
|
@@ -20,7 +20,7 @@
|
||||
However, if you install the stand-alone \QC package, build \QC from sources,
|
||||
or install several Qt versions, you may need to tell \QC where to find the
|
||||
Qt versions and compilers by adding the paths to them and by creating
|
||||
\l{glossary-buildandrun-kit}{kits} that use them.
|
||||
\l{Kits}{kits} that use them.
|
||||
|
||||
To make \QC behave more like your favorite code editor or IDE,
|
||||
change the preferences for keyboard shortcuts, color schemes, generic
|
||||
|
@@ -50,7 +50,7 @@
|
||||
\li \b {\l{Building and Running an Example}}
|
||||
|
||||
To check that \l{https://www.qt.io/download-qt-installer}
|
||||
{\QOI} created \l{glossary-buildandrun-kit}
|
||||
{\QOI} created \l{Kits}
|
||||
{build and run kits}, open an example application and run it.
|
||||
If you have not done so before, go to
|
||||
\l{Building and Running an Example}.
|
||||
|
@@ -570,7 +570,7 @@
|
||||
\li Open project
|
||||
\li Ctrl+Shift+O
|
||||
\row
|
||||
\li Select the \l{glossary-buildandrun-kit}{kit} to build and run your project with
|
||||
\li Select the \l{Kits}{kit} to build and run your project with
|
||||
\li Ctrl+T
|
||||
\row
|
||||
\li Run
|
||||
|
@@ -181,7 +181,7 @@
|
||||
|
||||
Run and deploy Qt applications that you build for different target
|
||||
platforms or with different compilers, debuggers, or Qt versions.
|
||||
\l{glossary-buildandrun-kit}{Kits} define the tools, \l{glossary-device}
|
||||
\l{Kits} define the tools, \l{glossary-device}
|
||||
{device} type and other settings to use when building and running your
|
||||
project.
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
\brief Settings for building applications with qmake.
|
||||
|
||||
Specify build settings for the selected \l{glossary-buildandrun-kit}{kit}
|
||||
Specify build settings for the selected \l{Kits}{kit}
|
||||
in \uicontrol Projects > \uicontrol {Build & Run}
|
||||
> \uicontrol Build > \uicontrol {Build Settings}.
|
||||
|
||||
|
@@ -9,19 +9,27 @@
|
||||
|
||||
\title Create compiler explorer sessions
|
||||
|
||||
To create a compiler explorer session for a C++ or Python project:
|
||||
\note Enable the Compiler Explorer plugin to use it.
|
||||
|
||||
To create a compiler explorer session for a Qt and C++, C++, or Python
|
||||
project:
|
||||
|
||||
\list 1
|
||||
\li Go to \uicontrol File > \uicontrol {New File}.
|
||||
\li Select \uicontrol {Compiler Explorer} > \uicontrol C++ or
|
||||
\uicontrol Python > \uicontrol Choose.
|
||||
\li Select \uicontrol {Compiler Explorer}, and then select one of the
|
||||
following:
|
||||
\list
|
||||
\li \uicontrol {Compiler Explorer C++ Source}
|
||||
\li \uicontrol {Compiler Explorer Python Source}
|
||||
\li \uicontrol {Compiler Explorer Qt & C++ Source}
|
||||
\endlist
|
||||
\image qtcreator-new-project-compiler-explorer.webp {New File dialog}
|
||||
\li Select \uicontrol Choose.
|
||||
\li Follow the instructions of the wizard to create an example
|
||||
compiler explorer session as a JSON-based \c .qtce file and to open
|
||||
it.
|
||||
\endlist
|
||||
|
||||
\note Enable the Compiler Explorer plugin to use it.
|
||||
|
||||
\sa {Create files}, {Enable and disable plugins}, {Explore compiler code}
|
||||
*/
|
||||
|
||||
|
@@ -39,5 +39,5 @@
|
||||
|
||||
To remove the selected property, select \uicontrol Remove.
|
||||
|
||||
\sa {Activate kits for a project}, {Add kits}, {kits-tab}{Kits}
|
||||
\sa {Activate kits for a project}, {Add kits}, {Kits}
|
||||
*/
|
||||
|
@@ -51,7 +51,7 @@
|
||||
(4) to list examples that you can run on \B2Q devices.
|
||||
|
||||
\li In \uicontrol {Configure Project}, select
|
||||
\l{glossary-buildandrun-kit}{kits} for building the example for the
|
||||
\l{Kits}{kits} for building the example for the
|
||||
target platforms.
|
||||
|
||||
\image qtcreator-configure-project.webp {Configure Project view}
|
||||
|
@@ -16,7 +16,7 @@
|
||||
\title Build for many platforms
|
||||
|
||||
You can build applications for many target platforms, or using different
|
||||
compilers, debuggers or Qt versions. \l{glossary-buildandrun-kit}{Kits}
|
||||
compilers, debuggers or Qt versions. \l{Kits}
|
||||
define the tools, \l{glossary-device}{device} type, and other settings to use.
|
||||
|
||||
By default, when you run the application, you
|
||||
@@ -34,9 +34,8 @@
|
||||
\list 1
|
||||
|
||||
\li Select the \uicontrol {Build and Run Kit Selector} icon or go to
|
||||
\uicontrol Build > \uicontrol {Open Build and Run Kit Selector} to select the
|
||||
build and run \l{glossary-buildandrun-kit}{kit} or an
|
||||
\l{Manage AVDs}{Android device}.
|
||||
\uicontrol Build > \uicontrol {Open Build and Run Kit Selector} to
|
||||
select the build and run kit or an \l{Manage AVDs}{Android device}.
|
||||
|
||||
\image qtcreator-kit-selector.webp {Kit selector}
|
||||
|
||||
|
@@ -18,7 +18,7 @@
|
||||
You can develop Qt applications on several 32-bit and 64-bit platforms.
|
||||
Usually, you can build Qt applications on each platform with GCC, a
|
||||
vendor-supplied compiler, or a third party compiler. In \QC, a
|
||||
\l{glossary-buildandrun-kit}{kit} specifies the compiler and other
|
||||
\l{Kits}{kit} specifies the compiler and other
|
||||
necessary tools for building an application for and running it on a
|
||||
particular platform.
|
||||
|
||||
|
@@ -63,7 +63,7 @@
|
||||
|
||||
To test applications on \l{glossary-device}{devices}, you can install
|
||||
toolchains for mobile and embedded development as part of Qt distributions.
|
||||
The installers create \l{glossary-buildandrun-kit}{kits} and specify build
|
||||
The installers create \l{Kits}{kits} and specify build
|
||||
and run settings for the installed device types. However, you might need to
|
||||
install and configure some additional software on the devices to be able to
|
||||
\l{Develop for Devices}{connect} to them from the computer.
|
||||
@@ -81,7 +81,7 @@
|
||||
|
||||
To create a new project, select \uicontrol File > \uicontrol{New Project} and
|
||||
select the type of your project. The contents of the wizard dialogs depend
|
||||
on the project type and the \l{glossary-buildandrun-kit}{kits} that you
|
||||
on the project type and the \l{Kits}{kits} that you
|
||||
select in the \uicontrol {Kit Selection} dialog. Follow the instructions of
|
||||
the wizard.
|
||||
|
||||
|
@@ -21,7 +21,7 @@
|
||||
debugger of the low level virtual machine (LLVM) project, LLDB.
|
||||
|
||||
The debugger plugin automatically selects a suitable native debugger for
|
||||
each \l{glossary-buildandrun-kit}{kit} from the ones found on your system.
|
||||
each \l{Kits}{kit} from the ones found on your system.
|
||||
To override this choice, select \preferences > \uicontrol Kits.
|
||||
|
||||
To add debuggers:
|
||||
|
@@ -45,7 +45,7 @@
|
||||
\li Select \uicontrol Add to start from an empty kit or \uicontrol Clone
|
||||
to clone the selected kit and edit its preferences.
|
||||
\image qtcreator-kits.png
|
||||
\li Set \l{kits-tab}{kit preferences} according to the build system and
|
||||
\li Set \l{Kits}{kit preferences} according to the build system and
|
||||
device type.
|
||||
|
||||
\li Select \uicontrol OK to create the kit.
|
||||
@@ -58,8 +58,7 @@
|
||||
choose the kit to use. To set the selected kit as the default kit,
|
||||
select \uicontrol {Make Default}.
|
||||
|
||||
\sa {Activate kits for a project}, {Add debuggers}, {Add Qt versions},
|
||||
{Open projects}, {Compilers}, {kits-tab}{Kits}
|
||||
\sa {Manage Kits}{How To: Manage Kits}, {Compilers}, {Kits}
|
||||
*/
|
||||
|
||||
/*!
|
||||
@@ -214,7 +213,6 @@
|
||||
\uicontrol Manage to add installed Ninja tools to the list.
|
||||
\endtable
|
||||
|
||||
\sa {Activate kits for a project}, {Open projects}, {Add CMake Tools},
|
||||
{Add compilers}, {Add debuggers}, {Add kits}, {Add Qt versions},
|
||||
\sa {Manage Kits}{How To: Manage Kits}, {Add CMake Tools},
|
||||
{Edit Qbs profiles}
|
||||
*/
|
||||
|
@@ -20,7 +20,7 @@
|
||||
\note Enable the Nim plugin to use Nimble and Nim.
|
||||
|
||||
In addition, you have to download and install Nim and set up a
|
||||
\l {glossary-buildandrun-kit}{kit} that contains the Nim compiler.
|
||||
\l {Kits}{kit} that contains the Nim compiler.
|
||||
|
||||
You can use wizards to create Nim and Nimble projects.
|
||||
|
||||
|
@@ -13,6 +13,7 @@
|
||||
\previouspage creator-how-tos.html
|
||||
|
||||
\ingroup creator-how-to-projects-configure
|
||||
\ingroup creator-how-to-manage-kits
|
||||
|
||||
\title Open projects
|
||||
|
||||
@@ -64,7 +65,7 @@
|
||||
|
||||
\list 1
|
||||
\li In \uicontrol {Configure Project}, select
|
||||
\l{glossary-buildandrun-kit}{kits} for building
|
||||
\l{Kits}{kits} for building
|
||||
and running your project.
|
||||
\image qtcreator-configure-project.webp {Configure Project view}
|
||||
\li Select \uicontrol {Configure Project}.
|
||||
@@ -112,5 +113,5 @@
|
||||
later. Select the \inlineimage icons/pin.png
|
||||
(\uicontrol Pin) button to pin the progress bar back to the toggle button.
|
||||
|
||||
\sa {Activate kits for a project}, {Add kits}, {kits-tab}{Kits},
|
||||
\sa {Manage Kits}{How To: Manage Kits}, {Kits},
|
||||
*/
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
\brief Settings for building applications with Qbs.
|
||||
|
||||
Specify build settings for the selected \l{glossary-buildandrun-kit}{kit} in
|
||||
Specify build settings for the selected \l{Kits}{kit} in
|
||||
\uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Build >
|
||||
\uicontrol {Build Settings}.
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
|
||||
\title Configure projects for building
|
||||
|
||||
Specify build settings for the selected \l{glossary-buildandrun-kit}{kit} in
|
||||
Specify build settings for the selected \l{Kits}{kit} in
|
||||
\uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Build >
|
||||
\uicontrol {Build Settings}.
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
|
||||
When you install Qt for a development or target platform, such as Linux,
|
||||
\macos, Windows, Android or QNX, \l{https://www.qt.io/download-qt-installer}
|
||||
{\QOI} creates \l{glossary-buildandrun-kit}{kits} for the development targets.
|
||||
{\QOI} creates \l{Kits}{kits} for the development targets.
|
||||
|
||||
Select the kits to use for a project in the \uicontrol {Configure Projects}
|
||||
view when you open the project for the first time. At least one kit must be
|
||||
@@ -65,7 +65,7 @@
|
||||
\section1 Specifying Run Settings
|
||||
|
||||
The run settings to specify depend on the type of the project and on the
|
||||
\l{kits-tab}{Run device} that you select for the kit.
|
||||
\l{Kits}{Run device} that you select for the kit.
|
||||
|
||||
\QC automatically creates deploy and run configurations for your project.
|
||||
|
||||
@@ -112,6 +112,7 @@
|
||||
\previouspage creator-how-tos.html
|
||||
|
||||
\ingroup creator-how-to-projects-configure
|
||||
\ingroup creator-how-to-manage-kits
|
||||
|
||||
\title Activate kits for a project
|
||||
|
||||
@@ -175,5 +176,5 @@
|
||||
might still see them listed for existing projects. You can copy the build,
|
||||
deploy, and run steps from them to other kits.
|
||||
|
||||
\sa {Add kits}, {Configuring Projects}, {kits-tab}{Kits}
|
||||
\sa {Manage Kits}{How To: Manage Kits}, {Configuring Projects}, {Kits}
|
||||
*/
|
||||
|
@@ -9,7 +9,7 @@
|
||||
|
||||
\title Specify Valgrind settings for a project
|
||||
|
||||
Specify settings for running applications on the \l {kits-tab}{Run device} that
|
||||
Specify settings for running applications on the \l {Kits}{Run device} that
|
||||
you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
|
||||
\uicontrol Run > \uicontrol {Run Settings}.
|
||||
|
||||
|
@@ -10,7 +10,7 @@
|
||||
|
||||
\title Enable debugging
|
||||
|
||||
Specify settings for running applications on the \l {kits-tab}{Run device} that
|
||||
Specify settings for running applications on the \l {Kits}{Run device} that
|
||||
you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
|
||||
\uicontrol Run > \uicontrol {Run Settings}.
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
\brief Settings for running applications on desktop device types.
|
||||
|
||||
Specify settings for running applications on the \l {kits-tab}{Run device} that
|
||||
Specify settings for running applications on the \l {Kits}{Run device} that
|
||||
you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
|
||||
\uicontrol Run > \uicontrol {Run Settings}.
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
|
||||
\title Configure projects for running
|
||||
|
||||
Specify settings for running applications on the \l {kits-tab}{Run device} that
|
||||
Specify settings for running applications on the \l {Kits}{Run device} that
|
||||
you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
|
||||
\uicontrol Run > \uicontrol {Run Settings}.
|
||||
|
||||
|
@@ -28,7 +28,7 @@
|
||||
|
||||
\li Select the \uicontrol {Build and Run Kit Selector} icon or go to
|
||||
\uicontrol Build > \uicontrol {Open Build and Run Kit Selector} to select the
|
||||
build and run \l{glossary-buildandrun-kit}{kit}.
|
||||
build and run \l{Kits}{kit}.
|
||||
|
||||
\image qtcreator-kit-selector.webp {Kit selector}
|
||||
|
||||
|
@@ -74,7 +74,7 @@
|
||||
|
||||
\section1 Select the Python version
|
||||
|
||||
The \l{kits-tab}{kits} you select for the project in \uicontrol Projects >
|
||||
The \l{Kits}{kits} you select for the project in \uicontrol Projects >
|
||||
\uicontrol {Build & Run} set the Python version to use.
|
||||
|
||||
The \l {Edit Mode}{Edit mode} toolbar shows the current Python version.
|
||||
|
@@ -31,7 +31,7 @@
|
||||
|
||||
\brief Settings for running Qt for Python applications.
|
||||
|
||||
Specify settings for running applications on the \l {kits-tab}{Run device} that
|
||||
Specify settings for running applications on the \l {Kits}{Run device} that
|
||||
you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
|
||||
\uicontrol Run > \uicontrol {Run Settings}.
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
\brief Settings for running applications on Linux-based devices.
|
||||
|
||||
Specify settings for running applications on the \l {kits-tab}{Run device} that
|
||||
Specify settings for running applications on the \l {Kits}{Run device} that
|
||||
you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
|
||||
\uicontrol Run > \uicontrol {Run Settings}.
|
||||
|
||||
|
@@ -11,11 +11,11 @@
|
||||
|
||||
\brief Settings for running Qt Quick UI Prototype projects (.qmlproject).
|
||||
|
||||
Specify settings for running applications on the \l {kits-tab}{Run device} that
|
||||
Specify settings for running applications on the \l {Kits}{Run device} that
|
||||
you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
|
||||
\uicontrol Run > \uicontrol {Run Settings}.
|
||||
|
||||
\note Select the \uicontrol Desktop device type for the \l{kits-tab}{Run device}
|
||||
\note Select the \uicontrol Desktop device type for the \l{Kits}{Run device}
|
||||
in the kit.
|
||||
|
||||
\image qtquick-ui-prototype-run-settings.webp {Run Settings for a Qt Quick UI Prototype project}
|
||||
@@ -42,5 +42,5 @@
|
||||
\endtable
|
||||
|
||||
\sa {Create Qt Quick UI Prototypes}, {Activate kits for a project},
|
||||
{Configure projects for running}, {kits-tab}{Kits}
|
||||
{Configure projects for running}, {Kits}
|
||||
*/
|
||||
|
@@ -76,12 +76,12 @@
|
||||
\li Select \uicontrol Next to open the \uicontrol {Kit Selection}
|
||||
dialog.
|
||||
|
||||
\li Select \l{glossary-buildandrun-kit}{kits} for the platforms that
|
||||
\li Select \l{Kits}{kits} for the platforms that
|
||||
you want to build the application for.
|
||||
|
||||
\note Kits are listed if they have been specified in \preferences >
|
||||
\uicontrol Kits.
|
||||
For more information, see \l {Add kits} and \l {kits-tab}{Kits}.
|
||||
For more information, see \l {Add kits} and \l {Kits}.
|
||||
|
||||
\li Select \uicontrol Next to open the \uicontrol {Project Management}
|
||||
dialog.
|
||||
@@ -161,12 +161,11 @@
|
||||
\li Select \uicontrol Next to open the \uicontrol {Kit Selection}
|
||||
dialog.
|
||||
|
||||
\li Select \l{glossary-buildandrun-kit}{kits} for the platforms that
|
||||
\li Select \l{Kits}{kits} for the platforms that
|
||||
you want to build the application for.
|
||||
|
||||
\note Kits are listed if they have been specified in \preferences >
|
||||
\uicontrol Kits.
|
||||
For more information, see \l {Add kits} and \l {kits-tab}{Kits}.
|
||||
|
||||
\li Select \uicontrol Next to open the \uicontrol {Project Management}
|
||||
dialog.
|
||||
@@ -197,5 +196,6 @@
|
||||
To use JavaScript and image files in the application, copy them to the
|
||||
project folder.
|
||||
|
||||
\sa {Create Qt Quick Applications}, {Creating Projects}
|
||||
\sa {Create Qt Quick Applications}, {Manage Kits}{How To: Manage Kits},
|
||||
{Creating Projects}
|
||||
*/
|
||||
|
@@ -37,14 +37,14 @@
|
||||
|
||||
\li Select \uicontrol Next to open the \uicontrol {Kit Selection} dialog.
|
||||
|
||||
\li Select Qt 6.4 or later \l{glossary-buildandrun-kit}{kits} for the
|
||||
\li Select Qt 6.4 or later \l{Kits}{kits} for the
|
||||
platforms that you want to build the application for. To build
|
||||
applications for mobile devices, select kits also for Android and
|
||||
iOS.
|
||||
|
||||
\note The list shows kits that you specify in \preferences >
|
||||
\uicontrol Kits.
|
||||
For more information, see \l {Add kits} and \l {kits-tab}{Kits}.
|
||||
For more information, see \l {Add kits} and \l {Kits}.
|
||||
|
||||
\li Select \uicontrol Next to open the \uicontrol {Project Management}
|
||||
dialog.
|
||||
|
@@ -37,7 +37,7 @@
|
||||
\li Set up QML debugging for the project. For more information, see
|
||||
\l{Setting Up QML Debugging}.
|
||||
\if defined(qtcreator)
|
||||
\li In the \uicontrol Projects mode, select a \l{glossary-buildandrun-kit}
|
||||
\li In the \uicontrol Projects mode, select a \l{Kits}
|
||||
{kit} with Qt version 4.7.4 or later.
|
||||
\endif
|
||||
\note To profile applications on \l{glossary-device}{devices}, you
|
||||
|
@@ -294,6 +294,6 @@
|
||||
|
||||
\sa {View output}
|
||||
\if defined(qtcreator)
|
||||
\sa {Add custom output parsers}
|
||||
\sa {Add custom output parsers}, {Kits}
|
||||
\endif
|
||||
*/
|
||||
|
@@ -33,7 +33,7 @@
|
||||
\row
|
||||
\li \inlineimage numbers/02.png
|
||||
\li Kit selector
|
||||
\li Select the appropriate \l{glossary-buildandrun-kit}{kit} for building
|
||||
\li Select the appropriate \l{Kits}{kit} for building
|
||||
the project and running it on particular hardware.
|
||||
\li \l{Activate kits for a project}
|
||||
\row
|
||||
|
@@ -76,7 +76,7 @@
|
||||
|
||||
\image qtcreator-new-project-qt-versions-qt-gui.png {Kit Selection dialog}
|
||||
|
||||
\li Select build and run \l{glossary-buildandrun-kit}{kits} for your
|
||||
\li Select build and run \l{Kits}{kits} for your
|
||||
project.
|
||||
|
||||
\li Select \uicontrol Next or \uicontrol Continue to open the
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
#! [1]
|
||||
# Remove when sharing with others.
|
||||
|
@@ -3,7 +3,10 @@
|
||||
<component type="desktop">
|
||||
<id>org.qt-project.qtcreator.desktop</id>
|
||||
<name>Qt Creator</name>
|
||||
<summary>Provides a cross-platform, complete integrated development environment (IDE) for application developers to create applications for multiple platforms and devices</summary>
|
||||
<developer id="org.qt-project">
|
||||
<name>Qt Project</name>
|
||||
</developer>
|
||||
<summary>Cross-platform integrated development environment (IDE)</summary>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0</project_license>
|
||||
<description>
|
||||
@@ -23,16 +26,27 @@
|
||||
newcomers to Qt.
|
||||
</p>
|
||||
</description>
|
||||
<launchable type="desktop-id">org.qt-project.qtcreator.desktop</launchable>
|
||||
|
||||
<url type="homepage">https://www.qt.io/ide/</url>
|
||||
<project_group>Qt</project_group>
|
||||
<content_rating type="oars-1.1" />
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<caption>Application development life-cycle</caption>
|
||||
<image>https://doc.qt.io/qtcreator/images/qt-app-dev-flow.webp</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>Overview</caption>
|
||||
<image>https://doc.qt.io/qtcreator/images/qtcreator-breakdown.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://doc.qt.io/qtcreator/images/qtcreator-gs-build-example-open.png</image>
|
||||
<caption>Examples</caption>
|
||||
<image>https://doc.qt.io/qtcreator/images/qtcreator-examples-open.webp</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>Code editor</caption>
|
||||
<image>https://doc.qt.io/qtcreator/images/qtcreator-spliteditorview.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<releases>
|
||||
@@ -40,6 +54,7 @@
|
||||
<description>
|
||||
<p>Qt Creator v${IDE_VERSION_DISPLAY}</p>
|
||||
</description>
|
||||
<url>https://github.com/qt-creator/qt-creator/releases/tag/v${IDE_VERSION_DISPLAY}</url>
|
||||
</release>
|
||||
</releases>
|
||||
</component>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(examples LANGUAGES CXX)
|
||||
|
||||
|
@@ -124,7 +124,7 @@ class Dumper(DumperBase):
|
||||
pass
|
||||
if nativeValue.type().code() == TypeCode.Enum:
|
||||
val.ldisplay = self.enumValue(nativeValue)
|
||||
elif not nativeValue.type().resolved and nativeValue.type().code() == TypeCode.Struct and not nativeValue.hasChildren():
|
||||
elif not nativeValue.type().resolved() and nativeValue.type().code() == TypeCode.Struct and not nativeValue.hasChildren():
|
||||
val.ldisplay = self.enumValue(nativeValue)
|
||||
val.isBaseClass = val.name == nativeValue.type().name()
|
||||
val.typeid = self.from_native_type(nativeValue.type())
|
||||
@@ -172,15 +172,17 @@ class Dumper(DumperBase):
|
||||
self.type_name_cache[typeid] = nativeType.name()
|
||||
self.type_code_cache[typeid] = code
|
||||
self.type_target_cache[typeid] = self.typeid_for_string(targetName)
|
||||
if nativeType.resolved():
|
||||
self.type_size_cache[typeid] = nativeType.bitsize() // 8
|
||||
return typeid
|
||||
|
||||
code = TypeCode.Struct
|
||||
|
||||
self.type_name_cache[typeid] = nativeType.name()
|
||||
if nativeType.resolved():
|
||||
self.type_size_cache[typeid] = nativeType.bitsize() // 8
|
||||
self.type_code_cache[typeid] = code
|
||||
self.type_modulename_cache[typeid] = nativeType.module()
|
||||
self.type_code_cache[typeid] = code
|
||||
self.type_enum_display_cache[typeid] = lambda intval, addr, form: \
|
||||
self.nativeTypeEnumDisplay(nativeType, intval, form)
|
||||
return typeid
|
||||
@@ -312,25 +314,6 @@ class Dumper(DumperBase):
|
||||
self.qtDeclarativeHookDataSymbolName = lambda: hookSymbolName
|
||||
return hookSymbolName
|
||||
|
||||
def qtNamespace(self):
|
||||
namespace = ''
|
||||
qstrdupSymbolName = '*qstrdup'
|
||||
coreModuleName = self.qtCoreModuleName()
|
||||
if coreModuleName is not None:
|
||||
qstrdupSymbolName = '%s!%s' % (coreModuleName, qstrdupSymbolName)
|
||||
resolved = cdbext.resolveSymbol(qstrdupSymbolName)
|
||||
if resolved:
|
||||
name = resolved[0].split('!')[1]
|
||||
namespaceIndex = name.find('::')
|
||||
if namespaceIndex > 0:
|
||||
namespace = name[:namespaceIndex + 2]
|
||||
self.qtNamespace = lambda: namespace
|
||||
self.qtCustomEventFunc = self.parseAndEvaluate(
|
||||
'%s!%sQObject::customEvent' %
|
||||
(self.qtCoreModuleName(), namespace)).address()
|
||||
self.qtNamespace = lambda: namespace
|
||||
return namespace
|
||||
|
||||
def extractQtVersion(self):
|
||||
try:
|
||||
qtVersion = self.parseAndEvaluate(
|
||||
@@ -549,7 +532,6 @@ class Dumper(DumperBase):
|
||||
return
|
||||
|
||||
self.putAddress(value.address())
|
||||
self.putField('size', self.type_size(value.typeid))
|
||||
|
||||
if typeobj.code == TypeCode.Function:
|
||||
#DumperBase.warn('FUNCTION VALUE: %s' % value)
|
||||
@@ -923,3 +905,12 @@ class Dumper(DumperBase):
|
||||
if self.useDynamicType:
|
||||
val.typeid = self.dynamic_typeid_at_address(val.typeid, address)
|
||||
return val
|
||||
|
||||
def fetchInternalFunctions(self):
|
||||
coreModuleName = self.qtCoreModuleName()
|
||||
ns = self.qtNamespace()
|
||||
if coreModuleName is not None:
|
||||
self.qtCustomEventFunc = self.parseAndEvaluate(
|
||||
'%s!%sQObject::customEvent' %
|
||||
(self.qtCoreModuleName(), ns)).address()
|
||||
self.fetchInternalFunctions = lambda: None
|
||||
|
@@ -717,7 +717,7 @@ class DumperBase():
|
||||
c = ord(item[0])
|
||||
if c in (45, 46) or (c >= 48 and c < 58): # '-', '.' or digit.
|
||||
if '.' in item:
|
||||
res.append(float(item))
|
||||
self.type_template_arguments_cache[(typeid, idx)] = float(item)
|
||||
else:
|
||||
if item.endswith('l'):
|
||||
item = item[:-1]
|
||||
@@ -2446,7 +2446,7 @@ typename))
|
||||
self.checkIntType(base)
|
||||
self.checkIntType(n)
|
||||
inner_typeid = self.typeid_for_typish(inner_typish)
|
||||
inner_size = self.type_size_cache.get(inner_typeid, None)
|
||||
inner_size = self.type_size(inner_typeid)
|
||||
self.putNumChild(n)
|
||||
#self.warn('ADDRESS: 0x%x INNERSIZE: %s INNERTYPE: %s' % (base, inner_size, inner_typeid))
|
||||
enc = self.type_encoding_cache.get(inner_typeid, None)
|
||||
@@ -3565,7 +3565,9 @@ typename))
|
||||
return target_typeid
|
||||
self.type_code_cache[typeid] = TypeCode.Typedef
|
||||
self.type_target_cache[typeid] = target_typeid
|
||||
self.type_size_cache[typeid] = self.type_size_cache.get(target_typeid, None)
|
||||
size = self.type_size_cache.get(target_typeid, None)
|
||||
if size is not None:
|
||||
self.type_size_cache[typeid] = size
|
||||
return typeid
|
||||
|
||||
def createType(self, typish, size=None):
|
||||
@@ -3711,7 +3713,7 @@ typename))
|
||||
|
||||
typeid = self.cheap_typeid_from_name_nons(typename)
|
||||
if typeid:
|
||||
size = self.type_size_cache.get(typeid, None)
|
||||
size = self.type_size(typeid)
|
||||
if size is not None:
|
||||
return size, typeid
|
||||
|
||||
@@ -3719,7 +3721,7 @@ typename))
|
||||
self.warn("LOOKUP FIELD TYPE: %s TYPEOBJ: %s" % (typename, typeobj))
|
||||
if typeobj is not None:
|
||||
typeid = typeobj.typeid
|
||||
size = self.type_size_cache.get(typeid, None)
|
||||
size = self.type_size(typeid)
|
||||
if size is not None:
|
||||
return size, typeid
|
||||
|
||||
@@ -3950,8 +3952,10 @@ typename))
|
||||
if size is not None:
|
||||
return size
|
||||
|
||||
if size is None:
|
||||
nativeType = self.type_nativetype(typeid)
|
||||
if self.isCdb:
|
||||
size = nativeType.bitsize() // 8
|
||||
else:
|
||||
if not self.type_size_cache.get(typeid):
|
||||
self.from_native_type(nativeType)
|
||||
size = self.type_size_cache.get(typeid, None)
|
||||
@@ -4202,7 +4206,7 @@ typename))
|
||||
res = self.readRawMemory(address, size)
|
||||
if len(res) > 0:
|
||||
return res
|
||||
raise RuntimeError('CANNOT READ %d BYTES FROM ADDRESS: %s %s' % (size, address))
|
||||
raise RuntimeError('CANNOT READ %d BYTES FROM ADDRESS: %s' % (size, address))
|
||||
|
||||
def value_display(self, value):
|
||||
type_code = self.type_code(value.typeid)
|
||||
|
@@ -235,6 +235,21 @@ def qdump__QStandardItem(d, value):
|
||||
|
||||
vtable, dptr = value.split('pp')
|
||||
if d.qtVersionAtLeast(0x060000):
|
||||
if d.isCdb:
|
||||
if d.isDebugBuild is None:
|
||||
try:
|
||||
value["d_ptr"]
|
||||
d.isDebugBuild = True
|
||||
except Exception:
|
||||
d.isDebugBuild = False
|
||||
if d.isDebugBuild:
|
||||
model = value["d_ptr"]["d"]["model"]
|
||||
values = value["d_ptr"]["d"]["values"]
|
||||
children = value["d_ptr"]["d"]["children"]
|
||||
else:
|
||||
model, parent, values, children, rows, cols, item = \
|
||||
d.split('pp{@QList<@QStandardItemData>}{@QList<@QStandardItem *>}IIp', dptr)
|
||||
else:
|
||||
model, parent, values, children, rows, cols, item = \
|
||||
d.split('pp{@QList<@QStandardItemData>}{@QList<@QStandardItem *>}IIp', dptr)
|
||||
else:
|
||||
@@ -249,7 +264,9 @@ def qdump__QStandardItem(d, value):
|
||||
d.putExpandable()
|
||||
if d.isExpanded():
|
||||
with Children(d):
|
||||
d.putSubItem('[model]', d.createValue(model, '@QStandardItemModel'))
|
||||
if isinstance(model, int): # Used as address.
|
||||
model = d.createValue(model, '@QStandardItemModel')
|
||||
d.putSubItem('[model]', model)
|
||||
d.putSubItem('[values]', values)
|
||||
d.putSubItem('[children]', children)
|
||||
|
||||
@@ -385,9 +402,9 @@ def qdump__QDateTime(d, value):
|
||||
# - [QTime time;]
|
||||
# - - uint mds;
|
||||
# - Spec spec;
|
||||
dateSize = 8 if qtVersionAtLeast(0x050000) else 4 # Qt5: qint64, Qt4 uint
|
||||
dateSize = 8 if d.qtVersionAtLeast(0x050000) else 4 # Qt5: qint64, Qt4 uint
|
||||
# 4 byte padding after 4 byte QAtomicInt if we are on 64 bit and QDate is 64 bit
|
||||
refPlusPadding = 8 if qtVersionAtLeast(0x050000) and d.ptrSize() == 8 else 4
|
||||
refPlusPadding = 8 if d.qtVersionAtLeast(0x050000) and d.ptrSize() == 8 else 4
|
||||
dateBase = base + refPlusPadding
|
||||
timeBase = dateBase + dateSize
|
||||
mds = d.extractInt(timeBase)
|
||||
@@ -1031,14 +1048,14 @@ def qdump__QHostAddress(d, value):
|
||||
else:
|
||||
(ipString, scopeId, a4, pad, a6, protocol, isParsed) \
|
||||
= d.split('{@QString}{@QString}{@quint32}I16sI{bool}', dd)
|
||||
elif qtVersionAtLeast(0x050600): # 5.6.0 at f3aabb42
|
||||
elif d.qtVersionAtLeast(0x050600): # 5.6.0 at f3aabb42
|
||||
if d.ptrSize() == 8 or d.isWindowsTarget():
|
||||
(ipString, scopeId, a4, pad, a6, protocol, isParsed) \
|
||||
= d.split('{@QString}{@QString}{@quint32}I16sI{bool}', dd)
|
||||
else:
|
||||
(ipString, scopeId, a4, a6, protocol, isParsed) \
|
||||
= d.split('{@QString}{@QString}{@quint32}16sI{bool}', dd)
|
||||
elif qtVersionAtLeast(0x050000): # 5.2.0 at 62feb088
|
||||
elif d.qtVersionAtLeast(0x050000): # 5.2.0 at 62feb088
|
||||
(ipString, scopeId, a4, a6, protocol, isParsed) \
|
||||
= d.split('{@QString}{@QString}{@quint32}16sI{bool}', dd)
|
||||
else: # 4.8.7 at b05d05f
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(%{TestCaseName} LANGUAGES CXX)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(%{ProjectName} VERSION 0.1 LANGUAGES CXX)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(%{ProjectName} LANGUAGES CXX)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(%{ProjectName} LANGUAGES CXX)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(%{ProjectName} LANGUAGES C)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(%{ProjectName} LANGUAGES CXX)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(%{ProjectName} VERSION 0.1 LANGUAGES CXX)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(%{ProjectName} VERSION 0.1 LANGUAGES CXX)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
# Remove when sharing with others.
|
||||
@if %{JS: Util.isDirectory('%{QtCreatorBuild}/Qt Creator.app/Contents/Resources')}
|
||||
|
@@ -677,7 +677,7 @@ private:
|
||||
/*!
|
||||
\typealias CustomTask::TaskDoneHandler
|
||||
|
||||
Type alias for \c std::function<DoneResult(const Task &, DoneWith)>.
|
||||
Type alias for \c std::function<DoneResult(const Task &, DoneWith)> or DoneResult.
|
||||
|
||||
The \c TaskDoneHandler is an optional argument of a custom task element's constructor.
|
||||
Any function with the above signature, when passed as a task done handler,
|
||||
@@ -702,6 +702,9 @@ private:
|
||||
the DoneWith argument. When the handler returns the DoneResult value,
|
||||
the task's final result may be tweaked inside the done handler's body by the returned value.
|
||||
|
||||
For a \c TaskDoneHandler of the DoneResult type, no additional handling is executed,
|
||||
and the task finishes unconditionally with the passed value of DoneResult.
|
||||
|
||||
\sa CustomTask(), TaskSetupHandler, GroupDoneHandler
|
||||
*/
|
||||
|
||||
@@ -1056,7 +1059,7 @@ private:
|
||||
/*!
|
||||
\typealias GroupItem::GroupDoneHandler
|
||||
|
||||
Type alias for \c std::function<DoneResult(DoneWith)>.
|
||||
Type alias for \c std::function<DoneResult(DoneWith)> or DoneResult.
|
||||
|
||||
The \c GroupDoneHandler is an argument of the onGroupDone() element.
|
||||
Any function with the above signature, when passed as a group done handler,
|
||||
@@ -1071,6 +1074,10 @@ private:
|
||||
the DoneWith argument. When the handler returns the DoneResult value,
|
||||
the group's final result may be tweaked inside the done handler's body by the returned value.
|
||||
|
||||
For a \c GroupDoneHandler of the DoneResult type, no additional handling is executed,
|
||||
and the group finishes unconditionally with the passed value of DoneResult,
|
||||
ignoring the group's workflow policy.
|
||||
|
||||
\sa onGroupDone(), GroupSetupHandler, CustomTask::TaskDoneHandler
|
||||
*/
|
||||
|
||||
@@ -1987,7 +1994,9 @@ SetupResult TaskTreePrivate::continueStart(RuntimeContainer *container, SetupRes
|
||||
{
|
||||
const SetupResult groupAction = startAction == SetupResult::Continue ? startChildren(container)
|
||||
: startAction;
|
||||
if (groupAction != SetupResult::Continue) {
|
||||
if (groupAction == SetupResult::Continue)
|
||||
return groupAction;
|
||||
|
||||
const bool bit = container->updateSuccessBit(groupAction == SetupResult::StopWithSuccess);
|
||||
RuntimeIteration *parentIteration = container->parentIteration();
|
||||
RuntimeTask *parentTask = container->m_parentTask;
|
||||
@@ -2002,8 +2011,7 @@ SetupResult TaskTreePrivate::continueStart(RuntimeContainer *container, SetupRes
|
||||
m_runtimeRoot.reset();
|
||||
emitDone(result ? DoneWith::Success : DoneWith::Error);
|
||||
}
|
||||
}
|
||||
return groupAction;
|
||||
return toSetupResult(result);
|
||||
}
|
||||
|
||||
SetupResult TaskTreePrivate::startChildren(RuntimeContainer *container)
|
||||
@@ -2435,7 +2443,7 @@ bool TaskTreePrivate::invokeDoneHandler(RuntimeTask *node, DoneWith doneWith)
|
||||
\section2 Task's Done Handler
|
||||
|
||||
When a running task finishes, the task tree invokes an optionally provided done handler.
|
||||
The handler should always take a \c const \e reference to the associated task class object:
|
||||
The handler should take a \c const \e reference to the associated task class object:
|
||||
|
||||
\code
|
||||
const auto onSetup = [](QProcess &process) {
|
||||
|
@@ -350,15 +350,19 @@ private:
|
||||
template <typename Handler>
|
||||
static GroupDoneHandler wrapGroupDone(Handler &&handler)
|
||||
{
|
||||
static constexpr bool isDoneResultType = std::is_same_v<Handler, DoneResult>;
|
||||
// R, V, D stands for: Done[R]esult, [V]oid, [D]oneWith
|
||||
static constexpr bool isRD = isInvocable<DoneResult, Handler, DoneWith>();
|
||||
static constexpr bool isR = isInvocable<DoneResult, Handler>();
|
||||
static constexpr bool isVD = isInvocable<void, Handler, DoneWith>();
|
||||
static constexpr bool isV = isInvocable<void, Handler>();
|
||||
static_assert(isRD || isR || isVD || isV,
|
||||
static_assert(isDoneResultType || isRD || isR || isVD || isV,
|
||||
"Group done handler needs to take (DoneWith) or (void) as an argument and has to "
|
||||
"return void or DoneResult. The passed handler doesn't fulfill these requirements.");
|
||||
"return void or DoneResult. Alternatively, it may be of DoneResult type. "
|
||||
"The passed handler doesn't fulfill these requirements.");
|
||||
return [handler](DoneWith result) {
|
||||
if constexpr (isDoneResultType)
|
||||
return handler;
|
||||
if constexpr (isRD)
|
||||
return std::invoke(handler, result);
|
||||
if constexpr (isR)
|
||||
@@ -496,7 +500,8 @@ private:
|
||||
template <typename Handler>
|
||||
static InterfaceDoneHandler wrapDone(Handler &&handler) {
|
||||
if constexpr (std::is_same_v<Handler, TaskDoneHandler>)
|
||||
return {}; // When user passed {} for the done handler.
|
||||
return {}; // User passed {} for the done handler.
|
||||
static constexpr bool isDoneResultType = std::is_same_v<Handler, DoneResult>;
|
||||
// R, V, T, D stands for: Done[R]esult, [V]oid, [T]ask, [D]oneWith
|
||||
static constexpr bool isRTD = isInvocable<DoneResult, Handler, const Task &, DoneWith>();
|
||||
static constexpr bool isRT = isInvocable<DoneResult, Handler, const Task &>();
|
||||
@@ -506,11 +511,14 @@ private:
|
||||
static constexpr bool isVT = isInvocable<void, Handler, const Task &>();
|
||||
static constexpr bool isVD = isInvocable<void, Handler, DoneWith>();
|
||||
static constexpr bool isV = isInvocable<void, Handler>();
|
||||
static_assert(isRTD || isRT || isRD || isR || isVTD || isVT || isVD || isV,
|
||||
static_assert(isDoneResultType || isRTD || isRT || isRD || isR || isVTD || isVT || isVD || isV,
|
||||
"Task done handler needs to take (const Task &, DoneWith), (const Task &), "
|
||||
"(DoneWith) or (void) as arguments and has to return void or DoneResult. "
|
||||
"Alternatively, it may be of DoneResult type. "
|
||||
"The passed handler doesn't fulfill these requirements.");
|
||||
return [handler](const TaskInterface &taskInterface, DoneWith result) {
|
||||
if constexpr (isDoneResultType)
|
||||
return handler;
|
||||
const Adapter &adapter = static_cast<const Adapter &>(taskInterface);
|
||||
if constexpr (isRTD)
|
||||
return std::invoke(handler, *adapter.task(), result);
|
||||
|
@@ -80,5 +80,7 @@ extend_qtc_library(Sqlite
|
||||
|
||||
extend_qtc_library(Sqlite
|
||||
CONDITION QTC_STATIC_BUILD
|
||||
PROPERTIES COMPILE_OPTIONS $<IF:$<CXX_COMPILER_ID:MSVC>,/FIsqlite_static_config.h,-includesqlite_static_config.h>
|
||||
PROPERTIES
|
||||
COMPILE_OPTIONS $<IF:$<CXX_COMPILER_ID:MSVC>,/FIsqlite_static_config.h,-includesqlite_static_config.h>
|
||||
INTERFACE_COMPILE_OPTIONS $<IF:$<CXX_COMPILER_ID:MSVC>,/FI../3rdparty/sqlite/sqlite_static_config.h,-include../3rdparty/sqlite/sqlite_static_config.h>
|
||||
)
|
||||
|
@@ -2142,6 +2142,7 @@ void ProcessPrivate::setupDebugLog()
|
||||
qCDebug(processLog).nospace().noquote()
|
||||
<< "Process " << currentNumber << " starting ("
|
||||
<< qPrintable(blockingMessage(property(QTC_PROCESS_BLOCKING_TYPE)))
|
||||
<< (isMainThread() ? ", main thread" : "")
|
||||
<< "): " << m_setup.m_commandLine.toUserOutput();
|
||||
setProperty(QTC_PROCESS_NUMBER, currentNumber);
|
||||
});
|
||||
|
@@ -676,7 +676,7 @@ void AndroidRunnerWorker::asyncStart()
|
||||
stopOnSuccess,
|
||||
ProcessTask(onPidSetup, onPidDone, CallDoneIf::Success),
|
||||
TimeoutTask([](std::chrono::milliseconds &timeout) { timeout = 200ms; },
|
||||
[] { return DoneResult::Error; })
|
||||
DoneResult::Error)
|
||||
}.withTimeout(45s),
|
||||
ProcessTask(onUserSetup, onUserDone, CallDoneIf::Success),
|
||||
onGroupDone([pidStorage, this] { onProcessIdChanged(*pidStorage); })
|
||||
|
@@ -330,7 +330,7 @@ void CMakeEditorWidget::findLinkAt(const QTextCursor &cursor,
|
||||
|
||||
if (auto project = ProjectTree::currentProject()) {
|
||||
buffer.replace("${CMAKE_SOURCE_DIR}", project->projectDirectory().path());
|
||||
if (auto bs = ProjectTree::currentBuildSystem(); bs->buildConfiguration()) {
|
||||
if (auto bs = ProjectTree::currentBuildSystem(); bs && bs->buildConfiguration()) {
|
||||
buffer.replace("${CMAKE_BINARY_DIR}", bs->buildConfiguration()->buildDirectory().path());
|
||||
|
||||
// Get the path suffix from current source dir to project source dir and apply it
|
||||
|
@@ -211,15 +211,46 @@ FilePaths CMakeProjectImporter::presetCandidates()
|
||||
return candidates;
|
||||
}
|
||||
|
||||
class DebuggerCMakeExpander
|
||||
{
|
||||
const PresetsDetails::ConfigurePreset &preset;
|
||||
const Environment &env;
|
||||
const FilePath &projectDirectory;
|
||||
|
||||
public:
|
||||
DebuggerCMakeExpander(
|
||||
const PresetsDetails::ConfigurePreset &p, const Environment &e, const FilePath &projectDir)
|
||||
: preset(p)
|
||||
, env(e)
|
||||
, projectDirectory(projectDir)
|
||||
{}
|
||||
|
||||
QString expand(const QString &value) const
|
||||
{
|
||||
QString result{value};
|
||||
CMakePresets::Macros::expand(preset, env, projectDirectory, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
QVariantMap expand(const QVariantMap &map) const
|
||||
{
|
||||
QVariantMap result{map};
|
||||
for (auto it = result.begin(); it != result.end(); ++it)
|
||||
if (it->canConvert<QString>())
|
||||
it->setValue(expand(it->toString()));
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
static QVariant findOrRegisterDebugger(
|
||||
Environment &env, const std::optional<QVariantMap> &vendor, const QString &presetName)
|
||||
Environment &env, const PresetsDetails::ConfigurePreset &preset, const DebuggerCMakeExpander& expander)
|
||||
{
|
||||
const QString debuggerKey("debugger");
|
||||
if (!vendor || !vendor.value().contains(debuggerKey))
|
||||
if (!preset.vendor || !preset.vendor.value().contains(debuggerKey))
|
||||
return {};
|
||||
|
||||
const QVariant debuggerVariant = vendor.value().value(debuggerKey);
|
||||
FilePath debuggerPath = FilePath::fromUserInput(debuggerVariant.toString());
|
||||
const QVariant debuggerVariant = preset.vendor.value().value(debuggerKey);
|
||||
FilePath debuggerPath = FilePath::fromUserInput(expander.expand(debuggerVariant.toString()));
|
||||
if (!debuggerPath.isEmpty()) {
|
||||
if (debuggerPath.isRelativePath())
|
||||
debuggerPath = env.searchInPath(debuggerPath.fileName());
|
||||
@@ -228,7 +259,7 @@ static QVariant findOrRegisterDebugger(
|
||||
DebuggerItem debugger;
|
||||
debugger.setCommand(debuggerPath);
|
||||
debugger.setUnexpandedDisplayName(
|
||||
mainName.arg(presetName).arg(debuggerPath.completeBaseName()));
|
||||
mainName.arg(preset.name).arg(debuggerPath.completeBaseName()));
|
||||
debugger.setAutoDetected(false);
|
||||
QString errorMessage;
|
||||
debugger.reinitializeFromFile(&errorMessage, &env);
|
||||
@@ -246,7 +277,7 @@ static QVariant findOrRegisterDebugger(
|
||||
if (!debuggerMap.contains("Id"))
|
||||
debuggerMap.insert("Id", QUuid::createUuid().toString());
|
||||
|
||||
auto store = storeFromMap(debuggerMap);
|
||||
auto store = storeFromMap(expander.expand(debuggerMap));
|
||||
DebuggerItem debugger(store);
|
||||
|
||||
return DebuggerItemManager::registerDebugger(debugger);
|
||||
@@ -883,7 +914,8 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
||||
|
||||
data->hasQmlDebugging = CMakeBuildConfiguration::hasQmlDebugging(config);
|
||||
|
||||
data->debugger = findOrRegisterDebugger(env, configurePreset.vendor, configurePreset.name);
|
||||
data->debugger = findOrRegisterDebugger(
|
||||
env, configurePreset, DebuggerCMakeExpander(configurePreset, env, projectDirectory()));
|
||||
|
||||
QByteArrayList buildConfigurationTypes = {cache.valueOf("CMAKE_BUILD_TYPE")};
|
||||
if (buildConfigurationTypes.front().isEmpty()) {
|
||||
|
@@ -118,6 +118,10 @@ static const TextFormat &buttonTF(Button::Role role, WidgetState state)
|
||||
static const TextFormat smallLinkHoveredTF
|
||||
{Theme::Token_Text_Accent, smallLinkDefaultTF.uiElement,
|
||||
smallLinkDefaultTF.drawTextFlags};
|
||||
static const TextFormat tagDefaultTF
|
||||
{Theme::Token_Text_Muted, StyleHelper::UiElement::UiElementLabelMedium};
|
||||
static const TextFormat tagHoverTF
|
||||
{Theme::Token_Text_Default, tagDefaultTF.uiElement};
|
||||
|
||||
switch (role) {
|
||||
case Button::MediumPrimary: return mediumPrimaryTF;
|
||||
@@ -128,6 +132,8 @@ static const TextFormat &buttonTF(Button::Role role, WidgetState state)
|
||||
: smallListCheckedTF;
|
||||
case Button::SmallLink: return (state == WidgetStateDefault) ? smallLinkDefaultTF
|
||||
: smallLinkHoveredTF;
|
||||
case Button::Tag: return (state == WidgetStateDefault) ? tagDefaultTF
|
||||
: tagHoverTF;
|
||||
}
|
||||
return mediumPrimaryTF;
|
||||
}
|
||||
@@ -218,6 +224,13 @@ void Button::paintEvent(QPaintEvent *event)
|
||||
}
|
||||
case SmallLink:
|
||||
break;
|
||||
case Tag: {
|
||||
const QBrush fill(hovered ? creatorColor(Theme::Token_Foreground_Subtle)
|
||||
: QBrush(Qt::NoBrush));
|
||||
const QPen outline(hovered ? QPen(Qt::NoPen) : creatorColor(Theme::Token_Stroke_Subtle));
|
||||
drawCardBackground(&p, bgR, fill, outline, brRectRounding);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!m_pixmap.isNull()) {
|
||||
@@ -244,6 +257,10 @@ void Button::setPixmap(const QPixmap &pixmap)
|
||||
|
||||
void Button::updateMargins()
|
||||
{
|
||||
if (m_role == Tag) {
|
||||
setContentsMargins(HPaddingXs, VPaddingXxs, HPaddingXs, VPaddingXxs);
|
||||
return;
|
||||
}
|
||||
const bool tokenSizeS = m_role == MediumPrimary || m_role == MediumSecondary
|
||||
|| m_role == SmallList || m_role == SmallLink;
|
||||
const int gap = tokenSizeS ? HGapS : HGapXs;
|
||||
|
@@ -80,6 +80,7 @@ public:
|
||||
SmallSecondary,
|
||||
SmallList,
|
||||
SmallLink,
|
||||
Tag,
|
||||
};
|
||||
|
||||
explicit Button(const QString &text, Role role, QWidget *parent = nullptr);
|
||||
|
@@ -222,11 +222,7 @@ GroupItem DeviceCtlRunner::killProcess(Storage<AppInfo> &appInfo)
|
||||
QString::number(appInfo->processIdentifier)}});
|
||||
return SetupResult::Continue;
|
||||
};
|
||||
const auto onDone = [] {
|
||||
// we tried our best and don't care at this point
|
||||
return DoneResult::Success;
|
||||
};
|
||||
return ProcessTask(onSetup, onDone);
|
||||
return ProcessTask(onSetup, DoneResult::Success); // we tried our best and don't care at this point
|
||||
}
|
||||
|
||||
GroupItem DeviceCtlRunner::launchTask(const QString &bundleIdentifier)
|
||||
|
@@ -735,7 +735,7 @@ void Client::openDocument(TextEditor::TextDocument *document)
|
||||
void Client::sendMessage(const JsonRpcMessage &message, SendDocUpdates sendUpdates,
|
||||
Schedule semanticTokensSchedule)
|
||||
{
|
||||
QScopeGuard guard([responseHandler = message.responseHandler()](){
|
||||
QScopeGuard guard([this, responseHandler = message.responseHandler()](){
|
||||
if (responseHandler) {
|
||||
static ResponseError<std::nullptr_t> error;
|
||||
if (!error.isValid()) {
|
||||
@@ -745,7 +745,9 @@ void Client::sendMessage(const JsonRpcMessage &message, SendDocUpdates sendUpdat
|
||||
QJsonObject response;
|
||||
response[idKey] = responseHandler->id;
|
||||
response[errorKey] = QJsonObject(error);
|
||||
responseHandler->callback(JsonRpcMessage(response));
|
||||
QMetaObject::invokeMethod(this, [callback = responseHandler->callback, response](){
|
||||
callback(JsonRpcMessage(response));
|
||||
}, Qt::QueuedConnection);
|
||||
}
|
||||
});
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"supportedProjectTypes": [
|
||||
"Qt4ProjectManager.Qt4Project"
|
||||
"ProjectExplorer.WorkspaceProject"
|
||||
],
|
||||
"id": "R.QtCreatorLuaPlugin",
|
||||
"category": "G.Library",
|
||||
@@ -9,11 +9,7 @@
|
||||
"trDisplayName": "Qt Creator Lua Plugin",
|
||||
"trDisplayCategory": "Library",
|
||||
"iconText": "LuaP",
|
||||
"featuresRequired": [
|
||||
"QtSupport.Wizards.FeatureQt",
|
||||
"QtSupport.Wizards.FeatureDesktop"
|
||||
],
|
||||
"enabled": "%{JS: value('Plugins').indexOf('CMakeProjectManager') >= 0}",
|
||||
"featuresRequired": [],
|
||||
"options": [
|
||||
{
|
||||
"key": "ProjectFile",
|
||||
@@ -26,14 +22,6 @@
|
||||
{
|
||||
"key": "SrcFileName",
|
||||
"value": "init.lua"
|
||||
},
|
||||
{
|
||||
"key": "CN",
|
||||
"value": "%{JS: Cpp.className(value('PluginName') + 'Plugin')}"
|
||||
},
|
||||
{
|
||||
"key": "HasTranslation",
|
||||
"value": "%{JS: value('TsFileName') !== ''}"
|
||||
}
|
||||
],
|
||||
"pages": [
|
||||
|
@@ -287,7 +287,7 @@ void PerfDataReader::collectArguments(CommandLine *cmd, const QString &exe, cons
|
||||
.arg(qt->pluginPath().nativePath())
|
||||
.arg(qt->hostBinPath().nativePath())
|
||||
.arg(qt->qmlPath().nativePath())
|
||||
.arg(cmd->executable().osType() == OsTypeWindows ? u';' : u':'));
|
||||
.arg(cmd->executable().pathListSeparator()));
|
||||
}
|
||||
|
||||
if (auto toolChain = ToolchainKitAspect::cxxToolchain(kit)) {
|
||||
|