summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/selectionpointer.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-10-02 10:56:09 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-10-02 11:10:36 +0300
commite4ae069de4b69856771a804926f23d3644599d99 (patch)
treebaef00fe16a91e93c8236356612324ee4d7da725 /src/datavisualization/engine/selectionpointer.cpp
parent23052d3f50764e3d6a0def345d09c9a78d38857a (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.cpp33
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;