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
|
||||
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
|
||||
|
||||
|
||||
|
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
|
||||
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.
|
||||
|
||||
\section1 Setting Up Clang Static Analyzer
|
||||
|
||||
@@ -31,9 +31,11 @@
|
||||
|
||||
\title Running Autotests
|
||||
|
||||
\QC integrates the \l{Qt Test} framework for unit testing Qt based
|
||||
applications and libraries. You can use \QC to build and
|
||||
run autotests for your projects.
|
||||
\QC integrates the \l{Qt Test} framework and
|
||||
\l{https://github.com/google/googletest}{Google C++ Testing Framework} for
|
||||
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
|
||||
|
||||
@@ -41,18 +43,18 @@
|
||||
\uicontrol {About Plugins} > \uicontrol Utilities > \uicontrol {Auto Test}.
|
||||
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
|
||||
\li Select \uicontrol File > \uicontrol {New File or Project} >
|
||||
\uicontrol {Other Project} > \uicontrol {Auto Test} >
|
||||
\uicontrol Choose to create a project with boilerplate code for an
|
||||
autotest.
|
||||
\uicontrol Choose to create a project with boilerplate code for a
|
||||
Qt test.
|
||||
|
||||
\li In the \uicontrol {Project and Test Information} dialog, specify
|
||||
settings for the project and autotest:
|
||||
settings for the project and test:
|
||||
|
||||
\list 1
|
||||
|
||||
@@ -72,7 +74,7 @@
|
||||
up the test.
|
||||
|
||||
\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
|
||||
during debug builds.
|
||||
|
||||
@@ -80,18 +82,78 @@
|
||||
|
||||
\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
|
||||
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}.
|
||||
|
||||
\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
|
||||
|
||||
\li Open a project that contains autotests.
|
||||
\li Open a project that contains tests.
|
||||
|
||||
\li In the \uicontrol {Test Results} output pane, select
|
||||
\inlineimage qtcreator-run.png
|
||||
@@ -109,9 +171,14 @@
|
||||
\endlist
|
||||
|
||||
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}.
|
||||
|
||||
\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
|
||||
several times in order to get an accurate measurement. This depends on the
|
||||
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
|
||||
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
|
||||
expression that matches the path to files to exclude. Use a forward slash
|
||||
(/) as a separator in the path also on Windows.
|
||||
@@ -523,6 +523,8 @@
|
||||
|
||||
\list
|
||||
|
||||
\li Export SVG images to pixmaps
|
||||
|
||||
\li Switch between background and outline modes
|
||||
|
||||
\li Zoom in and out
|
||||
@@ -535,6 +537,13 @@
|
||||
|
||||
\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
|
||||
|
||||
\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}
|
||||
{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
|
||||
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}
|
||||
or \uicontrol{Filelog}. Typically, the log output contains the date, the commit
|
||||
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
|
||||
show annotation views of previous versions (see \l{Annotating Files}).
|
||||
With Git you can also choose to cherry-pick or revert a change.
|
||||
|
||||
\image qtcreator-vcs-log.png
|
||||
|
||||
\section2 Annotating Files
|
||||
|
||||
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,
|
||||
colors, and icons.
|
||||
|
||||
To switch from the default theme to a dark theme, select \uicontrol Tools >
|
||||
\uicontrol Options > \uicontrol Environment, and then select \uicontrol Dark
|
||||
To switch themes, select \uicontrol Tools > \uicontrol Options >
|
||||
\uicontrol Environment, and then select a theme
|
||||
in the \uicontrol Theme field.
|
||||
|
||||
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
|
||||
Qt Quick applications.
|
||||
|
||||
\QC is integrated to the \l{Qt Test} framework for unit testing
|
||||
Qt based applications and libraries. You can use \QC to build
|
||||
and run autotests.
|
||||
\QC is integrated to the \l{Qt Test} and Google C++ Testing
|
||||
frameworks for unit testing applications and libraries. You can
|
||||
use \QC to build and run autotests.
|
||||
|
||||
For more information, see \l{Testing}.
|
||||
\li \b {Publishing}
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
\li \l{Running Autotests}
|
||||
|
||||
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
|
||||
|
||||
|
||||
@@ -172,8 +172,8 @@
|
||||
|
||||
\li Qt Auto Test
|
||||
|
||||
Projects with boilerplate code for an autotest. For more
|
||||
information, see \l {Creating Autotests}.
|
||||
Projects with boilerplate code for a Qt test. For more
|
||||
information, see \l {Creating Qt Tests}.
|
||||
|
||||
\li Qt Quick UI
|
||||
|
||||
|
||||
@@ -95,9 +95,9 @@
|
||||
|
||||
\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
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# STATIC_BASE - base directory for the files listed in STATIC_FILES
|
||||
# STATIC_FILES - list of files to be deployed
|
||||
|
||||
include(../../qtcreator.pri)
|
||||
include(qtcreator.pri)
|
||||
|
||||
# used in custom compilers which just copy files
|
||||
defineReplace(stripStaticBase) {
|
||||
@@ -429,6 +429,8 @@ class DumperBase:
|
||||
|
||||
# Hex encoding operating on str or bytes, return str.
|
||||
def hexencode(self, s):
|
||||
if s is None:
|
||||
s = ''
|
||||
if sys.version_info[0] == 2:
|
||||
return s.encode("hex")
|
||||
if isinstance(s, str):
|
||||
@@ -1049,12 +1051,23 @@ class DumperBase:
|
||||
|
||||
# This is shared by pointer and array formatting.
|
||||
def tryPutSimpleFormattedPointer(self, value, typeName, innerTypeName, displayFormat, limit):
|
||||
if displayFormat == AutomaticFormat and innerTypeName == "char":
|
||||
# Use Latin1 as default for char *.
|
||||
self.putType(typeName)
|
||||
(elided, data) = self.encodeCArray(value, 1, limit)
|
||||
self.putValue(data, "latin1", elided=elided)
|
||||
return True
|
||||
if displayFormat == AutomaticFormat:
|
||||
if innerTypeName == "char":
|
||||
# Use UTF-8 as default for char *.
|
||||
self.putType(typeName)
|
||||
(elided, data) = self.encodeCArray(value, 1, limit)
|
||||
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:
|
||||
self.putType(typeName)
|
||||
|
||||
@@ -285,7 +285,6 @@ class Dumper(DumperBase):
|
||||
self.autoDerefPointers = int(args.get("autoderef", "0"))
|
||||
self.partialUpdate = int(args.get("partial", "0"))
|
||||
self.fallbackQtVersion = 0x50200
|
||||
self.sortStructMembers = bool(args.get("sortstructs", True))
|
||||
|
||||
#warn("NAMESPACE: '%s'" % self.qtNamespace())
|
||||
#warn("EXPANDED INAMES: %s" % self.expandedINames)
|
||||
@@ -436,7 +435,6 @@ class Dumper(DumperBase):
|
||||
# Don't bother. It's only supplementary information anyway.
|
||||
pass
|
||||
|
||||
locals.sort(key = lambda item: item.name)
|
||||
for item in locals:
|
||||
value = self.downcast(item.value) if self.useDynamicType else item.value
|
||||
with OutputSafer(self):
|
||||
@@ -1144,6 +1142,7 @@ class Dumper(DumperBase):
|
||||
|
||||
if self.currentIName in self.expandedINames:
|
||||
innerType = None
|
||||
self.put('sortable="1"')
|
||||
with Children(self, 1, childType=innerType):
|
||||
self.putFields(value)
|
||||
if not self.showQObjectNames:
|
||||
@@ -1215,15 +1214,6 @@ class Dumper(DumperBase):
|
||||
|
||||
def putFields(self, value, dumpBase = True):
|
||||
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("FIELDS: %s" % fields)
|
||||
baseNumber = 0
|
||||
@@ -1257,6 +1247,7 @@ class Dumper(DumperBase):
|
||||
# int (**)(void)
|
||||
n = 100
|
||||
self.putType(" ")
|
||||
self.put('sortgroup="1"')
|
||||
self.putValue(value[field.name])
|
||||
self.putNumChild(n)
|
||||
if self.isExpanded():
|
||||
@@ -1280,6 +1271,7 @@ class Dumper(DumperBase):
|
||||
baseNumber += 1
|
||||
with UnnamedSubItem(self, "@%d" % baseNumber):
|
||||
baseValue = value.cast(field.type)
|
||||
self.put('sortgroup="2"')
|
||||
self.putBaseClassName(field.name)
|
||||
self.putAddress(baseValue.address)
|
||||
self.putItem(baseValue, False)
|
||||
|
||||
@@ -1092,6 +1092,7 @@ class Dumper(DumperBase):
|
||||
self.putQObjectNameValue(value)
|
||||
|
||||
if self.currentIName in self.expandedINames:
|
||||
self.put('sortable="1"')
|
||||
with Children(self):
|
||||
self.putFields(value)
|
||||
if not self.showQObjectNames:
|
||||
@@ -1134,8 +1135,6 @@ class Dumper(DumperBase):
|
||||
baseObject = value.Cast(baseClass)
|
||||
baseObjects.append(ChildItem(baseClass.GetName(), baseObject))
|
||||
|
||||
if self.sortStructMembers:
|
||||
baseObjects.sort(key = lambda baseObject: str(baseObject.name))
|
||||
for i in xrange(len(baseObjects)):
|
||||
baseObject = baseObjects[i]
|
||||
with UnnamedSubItem(self, "@%d" % (i + 1)):
|
||||
@@ -1147,8 +1146,6 @@ class Dumper(DumperBase):
|
||||
if memberCount > 10000:
|
||||
memberCount = 10000
|
||||
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:
|
||||
# Only needed in the QVariant4 test.
|
||||
if int(child.GetLoadAddress()) == 0xffffffffffffffff:
|
||||
@@ -1169,7 +1166,6 @@ class Dumper(DumperBase):
|
||||
|
||||
self.expandedINames = set(args.get('expanded', []))
|
||||
self.autoDerefPointers = int(args.get('autoderef', '0'))
|
||||
self.sortStructMembers = bool(args.get('sortstructs', True));
|
||||
self.useDynamicType = int(args.get('dyntype', '0'))
|
||||
self.useFancy = int(args.get('fancy', '0'))
|
||||
self.passExceptions = int(args.get('passexceptions', '0'))
|
||||
@@ -1390,12 +1386,12 @@ class Dumper(DumperBase):
|
||||
elif eventType == lldb.SBProcess.eBroadcastBitSTDOUT:
|
||||
# FIXME: Size?
|
||||
msg = self.process.GetSTDOUT(1024)
|
||||
self.report('output={channel="stdout",data="%s"}'
|
||||
% self.hexencode(msg))
|
||||
if msg is not None:
|
||||
self.report('output={channel="stdout",data="%s"}' % self.hexencode(msg))
|
||||
elif eventType == lldb.SBProcess.eBroadcastBitSTDERR:
|
||||
msg = self.process.GetSTDERR(1024)
|
||||
self.report('output={channel="stderr",data="%s"}'
|
||||
% self.hexencode(msg))
|
||||
if msg is not None:
|
||||
self.report('output={channel="stderr",data="%s"}' % self.hexencode(msg))
|
||||
elif eventType == lldb.SBProcess.eBroadcastBitProfileData:
|
||||
pass
|
||||
|
||||
|
||||
@@ -82,6 +82,22 @@ def qdump__QByteArrayData(d, value):
|
||||
d.putIntItem("size", size)
|
||||
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):
|
||||
d.putValue(int(value["ucs"]))
|
||||
d.putNumChild(0)
|
||||
|
||||
@@ -750,6 +750,15 @@ def qdump__std____debug__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():
|
||||
return arrayForms()
|
||||
|
||||
|
||||
@@ -1049,7 +1049,8 @@ InformationChangedCommand NodeInstanceServer::createAllInformationChangedCommand
|
||||
|
||||
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
|
||||
|
||||
@@ -1,5 +1,29 @@
|
||||
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) {
|
||||
HEADERS += \
|
||||
$$PWD/qmlprivategate.h
|
||||
|
||||
@@ -1,25 +1,4 @@
|
||||
TEMPLATE = app
|
||||
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
|
||||
}
|
||||
TEMPLATE = aux
|
||||
|
||||
STATIC_BASE = $$PWD
|
||||
|
||||
@@ -52,7 +31,7 @@ for(data_dir, DATA_DIRS) {
|
||||
STATIC_FILES += $$file
|
||||
}
|
||||
|
||||
include(static.pri)
|
||||
include(../../qtcreatordata.pri)
|
||||
|
||||
SRCRESOURCEDIR = $$IDE_SOURCE_TREE/src/share/qtcreator/
|
||||
defineReplace(stripSrcResourceDir) {
|
||||
|
||||
@@ -71,6 +71,18 @@ IconsModeDebugActiveColor=ff99aaef
|
||||
IconsModeProjetcsActiveColor=ff80c342
|
||||
IconsModeAnalyzeActiveColor=ff43adee
|
||||
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
|
||||
InfoBarText=text
|
||||
MenuBarEmptyAreaBackgroundColor=shadowBackground
|
||||
|
||||
@@ -65,6 +65,18 @@ IconsModeDebugActiveColor=ffffffff
|
||||
IconsModeProjetcsActiveColor=ffffffff
|
||||
IconsModeAnalyzeActiveColor=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
|
||||
InfoBarText=ff000000
|
||||
MenuBarEmptyAreaBackgroundColor=ffff0000
|
||||
|
||||
@@ -8,6 +8,8 @@ text=ff000000
|
||||
textDisabled=55000000
|
||||
toolBarItem=b6fbfdff
|
||||
toolBarItemDisabled=60a4a6a8
|
||||
fancyBarsNormalTextColor=ffffffff
|
||||
fancyBarsBoldTextColor=b6fbfdff
|
||||
hoverBackground=22ffffff
|
||||
selectedBackground=66000000
|
||||
normalBackground=ffffffff
|
||||
@@ -29,7 +31,7 @@ BadgeLabelTextColorUnchecked=ffffffff
|
||||
CanceledSearchTextColor=ff0000
|
||||
ComboBoxArrowColor=toolBarItem
|
||||
ComboBoxArrowColorDisabled=toolBarItemDisabled
|
||||
ComboBoxTextColor=toolBarItem
|
||||
ComboBoxTextColor=fancyBarsNormalTextColor
|
||||
DetailsButtonBackgroundColorHover=b4ffffff
|
||||
DetailsWidgetBackgroundColor=28ffffff
|
||||
DockWidgetResizeHandleColor=splitter
|
||||
@@ -46,8 +48,8 @@ FancyToolBarSeparatorColor=toolBarItemDisabled
|
||||
FancyTabBarBackgroundColor=shadowBackground
|
||||
FancyTabWidgetDisabledSelectedTextColor=toolBarItemDisabled
|
||||
FancyTabWidgetDisabledUnselectedTextColor=toolBarItemDisabled
|
||||
FancyTabWidgetEnabledSelectedTextColor=toolBarItem
|
||||
FancyTabWidgetEnabledUnselectedTextColor=toolBarItem
|
||||
FancyTabWidgetEnabledSelectedTextColor=fancyBarsBoldTextColor
|
||||
FancyTabWidgetEnabledUnselectedTextColor=fancyBarsBoldTextColor
|
||||
FancyToolButtonHoverColor=hoverBackground
|
||||
FancyToolButtonSelectedColor=selectedBackground
|
||||
FutureProgressBackgroundColor=shadowBackground
|
||||
@@ -60,7 +62,7 @@ IconsWarningToolBarColor=fff2d76e
|
||||
IconsErrorColor=ffdf4f4f
|
||||
IconsErrorToolBarColor=ffdb6f71
|
||||
IconsRunColor=dda4d576
|
||||
IconsStopColor=dddb6f71
|
||||
IconsStopColor=ddff8c8c
|
||||
IconsDebugColor=toolBarItem
|
||||
IconsInterruptColor=dd7488db
|
||||
IconsNavigationArrowsColor=ffebc322
|
||||
@@ -73,6 +75,18 @@ IconsModeDebugActiveColor=ff99aaef
|
||||
IconsModeProjetcsActiveColor=ff80c342
|
||||
IconsModeAnalyzeActiveColor=ff43adee
|
||||
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
|
||||
InfoBarText=text
|
||||
MenuBarEmptyAreaBackgroundColor=shadowBackground
|
||||
@@ -89,11 +103,11 @@ PanelStatusBarBackgroundColor=shadowBackground
|
||||
PanelsWidgetSeparatorLineColor=0
|
||||
PanelTextColorDark=text
|
||||
PanelTextColorMid=ff666666
|
||||
PanelTextColorLight=toolBarItem
|
||||
PanelTextColorLight=fancyBarsNormalTextColor
|
||||
ProgressBarColorError=ffdb6f71
|
||||
ProgressBarColorFinished=dda4d576
|
||||
ProgressBarColorNormal=ff999999
|
||||
ProgressBarTitleColor=toolBarItem
|
||||
ProgressBarTitleColor=fancyBarsBoldTextColor
|
||||
ProgressBarBackgroundColor=a0606060
|
||||
SplitterColor=splitter
|
||||
TextColorDisabled=textDisabled
|
||||
@@ -124,8 +138,8 @@ OutputPanes_TestWarnTextColor=ffd0bb00
|
||||
OutputPanes_TestFatalTextColor=ff640000
|
||||
OutputPanes_TestDebugTextColor=ff329696
|
||||
OutputPaneButtonFlashColor=ffff0000
|
||||
OutputPaneToggleButtonTextColorChecked=toolBarItem
|
||||
OutputPaneToggleButtonTextColorUnchecked=toolBarItem
|
||||
OutputPaneToggleButtonTextColorChecked=fancyBarsNormalTextColor
|
||||
OutputPaneToggleButtonTextColorUnchecked=fancyBarsNormalTextColor
|
||||
|
||||
Debugger_LogWindow_LogInput=ff00acac
|
||||
Debugger_LogWindow_LogStatus=ff00875a
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
TEMPLATE = aux
|
||||
|
||||
include(../../../qtcreator.pri)
|
||||
|
||||
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\'.\"
|
||||
QMAKE_EXTRA_TARGETS += ts
|
||||
|
||||
TEMPLATE = app
|
||||
TARGET = phony_target2
|
||||
CONFIG -= qt sdk separate_debug_info gdb_dwarf_index
|
||||
QT =
|
||||
LIBS =
|
||||
|
||||
updateqm.input = TRANSLATIONS
|
||||
updateqm.output = $$IDE_DATA_PATH/translations/${QMAKE_FILE_BASE}.qm
|
||||
isEmpty(vcproj):updateqm.variable_out = PRE_TARGETDEPS
|
||||
@@ -127,22 +123,6 @@ updateqm.name = LRELEASE ${QMAKE_FILE_IN}
|
||||
updateqm.CONFIG += no_link
|
||||
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.path = $$INSTALL_DATA_PATH/translations
|
||||
qmfiles.CONFIG += no_check_exist
|
||||
|
||||
@@ -30,49 +30,24 @@
|
||||
#include <cplusplus/Symbols.h>
|
||||
#include <cplusplus/Type.h>
|
||||
|
||||
#include <utils/icon.h>
|
||||
|
||||
using namespace CPlusPlus;
|
||||
using CPlusPlus::Icons;
|
||||
|
||||
Icons::Icons()
|
||||
: _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
|
||||
QIcon Icons::iconForSymbol(const Symbol *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)
|
||||
@@ -141,55 +116,181 @@ Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol)
|
||||
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) {
|
||||
case ClassIconType:
|
||||
return _classIcon;
|
||||
case StructIconType:
|
||||
return _structIcon;
|
||||
case EnumIconType:
|
||||
return _enumIcon;
|
||||
case EnumeratorIconType:
|
||||
return _enumeratorIcon;
|
||||
case FuncPublicIconType:
|
||||
return _funcPublicIcon;
|
||||
case FuncProtectedIconType:
|
||||
return _funcProtectedIcon;
|
||||
case FuncPrivateIconType:
|
||||
return _funcPrivateIcon;
|
||||
case FuncPublicStaticIconType:
|
||||
return _funcPublicStaticIcon;
|
||||
case FuncProtectedStaticIconType:
|
||||
return _funcProtectedStaticIcon;
|
||||
case FuncPrivateStaticIconType:
|
||||
return _funcPrivateStaticIcon;
|
||||
case NamespaceIconType:
|
||||
return _namespaceIcon;
|
||||
case VarPublicIconType:
|
||||
return _varPublicIcon;
|
||||
case VarProtectedIconType:
|
||||
return _varProtectedIcon;
|
||||
case VarPrivateIconType:
|
||||
return _varPrivateIcon;
|
||||
case VarPublicStaticIconType:
|
||||
return _varPublicStaticIcon;
|
||||
case VarProtectedStaticIconType:
|
||||
return _varProtectedStaticIcon;
|
||||
case VarPrivateStaticIconType:
|
||||
return _varPrivateStaticIcon;
|
||||
case SignalIconType:
|
||||
return _signalIcon;
|
||||
case SlotPublicIconType:
|
||||
return _slotPublicIcon;
|
||||
case SlotProtectedIconType:
|
||||
return _slotProtectedIcon;
|
||||
case SlotPrivateIconType:
|
||||
return _slotPrivateIcon;
|
||||
case KeywordIconType:
|
||||
return _keywordIcon;
|
||||
case MacroIconType:
|
||||
return _macroIcon;
|
||||
case ClassIconType: {
|
||||
const static QIcon icon(Icon({
|
||||
classRelationBackgroundIcon, classRelationIcon,
|
||||
{QLatin1String(":/codemodel/images/classparent.png"), Theme::IconsCodeModelClassColor},
|
||||
classMemberFunctionIcon, classMemberVariableIcon
|
||||
}, Icon::Tint).icon());
|
||||
return icon;
|
||||
}
|
||||
case StructIconType: {
|
||||
const static QIcon icon(Icon({
|
||||
classRelationBackgroundIcon, classRelationIcon,
|
||||
{QLatin1String(":/codemodel/images/classparent.png"), Theme::IconsCodeModelStructColor},
|
||||
classMemberFunctionIcon, classMemberVariableIcon
|
||||
}, Icon::Tint).icon());
|
||||
return icon;
|
||||
}
|
||||
case EnumIconType: {
|
||||
const static QIcon icon(Icon({
|
||||
{QLatin1String(":/codemodel/images/enum.png"), Theme::IconsCodeModelEnumColor}
|
||||
}, Icon::Tint).icon());
|
||||
return icon;
|
||||
}
|
||||
case EnumeratorIconType: {
|
||||
const static QIcon icon(Icon({
|
||||
{QLatin1String(":/codemodel/images/enumerator.png"), Theme::IconsCodeModelEnumColor}
|
||||
}, Icon::Tint).icon());
|
||||
return icon;
|
||||
}
|
||||
case FuncPublicIconType: {
|
||||
const static QIcon icon(Icon({
|
||||
functionIcon}, Icon::Tint).icon());
|
||||
return icon;
|
||||
}
|
||||
case FuncProtectedIconType: {
|
||||
const static QIcon icon(Icon({
|
||||
functionIcon, protectedBackgroundIcon, protectedIcon
|
||||
}, Icon::Tint).icon());
|
||||
return icon;
|
||||
}
|
||||
case FuncPrivateIconType: {
|
||||
const static QIcon icon(Icon({
|
||||
functionIcon, privateBackgroundIcon, privateIcon
|
||||
}, Icon::Tint).icon());
|
||||
return icon;
|
||||
}
|
||||
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:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -36,12 +36,10 @@ class Symbol;
|
||||
class CPLUSPLUS_EXPORT Icons
|
||||
{
|
||||
public:
|
||||
Icons();
|
||||
static QIcon iconForSymbol(const Symbol *symbol);
|
||||
|
||||
QIcon iconForSymbol(const Symbol *symbol) const;
|
||||
|
||||
QIcon keywordIcon() const;
|
||||
QIcon macroIcon() const;
|
||||
static QIcon keywordIcon();
|
||||
static QIcon macroIcon();
|
||||
|
||||
enum IconType {
|
||||
ClassIconType = 0,
|
||||
@@ -71,32 +69,10 @@ public:
|
||||
};
|
||||
|
||||
static IconType iconTypeForSymbol(const Symbol *symbol);
|
||||
QIcon iconForType(IconType type) const;
|
||||
static QIcon iconForType(IconType type);
|
||||
|
||||
private:
|
||||
QIcon _classIcon;
|
||||
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;
|
||||
Icons() {}
|
||||
};
|
||||
|
||||
} // namespace CPlusPlus
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#include "Overview.h"
|
||||
|
||||
#include <cplusplus/Icons.h>
|
||||
#include <cplusplus/Scope.h>
|
||||
#include <cplusplus/Literals.h>
|
||||
#include <cplusplus/Symbols.h>
|
||||
@@ -210,7 +211,7 @@ QVariant OverviewModel::data(const QModelIndex &index, int role) const
|
||||
|
||||
case Qt::DecorationRole: {
|
||||
Symbol *symbol = static_cast<Symbol *>(index.internalPointer());
|
||||
return _icons.iconForSymbol(symbol);
|
||||
return Icons::iconForSymbol(symbol);
|
||||
} break;
|
||||
|
||||
case FileNameRole: {
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
|
||||
#include "CppDocument.h"
|
||||
#include "Overview.h"
|
||||
#include "Icons.h"
|
||||
|
||||
#include <QAbstractItemModel>
|
||||
|
||||
@@ -72,7 +71,6 @@ private:
|
||||
private:
|
||||
Document::Ptr _cppDocument;
|
||||
Overview _overview;
|
||||
Icons _icons;
|
||||
};
|
||||
|
||||
} // 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 {
|
||||
cpp.includePaths: [
|
||||
"../3rdparty"
|
||||
|
||||
@@ -1,27 +1,42 @@
|
||||
<RCC>
|
||||
<qresource prefix="/codemodel">
|
||||
<file>images/class.png</file>
|
||||
<file>images/struct.png</file>
|
||||
<file>images/enum.png</file>
|
||||
<file>images/enum@2x.png</file>
|
||||
<file>images/enumerator.png</file>
|
||||
<file>images/func.png</file>
|
||||
<file>images/func_priv.png</file>
|
||||
<file>images/func_prot.png</file>
|
||||
<file>images/enumerator@2x.png</file>
|
||||
<file>images/keyword.png</file>
|
||||
<file>images/keyword@2x.png</file>
|
||||
<file>images/macro.png</file>
|
||||
<file>images/macro@2x.png</file>
|
||||
<file>images/namespace.png</file>
|
||||
<file>images/namespace@2x.png</file>
|
||||
<file>images/signal.png</file>
|
||||
<file>images/signal@2x.png</file>
|
||||
<file>images/slot.png</file>
|
||||
<file>images/slot_priv.png</file>
|
||||
<file>images/slot_prot.png</file>
|
||||
<file>images/var.png</file>
|
||||
<file>images/var_priv.png</file>
|
||||
<file>images/var_prot.png</file>
|
||||
<file>images/func_priv_st.png</file>
|
||||
<file>images/func_prot_st.png</file>
|
||||
<file>images/func_st.png</file>
|
||||
<file>images/var_priv_st.png</file>
|
||||
<file>images/var_prot_st.png</file>
|
||||
<file>images/var_st.png</file>
|
||||
<file>images/slot@2x.png</file>
|
||||
<file>images/member.png</file>
|
||||
<file>images/member@2x.png</file>
|
||||
<file>images/private.png</file>
|
||||
<file>images/private@2x.png</file>
|
||||
<file>images/privatebackground.png</file>
|
||||
<file>images/privatebackground@2x.png</file>
|
||||
<file>images/protected.png</file>
|
||||
<file>images/protected@2x.png</file>
|
||||
<file>images/protectedbackground.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>
|
||||
</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 |