diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-02 10:56:09 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-02 11:10:36 +0300 |
commit | e4ae069de4b69856771a804926f23d3644599d99 (patch) | |
tree | baef00fe16a91e93c8236356612324ee4d7da725 /src/datavisualization/engine/selectionpointer.cpp | |
parent | 23052d3f50764e3d6a0def345d09c9a78d38857a (diff) |
Make surface selection label follow the theme
Task-number: QTRD-2269
Change-Id: Ibcfb467e72fa2bf63453108d73a027446113fcb0
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/engine/selectionpointer.cpp')
-rw-r--r-- | src/datavisualization/engine/selectionpointer.cpp | 33 |
1 files changed, 7 insertions, 26 deletions
diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index f60b510b..ded4dc6f 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -34,15 +34,15 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE -SelectionPointer::SelectionPointer(Surface3DController *controller, Drawer *drawer) - : QObject(controller), - m_controller(controller), +SelectionPointer::SelectionPointer(Drawer *drawer) + : QObject(0), m_labelShader(0), m_pointShader(0), m_labelObj(0), m_pointObj(0), m_textureHelper(0), m_isInitialized(false), + m_cachedTheme(drawer->theme()), m_labelTransparency(QDataVis::TransparencyFromTheme), m_drawer(drawer), m_cachedScene(0) @@ -50,7 +50,7 @@ SelectionPointer::SelectionPointer(Surface3DController *controller, Drawer *draw initializeOpenGL(); QObject::connect(m_drawer, &Drawer::drawerChanged, - this, &SelectionPointer::updateLabel); + this, &SelectionPointer::handleDrawerChange); } SelectionPointer::~SelectionPointer() @@ -77,8 +77,6 @@ void SelectionPointer::initializeOpenGL() loadLabelMesh(); loadPointMesh(); - updateTheme(m_controller->theme()); - // Set initialized -flag m_isInitialized = true; } @@ -218,32 +216,15 @@ void SelectionPointer::setLabel(QString label) { m_label = label; - m_labelItem.clear(); - - // Print label into a QImage - QImage image = Utils::printTextToImage(m_drawer->font(), - label, - m_cachedTheme.m_textBackgroundColor, - m_cachedTheme.m_textColor, - m_labelTransparency, - m_cachedTheme.m_labelBorders); - - // Set label size - m_labelItem.setSize(image.size()); - // Insert text texture into label (also deletes the old texture) - m_labelItem.setTextureId(m_textureHelper->create2DTexture(image, true, true)); + m_drawer->generateLabelItem(m_labelItem, m_label); } -void SelectionPointer::updateLabel() +void SelectionPointer::handleDrawerChange() { + m_cachedTheme = m_drawer->theme(); setLabel(m_label); } -void SelectionPointer::updateTheme(Theme theme) -{ - m_cachedTheme.setFromTheme(theme); -} - void SelectionPointer::updateBoundingRect(QRect rect) { m_mainViewPort = rect; |