Utils: move code model icons to utils
In preperation for the language server protocol support. Change-Id: Iee4ccd53a86d9afdb357972ea62b75ace2edcb1d Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
@@ -30,8 +30,6 @@
|
||||
#include <cplusplus/Symbols.h>
|
||||
#include <cplusplus/Type.h>
|
||||
|
||||
#include <utils/icon.h>
|
||||
|
||||
using namespace CPlusPlus;
|
||||
using CPlusPlus::Icons;
|
||||
|
||||
@@ -42,16 +40,17 @@ QIcon Icons::iconForSymbol(const Symbol *symbol)
|
||||
|
||||
QIcon Icons::keywordIcon()
|
||||
{
|
||||
return iconForType(KeywordIconType);
|
||||
return iconForType(Utils::CodeModelIcon::Keyword);
|
||||
}
|
||||
|
||||
QIcon Icons::macroIcon()
|
||||
{
|
||||
return iconForType(MacroIconType);
|
||||
return iconForType(Utils::CodeModelIcon::Macro);
|
||||
}
|
||||
|
||||
Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol)
|
||||
Utils::CodeModelIcon::Type Icons::iconTypeForSymbol(const Symbol *symbol)
|
||||
{
|
||||
using namespace Utils::CodeModelIcon;
|
||||
if (const Template *templ = symbol->asTemplate()) {
|
||||
if (Symbol *decl = templ->declaration())
|
||||
return iconTypeForSymbol(decl);
|
||||
@@ -67,244 +66,53 @@ Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol)
|
||||
|
||||
if (function->isSlot()) {
|
||||
if (function->isPublic())
|
||||
return SlotPublicIconType;
|
||||
return SlotPublic;
|
||||
else if (function->isProtected())
|
||||
return SlotProtectedIconType;
|
||||
return SlotProtected;
|
||||
else if (function->isPrivate())
|
||||
return SlotPrivateIconType;
|
||||
return SlotPrivate;
|
||||
} else if (function->isSignal()) {
|
||||
return SignalIconType;
|
||||
return Signal;
|
||||
} else if (symbol->isPublic()) {
|
||||
return symbol->isStatic() ? FuncPublicStaticIconType : FuncPublicIconType;
|
||||
return symbol->isStatic() ? FuncPublicStatic : FuncPublic;
|
||||
} else if (symbol->isProtected()) {
|
||||
return symbol->isStatic() ? FuncProtectedStaticIconType : FuncProtectedIconType;
|
||||
return symbol->isStatic() ? FuncProtectedStatic : FuncProtected;
|
||||
} else if (symbol->isPrivate()) {
|
||||
return symbol->isStatic() ? FuncPrivateStaticIconType : FuncPrivateIconType;
|
||||
return symbol->isStatic() ? FuncPrivateStatic : FuncPrivate;
|
||||
}
|
||||
} else if (symbol->enclosingScope() && symbol->enclosingScope()->isEnum()) {
|
||||
return EnumeratorIconType;
|
||||
return Enumerator;
|
||||
} else if (symbol->isDeclaration() || symbol->isArgument()) {
|
||||
if (symbol->isPublic()) {
|
||||
return symbol->isStatic() ? VarPublicStaticIconType : VarPublicIconType;
|
||||
return symbol->isStatic() ? VarPublicStatic : VarPublic;
|
||||
} else if (symbol->isProtected()) {
|
||||
return symbol->isStatic() ? VarProtectedStaticIconType : VarProtectedIconType;
|
||||
return symbol->isStatic() ? VarProtectedStatic : VarProtected;
|
||||
} else if (symbol->isPrivate()) {
|
||||
return symbol->isStatic() ? VarPrivateStaticIconType : VarPrivateIconType;
|
||||
return symbol->isStatic() ? VarPrivateStatic : VarPrivate;
|
||||
}
|
||||
} else if (symbol->isEnum()) {
|
||||
return EnumIconType;
|
||||
return Utils::CodeModelIcon::Enum;
|
||||
} else if (symbol->isForwardClassDeclaration()) {
|
||||
return ClassIconType; // TODO: Store class key in ForwardClassDeclaration
|
||||
return Utils::CodeModelIcon::Class; // TODO: Store class key in ForwardClassDeclaration
|
||||
} else if (const Class *klass = symbol->asClass()) {
|
||||
return klass->isStruct() ? StructIconType : ClassIconType;
|
||||
return klass->isStruct() ? Struct : Utils::CodeModelIcon::Class;
|
||||
} else if (symbol->isObjCClass() || symbol->isObjCForwardClassDeclaration()) {
|
||||
return ClassIconType;
|
||||
return Utils::CodeModelIcon::Class;
|
||||
} else if (symbol->isObjCProtocol() || symbol->isObjCForwardProtocolDeclaration()) {
|
||||
return ClassIconType;
|
||||
return Utils::CodeModelIcon::Class;
|
||||
} else if (symbol->isObjCMethod()) {
|
||||
return FuncPublicIconType;
|
||||
return FuncPublic;
|
||||
} else if (symbol->isNamespace()) {
|
||||
return NamespaceIconType;
|
||||
return Utils::CodeModelIcon::Namespace;
|
||||
} else if (symbol->isTypenameArgument()) {
|
||||
return ClassIconType;
|
||||
return Utils::CodeModelIcon::Class;
|
||||
} else if (symbol->isQtPropertyDeclaration() || symbol->isObjCPropertyDeclaration()) {
|
||||
return PropertyIconType;
|
||||
return Property;
|
||||
} else if (symbol->isUsingNamespaceDirective() ||
|
||||
symbol->isUsingDeclaration()) {
|
||||
// TODO: Might be nice to have a different icons for these things
|
||||
return NamespaceIconType;
|
||||
return Utils::CodeModelIcon::Namespace;
|
||||
}
|
||||
|
||||
return UnknownIconType;
|
||||
}
|
||||
|
||||
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 propertyIcon {
|
||||
QLatin1String(":/codemodel/images/property.png"), Theme::IconsCodeModelOverlayForegroundColor};
|
||||
static const IconMaskAndColor propertyBackgroundIcon {
|
||||
QLatin1String(":/codemodel/images/propertybackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
|
||||
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: {
|
||||
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(":/utils/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;
|
||||
}
|
||||
case PropertyIconType: {
|
||||
const static QIcon icon(Icon({
|
||||
variableIcon, propertyBackgroundIcon, propertyIcon
|
||||
}, Icon::Tint).icon());
|
||||
return icon;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return QIcon();
|
||||
return Unknown;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <cplusplus/CPlusPlusForwardDeclarations.h>
|
||||
#include <utils/utilsicons.h>
|
||||
|
||||
#include <QIcon>
|
||||
|
||||
@@ -41,36 +42,7 @@ public:
|
||||
static QIcon keywordIcon();
|
||||
static QIcon macroIcon();
|
||||
|
||||
enum IconType {
|
||||
ClassIconType = 0,
|
||||
StructIconType,
|
||||
EnumIconType,
|
||||
EnumeratorIconType,
|
||||
FuncPublicIconType,
|
||||
FuncProtectedIconType,
|
||||
FuncPrivateIconType,
|
||||
FuncPublicStaticIconType,
|
||||
FuncProtectedStaticIconType,
|
||||
FuncPrivateStaticIconType,
|
||||
NamespaceIconType,
|
||||
VarPublicIconType,
|
||||
VarProtectedIconType,
|
||||
VarPrivateIconType,
|
||||
VarPublicStaticIconType,
|
||||
VarProtectedStaticIconType,
|
||||
VarPrivateStaticIconType,
|
||||
SignalIconType,
|
||||
SlotPublicIconType,
|
||||
SlotProtectedIconType,
|
||||
SlotPrivateIconType,
|
||||
KeywordIconType,
|
||||
MacroIconType,
|
||||
PropertyIconType,
|
||||
UnknownIconType
|
||||
};
|
||||
|
||||
static IconType iconTypeForSymbol(const Symbol *symbol);
|
||||
static QIcon iconForType(IconType type);
|
||||
static Utils::CodeModelIcon::Type iconTypeForSymbol(const Symbol *symbol);
|
||||
|
||||
private:
|
||||
Icons() {}
|
||||
|
||||
@@ -84,5 +84,3 @@ SOURCES += \
|
||||
$$PWD/findcdbbreakpoint.cpp \
|
||||
$$PWD/PPToken.cpp \
|
||||
$$PWD/cppmodelmanagerbase.cpp
|
||||
|
||||
RESOURCES += $$PWD/cplusplus.qrc
|
||||
|
||||
@@ -122,7 +122,6 @@ Project {
|
||||
"SymbolNameVisitor.cpp", "SymbolNameVisitor.h",
|
||||
"TypeOfExpression.cpp", "TypeOfExpression.h",
|
||||
"TypePrettyPrinter.cpp", "TypePrettyPrinter.h",
|
||||
"cplusplus.qrc",
|
||||
"findcdbbreakpoint.cpp", "findcdbbreakpoint.h",
|
||||
"pp-cctype.h",
|
||||
"pp-engine.cpp", "pp-engine.h",
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
<RCC>
|
||||
<qresource prefix="/codemodel">
|
||||
<file>images/enum.png</file>
|
||||
<file>images/enum@2x.png</file>
|
||||
<file>images/enumerator.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/signal.png</file>
|
||||
<file>images/signal@2x.png</file>
|
||||
<file>images/slot.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/property.png</file>
|
||||
<file>images/property@2x.png</file>
|
||||
<file>images/propertybackground.png</file>
|
||||
<file>images/propertybackground@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: 139 B |
|
Before Width: | Height: | Size: 168 B |
|
Before Width: | Height: | Size: 136 B |
|
Before Width: | Height: | Size: 165 B |
|
Before Width: | Height: | Size: 155 B |
|
Before Width: | Height: | Size: 175 B |
|
Before Width: | Height: | Size: 106 B |
|
Before Width: | Height: | Size: 114 B |
|
Before Width: | Height: | Size: 121 B |
|
Before Width: | Height: | Size: 133 B |
|
Before Width: | Height: | Size: 112 B |
|
Before Width: | Height: | Size: 118 B |
|
Before Width: | Height: | Size: 124 B |
|
Before Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 139 B |
|
Before Width: | Height: | Size: 143 B |
|
Before Width: | Height: | Size: 133 B |
|
Before Width: | Height: | Size: 217 B |
|
Before Width: | Height: | Size: 169 B |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 112 B |
|
Before Width: | Height: | Size: 165 B |
|
Before Width: | Height: | Size: 144 B |
|
Before Width: | Height: | Size: 153 B |
|
Before Width: | Height: | Size: 148 B |
|
Before Width: | Height: | Size: 133 B |
|
Before Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 187 B |
|
Before Width: | Height: | Size: 115 B |
|
Before Width: | Height: | Size: 177 B |
|
Before Width: | Height: | Size: 216 B |
|
Before Width: | Height: | Size: 385 B |
|
Before Width: | Height: | Size: 199 B |
|
Before Width: | Height: | Size: 374 B |
|
Before Width: | Height: | Size: 188 B |
|
Before Width: | Height: | Size: 210 B |
|
Before Width: | Height: | Size: 120 B |
|
Before Width: | Height: | Size: 159 B |
|
Before Width: | Height: | Size: 131 B |
|
Before Width: | Height: | Size: 173 B |