diff options
author | Kai Koehne <kai.koehne@nokia.com> | 2010-07-08 11:30:44 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@nokia.com> | 2010-07-08 14:02:51 +0200 |
commit | 1541dec6f34a6cbcec44391f87de2a7c2c00048b (patch) | |
tree | 5352c4f050051f9e27f5a43dd88f5d8573c11f22 /src/libs/qmljs | |
parent | 1fff761d57c82978d0f8a408424241eb1fc4fdb9 (diff) | |
download | qt-creator-1541dec6f34a6cbcec44391f87de2a7c2c00048b.tar.gz |
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.
Diffstat (limited to 'src/libs/qmljs')
-rw-r--r-- | src/libs/qmljs/images/element.png | bin | 0 -> 573 bytes | |||
-rw-r--r-- | src/libs/qmljs/images/property.png | bin | 0 -> 530 bytes | |||
-rw-r--r-- | src/libs/qmljs/qmljs-lib.pri | 9 | ||||
-rw-r--r-- | src/libs/qmljs/qmljs.qrc | 6 | ||||
-rw-r--r-- | src/libs/qmljs/qmljsicons.cpp | 49 | ||||
-rw-r--r-- | src/libs/qmljs/qmljsicons.h | 28 |
6 files changed, 90 insertions, 2 deletions
diff --git a/src/libs/qmljs/images/element.png b/src/libs/qmljs/images/element.png Binary files differnew file mode 100644 index 0000000000..88432d2cb1 --- /dev/null +++ b/src/libs/qmljs/images/element.png diff --git a/src/libs/qmljs/images/property.png b/src/libs/qmljs/images/property.png Binary files differnew file mode 100644 index 0000000000..089cfb45e5 --- /dev/null +++ b/src/libs/qmljs/images/property.png diff --git a/src/libs/qmljs/qmljs-lib.pri b/src/libs/qmljs/qmljs-lib.pri index 411e108bd3..53984c3063 100644 --- a/src/libs/qmljs/qmljs-lib.pri +++ b/src/libs/qmljs/qmljs-lib.pri @@ -26,7 +26,8 @@ HEADERS += \ $$PWD/qmljsmodelmanagerinterface.h \ $$PWD/qmljsicontextpane.h \ $$PWD/qmljspropertyreader.h \ - $$PWD/qmljsrewriter.h + $$PWD/qmljsrewriter.h \ + $$PWD/qmljsicons.h SOURCES += \ $$PWD/qmljsbind.cpp \ @@ -42,7 +43,11 @@ SOURCES += \ $$PWD/qmljscomponentversion.cpp \ $$PWD/qmljsmodelmanagerinterface.cpp \ $$PWD/qmljspropertyreader.cpp \ - $$PWD/qmljsrewriter.cpp + $$PWD/qmljsrewriter.cpp \ + $$PWD/qmljsicons.cpp + +RESOURCES += \ + $$PWD/qmljs.qrc OTHER_FILES += \ $$PWD/parser/qmljs.g diff --git a/src/libs/qmljs/qmljs.qrc b/src/libs/qmljs/qmljs.qrc new file mode 100644 index 0000000000..b5f83399f2 --- /dev/null +++ b/src/libs/qmljs/qmljs.qrc @@ -0,0 +1,6 @@ +<RCC> + <qresource prefix="/qmljs"> + <file>images/element.png</file> + <file>images/property.png</file> + </qresource> +</RCC> diff --git a/src/libs/qmljs/qmljsicons.cpp b/src/libs/qmljs/qmljsicons.cpp new file mode 100644 index 0000000000..a857941285 --- /dev/null +++ b/src/libs/qmljs/qmljsicons.cpp @@ -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; +} diff --git a/src/libs/qmljs/qmljsicons.h b/src/libs/qmljs/qmljsicons.h new file mode 100644 index 0000000000..b45d21acda --- /dev/null +++ b/src/libs/qmljs/qmljsicons.h @@ -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 |