summaryrefslogtreecommitdiff
path: root/src/libs
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@theqtcompany.com>2016-04-12 10:43:10 +0200
committerEike Ziller <eike.ziller@theqtcompany.com>2016-04-12 11:34:46 +0200
commit5c874322603444ef02bd578ae302c03a9b1cd034 (patch)
tree6339db7c3a2683e18208e75895444f2d2d251ebe /src/libs
parent04acb9d643060811dbba8f66d807b2a7574c3a6f (diff)
parent8dadafb9e0a2fbb49ab08b9eea0ff307088ba3f8 (diff)
downloadqt-creator-5c874322603444ef02bd578ae302c03a9b1cd034.tar.gz
Merge remote-tracking branch 'origin/4.0'
Conflicts: src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp Change-Id: I6ae2d37290643d69390f679a54f7596782f3d97f
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/cplusplus/Icons.cpp259
-rw-r--r--src/libs/cplusplus/Icons.h34
-rw-r--r--src/libs/cplusplus/OverviewModel.cpp3
-rw-r--r--src/libs/cplusplus/OverviewModel.h2
-rw-r--r--src/libs/cplusplus/cplusplus.qbs24
-rw-r--r--src/libs/cplusplus/cplusplus.qrc47
-rw-r--r--src/libs/cplusplus/images/class.pngbin573 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/classmemberfunction.pngbin0 -> 139 bytes
-rw-r--r--src/libs/cplusplus/images/classmemberfunction@2x.pngbin0 -> 168 bytes
-rw-r--r--src/libs/cplusplus/images/classmembervariable.pngbin0 -> 136 bytes
-rw-r--r--src/libs/cplusplus/images/classmembervariable@2x.pngbin0 -> 165 bytes
-rw-r--r--src/libs/cplusplus/images/classparent.pngbin0 -> 155 bytes
-rw-r--r--src/libs/cplusplus/images/classparent@2x.pngbin0 -> 175 bytes
-rw-r--r--src/libs/cplusplus/images/classrelation.pngbin0 -> 106 bytes
-rw-r--r--src/libs/cplusplus/images/classrelation@2x.pngbin0 -> 114 bytes
-rw-r--r--src/libs/cplusplus/images/classrelationbackground.pngbin0 -> 121 bytes
-rw-r--r--src/libs/cplusplus/images/classrelationbackground@2x.pngbin0 -> 133 bytes
-rw-r--r--src/libs/cplusplus/images/enum.pngbin359 -> 112 bytes
-rw-r--r--src/libs/cplusplus/images/enum@2x.pngbin0 -> 118 bytes
-rw-r--r--src/libs/cplusplus/images/enumerator.pngbin478 -> 124 bytes
-rw-r--r--src/libs/cplusplus/images/enumerator@2x.pngbin0 -> 129 bytes
-rw-r--r--src/libs/cplusplus/images/func.pngbin583 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/func_priv.pngbin656 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/func_priv_st.pngbin685 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/func_prot.pngbin647 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/func_prot_st.pngbin679 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/func_st.pngbin651 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/keyword.pngbin341 -> 139 bytes
-rw-r--r--src/libs/cplusplus/images/keyword@2x.pngbin0 -> 143 bytes
-rw-r--r--src/libs/cplusplus/images/macro.pngbin405 -> 133 bytes
-rw-r--r--src/libs/cplusplus/images/macro@2x.pngbin0 -> 217 bytes
-rw-r--r--src/libs/cplusplus/images/member.pngbin0 -> 169 bytes
-rw-r--r--src/libs/cplusplus/images/member@2x.pngbin0 -> 202 bytes
-rw-r--r--src/libs/cplusplus/images/namespace.pngbin377 -> 130 bytes
-rw-r--r--src/libs/cplusplus/images/namespace@2x.pngbin0 -> 169 bytes
-rw-r--r--src/libs/cplusplus/images/private.pngbin0 -> 112 bytes
-rw-r--r--src/libs/cplusplus/images/private@2x.pngbin0 -> 165 bytes
-rw-r--r--src/libs/cplusplus/images/privatebackground.pngbin0 -> 144 bytes
-rw-r--r--src/libs/cplusplus/images/privatebackground@2x.pngbin0 -> 153 bytes
-rw-r--r--src/libs/cplusplus/images/protected.pngbin0 -> 115 bytes
-rw-r--r--src/libs/cplusplus/images/protected@2x.pngbin0 -> 177 bytes
-rw-r--r--src/libs/cplusplus/images/protectedbackground.pngbin0 -> 216 bytes
-rw-r--r--src/libs/cplusplus/images/protectedbackground@2x.pngbin0 -> 385 bytes
-rw-r--r--src/libs/cplusplus/images/signal.pngbin393 -> 199 bytes
-rw-r--r--src/libs/cplusplus/images/signal@2x.pngbin0 -> 374 bytes
-rw-r--r--src/libs/cplusplus/images/slot.pngbin498 -> 188 bytes
-rw-r--r--src/libs/cplusplus/images/slot@2x.pngbin0 -> 210 bytes
-rw-r--r--src/libs/cplusplus/images/slot_priv.pngbin468 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/slot_prot.pngbin452 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/static.pngbin164 -> 120 bytes
-rw-r--r--src/libs/cplusplus/images/static@2x.pngbin0 -> 159 bytes
-rw-r--r--src/libs/cplusplus/images/staticbackground.pngbin0 -> 131 bytes
-rw-r--r--src/libs/cplusplus/images/staticbackground@2x.pngbin0 -> 173 bytes
-rw-r--r--src/libs/cplusplus/images/struct.pngbin641 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/var.pngbin530 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/var_priv.pngbin632 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/var_priv_st.pngbin676 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/var_prot.pngbin619 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/var_prot_st.pngbin658 -> 0 bytes
-rw-r--r--src/libs/cplusplus/images/var_st.pngbin629 -> 0 bytes
-rw-r--r--src/libs/qmljs/images/element.pngbin573 -> 0 bytes
-rw-r--r--src/libs/qmljs/images/func.pngbin583 -> 0 bytes
-rw-r--r--src/libs/qmljs/images/property.pngbin530 -> 0 bytes
-rw-r--r--src/libs/qmljs/images/publicmember.pngbin583 -> 0 bytes
-rw-r--r--src/libs/qmljs/qmljs-lib.pri4
-rw-r--r--src/libs/qmljs/qmljs.qbs12
-rw-r--r--src/libs/qmljs/qmljs.qrc8
-rw-r--r--src/libs/qmljs/qmljsicons.cpp28
-rw-r--r--src/libs/qmljs/qmljsicons.h10
-rw-r--r--src/libs/qtcreatorcdbext/containers.cpp38
-rw-r--r--src/libs/qtcreatorcdbext/knowntype.h3
-rw-r--r--src/libs/qtcreatorcdbext/symbolgroupvalue.cpp2
-rw-r--r--src/libs/utils/theme/theme.h15
73 files changed, 280 insertions, 209 deletions
diff --git a/src/libs/cplusplus/Icons.cpp b/src/libs/cplusplus/Icons.cpp
index 6141840c30..7a539c67eb 100644
--- a/src/libs/cplusplus/Icons.cpp
+++ b/src/libs/cplusplus/Icons.cpp
@@ -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;
}
diff --git a/src/libs/cplusplus/Icons.h b/src/libs/cplusplus/Icons.h
index 51c550aae7..2b8ce0beee 100644
--- a/src/libs/cplusplus/Icons.h
+++ b/src/libs/cplusplus/Icons.h
@@ -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
diff --git a/src/libs/cplusplus/OverviewModel.cpp b/src/libs/cplusplus/OverviewModel.cpp
index be389ab5fb..f37d5456ef 100644
--- a/src/libs/cplusplus/OverviewModel.cpp
+++ b/src/libs/cplusplus/OverviewModel.cpp
@@ -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: {
diff --git a/src/libs/cplusplus/OverviewModel.h b/src/libs/cplusplus/OverviewModel.h
index bd558b8244..5b958e0ef5 100644
--- a/src/libs/cplusplus/OverviewModel.h
+++ b/src/libs/cplusplus/OverviewModel.h
@@ -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
diff --git a/src/libs/cplusplus/cplusplus.qbs b/src/libs/cplusplus/cplusplus.qbs
index dd4012d633..8d7c38c883 100644
--- a/src/libs/cplusplus/cplusplus.qbs
+++ b/src/libs/cplusplus/cplusplus.qbs
@@ -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"
diff --git a/src/libs/cplusplus/cplusplus.qrc b/src/libs/cplusplus/cplusplus.qrc
index 9b5812d83c..d0135fdee8 100644
--- a/src/libs/cplusplus/cplusplus.qrc
+++ b/src/libs/cplusplus/cplusplus.qrc
@@ -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>
diff --git a/src/libs/cplusplus/images/class.png b/src/libs/cplusplus/images/class.png
deleted file mode 100644
index 88432d2cb1..0000000000
--- a/src/libs/cplusplus/images/class.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/classmemberfunction.png b/src/libs/cplusplus/images/classmemberfunction.png
new file mode 100644
index 0000000000..f97d706e7f
--- /dev/null
+++ b/src/libs/cplusplus/images/classmemberfunction.png
Binary files differ
diff --git a/src/libs/cplusplus/images/classmemberfunction@2x.png b/src/libs/cplusplus/images/classmemberfunction@2x.png
new file mode 100644
index 0000000000..f30e61336b
--- /dev/null
+++ b/src/libs/cplusplus/images/classmemberfunction@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/classmembervariable.png b/src/libs/cplusplus/images/classmembervariable.png
new file mode 100644
index 0000000000..82f8024b2e
--- /dev/null
+++ b/src/libs/cplusplus/images/classmembervariable.png
Binary files differ
diff --git a/src/libs/cplusplus/images/classmembervariable@2x.png b/src/libs/cplusplus/images/classmembervariable@2x.png
new file mode 100644
index 0000000000..6f426c3a41
--- /dev/null
+++ b/src/libs/cplusplus/images/classmembervariable@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/classparent.png b/src/libs/cplusplus/images/classparent.png
new file mode 100644
index 0000000000..19bb952842
--- /dev/null
+++ b/src/libs/cplusplus/images/classparent.png
Binary files differ
diff --git a/src/libs/cplusplus/images/classparent@2x.png b/src/libs/cplusplus/images/classparent@2x.png
new file mode 100644
index 0000000000..5ae4e36890
--- /dev/null
+++ b/src/libs/cplusplus/images/classparent@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/classrelation.png b/src/libs/cplusplus/images/classrelation.png
new file mode 100644
index 0000000000..acf3c8e269
--- /dev/null
+++ b/src/libs/cplusplus/images/classrelation.png
Binary files differ
diff --git a/src/libs/cplusplus/images/classrelation@2x.png b/src/libs/cplusplus/images/classrelation@2x.png
new file mode 100644
index 0000000000..6da54dd223
--- /dev/null
+++ b/src/libs/cplusplus/images/classrelation@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/classrelationbackground.png b/src/libs/cplusplus/images/classrelationbackground.png
new file mode 100644
index 0000000000..601c8b3321
--- /dev/null
+++ b/src/libs/cplusplus/images/classrelationbackground.png
Binary files differ
diff --git a/src/libs/cplusplus/images/classrelationbackground@2x.png b/src/libs/cplusplus/images/classrelationbackground@2x.png
new file mode 100644
index 0000000000..530e3d4c1e
--- /dev/null
+++ b/src/libs/cplusplus/images/classrelationbackground@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/enum.png b/src/libs/cplusplus/images/enum.png
index 42a9e83bc7..c769846370 100644
--- a/src/libs/cplusplus/images/enum.png
+++ b/src/libs/cplusplus/images/enum.png
Binary files differ
diff --git a/src/libs/cplusplus/images/enum@2x.png b/src/libs/cplusplus/images/enum@2x.png
new file mode 100644
index 0000000000..562ac461d3
--- /dev/null
+++ b/src/libs/cplusplus/images/enum@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/enumerator.png b/src/libs/cplusplus/images/enumerator.png
index 25fc49c659..292f387ff5 100644
--- a/src/libs/cplusplus/images/enumerator.png
+++ b/src/libs/cplusplus/images/enumerator.png
Binary files differ
diff --git a/src/libs/cplusplus/images/enumerator@2x.png b/src/libs/cplusplus/images/enumerator@2x.png
new file mode 100644
index 0000000000..705e86be9e
--- /dev/null
+++ b/src/libs/cplusplus/images/enumerator@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/func.png b/src/libs/cplusplus/images/func.png
deleted file mode 100644
index e515e76e61..0000000000
--- a/src/libs/cplusplus/images/func.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/func_priv.png b/src/libs/cplusplus/images/func_priv.png
deleted file mode 100644
index 49dda7dfea..0000000000
--- a/src/libs/cplusplus/images/func_priv.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/func_priv_st.png b/src/libs/cplusplus/images/func_priv_st.png
deleted file mode 100644
index 1d6fa2da79..0000000000
--- a/src/libs/cplusplus/images/func_priv_st.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/func_prot.png b/src/libs/cplusplus/images/func_prot.png
deleted file mode 100644
index f8add65e07..0000000000
--- a/src/libs/cplusplus/images/func_prot.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/func_prot_st.png b/src/libs/cplusplus/images/func_prot_st.png
deleted file mode 100644
index d023fe1fd2..0000000000
--- a/src/libs/cplusplus/images/func_prot_st.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/func_st.png b/src/libs/cplusplus/images/func_st.png
deleted file mode 100644
index 05119102ed..0000000000
--- a/src/libs/cplusplus/images/func_st.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/keyword.png b/src/libs/cplusplus/images/keyword.png
index e5a51858d9..335e63eeaf 100644
--- a/src/libs/cplusplus/images/keyword.png
+++ b/src/libs/cplusplus/images/keyword.png
Binary files differ
diff --git a/src/libs/cplusplus/images/keyword@2x.png b/src/libs/cplusplus/images/keyword@2x.png
new file mode 100644
index 0000000000..bfbe3c49cb
--- /dev/null
+++ b/src/libs/cplusplus/images/keyword@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/macro.png b/src/libs/cplusplus/images/macro.png
index 4477647069..aa621fce04 100644
--- a/src/libs/cplusplus/images/macro.png
+++ b/src/libs/cplusplus/images/macro.png
Binary files differ
diff --git a/src/libs/cplusplus/images/macro@2x.png b/src/libs/cplusplus/images/macro@2x.png
new file mode 100644
index 0000000000..67b5938fc9
--- /dev/null
+++ b/src/libs/cplusplus/images/macro@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/member.png b/src/libs/cplusplus/images/member.png
new file mode 100644
index 0000000000..e974865e93
--- /dev/null
+++ b/src/libs/cplusplus/images/member.png
Binary files differ
diff --git a/src/libs/cplusplus/images/member@2x.png b/src/libs/cplusplus/images/member@2x.png
new file mode 100644
index 0000000000..d0a22156c0
--- /dev/null
+++ b/src/libs/cplusplus/images/member@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/namespace.png b/src/libs/cplusplus/images/namespace.png
index 18d2941572..b36b2a4acf 100644
--- a/src/libs/cplusplus/images/namespace.png
+++ b/src/libs/cplusplus/images/namespace.png
Binary files differ
diff --git a/src/libs/cplusplus/images/namespace@2x.png b/src/libs/cplusplus/images/namespace@2x.png
new file mode 100644
index 0000000000..81109db2b3
--- /dev/null
+++ b/src/libs/cplusplus/images/namespace@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/private.png b/src/libs/cplusplus/images/private.png
new file mode 100644
index 0000000000..8e25668d80
--- /dev/null
+++ b/src/libs/cplusplus/images/private.png
Binary files differ
diff --git a/src/libs/cplusplus/images/private@2x.png b/src/libs/cplusplus/images/private@2x.png
new file mode 100644
index 0000000000..348785c1ba
--- /dev/null
+++ b/src/libs/cplusplus/images/private@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/privatebackground.png b/src/libs/cplusplus/images/privatebackground.png
new file mode 100644
index 0000000000..0c482e5e3b
--- /dev/null
+++ b/src/libs/cplusplus/images/privatebackground.png
Binary files differ
diff --git a/src/libs/cplusplus/images/privatebackground@2x.png b/src/libs/cplusplus/images/privatebackground@2x.png
new file mode 100644
index 0000000000..e29934552e
--- /dev/null
+++ b/src/libs/cplusplus/images/privatebackground@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/protected.png b/src/libs/cplusplus/images/protected.png
new file mode 100644
index 0000000000..2c87cf2c09
--- /dev/null
+++ b/src/libs/cplusplus/images/protected.png
Binary files differ
diff --git a/src/libs/cplusplus/images/protected@2x.png b/src/libs/cplusplus/images/protected@2x.png
new file mode 100644
index 0000000000..ad1c62356c
--- /dev/null
+++ b/src/libs/cplusplus/images/protected@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/protectedbackground.png b/src/libs/cplusplus/images/protectedbackground.png
new file mode 100644
index 0000000000..d3c1b51334
--- /dev/null
+++ b/src/libs/cplusplus/images/protectedbackground.png
Binary files differ
diff --git a/src/libs/cplusplus/images/protectedbackground@2x.png b/src/libs/cplusplus/images/protectedbackground@2x.png
new file mode 100644
index 0000000000..3f129b5ce0
--- /dev/null
+++ b/src/libs/cplusplus/images/protectedbackground@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/signal.png b/src/libs/cplusplus/images/signal.png
index 062b626182..ff712b8619 100644
--- a/src/libs/cplusplus/images/signal.png
+++ b/src/libs/cplusplus/images/signal.png
Binary files differ
diff --git a/src/libs/cplusplus/images/signal@2x.png b/src/libs/cplusplus/images/signal@2x.png
new file mode 100644
index 0000000000..241e3d7634
--- /dev/null
+++ b/src/libs/cplusplus/images/signal@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/slot.png b/src/libs/cplusplus/images/slot.png
index f1591d2fdb..1c06b59727 100644
--- a/src/libs/cplusplus/images/slot.png
+++ b/src/libs/cplusplus/images/slot.png
Binary files differ
diff --git a/src/libs/cplusplus/images/slot@2x.png b/src/libs/cplusplus/images/slot@2x.png
new file mode 100644
index 0000000000..f1a96a773a
--- /dev/null
+++ b/src/libs/cplusplus/images/slot@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/slot_priv.png b/src/libs/cplusplus/images/slot_priv.png
deleted file mode 100644
index 3f5f62a5f6..0000000000
--- a/src/libs/cplusplus/images/slot_priv.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/slot_prot.png b/src/libs/cplusplus/images/slot_prot.png
deleted file mode 100644
index 92a8682663..0000000000
--- a/src/libs/cplusplus/images/slot_prot.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/static.png b/src/libs/cplusplus/images/static.png
index 12c244780d..988d55d825 100644
--- a/src/libs/cplusplus/images/static.png
+++ b/src/libs/cplusplus/images/static.png
Binary files differ
diff --git a/src/libs/cplusplus/images/static@2x.png b/src/libs/cplusplus/images/static@2x.png
new file mode 100644
index 0000000000..93b9d17751
--- /dev/null
+++ b/src/libs/cplusplus/images/static@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/staticbackground.png b/src/libs/cplusplus/images/staticbackground.png
new file mode 100644
index 0000000000..314bace86a
--- /dev/null
+++ b/src/libs/cplusplus/images/staticbackground.png
Binary files differ
diff --git a/src/libs/cplusplus/images/staticbackground@2x.png b/src/libs/cplusplus/images/staticbackground@2x.png
new file mode 100644
index 0000000000..912032dcae
--- /dev/null
+++ b/src/libs/cplusplus/images/staticbackground@2x.png
Binary files differ
diff --git a/src/libs/cplusplus/images/struct.png b/src/libs/cplusplus/images/struct.png
deleted file mode 100644
index 4b613f68f9..0000000000
--- a/src/libs/cplusplus/images/struct.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/var.png b/src/libs/cplusplus/images/var.png
deleted file mode 100644
index 089cfb45e5..0000000000
--- a/src/libs/cplusplus/images/var.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/var_priv.png b/src/libs/cplusplus/images/var_priv.png
deleted file mode 100644
index 8c6cf64fe7..0000000000
--- a/src/libs/cplusplus/images/var_priv.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/var_priv_st.png b/src/libs/cplusplus/images/var_priv_st.png
deleted file mode 100644
index 81ef73f3f9..0000000000
--- a/src/libs/cplusplus/images/var_priv_st.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/var_prot.png b/src/libs/cplusplus/images/var_prot.png
deleted file mode 100644
index a7496aada0..0000000000
--- a/src/libs/cplusplus/images/var_prot.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/var_prot_st.png b/src/libs/cplusplus/images/var_prot_st.png
deleted file mode 100644
index f078b2fd34..0000000000
--- a/src/libs/cplusplus/images/var_prot_st.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/cplusplus/images/var_st.png b/src/libs/cplusplus/images/var_st.png
deleted file mode 100644
index 2070ca71b6..0000000000
--- a/src/libs/cplusplus/images/var_st.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/qmljs/images/element.png b/src/libs/qmljs/images/element.png
deleted file mode 100644
index 88432d2cb1..0000000000
--- a/src/libs/qmljs/images/element.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/qmljs/images/func.png b/src/libs/qmljs/images/func.png
deleted file mode 100644
index e515e76e61..0000000000
--- a/src/libs/qmljs/images/func.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/qmljs/images/property.png b/src/libs/qmljs/images/property.png
deleted file mode 100644
index 089cfb45e5..0000000000
--- a/src/libs/qmljs/images/property.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/qmljs/images/publicmember.png b/src/libs/qmljs/images/publicmember.png
deleted file mode 100644
index e515e76e61..0000000000
--- a/src/libs/qmljs/images/publicmember.png
+++ /dev/null
Binary files differ
diff --git a/src/libs/qmljs/qmljs-lib.pri b/src/libs/qmljs/qmljs-lib.pri
index bcdd88ef3f..020d402349 100644
--- a/src/libs/qmljs/qmljs-lib.pri
+++ b/src/libs/qmljs/qmljs-lib.pri
@@ -77,10 +77,6 @@ SOURCES += \
$$PWD/qmljsdescribevalue.cpp \
$$PWD/qmljsdialect.cpp
-
-RESOURCES += \
- $$PWD/qmljs.qrc
-
DISTFILES += \
$$PWD/parser/qmljs.g
diff --git a/src/libs/qmljs/qmljs.qbs b/src/libs/qmljs/qmljs.qbs
index a60c092b83..f8b89cc311 100644
--- a/src/libs/qmljs/qmljs.qbs
+++ b/src/libs/qmljs/qmljs.qbs
@@ -19,7 +19,6 @@ QtcLibrary {
files: [
"jsoncheck.cpp", "jsoncheck.h",
"persistenttrie.cpp", "persistenttrie.h",
- "qmljs.qrc",
"qmljs_global.h",
"qmljsbind.cpp", "qmljsbind.h",
"qmljsbundle.cpp", "qmljsbundle.h",
@@ -60,17 +59,6 @@ QtcLibrary {
}
Group {
- name: "Images"
- prefix: "images/"
- files: [
- "element.png",
- "func.png",
- "property.png",
- "publicmember.png",
- ]
- }
-
- Group {
name: "Parser"
prefix: "parser/"
files: [
diff --git a/src/libs/qmljs/qmljs.qrc b/src/libs/qmljs/qmljs.qrc
deleted file mode 100644
index f7b88c2b24..0000000000
--- a/src/libs/qmljs/qmljs.qrc
+++ /dev/null
@@ -1,8 +0,0 @@
-<RCC>
- <qresource prefix="/qmljs">
- <file>images/element.png</file>
- <file>images/property.png</file>
- <file>images/publicmember.png</file>
- <file>images/func.png</file>
- </qresource>
-</RCC>
diff --git a/src/libs/qmljs/qmljsicons.cpp b/src/libs/qmljs/qmljsicons.cpp
index 2a2e8f3518..411c0d2c37 100644
--- a/src/libs/qmljs/qmljsicons.cpp
+++ b/src/libs/qmljs/qmljsicons.cpp
@@ -25,6 +25,8 @@
#include "qmljsicons.h"
+#include <cplusplus/Icons.h>
+
#include <QDir>
#include <QHash>
#include <QIcon>
@@ -47,10 +49,6 @@ Icons *Icons::m_instance = 0;
class IconsPrivate
{
public:
- QIcon elementIcon;
- QIcon propertyIcon;
- QIcon publicMemberIcon;
- QIcon functionDeclarationIcon;
QHash<QPair<QString,QString>,QIcon> iconHash;
QString resourcePath;
};
@@ -60,10 +58,6 @@ public:
Icons::Icons()
: d(new IconsPrivate)
{
- d->elementIcon = QIcon(QLatin1String(":/qmljs/images/element.png"));
- d->propertyIcon = QIcon(QLatin1String(":/qmljs/images/property.png"));
- d->publicMemberIcon = QIcon(QLatin1String(":/qmljs/images/publicmember.png"));
- d->functionDeclarationIcon = QIcon(QLatin1String(":/qmljs/images/func.png"));
}
Icons::~Icons()
@@ -117,7 +111,7 @@ QIcon Icons::icon(const QString &packageName, const QString typeName) const
return d->iconHash.value(element);
}
-QIcon Icons::icon(Node *node) const
+QIcon Icons::icon(Node *node)
{
if (dynamic_cast<AST::UiObjectDefinition*>(node))
return objectDefinitionIcon();
@@ -127,22 +121,22 @@ QIcon Icons::icon(Node *node) const
return QIcon();
}
-QIcon Icons::objectDefinitionIcon() const
+QIcon Icons::objectDefinitionIcon()
{
- return d->elementIcon;
+ return CPlusPlus::Icons::iconForType(CPlusPlus::Icons::ClassIconType);
}
-QIcon Icons::scriptBindingIcon() const
+QIcon Icons::scriptBindingIcon()
{
- return d->propertyIcon;
+ return CPlusPlus::Icons::iconForType(CPlusPlus::Icons::VarPublicIconType);
}
-QIcon Icons::publicMemberIcon() const
+QIcon Icons::publicMemberIcon()
{
- return d->publicMemberIcon;
+ return CPlusPlus::Icons::iconForType(CPlusPlus::Icons::FuncPublicIconType);
}
-QIcon Icons::functionDeclarationIcon() const
+QIcon Icons::functionDeclarationIcon()
{
- return d->functionDeclarationIcon;
+ return CPlusPlus::Icons::iconForType(CPlusPlus::Icons::FuncPublicIconType);
}
diff --git a/src/libs/qmljs/qmljsicons.h b/src/libs/qmljs/qmljsicons.h
index 989e088ad1..1ff4cadf9d 100644
--- a/src/libs/qmljs/qmljsicons.h
+++ b/src/libs/qmljs/qmljsicons.h
@@ -44,12 +44,12 @@ public:
void setIconFilesPath(const QString &iconPath);
QIcon icon(const QString &packageName, const QString typeName) const;
- QIcon icon(AST::Node *node) const;
+ static QIcon icon(AST::Node *node);
- QIcon objectDefinitionIcon() const;
- QIcon scriptBindingIcon() const;
- QIcon publicMemberIcon() const;
- QIcon functionDeclarationIcon() const;
+ static QIcon objectDefinitionIcon();
+ static QIcon scriptBindingIcon();
+ static QIcon publicMemberIcon();
+ static QIcon functionDeclarationIcon();
private:
Icons();
diff --git a/src/libs/qtcreatorcdbext/containers.cpp b/src/libs/qtcreatorcdbext/containers.cpp
index f4446ea39d..e61fbd68e6 100644
--- a/src/libs/qtcreatorcdbext/containers.cpp
+++ b/src/libs/qtcreatorcdbext/containers.cpp
@@ -192,6 +192,7 @@ int containerSize(KnownType kt, const SymbolGroupValue &v)
case KT_StdSet:
case KT_StdMap:
case KT_StdMultiMap:
+ case KT_StdValArray:
case KT_StdList:
if (const SymbolGroupValue size = SymbolGroupValue::findMember(v, "_Mysize"))
return size.intValue();
@@ -349,29 +350,42 @@ static inline AbstractSymbolGroupNodePtrVector
return AbstractSymbolGroupNodePtrVector();
}
-// std::vector<T>
+
static inline AbstractSymbolGroupNodePtrVector
- stdVectorChildList(SymbolGroupNode *n, unsigned count, const SymbolGroupValueContext &ctx)
+ arrayChildListHelper(SymbolGroupNode *n, unsigned count, const SymbolGroupValueContext &ctx,
+ std::string arrayMember)
{
if (!count)
return AbstractSymbolGroupNodePtrVector();
- // MSVC2012 has 2 base classes, MSVC2010 1, MSVC2008 none
- const SymbolGroupValue vec = SymbolGroupValue(n, ctx);
- SymbolGroupValue myFirst = SymbolGroupValue::findMember(vec, "_Myfirst");
- if (!myFirst)
+ const SymbolGroupValue val = SymbolGroupValue(n, ctx);
+ SymbolGroupValue arrayPtr = SymbolGroupValue::findMember(val, arrayMember.c_str());
+ if (!arrayPtr)
return AbstractSymbolGroupNodePtrVector();
- // std::vector<T>: _Myfirst is a pointer of T*. Get address
- // element to obtain address.
- const ULONG64 address = myFirst.pointerValue();
+ // arrayMember is a pointer of T*. Get address element to obtain address.
+ const ULONG64 address = arrayPtr.pointerValue();
if (!address)
return AbstractSymbolGroupNodePtrVector();
- const std::string firstType = myFirst.type();
- const std::string innerType = fixInnerType(SymbolGroupValue::stripPointerType(firstType), vec);
+ const std::string firstType = arrayPtr.type();
+ const std::string innerType = fixInnerType(SymbolGroupValue::stripPointerType(firstType), val);
if (SymbolGroupValue::verbose)
DebugPrint() << n->name() << " inner type: '" << innerType << "' from '" << firstType << '\'';
return arrayChildList(n->symbolGroup(), address, n->module(), innerType, count);
}
+// std::vector<T>
+static inline AbstractSymbolGroupNodePtrVector
+ stdVectorChildList(SymbolGroupNode *n, unsigned count, const SymbolGroupValueContext &ctx)
+{
+ return arrayChildListHelper(n, count, ctx, "_Myfirst");
+}
+
+// std::valarray<T>
+static inline AbstractSymbolGroupNodePtrVector stdValArrayChildList(
+ SymbolGroupNode *n, unsigned count, const SymbolGroupValueContext &ctx)
+{
+ return arrayChildListHelper(n, count, ctx, "_Myptr");
+}
+
// Helper for std::deque<>: From the array of deque blocks, read out the values.
template<class AddressType>
AbstractSymbolGroupNodePtrVector
@@ -1142,6 +1156,8 @@ AbstractSymbolGroupNodePtrVector containerChildren(SymbolGroupNode *node, int ty
return stdListChildList(node, size , ctx);
case KT_StdArray:
return stdArrayChildList(node, size , ctx);
+ case KT_StdValArray:
+ return stdValArrayChildList(node, size , ctx);
case KT_StdDeque:
return stdDequeChildList(SymbolGroupValue(node, ctx), size);
case KT_StdStack:
diff --git a/src/libs/qtcreatorcdbext/knowntype.h b/src/libs/qtcreatorcdbext/knowntype.h
index 6e4d9bf799..4b9f00099e 100644
--- a/src/libs/qtcreatorcdbext/knowntype.h
+++ b/src/libs/qtcreatorcdbext/knowntype.h
@@ -175,5 +175,6 @@ enum KnownType
KT_StdSet = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 5,
KT_StdMap = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 6,
KT_StdMultiMap = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 7,
- KT_StdArray = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 8
+ KT_StdArray = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 8,
+ KT_StdValArray = KT_STL_Type + KT_ContainerType + KT_HasSimpleDumper + 9
};
diff --git a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp
index 8f829cc207..9fde18be18 100644
--- a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp
+++ b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp
@@ -1112,6 +1112,8 @@ static KnownType knownClassTypeHelper(const std::string &type,
case 8:
if (!type.compare(hPos, 8, "multimap"))
return KT_StdMultiMap;
+ if (!type.compare(hPos, 8, "valarray"))
+ return KT_StdValArray;
break;
}
}
diff --git a/src/libs/utils/theme/theme.h b/src/libs/utils/theme/theme.h
index e9727bb999..e25e2e7db6 100644
--- a/src/libs/utils/theme/theme.h
+++ b/src/libs/utils/theme/theme.h
@@ -150,6 +150,21 @@ public:
IconsModeAnalyzeActiveColor,
IconsModeHelpActiveColor,
+ /* Code model Icons */
+
+ IconsCodeModelKeywordColor,
+ IconsCodeModelClassColor,
+ IconsCodeModelStructColor,
+ IconsCodeModelFunctionColor,
+ IconsCodeModelVariableColor,
+ IconsCodeModelEnumColor,
+ IconsCodeModelMacroColor,
+ IconsCodeModelAttributeColor,
+ IconsCodeModelUniformColor,
+ IconsCodeModelVaryingColor,
+ IconsCodeModelOverlayBackgroundColor,
+ IconsCodeModelOverlayForegroundColor,
+
/* Output panes */
OutputPanes_DebugTextColor,