CPlusPlus: New code model icons

Change-Id: I9ad6445319d85ffb652377a00256a68d56754352
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
Alessandro Portale
2016-04-08 17:33:57 +02:00
parent 38ebfa9573
commit 4c7cef82aa
62 changed files with 757 additions and 39 deletions

View File

@@ -30,6 +30,8 @@
#include <cplusplus/Symbols.h>
#include <cplusplus/Type.h>
#include <utils/icon.h>
using namespace CPlusPlus;
using CPlusPlus::Icons;
@@ -116,97 +118,177 @@ Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol)
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: {
const static QIcon icon(QLatin1String(":/codemodel/images/class.png"));
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(QLatin1String(":/codemodel/images/struct.png"));
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(QLatin1String(":/codemodel/images/enum.png"));
const static QIcon icon(Icon({
{QLatin1String(":/codemodel/images/enum.png"), Theme::IconsCodeModelEnumColor}
}, Icon::Tint).icon());
return icon;
}
case EnumeratorIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/enumerator.png"));
const static QIcon icon(Icon({
{QLatin1String(":/codemodel/images/enumerator.png"), Theme::IconsCodeModelEnumColor}
}, Icon::Tint).icon());
return icon;
}
case FuncPublicIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/func.png"));
const static QIcon icon(Icon({
functionIcon}, Icon::Tint).icon());
return icon;
}
case FuncProtectedIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/func_prot.png"));
const static QIcon icon(Icon({
functionIcon, protectedBackgroundIcon, protectedIcon
}, Icon::Tint).icon());
return icon;
}
case FuncPrivateIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/func_priv.png"));
const static QIcon icon(Icon({
functionIcon, privateBackgroundIcon, privateIcon
}, Icon::Tint).icon());
return icon;
}
case FuncPublicStaticIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/func_st.png"));
const static QIcon icon(Icon({
functionIcon, staticBackgroundIcon, staticIcon
}, Icon::Tint).icon());
return icon;
}
case FuncProtectedStaticIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/func_prot_st.png"));
const static QIcon icon(Icon({
functionIcon, staticBackgroundIcon, staticIcon, protectedBackgroundIcon, protectedIcon
}, Icon::Tint).icon());
return icon;
}
case FuncPrivateStaticIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/func_priv_st.png"));
const static QIcon icon(Icon({
functionIcon, staticBackgroundIcon, staticIcon, privateBackgroundIcon, privateIcon
}, Icon::Tint).icon());
return icon;
}
case NamespaceIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/namespace.png"));
const static QIcon icon(Icon({
{QLatin1String(":/codemodel/images/namespace.png"), Theme::IconsCodeModelKeywordColor}
}, Icon::Tint).icon());
return icon;
}
case VarPublicIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/var.png"));
const static QIcon icon(Icon({
variableIcon
}, Icon::Tint).icon());
return icon;
}
case VarProtectedIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/var_prot.png"));
const static QIcon icon(Icon({
variableIcon, protectedBackgroundIcon, protectedIcon
}, Icon::Tint).icon());
return icon;
}
case VarPrivateIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/var_priv.png"));
const static QIcon icon(Icon({
variableIcon, privateBackgroundIcon, privateIcon
}, Icon::Tint).icon());
return icon;
}
case VarPublicStaticIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/var_st.png"));
const static QIcon icon(Icon({
variableIcon, staticBackgroundIcon, staticIcon
}, Icon::Tint).icon());
return icon;
}
case VarProtectedStaticIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/var_prot_st.png"));
const static QIcon icon(Icon({
variableIcon, staticBackgroundIcon, staticIcon, protectedBackgroundIcon, protectedIcon
}, Icon::Tint).icon());
return icon;
}
case VarPrivateStaticIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/var_priv_st.png"));
const static QIcon icon(Icon({
variableIcon, staticBackgroundIcon, staticIcon, privateBackgroundIcon, privateIcon
}, Icon::Tint).icon());
return icon;
}
case SignalIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/signal.png"));
const static QIcon icon(Icon({
signalIcon
}, Icon::Tint).icon());
return icon;
}
case SlotPublicIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/slot.png"));
const static QIcon icon(Icon({
slotIcon
}, Icon::Tint).icon());
return icon;
}
case SlotProtectedIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/slot_prot.png"));
const static QIcon icon(Icon({
slotIcon, protectedBackgroundIcon, protectedIcon
}, Icon::Tint).icon());
return icon;
}
case SlotPrivateIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/slot_priv.png"));
const static QIcon icon(Icon({
slotIcon, privateBackgroundIcon, privateIcon
}, Icon::Tint).icon());
return icon;
}
case KeywordIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/keyword.png"));
const static QIcon icon(Icon({
{QLatin1String(":/codemodel/images/keyword.png"), Theme::IconsCodeModelKeywordColor}
}, Icon::Tint).icon());
return icon;
}
case MacroIconType: {
const static QIcon icon(QLatin1String(":/codemodel/images/macro.png"));
const static QIcon icon(Icon({
{QLatin1String(":/codemodel/images/macro.png"), Theme::IconsCodeModelMacroColor}
}, Icon::Tint).icon());
return icon;
}
default: