Merge remote-tracking branch 'origin/4.0'
Conflicts: src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp Change-Id: I6ae2d37290643d69390f679a54f7596782f3d97f
@@ -216,6 +216,30 @@ we thank the authors who made this possible:
|
|||||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
### Open Source tool for generating C++ code that classifies keywords (license MIT)
|
||||||
|
|
||||||
|
Roberto Raggi <roberto.raggi@gmail.com>
|
||||||
|
|
||||||
|
QtCreator/src/tools/3rdparty/cplusplus-keywordgen
|
||||||
|
|
||||||
|
Copyright (c) 2007 Roberto Raggi <roberto.raggi@gmail.com>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
### Botan, a C++ crypto library. Version 1.10.2
|
### Botan, a C++ crypto library. Version 1.10.2
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 35 KiB |
@@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
To suppress diagnostics, select \uicontrol {Suppress This Diagnostic} in the
|
To suppress diagnostics, select \uicontrol {Suppress This Diagnostic} in the
|
||||||
context menu. To view the suppression list for a project and to remove
|
context menu. To view the suppression list for a project and to remove
|
||||||
diagnostics from it, select \uicontrol {Clang Static Analyzer Settings} in
|
diagnostics from it, select \uicontrol {Clang Static Analyzer} in
|
||||||
the \uicontrol Projects mode.
|
the \uicontrol Projects mode.
|
||||||
|
|
||||||
\section1 Setting Up Clang Static Analyzer
|
\section1 Setting Up Clang Static Analyzer
|
||||||
|
|||||||
@@ -31,9 +31,11 @@
|
|||||||
|
|
||||||
\title Running Autotests
|
\title Running Autotests
|
||||||
|
|
||||||
\QC integrates the \l{Qt Test} framework for unit testing Qt based
|
\QC integrates the \l{Qt Test} framework and
|
||||||
applications and libraries. You can use \QC to build and
|
\l{https://github.com/google/googletest}{Google C++ Testing Framework} for
|
||||||
run autotests for your projects.
|
unit testing applications and libraries. You can use \QC to build and run
|
||||||
|
Qt tests, Qt Quick tests (QML-based Qt tests), and Google tests for your
|
||||||
|
projects.
|
||||||
|
|
||||||
\image qtcreator-autotests.png
|
\image qtcreator-autotests.png
|
||||||
|
|
||||||
@@ -41,18 +43,18 @@
|
|||||||
\uicontrol {About Plugins} > \uicontrol Utilities > \uicontrol {Auto Test}.
|
\uicontrol {About Plugins} > \uicontrol Utilities > \uicontrol {Auto Test}.
|
||||||
Restart \QC to be able to use the plugin.
|
Restart \QC to be able to use the plugin.
|
||||||
|
|
||||||
\section1 Creating Autotests
|
\section1 Creating Qt Tests
|
||||||
|
|
||||||
You can use a wizard to create projects that contain autotests:
|
You can use a wizard to create projects that contain Qt tests:
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
\li Select \uicontrol File > \uicontrol {New File or Project} >
|
\li Select \uicontrol File > \uicontrol {New File or Project} >
|
||||||
\uicontrol {Other Project} > \uicontrol {Auto Test} >
|
\uicontrol {Other Project} > \uicontrol {Auto Test} >
|
||||||
\uicontrol Choose to create a project with boilerplate code for an
|
\uicontrol Choose to create a project with boilerplate code for a
|
||||||
autotest.
|
Qt test.
|
||||||
|
|
||||||
\li In the \uicontrol {Project and Test Information} dialog, specify
|
\li In the \uicontrol {Project and Test Information} dialog, specify
|
||||||
settings for the project and autotest:
|
settings for the project and test:
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
|
|
||||||
@@ -72,7 +74,7 @@
|
|||||||
up the test.
|
up the test.
|
||||||
|
|
||||||
\li In the \uicontrol {Build auto tests} field, select
|
\li In the \uicontrol {Build auto tests} field, select
|
||||||
\uicontrol Always to always build the autotest when building
|
\uicontrol Always to always build the test when building
|
||||||
the project or \uicontrol {Debug Only} to only build it
|
the project or \uicontrol {Debug Only} to only build it
|
||||||
during debug builds.
|
during debug builds.
|
||||||
|
|
||||||
@@ -80,18 +82,78 @@
|
|||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\QC creates the autotest in the \c{tests\auto} directory in the project
|
\QC creates the test in the \c{tests\auto} directory in the project
|
||||||
directory. Edit the .cpp file to add private slots for each test
|
directory. Edit the .cpp file to add private slots for each test
|
||||||
function in your test. For more information about creating autotests, see
|
function in your test. For more information about creating Qt tests, see
|
||||||
\l{Creating a Test}.
|
\l{Creating a Test}.
|
||||||
|
|
||||||
\section1 Building and Running Autotests
|
\section1 Setting Up the Google C++ Testing Framework
|
||||||
|
|
||||||
To build and run autotests:
|
To build and run Google tests, you must have the Google C++ Testing
|
||||||
|
framework installed and configured on the development host. You can either
|
||||||
|
clone it from Git Hub or install it from an installation package.
|
||||||
|
|
||||||
|
To configure a project to use a cloned Google testing framework, edit the
|
||||||
|
\c INCLUDEPATH variable in the project file (.pro) to include the source
|
||||||
|
and \c include folders of Google Test's \c googletest and \c googlemock.
|
||||||
|
Usually, you need to add the following subfolders:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \c googletest
|
||||||
|
\li \c googlemock
|
||||||
|
\li \c googletest/include
|
||||||
|
\li \c googlemock/include
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
You also need to add the necessary files to the \c SOURCES variable. For
|
||||||
|
example:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \c googletest/src/gtest-all.cc
|
||||||
|
\li \c googlemock/src/gmock-all.cc
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
To configure a project to use an installed Google testing framework package,
|
||||||
|
add the following include paths to the .pro file:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \c <googletest_install_path>/include/gtest
|
||||||
|
\li \c <googletest_install_path>/include/gmock
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
Then add linker options to be able to find the libraries and to link against
|
||||||
|
them. For example, for qmake based projects, you typically need to add the
|
||||||
|
following values to the .pro file:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \c {LIBS += -lgtest -L<path_to_gtest_lib>}
|
||||||
|
\li \c {LIBS += -lgmock -L<path_to_gmock_lib>}
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
To specify settings for running Google tests, select \uicontrol Tools >
|
||||||
|
\uicontrol Options > \uicontrol {Test Settings}.
|
||||||
|
|
||||||
|
\image qtcreator-autotests-options.png
|
||||||
|
|
||||||
|
To run disabled tests, select the \uicontrol {Run disabled tests} check box.
|
||||||
|
|
||||||
|
To run several iterations of the tests, select the \uicontrol {Repeat tests}
|
||||||
|
check box and enter the number of times the tests should be run in the
|
||||||
|
\uicontrol Iterations field. To make sure that the tests are independent and
|
||||||
|
repeatable, you can run them in a different order each time by selecting the
|
||||||
|
\uicontrol {Shuffle tests} check box.
|
||||||
|
|
||||||
|
For more information about creating Google tests, see the
|
||||||
|
\l{https://github.com/google/googletest/blob/master/googletest/docs/Primer.md}
|
||||||
|
{Google Test Primer}.
|
||||||
|
|
||||||
|
\section1 Building and Running Tests
|
||||||
|
|
||||||
|
To build and run tests:
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
|
|
||||||
\li Open a project that contains autotests.
|
\li Open a project that contains tests.
|
||||||
|
|
||||||
\li In the \uicontrol {Test Results} output pane, select
|
\li In the \uicontrol {Test Results} output pane, select
|
||||||
\inlineimage qtcreator-run.png
|
\inlineimage qtcreator-run.png
|
||||||
@@ -109,9 +171,14 @@
|
|||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
If a test takes more than a minute to execute, the default timeout might
|
If a test takes more than a minute to execute, the default timeout might
|
||||||
stop the test execution. To increase the timeout, select \uicontrol Tools >
|
stop the test execution. To increase the timeout, select \uicontrol Tools >
|
||||||
\uicontrol Options > \uicontrol {Test Settings}.
|
\uicontrol Options > \uicontrol {Test Settings}.
|
||||||
|
|
||||||
|
\QC scans the project for tests when you open the project and updates the
|
||||||
|
test list when you edit tests. To only update the test list when the
|
||||||
|
\uicontrol Tests view or the \uicontrol {Test Results} output pane is open,
|
||||||
|
deselect the \uicontrol {Always parse current project for tests} check box.
|
||||||
|
|
||||||
The code inside a benchmark test is measured, and possibly also repeated
|
The code inside a benchmark test is measured, and possibly also repeated
|
||||||
several times in order to get an accurate measurement. This depends on the
|
several times in order to get an accurate measurement. This depends on the
|
||||||
measurement back-end that you can select in \uicontrol {Test Settings}:
|
measurement back-end that you can select in \uicontrol {Test Settings}:
|
||||||
|
|||||||
@@ -491,7 +491,7 @@
|
|||||||
To determine whether the keywords in the whole project or in the current
|
To determine whether the keywords in the whole project or in the current
|
||||||
file are displayed by default, select \uicontrol {Scanning scope}.
|
file are displayed by default, select \uicontrol {Scanning scope}.
|
||||||
|
|
||||||
To exclude files from scanning, select \uicontrol {To-Do Settings} in the
|
To exclude files from scanning, select \uicontrol {To-Do} in the
|
||||||
\uicontrol Projects mode. Select \uicontrol Add and enter a regular
|
\uicontrol Projects mode. Select \uicontrol Add and enter a regular
|
||||||
expression that matches the path to files to exclude. Use a forward slash
|
expression that matches the path to files to exclude. Use a forward slash
|
||||||
(/) as a separator in the path also on Windows.
|
(/) as a separator in the path also on Windows.
|
||||||
@@ -523,6 +523,8 @@
|
|||||||
|
|
||||||
\list
|
\list
|
||||||
|
|
||||||
|
\li Export SVG images to pixmaps
|
||||||
|
|
||||||
\li Switch between background and outline modes
|
\li Switch between background and outline modes
|
||||||
|
|
||||||
\li Zoom in and out
|
\li Zoom in and out
|
||||||
@@ -535,6 +537,13 @@
|
|||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
\section2 Exporting SVG Images
|
||||||
|
|
||||||
|
If you receive a freely scalable icon in the SVG format from an UI designer,
|
||||||
|
you can export it to several images of different sizes to create a set of
|
||||||
|
pixmaps. You can then use QIcon::addPixmap() to add the pixmaps to icons in
|
||||||
|
different modes and states.
|
||||||
|
|
||||||
\section1 Navigating with Keyboard
|
\section1 Navigating with Keyboard
|
||||||
|
|
||||||
\QC caters not only to developers who are used to using the mouse,
|
\QC caters not only to developers who are used to using the mouse,
|
||||||
|
|||||||
@@ -211,7 +211,7 @@
|
|||||||
|
|
||||||
With Git and Subversion, the diff is displayed side-by-side in a \l{Comparing Files}
|
With Git and Subversion, the diff is displayed side-by-side in a \l{Comparing Files}
|
||||||
{diff editor} by default. To use the inline diff view instead, select the
|
{diff editor} by default. To use the inline diff view instead, select the
|
||||||
\uicontrol {Switch to Text Diff Editor} option from the toolbar. In the inline
|
\uicontrol {Switch to Text Diff Editor} (1) option from the toolbar. In the inline
|
||||||
diff view, you can use context menu commands to apply, revert, stage, and
|
diff view, you can use context menu commands to apply, revert, stage, and
|
||||||
unstage hunks, as well as send them to a code pasting service.
|
unstage hunks, as well as send them to a code pasting service.
|
||||||
|
|
||||||
@@ -241,13 +241,15 @@
|
|||||||
Display the versioning history of a file by selecting \uicontrol{Log}
|
Display the versioning history of a file by selecting \uicontrol{Log}
|
||||||
or \uicontrol{Filelog}. Typically, the log output contains the date, the commit
|
or \uicontrol{Filelog}. Typically, the log output contains the date, the commit
|
||||||
message, and a change or revision identifier. Click on the identifier to
|
message, and a change or revision identifier. Click on the identifier to
|
||||||
display a description of the change including the diff.
|
display a description of the change including the diff in the
|
||||||
|
\uicontrol {Git Show} view.
|
||||||
|
|
||||||
|
\image qtcreator-vcs-show.png
|
||||||
|
|
||||||
Right-clicking on an identifier brings up a context menu that lets you
|
Right-clicking on an identifier brings up a context menu that lets you
|
||||||
show annotation views of previous versions (see \l{Annotating Files}).
|
show annotation views of previous versions (see \l{Annotating Files}).
|
||||||
With Git you can also choose to cherry-pick or revert a change.
|
With Git you can also choose to cherry-pick or revert a change.
|
||||||
|
|
||||||
\image qtcreator-vcs-log.png
|
|
||||||
|
|
||||||
\section2 Annotating Files
|
\section2 Annotating Files
|
||||||
|
|
||||||
Annotation views are obtained by selecting \uicontrol{Annotate} or \uicontrol{Blame}.
|
Annotation views are obtained by selecting \uicontrol{Annotate} or \uicontrol{Blame}.
|
||||||
|
|||||||
@@ -108,8 +108,8 @@
|
|||||||
Themes enable you to customize the appearance of the \QC UI: widgets,
|
Themes enable you to customize the appearance of the \QC UI: widgets,
|
||||||
colors, and icons.
|
colors, and icons.
|
||||||
|
|
||||||
To switch from the default theme to a dark theme, select \uicontrol Tools >
|
To switch themes, select \uicontrol Tools > \uicontrol Options >
|
||||||
\uicontrol Options > \uicontrol Environment, and then select \uicontrol Dark
|
\uicontrol Environment, and then select a theme
|
||||||
in the \uicontrol Theme field.
|
in the \uicontrol Theme field.
|
||||||
|
|
||||||
You can use the \QC text and code editors with your favorite color scheme
|
You can use the \QC text and code editors with your favorite color scheme
|
||||||
|
|||||||
@@ -112,9 +112,9 @@
|
|||||||
execution. In addition, the QML Profiler enables you to profile
|
execution. In addition, the QML Profiler enables you to profile
|
||||||
Qt Quick applications.
|
Qt Quick applications.
|
||||||
|
|
||||||
\QC is integrated to the \l{Qt Test} framework for unit testing
|
\QC is integrated to the \l{Qt Test} and Google C++ Testing
|
||||||
Qt based applications and libraries. You can use \QC to build
|
frameworks for unit testing applications and libraries. You can
|
||||||
and run autotests.
|
use \QC to build and run autotests.
|
||||||
|
|
||||||
For more information, see \l{Testing}.
|
For more information, see \l{Testing}.
|
||||||
\li \b {Publishing}
|
\li \b {Publishing}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
\li \l{Running Autotests}
|
\li \l{Running Autotests}
|
||||||
|
|
||||||
You can use an experimental Auto Test plugin to build and run
|
You can use an experimental Auto Test plugin to build and run
|
||||||
autotests using \QC.
|
Qt tests, Qt Quick tests, and Google tests using \QC.
|
||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
|||||||
@@ -172,8 +172,8 @@
|
|||||||
|
|
||||||
\li Qt Auto Test
|
\li Qt Auto Test
|
||||||
|
|
||||||
Projects with boilerplate code for an autotest. For more
|
Projects with boilerplate code for a Qt test. For more
|
||||||
information, see \l {Creating Autotests}.
|
information, see \l {Creating Qt Tests}.
|
||||||
|
|
||||||
\li Qt Quick UI
|
\li Qt Quick UI
|
||||||
|
|
||||||
|
|||||||
@@ -95,9 +95,9 @@
|
|||||||
|
|
||||||
\li \l{Specifying Dependencies}{Dependencies}
|
\li \l{Specifying Dependencies}{Dependencies}
|
||||||
|
|
||||||
\li \l{Using Clang Static Analyzer}{Clang Static Analyzer Settings}
|
\li \l{Using Clang Static Analyzer}{Clang Static Analyzer}
|
||||||
|
|
||||||
\li \l{To-Do List}{To-Do Settings} (experimental)
|
\li \l{To-Do List}{To-Do} (experimental)
|
||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
# STATIC_BASE - base directory for the files listed in STATIC_FILES
|
# STATIC_BASE - base directory for the files listed in STATIC_FILES
|
||||||
# STATIC_FILES - list of files to be deployed
|
# STATIC_FILES - list of files to be deployed
|
||||||
|
|
||||||
include(../../qtcreator.pri)
|
include(qtcreator.pri)
|
||||||
|
|
||||||
# used in custom compilers which just copy files
|
# used in custom compilers which just copy files
|
||||||
defineReplace(stripStaticBase) {
|
defineReplace(stripStaticBase) {
|
||||||
@@ -429,6 +429,8 @@ class DumperBase:
|
|||||||
|
|
||||||
# Hex encoding operating on str or bytes, return str.
|
# Hex encoding operating on str or bytes, return str.
|
||||||
def hexencode(self, s):
|
def hexencode(self, s):
|
||||||
|
if s is None:
|
||||||
|
s = ''
|
||||||
if sys.version_info[0] == 2:
|
if sys.version_info[0] == 2:
|
||||||
return s.encode("hex")
|
return s.encode("hex")
|
||||||
if isinstance(s, str):
|
if isinstance(s, str):
|
||||||
@@ -1049,12 +1051,23 @@ class DumperBase:
|
|||||||
|
|
||||||
# This is shared by pointer and array formatting.
|
# This is shared by pointer and array formatting.
|
||||||
def tryPutSimpleFormattedPointer(self, value, typeName, innerTypeName, displayFormat, limit):
|
def tryPutSimpleFormattedPointer(self, value, typeName, innerTypeName, displayFormat, limit):
|
||||||
if displayFormat == AutomaticFormat and innerTypeName == "char":
|
if displayFormat == AutomaticFormat:
|
||||||
# Use Latin1 as default for char *.
|
if innerTypeName == "char":
|
||||||
self.putType(typeName)
|
# Use UTF-8 as default for char *.
|
||||||
(elided, data) = self.encodeCArray(value, 1, limit)
|
self.putType(typeName)
|
||||||
self.putValue(data, "latin1", elided=elided)
|
(elided, data) = self.encodeCArray(value, 1, limit)
|
||||||
return True
|
self.putValue(data, "utf8", elided=elided)
|
||||||
|
return True
|
||||||
|
|
||||||
|
if innerTypeName == "wchar_t":
|
||||||
|
self.putType(typeName)
|
||||||
|
charSize = self.lookupType('wchar_t').sizeof
|
||||||
|
(elided, data) = self.encodeCArray(value, charSize, limit)
|
||||||
|
if charSize == 2:
|
||||||
|
self.putValue(data, "utf16", elided=elided)
|
||||||
|
else:
|
||||||
|
self.putValue(data, "ucs4", elided=elided)
|
||||||
|
return True
|
||||||
|
|
||||||
if displayFormat == Latin1StringFormat:
|
if displayFormat == Latin1StringFormat:
|
||||||
self.putType(typeName)
|
self.putType(typeName)
|
||||||
|
|||||||
@@ -285,7 +285,6 @@ class Dumper(DumperBase):
|
|||||||
self.autoDerefPointers = int(args.get("autoderef", "0"))
|
self.autoDerefPointers = int(args.get("autoderef", "0"))
|
||||||
self.partialUpdate = int(args.get("partial", "0"))
|
self.partialUpdate = int(args.get("partial", "0"))
|
||||||
self.fallbackQtVersion = 0x50200
|
self.fallbackQtVersion = 0x50200
|
||||||
self.sortStructMembers = bool(args.get("sortstructs", True))
|
|
||||||
|
|
||||||
#warn("NAMESPACE: '%s'" % self.qtNamespace())
|
#warn("NAMESPACE: '%s'" % self.qtNamespace())
|
||||||
#warn("EXPANDED INAMES: %s" % self.expandedINames)
|
#warn("EXPANDED INAMES: %s" % self.expandedINames)
|
||||||
@@ -436,7 +435,6 @@ class Dumper(DumperBase):
|
|||||||
# Don't bother. It's only supplementary information anyway.
|
# Don't bother. It's only supplementary information anyway.
|
||||||
pass
|
pass
|
||||||
|
|
||||||
locals.sort(key = lambda item: item.name)
|
|
||||||
for item in locals:
|
for item in locals:
|
||||||
value = self.downcast(item.value) if self.useDynamicType else item.value
|
value = self.downcast(item.value) if self.useDynamicType else item.value
|
||||||
with OutputSafer(self):
|
with OutputSafer(self):
|
||||||
@@ -1144,6 +1142,7 @@ class Dumper(DumperBase):
|
|||||||
|
|
||||||
if self.currentIName in self.expandedINames:
|
if self.currentIName in self.expandedINames:
|
||||||
innerType = None
|
innerType = None
|
||||||
|
self.put('sortable="1"')
|
||||||
with Children(self, 1, childType=innerType):
|
with Children(self, 1, childType=innerType):
|
||||||
self.putFields(value)
|
self.putFields(value)
|
||||||
if not self.showQObjectNames:
|
if not self.showQObjectNames:
|
||||||
@@ -1215,15 +1214,6 @@ class Dumper(DumperBase):
|
|||||||
|
|
||||||
def putFields(self, value, dumpBase = True):
|
def putFields(self, value, dumpBase = True):
|
||||||
fields = value.type.fields()
|
fields = value.type.fields()
|
||||||
if self.sortStructMembers:
|
|
||||||
def sortOrder(field):
|
|
||||||
if field.is_base_class:
|
|
||||||
return 0
|
|
||||||
if field.name and field.name.startswith("_vptr."):
|
|
||||||
return 1
|
|
||||||
return 2
|
|
||||||
fields.sort(key = lambda field: "%d%s" % (sortOrder(field), field.name))
|
|
||||||
|
|
||||||
#warn("TYPE: %s" % value.type)
|
#warn("TYPE: %s" % value.type)
|
||||||
#warn("FIELDS: %s" % fields)
|
#warn("FIELDS: %s" % fields)
|
||||||
baseNumber = 0
|
baseNumber = 0
|
||||||
@@ -1257,6 +1247,7 @@ class Dumper(DumperBase):
|
|||||||
# int (**)(void)
|
# int (**)(void)
|
||||||
n = 100
|
n = 100
|
||||||
self.putType(" ")
|
self.putType(" ")
|
||||||
|
self.put('sortgroup="1"')
|
||||||
self.putValue(value[field.name])
|
self.putValue(value[field.name])
|
||||||
self.putNumChild(n)
|
self.putNumChild(n)
|
||||||
if self.isExpanded():
|
if self.isExpanded():
|
||||||
@@ -1280,6 +1271,7 @@ class Dumper(DumperBase):
|
|||||||
baseNumber += 1
|
baseNumber += 1
|
||||||
with UnnamedSubItem(self, "@%d" % baseNumber):
|
with UnnamedSubItem(self, "@%d" % baseNumber):
|
||||||
baseValue = value.cast(field.type)
|
baseValue = value.cast(field.type)
|
||||||
|
self.put('sortgroup="2"')
|
||||||
self.putBaseClassName(field.name)
|
self.putBaseClassName(field.name)
|
||||||
self.putAddress(baseValue.address)
|
self.putAddress(baseValue.address)
|
||||||
self.putItem(baseValue, False)
|
self.putItem(baseValue, False)
|
||||||
|
|||||||
@@ -1092,6 +1092,7 @@ class Dumper(DumperBase):
|
|||||||
self.putQObjectNameValue(value)
|
self.putQObjectNameValue(value)
|
||||||
|
|
||||||
if self.currentIName in self.expandedINames:
|
if self.currentIName in self.expandedINames:
|
||||||
|
self.put('sortable="1"')
|
||||||
with Children(self):
|
with Children(self):
|
||||||
self.putFields(value)
|
self.putFields(value)
|
||||||
if not self.showQObjectNames:
|
if not self.showQObjectNames:
|
||||||
@@ -1134,8 +1135,6 @@ class Dumper(DumperBase):
|
|||||||
baseObject = value.Cast(baseClass)
|
baseObject = value.Cast(baseClass)
|
||||||
baseObjects.append(ChildItem(baseClass.GetName(), baseObject))
|
baseObjects.append(ChildItem(baseClass.GetName(), baseObject))
|
||||||
|
|
||||||
if self.sortStructMembers:
|
|
||||||
baseObjects.sort(key = lambda baseObject: str(baseObject.name))
|
|
||||||
for i in xrange(len(baseObjects)):
|
for i in xrange(len(baseObjects)):
|
||||||
baseObject = baseObjects[i]
|
baseObject = baseObjects[i]
|
||||||
with UnnamedSubItem(self, "@%d" % (i + 1)):
|
with UnnamedSubItem(self, "@%d" % (i + 1)):
|
||||||
@@ -1147,8 +1146,6 @@ class Dumper(DumperBase):
|
|||||||
if memberCount > 10000:
|
if memberCount > 10000:
|
||||||
memberCount = 10000
|
memberCount = 10000
|
||||||
children = [value.GetChildAtIndex(memberBase + i) for i in xrange(memberCount)]
|
children = [value.GetChildAtIndex(memberBase + i) for i in xrange(memberCount)]
|
||||||
if self.sortStructMembers:
|
|
||||||
children.sort(key = lambda child: str(child.GetName()))
|
|
||||||
for child in children:
|
for child in children:
|
||||||
# Only needed in the QVariant4 test.
|
# Only needed in the QVariant4 test.
|
||||||
if int(child.GetLoadAddress()) == 0xffffffffffffffff:
|
if int(child.GetLoadAddress()) == 0xffffffffffffffff:
|
||||||
@@ -1169,7 +1166,6 @@ class Dumper(DumperBase):
|
|||||||
|
|
||||||
self.expandedINames = set(args.get('expanded', []))
|
self.expandedINames = set(args.get('expanded', []))
|
||||||
self.autoDerefPointers = int(args.get('autoderef', '0'))
|
self.autoDerefPointers = int(args.get('autoderef', '0'))
|
||||||
self.sortStructMembers = bool(args.get('sortstructs', True));
|
|
||||||
self.useDynamicType = int(args.get('dyntype', '0'))
|
self.useDynamicType = int(args.get('dyntype', '0'))
|
||||||
self.useFancy = int(args.get('fancy', '0'))
|
self.useFancy = int(args.get('fancy', '0'))
|
||||||
self.passExceptions = int(args.get('passexceptions', '0'))
|
self.passExceptions = int(args.get('passexceptions', '0'))
|
||||||
@@ -1390,12 +1386,12 @@ class Dumper(DumperBase):
|
|||||||
elif eventType == lldb.SBProcess.eBroadcastBitSTDOUT:
|
elif eventType == lldb.SBProcess.eBroadcastBitSTDOUT:
|
||||||
# FIXME: Size?
|
# FIXME: Size?
|
||||||
msg = self.process.GetSTDOUT(1024)
|
msg = self.process.GetSTDOUT(1024)
|
||||||
self.report('output={channel="stdout",data="%s"}'
|
if msg is not None:
|
||||||
% self.hexencode(msg))
|
self.report('output={channel="stdout",data="%s"}' % self.hexencode(msg))
|
||||||
elif eventType == lldb.SBProcess.eBroadcastBitSTDERR:
|
elif eventType == lldb.SBProcess.eBroadcastBitSTDERR:
|
||||||
msg = self.process.GetSTDERR(1024)
|
msg = self.process.GetSTDERR(1024)
|
||||||
self.report('output={channel="stderr",data="%s"}'
|
if msg is not None:
|
||||||
% self.hexencode(msg))
|
self.report('output={channel="stderr",data="%s"}' % self.hexencode(msg))
|
||||||
elif eventType == lldb.SBProcess.eBroadcastBitProfileData:
|
elif eventType == lldb.SBProcess.eBroadcastBitProfileData:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -82,6 +82,22 @@ def qdump__QByteArrayData(d, value):
|
|||||||
d.putIntItem("size", size)
|
d.putIntItem("size", size)
|
||||||
d.putIntItem("alloc", alloc)
|
d.putIntItem("alloc", alloc)
|
||||||
|
|
||||||
|
|
||||||
|
def qdump__QBitArray(d, value):
|
||||||
|
data, basize, alloc = d.byteArrayDataHelper(d.extractPointer(value["d"]))
|
||||||
|
unused = d.extractByte(data)
|
||||||
|
size = basize * 8 - unused
|
||||||
|
d.putItemCount(size)
|
||||||
|
if d.isExpanded():
|
||||||
|
with Children(d, size, maxNumChild=10000):
|
||||||
|
for i in d.childRange():
|
||||||
|
q = data + 1 + int(i / 8)
|
||||||
|
with SubItem(d, i):
|
||||||
|
d.putValue((int(d.extractPointer(q)) >> (i % 8)) & 1)
|
||||||
|
d.putType("bool")
|
||||||
|
d.putNumChild(0)
|
||||||
|
|
||||||
|
|
||||||
def qdump__QChar(d, value):
|
def qdump__QChar(d, value):
|
||||||
d.putValue(int(value["ucs"]))
|
d.putValue(int(value["ucs"]))
|
||||||
d.putNumChild(0)
|
d.putNumChild(0)
|
||||||
|
|||||||
@@ -750,6 +750,15 @@ def qdump__std____debug__unordered_set(d, value):
|
|||||||
qdump__std__unordered_set(d, value)
|
qdump__std__unordered_set(d, value)
|
||||||
|
|
||||||
|
|
||||||
|
def qform__std__valarray():
|
||||||
|
return arrayForms()
|
||||||
|
|
||||||
|
def qdump__std__valarray(d, value):
|
||||||
|
size = value["_M_size"]
|
||||||
|
d.putItemCount(size)
|
||||||
|
d.putPlotData(value["_M_data"], size, d.templateArgument(value.type, 0))
|
||||||
|
|
||||||
|
|
||||||
def qform__std__vector():
|
def qform__std__vector():
|
||||||
return arrayForms()
|
return arrayForms()
|
||||||
|
|
||||||
|
|||||||
@@ -1049,7 +1049,8 @@ InformationChangedCommand NodeInstanceServer::createAllInformationChangedCommand
|
|||||||
|
|
||||||
static bool supportedVariantType(int type)
|
static bool supportedVariantType(int type)
|
||||||
{
|
{
|
||||||
return type < int(QVariant::UserType) && type != QMetaType::QObjectStar;
|
return type < int(QVariant::UserType) && type != QMetaType::QObjectStar
|
||||||
|
&& type != QMetaType::QModelIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QList<ServerNodeInstance> &instanceList) const
|
ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QList<ServerNodeInstance> &instanceList) const
|
||||||
|
|||||||
@@ -1,5 +1,29 @@
|
|||||||
INCLUDEPATH += $$PWD/
|
INCLUDEPATH += $$PWD/
|
||||||
|
|
||||||
|
# in case we are building the puppet inside qtcreator we don't have the qtcreator.pri where this function comes from
|
||||||
|
defineTest(minQtVersion) {
|
||||||
|
maj = $$1
|
||||||
|
min = $$2
|
||||||
|
patch = $$3
|
||||||
|
isEqual(QT_MAJOR_VERSION, $$maj) {
|
||||||
|
isEqual(QT_MINOR_VERSION, $$min) {
|
||||||
|
isEqual(QT_PATCH_VERSION, $$patch) {
|
||||||
|
return(true)
|
||||||
|
}
|
||||||
|
greaterThan(QT_PATCH_VERSION, $$patch) {
|
||||||
|
return(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
greaterThan(QT_MINOR_VERSION, $$min) {
|
||||||
|
return(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
greaterThan(QT_MAJOR_VERSION, $$maj) {
|
||||||
|
return(true)
|
||||||
|
}
|
||||||
|
return(false)
|
||||||
|
}
|
||||||
|
|
||||||
minQtVersion(5, 6, 0) {
|
minQtVersion(5, 6, 0) {
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
$$PWD/qmlprivategate.h
|
$$PWD/qmlprivategate.h
|
||||||
|
|||||||
@@ -1,25 +1,4 @@
|
|||||||
TEMPLATE = app
|
TEMPLATE = aux
|
||||||
TARGET = phony_target
|
|
||||||
CONFIG -= qt sdk separate_debug_info gdb_dwarf_index
|
|
||||||
QT =
|
|
||||||
LIBS =
|
|
||||||
macx:CONFIG -= app_bundle
|
|
||||||
|
|
||||||
isEmpty(vcproj) {
|
|
||||||
QMAKE_LINK = @: IGNORE THIS LINE
|
|
||||||
OBJECTS_DIR =
|
|
||||||
win32:CONFIG -= embed_manifest_exe
|
|
||||||
} else {
|
|
||||||
CONFIG += console
|
|
||||||
PHONY_DEPS = .
|
|
||||||
phony_src.input = PHONY_DEPS
|
|
||||||
phony_src.output = phony.c
|
|
||||||
phony_src.variable_out = GENERATED_SOURCES
|
|
||||||
phony_src.commands = echo int main() { return 0; } > phony.c
|
|
||||||
phony_src.name = CREATE phony.c
|
|
||||||
phony_src.CONFIG += combine
|
|
||||||
QMAKE_EXTRA_COMPILERS += phony_src
|
|
||||||
}
|
|
||||||
|
|
||||||
STATIC_BASE = $$PWD
|
STATIC_BASE = $$PWD
|
||||||
|
|
||||||
@@ -52,7 +31,7 @@ for(data_dir, DATA_DIRS) {
|
|||||||
STATIC_FILES += $$file
|
STATIC_FILES += $$file
|
||||||
}
|
}
|
||||||
|
|
||||||
include(static.pri)
|
include(../../qtcreatordata.pri)
|
||||||
|
|
||||||
SRCRESOURCEDIR = $$IDE_SOURCE_TREE/src/share/qtcreator/
|
SRCRESOURCEDIR = $$IDE_SOURCE_TREE/src/share/qtcreator/
|
||||||
defineReplace(stripSrcResourceDir) {
|
defineReplace(stripSrcResourceDir) {
|
||||||
|
|||||||
@@ -71,6 +71,18 @@ IconsModeDebugActiveColor=ff99aaef
|
|||||||
IconsModeProjetcsActiveColor=ff80c342
|
IconsModeProjetcsActiveColor=ff80c342
|
||||||
IconsModeAnalyzeActiveColor=ff43adee
|
IconsModeAnalyzeActiveColor=ff43adee
|
||||||
IconsModeHelpActiveColor=fff4be04
|
IconsModeHelpActiveColor=fff4be04
|
||||||
|
IconsCodeModelKeywordColor=ffaaaaaa
|
||||||
|
IconsCodeModelClassColor=ffc0b550
|
||||||
|
IconsCodeModelStructColor=ff53b053
|
||||||
|
IconsCodeModelFunctionColor=ffd34373
|
||||||
|
IconsCodeModelVariableColor=ff2bbbcc
|
||||||
|
IconsCodeModelEnumColor=ffc0b550
|
||||||
|
IconsCodeModelMacroColor=ff477ba0
|
||||||
|
IconsCodeModelAttributeColor=ff316511
|
||||||
|
IconsCodeModelUniformColor=ff994899
|
||||||
|
IconsCodeModelVaryingColor=ffa08833
|
||||||
|
IconsCodeModelOverlayBackgroundColor=88000000
|
||||||
|
IconsCodeModelOverlayForegroundColor=ffdcdcdc
|
||||||
InfoBarBackground=ff505000
|
InfoBarBackground=ff505000
|
||||||
InfoBarText=text
|
InfoBarText=text
|
||||||
MenuBarEmptyAreaBackgroundColor=shadowBackground
|
MenuBarEmptyAreaBackgroundColor=shadowBackground
|
||||||
|
|||||||
@@ -65,6 +65,18 @@ IconsModeDebugActiveColor=ffffffff
|
|||||||
IconsModeProjetcsActiveColor=ffffffff
|
IconsModeProjetcsActiveColor=ffffffff
|
||||||
IconsModeAnalyzeActiveColor=ffffffff
|
IconsModeAnalyzeActiveColor=ffffffff
|
||||||
IconsModeHelpActiveColor=ffffffff
|
IconsModeHelpActiveColor=ffffffff
|
||||||
|
IconsCodeModelKeywordColor=ff777777
|
||||||
|
IconsCodeModelClassColor=ffc0b550
|
||||||
|
IconsCodeModelStructColor=ff53b053
|
||||||
|
IconsCodeModelFunctionColor=fff36393
|
||||||
|
IconsCodeModelVariableColor=ff2bbbcc
|
||||||
|
IconsCodeModelEnumColor=ffc0b550
|
||||||
|
IconsCodeModelMacroColor=ff476ba0
|
||||||
|
IconsCodeModelAttributeColor=ff316511
|
||||||
|
IconsCodeModelUniformColor=ff994899
|
||||||
|
IconsCodeModelVaryingColor=ffa08833
|
||||||
|
IconsCodeModelOverlayBackgroundColor=70ffffff
|
||||||
|
IconsCodeModelOverlayForegroundColor=ff232425
|
||||||
InfoBarBackground=ffffffe1
|
InfoBarBackground=ffffffe1
|
||||||
InfoBarText=ff000000
|
InfoBarText=ff000000
|
||||||
MenuBarEmptyAreaBackgroundColor=ffff0000
|
MenuBarEmptyAreaBackgroundColor=ffff0000
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ text=ff000000
|
|||||||
textDisabled=55000000
|
textDisabled=55000000
|
||||||
toolBarItem=b6fbfdff
|
toolBarItem=b6fbfdff
|
||||||
toolBarItemDisabled=60a4a6a8
|
toolBarItemDisabled=60a4a6a8
|
||||||
|
fancyBarsNormalTextColor=ffffffff
|
||||||
|
fancyBarsBoldTextColor=b6fbfdff
|
||||||
hoverBackground=22ffffff
|
hoverBackground=22ffffff
|
||||||
selectedBackground=66000000
|
selectedBackground=66000000
|
||||||
normalBackground=ffffffff
|
normalBackground=ffffffff
|
||||||
@@ -29,7 +31,7 @@ BadgeLabelTextColorUnchecked=ffffffff
|
|||||||
CanceledSearchTextColor=ff0000
|
CanceledSearchTextColor=ff0000
|
||||||
ComboBoxArrowColor=toolBarItem
|
ComboBoxArrowColor=toolBarItem
|
||||||
ComboBoxArrowColorDisabled=toolBarItemDisabled
|
ComboBoxArrowColorDisabled=toolBarItemDisabled
|
||||||
ComboBoxTextColor=toolBarItem
|
ComboBoxTextColor=fancyBarsNormalTextColor
|
||||||
DetailsButtonBackgroundColorHover=b4ffffff
|
DetailsButtonBackgroundColorHover=b4ffffff
|
||||||
DetailsWidgetBackgroundColor=28ffffff
|
DetailsWidgetBackgroundColor=28ffffff
|
||||||
DockWidgetResizeHandleColor=splitter
|
DockWidgetResizeHandleColor=splitter
|
||||||
@@ -46,8 +48,8 @@ FancyToolBarSeparatorColor=toolBarItemDisabled
|
|||||||
FancyTabBarBackgroundColor=shadowBackground
|
FancyTabBarBackgroundColor=shadowBackground
|
||||||
FancyTabWidgetDisabledSelectedTextColor=toolBarItemDisabled
|
FancyTabWidgetDisabledSelectedTextColor=toolBarItemDisabled
|
||||||
FancyTabWidgetDisabledUnselectedTextColor=toolBarItemDisabled
|
FancyTabWidgetDisabledUnselectedTextColor=toolBarItemDisabled
|
||||||
FancyTabWidgetEnabledSelectedTextColor=toolBarItem
|
FancyTabWidgetEnabledSelectedTextColor=fancyBarsBoldTextColor
|
||||||
FancyTabWidgetEnabledUnselectedTextColor=toolBarItem
|
FancyTabWidgetEnabledUnselectedTextColor=fancyBarsBoldTextColor
|
||||||
FancyToolButtonHoverColor=hoverBackground
|
FancyToolButtonHoverColor=hoverBackground
|
||||||
FancyToolButtonSelectedColor=selectedBackground
|
FancyToolButtonSelectedColor=selectedBackground
|
||||||
FutureProgressBackgroundColor=shadowBackground
|
FutureProgressBackgroundColor=shadowBackground
|
||||||
@@ -60,7 +62,7 @@ IconsWarningToolBarColor=fff2d76e
|
|||||||
IconsErrorColor=ffdf4f4f
|
IconsErrorColor=ffdf4f4f
|
||||||
IconsErrorToolBarColor=ffdb6f71
|
IconsErrorToolBarColor=ffdb6f71
|
||||||
IconsRunColor=dda4d576
|
IconsRunColor=dda4d576
|
||||||
IconsStopColor=dddb6f71
|
IconsStopColor=ddff8c8c
|
||||||
IconsDebugColor=toolBarItem
|
IconsDebugColor=toolBarItem
|
||||||
IconsInterruptColor=dd7488db
|
IconsInterruptColor=dd7488db
|
||||||
IconsNavigationArrowsColor=ffebc322
|
IconsNavigationArrowsColor=ffebc322
|
||||||
@@ -73,6 +75,18 @@ IconsModeDebugActiveColor=ff99aaef
|
|||||||
IconsModeProjetcsActiveColor=ff80c342
|
IconsModeProjetcsActiveColor=ff80c342
|
||||||
IconsModeAnalyzeActiveColor=ff43adee
|
IconsModeAnalyzeActiveColor=ff43adee
|
||||||
IconsModeHelpActiveColor=fff4be04
|
IconsModeHelpActiveColor=fff4be04
|
||||||
|
IconsCodeModelKeywordColor=ff777777
|
||||||
|
IconsCodeModelClassColor=ffc0b550
|
||||||
|
IconsCodeModelStructColor=ff53b053
|
||||||
|
IconsCodeModelFunctionColor=ffd34373
|
||||||
|
IconsCodeModelVariableColor=ff2bbbcc
|
||||||
|
IconsCodeModelEnumColor=ffc0b550
|
||||||
|
IconsCodeModelMacroColor=ff476ba0
|
||||||
|
IconsCodeModelAttributeColor=ff316511
|
||||||
|
IconsCodeModelUniformColor=ff994899
|
||||||
|
IconsCodeModelVaryingColor=ffa08833
|
||||||
|
IconsCodeModelOverlayBackgroundColor=70ffffff
|
||||||
|
IconsCodeModelOverlayForegroundColor=ff232425
|
||||||
InfoBarBackground=ffffffe1
|
InfoBarBackground=ffffffe1
|
||||||
InfoBarText=text
|
InfoBarText=text
|
||||||
MenuBarEmptyAreaBackgroundColor=shadowBackground
|
MenuBarEmptyAreaBackgroundColor=shadowBackground
|
||||||
@@ -89,11 +103,11 @@ PanelStatusBarBackgroundColor=shadowBackground
|
|||||||
PanelsWidgetSeparatorLineColor=0
|
PanelsWidgetSeparatorLineColor=0
|
||||||
PanelTextColorDark=text
|
PanelTextColorDark=text
|
||||||
PanelTextColorMid=ff666666
|
PanelTextColorMid=ff666666
|
||||||
PanelTextColorLight=toolBarItem
|
PanelTextColorLight=fancyBarsNormalTextColor
|
||||||
ProgressBarColorError=ffdb6f71
|
ProgressBarColorError=ffdb6f71
|
||||||
ProgressBarColorFinished=dda4d576
|
ProgressBarColorFinished=dda4d576
|
||||||
ProgressBarColorNormal=ff999999
|
ProgressBarColorNormal=ff999999
|
||||||
ProgressBarTitleColor=toolBarItem
|
ProgressBarTitleColor=fancyBarsBoldTextColor
|
||||||
ProgressBarBackgroundColor=a0606060
|
ProgressBarBackgroundColor=a0606060
|
||||||
SplitterColor=splitter
|
SplitterColor=splitter
|
||||||
TextColorDisabled=textDisabled
|
TextColorDisabled=textDisabled
|
||||||
@@ -124,8 +138,8 @@ OutputPanes_TestWarnTextColor=ffd0bb00
|
|||||||
OutputPanes_TestFatalTextColor=ff640000
|
OutputPanes_TestFatalTextColor=ff640000
|
||||||
OutputPanes_TestDebugTextColor=ff329696
|
OutputPanes_TestDebugTextColor=ff329696
|
||||||
OutputPaneButtonFlashColor=ffff0000
|
OutputPaneButtonFlashColor=ffff0000
|
||||||
OutputPaneToggleButtonTextColorChecked=toolBarItem
|
OutputPaneToggleButtonTextColorChecked=fancyBarsNormalTextColor
|
||||||
OutputPaneToggleButtonTextColorUnchecked=toolBarItem
|
OutputPaneToggleButtonTextColorUnchecked=fancyBarsNormalTextColor
|
||||||
|
|
||||||
Debugger_LogWindow_LogInput=ff00acac
|
Debugger_LogWindow_LogInput=ff00acac
|
||||||
Debugger_LogWindow_LogStatus=ff00875a
|
Debugger_LogWindow_LogStatus=ff00875a
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
TEMPLATE = aux
|
||||||
|
|
||||||
include(../../../qtcreator.pri)
|
include(../../../qtcreator.pri)
|
||||||
|
|
||||||
LANGUAGES = cs de fr ja pl ru sl uk zh_CN zh_TW
|
LANGUAGES = cs de fr ja pl ru sl uk zh_CN zh_TW
|
||||||
@@ -113,12 +115,6 @@ ts.commands = \
|
|||||||
echo \"rename the file and re-run \'qmake\'.\"
|
echo \"rename the file and re-run \'qmake\'.\"
|
||||||
QMAKE_EXTRA_TARGETS += ts
|
QMAKE_EXTRA_TARGETS += ts
|
||||||
|
|
||||||
TEMPLATE = app
|
|
||||||
TARGET = phony_target2
|
|
||||||
CONFIG -= qt sdk separate_debug_info gdb_dwarf_index
|
|
||||||
QT =
|
|
||||||
LIBS =
|
|
||||||
|
|
||||||
updateqm.input = TRANSLATIONS
|
updateqm.input = TRANSLATIONS
|
||||||
updateqm.output = $$IDE_DATA_PATH/translations/${QMAKE_FILE_BASE}.qm
|
updateqm.output = $$IDE_DATA_PATH/translations/${QMAKE_FILE_BASE}.qm
|
||||||
isEmpty(vcproj):updateqm.variable_out = PRE_TARGETDEPS
|
isEmpty(vcproj):updateqm.variable_out = PRE_TARGETDEPS
|
||||||
@@ -127,22 +123,6 @@ updateqm.name = LRELEASE ${QMAKE_FILE_IN}
|
|||||||
updateqm.CONFIG += no_link
|
updateqm.CONFIG += no_link
|
||||||
QMAKE_EXTRA_COMPILERS += updateqm
|
QMAKE_EXTRA_COMPILERS += updateqm
|
||||||
|
|
||||||
isEmpty(vcproj) {
|
|
||||||
QMAKE_LINK = @: IGNORE THIS LINE
|
|
||||||
OBJECTS_DIR =
|
|
||||||
win32:CONFIG -= embed_manifest_exe
|
|
||||||
} else {
|
|
||||||
CONFIG += console
|
|
||||||
PHONY_DEPS = .
|
|
||||||
phony_src.input = PHONY_DEPS
|
|
||||||
phony_src.output = phony.c
|
|
||||||
phony_src.variable_out = GENERATED_SOURCES
|
|
||||||
phony_src.commands = echo int main() { return 0; } > phony.c
|
|
||||||
phony_src.name = CREATE phony.c
|
|
||||||
phony_src.CONFIG += combine
|
|
||||||
QMAKE_EXTRA_COMPILERS += phony_src
|
|
||||||
}
|
|
||||||
|
|
||||||
qmfiles.files = $$prependAll(LANGUAGES, $$OUT_PWD/qtcreator_,.qm)
|
qmfiles.files = $$prependAll(LANGUAGES, $$OUT_PWD/qtcreator_,.qm)
|
||||||
qmfiles.path = $$INSTALL_DATA_PATH/translations
|
qmfiles.path = $$INSTALL_DATA_PATH/translations
|
||||||
qmfiles.CONFIG += no_check_exist
|
qmfiles.CONFIG += no_check_exist
|
||||||
|
|||||||
@@ -30,49 +30,24 @@
|
|||||||
#include <cplusplus/Symbols.h>
|
#include <cplusplus/Symbols.h>
|
||||||
#include <cplusplus/Type.h>
|
#include <cplusplus/Type.h>
|
||||||
|
|
||||||
|
#include <utils/icon.h>
|
||||||
|
|
||||||
using namespace CPlusPlus;
|
using namespace CPlusPlus;
|
||||||
using CPlusPlus::Icons;
|
using CPlusPlus::Icons;
|
||||||
|
|
||||||
Icons::Icons()
|
QIcon Icons::iconForSymbol(const Symbol *symbol)
|
||||||
: _classIcon(QLatin1String(":/codemodel/images/class.png")),
|
|
||||||
_structIcon(QLatin1String(":/codemodel/images/struct.png")),
|
|
||||||
_enumIcon(QLatin1String(":/codemodel/images/enum.png")),
|
|
||||||
_enumeratorIcon(QLatin1String(":/codemodel/images/enumerator.png")),
|
|
||||||
_funcPublicIcon(QLatin1String(":/codemodel/images/func.png")),
|
|
||||||
_funcProtectedIcon(QLatin1String(":/codemodel/images/func_prot.png")),
|
|
||||||
_funcPrivateIcon(QLatin1String(":/codemodel/images/func_priv.png")),
|
|
||||||
_funcPublicStaticIcon(QLatin1String(":/codemodel/images/func_st.png")),
|
|
||||||
_funcProtectedStaticIcon(QLatin1String(":/codemodel/images/func_prot_st.png")),
|
|
||||||
_funcPrivateStaticIcon(QLatin1String(":/codemodel/images/func_priv_st.png")),
|
|
||||||
_namespaceIcon(QLatin1String(":/codemodel/images/namespace.png")),
|
|
||||||
_varPublicIcon(QLatin1String(":/codemodel/images/var.png")),
|
|
||||||
_varProtectedIcon(QLatin1String(":/codemodel/images/var_prot.png")),
|
|
||||||
_varPrivateIcon(QLatin1String(":/codemodel/images/var_priv.png")),
|
|
||||||
_varPublicStaticIcon(QLatin1String(":/codemodel/images/var_st.png")),
|
|
||||||
_varProtectedStaticIcon(QLatin1String(":/codemodel/images/var_prot_st.png")),
|
|
||||||
_varPrivateStaticIcon(QLatin1String(":/codemodel/images/var_priv_st.png")),
|
|
||||||
_signalIcon(QLatin1String(":/codemodel/images/signal.png")),
|
|
||||||
_slotPublicIcon(QLatin1String(":/codemodel/images/slot.png")),
|
|
||||||
_slotProtectedIcon(QLatin1String(":/codemodel/images/slot_prot.png")),
|
|
||||||
_slotPrivateIcon(QLatin1String(":/codemodel/images/slot_priv.png")),
|
|
||||||
_keywordIcon(QLatin1String(":/codemodel/images/keyword.png")),
|
|
||||||
_macroIcon(QLatin1String(":/codemodel/images/macro.png"))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
QIcon Icons::iconForSymbol(const Symbol *symbol) const
|
|
||||||
{
|
{
|
||||||
return iconForType(iconTypeForSymbol(symbol));
|
return iconForType(iconTypeForSymbol(symbol));
|
||||||
}
|
}
|
||||||
|
|
||||||
QIcon Icons::keywordIcon() const
|
QIcon Icons::keywordIcon()
|
||||||
{
|
{
|
||||||
return _keywordIcon;
|
return iconForType(KeywordIconType);
|
||||||
}
|
}
|
||||||
|
|
||||||
QIcon Icons::macroIcon() const
|
QIcon Icons::macroIcon()
|
||||||
{
|
{
|
||||||
return _macroIcon;
|
return iconForType(MacroIconType);
|
||||||
}
|
}
|
||||||
|
|
||||||
Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol)
|
Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol)
|
||||||
@@ -141,55 +116,181 @@ Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol)
|
|||||||
return UnknownIconType;
|
return UnknownIconType;
|
||||||
}
|
}
|
||||||
|
|
||||||
QIcon Icons::iconForType(IconType type) const
|
QIcon Icons::iconForType(IconType type)
|
||||||
{
|
{
|
||||||
|
using namespace Utils;
|
||||||
|
|
||||||
|
static const IconMaskAndColor classRelationIcon {
|
||||||
|
QLatin1String(":/codemodel/images/classrelation.png"), Theme::IconsCodeModelOverlayForegroundColor};
|
||||||
|
static const IconMaskAndColor classRelationBackgroundIcon {
|
||||||
|
QLatin1String(":/codemodel/images/classrelationbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
|
||||||
|
static const IconMaskAndColor classMemberFunctionIcon {
|
||||||
|
QLatin1String(":/codemodel/images/classmemberfunction.png"), Theme::IconsCodeModelFunctionColor};
|
||||||
|
static const IconMaskAndColor classMemberVariableIcon {
|
||||||
|
QLatin1String(":/codemodel/images/classmembervariable.png"), Theme::IconsCodeModelVariableColor};
|
||||||
|
static const IconMaskAndColor functionIcon {
|
||||||
|
QLatin1String(":/codemodel/images/member.png"), Theme::IconsCodeModelFunctionColor};
|
||||||
|
static const IconMaskAndColor variableIcon {
|
||||||
|
QLatin1String(":/codemodel/images/member.png"), Theme::IconsCodeModelVariableColor};
|
||||||
|
static const IconMaskAndColor signalIcon {
|
||||||
|
QLatin1String(":/codemodel/images/signal.png"), Theme::IconsCodeModelFunctionColor};
|
||||||
|
static const IconMaskAndColor slotIcon {
|
||||||
|
QLatin1String(":/codemodel/images/slot.png"), Theme::IconsCodeModelFunctionColor};
|
||||||
|
static const IconMaskAndColor protectedIcon {
|
||||||
|
QLatin1String(":/codemodel/images/protected.png"), Theme::IconsCodeModelOverlayForegroundColor};
|
||||||
|
static const IconMaskAndColor protectedBackgroundIcon {
|
||||||
|
QLatin1String(":/codemodel/images/protectedbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
|
||||||
|
static const IconMaskAndColor privateIcon {
|
||||||
|
QLatin1String(":/codemodel/images/private.png"), Theme::IconsCodeModelOverlayForegroundColor};
|
||||||
|
static const IconMaskAndColor privateBackgroundIcon {
|
||||||
|
QLatin1String(":/codemodel/images/privatebackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
|
||||||
|
static const IconMaskAndColor staticIcon {
|
||||||
|
QLatin1String(":/codemodel/images/static.png"), Theme::IconsCodeModelOverlayForegroundColor};
|
||||||
|
static const IconMaskAndColor staticBackgroundIcon {
|
||||||
|
QLatin1String(":/codemodel/images/staticbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case ClassIconType:
|
case ClassIconType: {
|
||||||
return _classIcon;
|
const static QIcon icon(Icon({
|
||||||
case StructIconType:
|
classRelationBackgroundIcon, classRelationIcon,
|
||||||
return _structIcon;
|
{QLatin1String(":/codemodel/images/classparent.png"), Theme::IconsCodeModelClassColor},
|
||||||
case EnumIconType:
|
classMemberFunctionIcon, classMemberVariableIcon
|
||||||
return _enumIcon;
|
}, Icon::Tint).icon());
|
||||||
case EnumeratorIconType:
|
return icon;
|
||||||
return _enumeratorIcon;
|
}
|
||||||
case FuncPublicIconType:
|
case StructIconType: {
|
||||||
return _funcPublicIcon;
|
const static QIcon icon(Icon({
|
||||||
case FuncProtectedIconType:
|
classRelationBackgroundIcon, classRelationIcon,
|
||||||
return _funcProtectedIcon;
|
{QLatin1String(":/codemodel/images/classparent.png"), Theme::IconsCodeModelStructColor},
|
||||||
case FuncPrivateIconType:
|
classMemberFunctionIcon, classMemberVariableIcon
|
||||||
return _funcPrivateIcon;
|
}, Icon::Tint).icon());
|
||||||
case FuncPublicStaticIconType:
|
return icon;
|
||||||
return _funcPublicStaticIcon;
|
}
|
||||||
case FuncProtectedStaticIconType:
|
case EnumIconType: {
|
||||||
return _funcProtectedStaticIcon;
|
const static QIcon icon(Icon({
|
||||||
case FuncPrivateStaticIconType:
|
{QLatin1String(":/codemodel/images/enum.png"), Theme::IconsCodeModelEnumColor}
|
||||||
return _funcPrivateStaticIcon;
|
}, Icon::Tint).icon());
|
||||||
case NamespaceIconType:
|
return icon;
|
||||||
return _namespaceIcon;
|
}
|
||||||
case VarPublicIconType:
|
case EnumeratorIconType: {
|
||||||
return _varPublicIcon;
|
const static QIcon icon(Icon({
|
||||||
case VarProtectedIconType:
|
{QLatin1String(":/codemodel/images/enumerator.png"), Theme::IconsCodeModelEnumColor}
|
||||||
return _varProtectedIcon;
|
}, Icon::Tint).icon());
|
||||||
case VarPrivateIconType:
|
return icon;
|
||||||
return _varPrivateIcon;
|
}
|
||||||
case VarPublicStaticIconType:
|
case FuncPublicIconType: {
|
||||||
return _varPublicStaticIcon;
|
const static QIcon icon(Icon({
|
||||||
case VarProtectedStaticIconType:
|
functionIcon}, Icon::Tint).icon());
|
||||||
return _varProtectedStaticIcon;
|
return icon;
|
||||||
case VarPrivateStaticIconType:
|
}
|
||||||
return _varPrivateStaticIcon;
|
case FuncProtectedIconType: {
|
||||||
case SignalIconType:
|
const static QIcon icon(Icon({
|
||||||
return _signalIcon;
|
functionIcon, protectedBackgroundIcon, protectedIcon
|
||||||
case SlotPublicIconType:
|
}, Icon::Tint).icon());
|
||||||
return _slotPublicIcon;
|
return icon;
|
||||||
case SlotProtectedIconType:
|
}
|
||||||
return _slotProtectedIcon;
|
case FuncPrivateIconType: {
|
||||||
case SlotPrivateIconType:
|
const static QIcon icon(Icon({
|
||||||
return _slotPrivateIcon;
|
functionIcon, privateBackgroundIcon, privateIcon
|
||||||
case KeywordIconType:
|
}, Icon::Tint).icon());
|
||||||
return _keywordIcon;
|
return icon;
|
||||||
case MacroIconType:
|
}
|
||||||
return _macroIcon;
|
case FuncPublicStaticIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
functionIcon, staticBackgroundIcon, staticIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case FuncProtectedStaticIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
functionIcon, staticBackgroundIcon, staticIcon, protectedBackgroundIcon, protectedIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case FuncPrivateStaticIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
functionIcon, staticBackgroundIcon, staticIcon, privateBackgroundIcon, privateIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case NamespaceIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
{QLatin1String(":/codemodel/images/namespace.png"), Theme::IconsCodeModelKeywordColor}
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case VarPublicIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
variableIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case VarProtectedIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
variableIcon, protectedBackgroundIcon, protectedIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case VarPrivateIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
variableIcon, privateBackgroundIcon, privateIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case VarPublicStaticIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
variableIcon, staticBackgroundIcon, staticIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case VarProtectedStaticIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
variableIcon, staticBackgroundIcon, staticIcon, protectedBackgroundIcon, protectedIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case VarPrivateStaticIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
variableIcon, staticBackgroundIcon, staticIcon, privateBackgroundIcon, privateIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case SignalIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
signalIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case SlotPublicIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
slotIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case SlotProtectedIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
slotIcon, protectedBackgroundIcon, protectedIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case SlotPrivateIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
slotIcon, privateBackgroundIcon, privateIcon
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case KeywordIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
{QLatin1String(":/codemodel/images/keyword.png"), Theme::IconsCodeModelKeywordColor}
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
case MacroIconType: {
|
||||||
|
const static QIcon icon(Icon({
|
||||||
|
{QLatin1String(":/codemodel/images/macro.png"), Theme::IconsCodeModelMacroColor}
|
||||||
|
}, Icon::Tint).icon());
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,12 +36,10 @@ class Symbol;
|
|||||||
class CPLUSPLUS_EXPORT Icons
|
class CPLUSPLUS_EXPORT Icons
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Icons();
|
static QIcon iconForSymbol(const Symbol *symbol);
|
||||||
|
|
||||||
QIcon iconForSymbol(const Symbol *symbol) const;
|
static QIcon keywordIcon();
|
||||||
|
static QIcon macroIcon();
|
||||||
QIcon keywordIcon() const;
|
|
||||||
QIcon macroIcon() const;
|
|
||||||
|
|
||||||
enum IconType {
|
enum IconType {
|
||||||
ClassIconType = 0,
|
ClassIconType = 0,
|
||||||
@@ -71,32 +69,10 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
static IconType iconTypeForSymbol(const Symbol *symbol);
|
static IconType iconTypeForSymbol(const Symbol *symbol);
|
||||||
QIcon iconForType(IconType type) const;
|
static QIcon iconForType(IconType type);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QIcon _classIcon;
|
Icons() {}
|
||||||
QIcon _structIcon;
|
|
||||||
QIcon _enumIcon;
|
|
||||||
QIcon _enumeratorIcon;
|
|
||||||
QIcon _funcPublicIcon;
|
|
||||||
QIcon _funcProtectedIcon;
|
|
||||||
QIcon _funcPrivateIcon;
|
|
||||||
QIcon _funcPublicStaticIcon;
|
|
||||||
QIcon _funcProtectedStaticIcon;
|
|
||||||
QIcon _funcPrivateStaticIcon;
|
|
||||||
QIcon _namespaceIcon;
|
|
||||||
QIcon _varPublicIcon;
|
|
||||||
QIcon _varProtectedIcon;
|
|
||||||
QIcon _varPrivateIcon;
|
|
||||||
QIcon _varPublicStaticIcon;
|
|
||||||
QIcon _varProtectedStaticIcon;
|
|
||||||
QIcon _varPrivateStaticIcon;
|
|
||||||
QIcon _signalIcon;
|
|
||||||
QIcon _slotPublicIcon;
|
|
||||||
QIcon _slotProtectedIcon;
|
|
||||||
QIcon _slotPrivateIcon;
|
|
||||||
QIcon _keywordIcon;
|
|
||||||
QIcon _macroIcon;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace CPlusPlus
|
} // namespace CPlusPlus
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#include "Overview.h"
|
#include "Overview.h"
|
||||||
|
|
||||||
|
#include <cplusplus/Icons.h>
|
||||||
#include <cplusplus/Scope.h>
|
#include <cplusplus/Scope.h>
|
||||||
#include <cplusplus/Literals.h>
|
#include <cplusplus/Literals.h>
|
||||||
#include <cplusplus/Symbols.h>
|
#include <cplusplus/Symbols.h>
|
||||||
@@ -210,7 +211,7 @@ QVariant OverviewModel::data(const QModelIndex &index, int role) const
|
|||||||
|
|
||||||
case Qt::DecorationRole: {
|
case Qt::DecorationRole: {
|
||||||
Symbol *symbol = static_cast<Symbol *>(index.internalPointer());
|
Symbol *symbol = static_cast<Symbol *>(index.internalPointer());
|
||||||
return _icons.iconForSymbol(symbol);
|
return Icons::iconForSymbol(symbol);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case FileNameRole: {
|
case FileNameRole: {
|
||||||
|
|||||||
@@ -27,7 +27,6 @@
|
|||||||
|
|
||||||
#include "CppDocument.h"
|
#include "CppDocument.h"
|
||||||
#include "Overview.h"
|
#include "Overview.h"
|
||||||
#include "Icons.h"
|
|
||||||
|
|
||||||
#include <QAbstractItemModel>
|
#include <QAbstractItemModel>
|
||||||
|
|
||||||
@@ -72,7 +71,6 @@ private:
|
|||||||
private:
|
private:
|
||||||
Document::Ptr _cppDocument;
|
Document::Ptr _cppDocument;
|
||||||
Overview _overview;
|
Overview _overview;
|
||||||
Icons _icons;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace CPlusPlus
|
} // namespace CPlusPlus
|
||||||
|
|||||||
@@ -126,30 +126,6 @@ QtcLibrary {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
Group {
|
|
||||||
name: "Images"
|
|
||||||
prefix: "images/"
|
|
||||||
files: [
|
|
||||||
"class.png",
|
|
||||||
"struct.png",
|
|
||||||
"enum.png",
|
|
||||||
"enumerator.png",
|
|
||||||
"func.png",
|
|
||||||
"func_priv.png",
|
|
||||||
"func_prot.png",
|
|
||||||
"keyword.png",
|
|
||||||
"macro.png",
|
|
||||||
"namespace.png",
|
|
||||||
"signal.png",
|
|
||||||
"slot.png",
|
|
||||||
"slot_priv.png",
|
|
||||||
"slot_prot.png",
|
|
||||||
"var.png",
|
|
||||||
"var_priv.png",
|
|
||||||
"var_prot.png",
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
Export {
|
Export {
|
||||||
cpp.includePaths: [
|
cpp.includePaths: [
|
||||||
"../3rdparty"
|
"../3rdparty"
|
||||||
|
|||||||
@@ -1,27 +1,42 @@
|
|||||||
<RCC>
|
<RCC>
|
||||||
<qresource prefix="/codemodel">
|
<qresource prefix="/codemodel">
|
||||||
<file>images/class.png</file>
|
|
||||||
<file>images/struct.png</file>
|
|
||||||
<file>images/enum.png</file>
|
<file>images/enum.png</file>
|
||||||
|
<file>images/enum@2x.png</file>
|
||||||
<file>images/enumerator.png</file>
|
<file>images/enumerator.png</file>
|
||||||
<file>images/func.png</file>
|
<file>images/enumerator@2x.png</file>
|
||||||
<file>images/func_priv.png</file>
|
|
||||||
<file>images/func_prot.png</file>
|
|
||||||
<file>images/keyword.png</file>
|
<file>images/keyword.png</file>
|
||||||
|
<file>images/keyword@2x.png</file>
|
||||||
<file>images/macro.png</file>
|
<file>images/macro.png</file>
|
||||||
|
<file>images/macro@2x.png</file>
|
||||||
<file>images/namespace.png</file>
|
<file>images/namespace.png</file>
|
||||||
|
<file>images/namespace@2x.png</file>
|
||||||
<file>images/signal.png</file>
|
<file>images/signal.png</file>
|
||||||
|
<file>images/signal@2x.png</file>
|
||||||
<file>images/slot.png</file>
|
<file>images/slot.png</file>
|
||||||
<file>images/slot_priv.png</file>
|
<file>images/slot@2x.png</file>
|
||||||
<file>images/slot_prot.png</file>
|
<file>images/member.png</file>
|
||||||
<file>images/var.png</file>
|
<file>images/member@2x.png</file>
|
||||||
<file>images/var_priv.png</file>
|
<file>images/private.png</file>
|
||||||
<file>images/var_prot.png</file>
|
<file>images/private@2x.png</file>
|
||||||
<file>images/func_priv_st.png</file>
|
<file>images/privatebackground.png</file>
|
||||||
<file>images/func_prot_st.png</file>
|
<file>images/privatebackground@2x.png</file>
|
||||||
<file>images/func_st.png</file>
|
<file>images/protected.png</file>
|
||||||
<file>images/var_priv_st.png</file>
|
<file>images/protected@2x.png</file>
|
||||||
<file>images/var_prot_st.png</file>
|
<file>images/protectedbackground.png</file>
|
||||||
<file>images/var_st.png</file>
|
<file>images/protectedbackground@2x.png</file>
|
||||||
|
<file>images/static.png</file>
|
||||||
|
<file>images/static@2x.png</file>
|
||||||
|
<file>images/staticbackground.png</file>
|
||||||
|
<file>images/staticbackground@2x.png</file>
|
||||||
|
<file>images/classmemberfunction.png</file>
|
||||||
|
<file>images/classmemberfunction@2x.png</file>
|
||||||
|
<file>images/classmembervariable.png</file>
|
||||||
|
<file>images/classmembervariable@2x.png</file>
|
||||||
|
<file>images/classparent.png</file>
|
||||||
|
<file>images/classparent@2x.png</file>
|
||||||
|
<file>images/classrelation.png</file>
|
||||||
|
<file>images/classrelation@2x.png</file>
|
||||||
|
<file>images/classrelationbackground.png</file>
|
||||||
|
<file>images/classrelationbackground@2x.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 573 B |
|
After Width: | Height: | Size: 139 B |
|
After Width: | Height: | Size: 168 B |
|
After Width: | Height: | Size: 136 B |
|
After Width: | Height: | Size: 165 B |
|
After Width: | Height: | Size: 155 B |
|
After Width: | Height: | Size: 175 B |
|
After Width: | Height: | Size: 106 B |
|
After Width: | Height: | Size: 114 B |
|
After Width: | Height: | Size: 121 B |
|
After Width: | Height: | Size: 133 B |
|
Before Width: | Height: | Size: 359 B After Width: | Height: | Size: 112 B |
|
After Width: | Height: | Size: 118 B |
|
Before Width: | Height: | Size: 478 B After Width: | Height: | Size: 124 B |
|
After Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 583 B |
|
Before Width: | Height: | Size: 656 B |
|
Before Width: | Height: | Size: 685 B |
|
Before Width: | Height: | Size: 647 B |
|
Before Width: | Height: | Size: 679 B |
|
Before Width: | Height: | Size: 651 B |
|
Before Width: | Height: | Size: 341 B After Width: | Height: | Size: 139 B |
|
After Width: | Height: | Size: 143 B |
|
Before Width: | Height: | Size: 405 B After Width: | Height: | Size: 133 B |
|
After Width: | Height: | Size: 217 B |
|
After Width: | Height: | Size: 169 B |
|
After Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 377 B After Width: | Height: | Size: 130 B |
|
After Width: | Height: | Size: 169 B |
|
After Width: | Height: | Size: 112 B |
|
After Width: | Height: | Size: 165 B |
|
After Width: | Height: | Size: 144 B |
|
After Width: | Height: | Size: 153 B |
|
After Width: | Height: | Size: 115 B |
|
After Width: | Height: | Size: 177 B |
|
After Width: | Height: | Size: 216 B |
|
After Width: | Height: | Size: 385 B |
|
Before Width: | Height: | Size: 393 B After Width: | Height: | Size: 199 B |
|
After Width: | Height: | Size: 374 B |
|
Before Width: | Height: | Size: 498 B After Width: | Height: | Size: 188 B |
|
After Width: | Height: | Size: 210 B |
|
Before Width: | Height: | Size: 468 B |
|
Before Width: | Height: | Size: 452 B |
|
Before Width: | Height: | Size: 164 B After Width: | Height: | Size: 120 B |
|
After Width: | Height: | Size: 159 B |
|
After Width: | Height: | Size: 131 B |
|
After Width: | Height: | Size: 173 B |
|
Before Width: | Height: | Size: 641 B |
|
Before Width: | Height: | Size: 530 B |
|
Before Width: | Height: | Size: 632 B |
|
Before Width: | Height: | Size: 676 B |
|
Before Width: | Height: | Size: 619 B |
|
Before Width: | Height: | Size: 658 B |
|
Before Width: | Height: | Size: 629 B |
|
Before Width: | Height: | Size: 573 B |