forked from qt-creator/qt-creator
Add Icons provider to QmlJS library
Add an Icons class to QmlJS along the Icons class in the C++ support. This will be used in the QmlJS Outline.
This commit is contained in:
BIN
src/libs/qmljs/images/element.png
Normal file
BIN
src/libs/qmljs/images/element.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 573 B |
BIN
src/libs/qmljs/images/property.png
Normal file
BIN
src/libs/qmljs/images/property.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 530 B |
@@ -26,7 +26,8 @@ HEADERS += \
|
|||||||
$$PWD/qmljsmodelmanagerinterface.h \
|
$$PWD/qmljsmodelmanagerinterface.h \
|
||||||
$$PWD/qmljsicontextpane.h \
|
$$PWD/qmljsicontextpane.h \
|
||||||
$$PWD/qmljspropertyreader.h \
|
$$PWD/qmljspropertyreader.h \
|
||||||
$$PWD/qmljsrewriter.h
|
$$PWD/qmljsrewriter.h \
|
||||||
|
$$PWD/qmljsicons.h
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
$$PWD/qmljsbind.cpp \
|
$$PWD/qmljsbind.cpp \
|
||||||
@@ -42,7 +43,11 @@ SOURCES += \
|
|||||||
$$PWD/qmljscomponentversion.cpp \
|
$$PWD/qmljscomponentversion.cpp \
|
||||||
$$PWD/qmljsmodelmanagerinterface.cpp \
|
$$PWD/qmljsmodelmanagerinterface.cpp \
|
||||||
$$PWD/qmljspropertyreader.cpp \
|
$$PWD/qmljspropertyreader.cpp \
|
||||||
$$PWD/qmljsrewriter.cpp
|
$$PWD/qmljsrewriter.cpp \
|
||||||
|
$$PWD/qmljsicons.cpp
|
||||||
|
|
||||||
|
RESOURCES += \
|
||||||
|
$$PWD/qmljs.qrc
|
||||||
|
|
||||||
OTHER_FILES += \
|
OTHER_FILES += \
|
||||||
$$PWD/parser/qmljs.g
|
$$PWD/parser/qmljs.g
|
||||||
|
|||||||
6
src/libs/qmljs/qmljs.qrc
Normal file
6
src/libs/qmljs/qmljs.qrc
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<RCC>
|
||||||
|
<qresource prefix="/qmljs">
|
||||||
|
<file>images/element.png</file>
|
||||||
|
<file>images/property.png</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
||||||
49
src/libs/qmljs/qmljsicons.cpp
Normal file
49
src/libs/qmljs/qmljsicons.cpp
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#include "qmljsicons.h"
|
||||||
|
|
||||||
|
using namespace QmlJS;
|
||||||
|
using namespace QmlJS::AST;
|
||||||
|
|
||||||
|
namespace QmlJS {
|
||||||
|
|
||||||
|
class IconsPrivate
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QIcon elementIcon;
|
||||||
|
QIcon propertyIcon;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace QmlJS
|
||||||
|
|
||||||
|
Icons::Icons()
|
||||||
|
: m_d(new IconsPrivate)
|
||||||
|
{
|
||||||
|
m_d->elementIcon = QIcon(QLatin1String(":/qmljs/images/element.png"));
|
||||||
|
m_d->propertyIcon = QIcon(QLatin1String(":/qmljs/images/property.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
Icons::~Icons()
|
||||||
|
{
|
||||||
|
delete m_d;
|
||||||
|
}
|
||||||
|
|
||||||
|
QIcon Icons::icon(Node *node) const
|
||||||
|
{
|
||||||
|
if (dynamic_cast<AST::UiObjectDefinition*>(node)) {
|
||||||
|
return objectDefinitionIcon();
|
||||||
|
}
|
||||||
|
if (dynamic_cast<AST::UiScriptBinding*>(node)) {
|
||||||
|
return scriptBindingIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
return QIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
QIcon Icons::objectDefinitionIcon() const
|
||||||
|
{
|
||||||
|
return m_d->elementIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
QIcon Icons::scriptBindingIcon() const
|
||||||
|
{
|
||||||
|
return m_d->propertyIcon;
|
||||||
|
}
|
||||||
28
src/libs/qmljs/qmljsicons.h
Normal file
28
src/libs/qmljs/qmljsicons.h
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#ifndef QMLJSICONS_H
|
||||||
|
#define QMLJSICONS_H
|
||||||
|
|
||||||
|
#include <qmljs/qmljs_global.h>
|
||||||
|
#include <qmljs/parser/qmljsast_p.h>
|
||||||
|
#include <QtGui/QIcon>
|
||||||
|
|
||||||
|
namespace QmlJS {
|
||||||
|
|
||||||
|
class IconsPrivate;
|
||||||
|
|
||||||
|
class QMLJS_EXPORT Icons
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Icons();
|
||||||
|
~Icons();
|
||||||
|
|
||||||
|
QIcon icon(AST::Node *node) const;
|
||||||
|
|
||||||
|
QIcon objectDefinitionIcon() const;
|
||||||
|
QIcon scriptBindingIcon() const;
|
||||||
|
|
||||||
|
IconsPrivate *m_d;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace QmlJS
|
||||||
|
|
||||||
|
#endif // QMLJSICONS_H
|
||||||
Reference in New Issue
Block a user