3030using namespace trikControl ;
3131
3232GuiWorker::GuiWorker ()
33- : mFontMetrics(mImageWidget .font())
3433{
34+
35+ }
36+
37+ void GuiWorker::init ()
38+ {
39+ mImageLabel .reset (new QLabel ());
40+ mImageWidget .reset (new GraphicsWidget ());
41+ mFontMetrics .reset (new QFontMetrics (mImageWidget ->font ()));
42+
3543 QHBoxLayout * const layout = new QHBoxLayout ();
36- mImageLabel . setScaledContents (true );
37- layout->addWidget (& mImageLabel );
38- mImageWidget . setLayout (layout);
39- mImageWidget . setWindowState (Qt::WindowFullScreen);
40- mImageWidget . setWindowFlags (mImageWidget . windowFlags () | Qt::WindowStaysOnTopHint);
44+ mImageLabel -> setScaledContents (true );
45+ layout->addWidget (mImageLabel . data () );
46+ mImageWidget -> setLayout (layout);
47+ mImageWidget -> setWindowState (Qt::WindowFullScreen);
48+ mImageWidget -> setWindowFlags (mImageWidget -> windowFlags () | Qt::WindowStaysOnTopHint);
4149 resetBackground ();
4250}
4351
4452void GuiWorker::showImage (QString const &fileName)
4553{
4654 if (!mImagesCache .contains (fileName)) {
4755 QPixmap pixmap (fileName);
48- pixmap = pixmap.scaled (mImageWidget . size () - QSize (20 , 20 ), Qt::KeepAspectRatio);
56+ pixmap = pixmap.scaled (mImageWidget -> size () - QSize (20 , 20 ), Qt::KeepAspectRatio);
4957 mImagesCache .insert (fileName, pixmap);
5058 }
5159
52- mImageLabel . setPixmap (mImagesCache .value (fileName));
53- mImageWidget . show ();
60+ mImageLabel -> setPixmap (mImagesCache .value (fileName));
61+ mImageWidget -> show ();
5462}
5563
5664void GuiWorker::addLabel (QString const &text, int x, int y)
5765{
5866 QLabel *label = findLabel (x, y);
59- label = label ? label : new QLabel (& mImageWidget );
67+ label = label ? label : new QLabel (mImageWidget . data () );
6068 label->setText (text);
61- label->setStyleSheet (QString (" color: %1" ).arg (mImageWidget . currentPenColor ().name ()));
69+ label->setStyleSheet (QString (" color: %1" ).arg (mImageWidget -> currentPenColor ().name ()));
6270
6371 // There is no layout for the label, so its size cannot be set automatically. We set
6472 // it with QFontMetrics.
65- label->setGeometry (x, y, mFontMetrics . width (text), mFontMetrics . height ());
73+ label->setGeometry (x, y, mFontMetrics -> width (text), mFontMetrics -> height ());
6674
6775 label->show ();
6876 if (!mLabels .contains (x ^ y, label)) {
6977 mLabels .insertMulti (x ^ y, label);
7078 }
7179
72- mImageWidget . show ();
80+ mImageWidget -> show ();
7381}
7482
7583void GuiWorker::removeLabels ()
@@ -89,7 +97,7 @@ void GuiWorker::deleteWorker()
8997
9098void GuiWorker::setBackground (QString const &color)
9199{
92- QPalette palette = mImageWidget . palette ();
100+ QPalette palette = mImageWidget -> palette ();
93101
94102 if (color == tr (" white" )) {
95103 palette.setColor (QPalette::Window, Qt::white);
@@ -129,41 +137,41 @@ void GuiWorker::setBackground(QString const &color)
129137 palette.setColor (QPalette::Window, QColor (color));
130138 }
131139
132- mImageWidget . setPalette (palette);
133- mImageWidget . show ();
140+ mImageWidget -> setPalette (palette);
141+ mImageWidget -> show ();
134142}
135143
136144void GuiWorker::resetBackground ()
137145{
138- QPalette palette = mImageWidget . palette ();
146+ QPalette palette = mImageWidget -> palette ();
139147 palette.setColor (QPalette::Window, Qt::lightGray);
140- mImageWidget . setPalette (palette);
148+ mImageWidget -> setPalette (palette);
141149}
142150
143151void GuiWorker::setPainterColor (QString const &color)
144152{
145- mImageWidget . setPainterColor (color);
153+ mImageWidget -> setPainterColor (color);
146154}
147155
148156void GuiWorker::setPainterWidth (int penWidth)
149157{
150- mImageWidget . setPainterWidth (penWidth);
158+ mImageWidget -> setPainterWidth (penWidth);
151159}
152160
153161void GuiWorker::clear ()
154162{
155- mImageWidget . deleteAllItems ();
156- mImageWidget . setPainterColor (" black" );
157- mImageWidget . setPainterWidth (0 );
158- mImageWidget . hide ();
163+ mImageWidget -> deleteAllItems ();
164+ mImageWidget -> setPainterColor (" black" );
165+ mImageWidget -> setPainterWidth (1 );
166+ mImageWidget -> hide ();
159167 removeLabels ();
160- mImageLabel . setPixmap (QPixmap ());
168+ mImageLabel -> setPixmap (QPixmap ());
161169 resetBackground ();
162170}
163171
164172void GuiWorker::hide ()
165173{
166- mImageWidget . hide ();
174+ mImageWidget -> hide ();
167175}
168176
169177QLabel *GuiWorker::findLabel (int x, int y) const
@@ -179,35 +187,35 @@ QLabel *GuiWorker::findLabel(int x, int y) const
179187
180188void GuiWorker::drawPoint (int x, int y)
181189{
182- mImageWidget . drawPoint (x, y);
183- mImageWidget . update ();
184- mImageWidget . show ();
190+ mImageWidget -> drawPoint (x, y);
191+ mImageWidget -> update ();
192+ mImageWidget -> show ();
185193}
186194
187195void GuiWorker::drawLine (int x1, int y1, int x2, int y2)
188196{
189- mImageWidget . drawLine (x1, y1, x2, y2);
190- mImageWidget . update ();
191- mImageWidget . show ();
197+ mImageWidget -> drawLine (x1, y1, x2, y2);
198+ mImageWidget -> update ();
199+ mImageWidget -> show ();
192200}
193201
194202void GuiWorker::drawRect (int x, int y, int width, int height)
195203{
196- mImageWidget . drawRect (x, y, width, height);
197- mImageWidget . update ();
198- mImageWidget . show ();
204+ mImageWidget -> drawRect (x, y, width, height);
205+ mImageWidget -> update ();
206+ mImageWidget -> show ();
199207}
200208
201209void GuiWorker::drawEllipse (int x, int y, int width, int height)
202210{
203- mImageWidget . drawEllipse (x, y, width, height);
204- mImageWidget . update ();
205- mImageWidget . show ();
211+ mImageWidget -> drawEllipse (x, y, width, height);
212+ mImageWidget -> update ();
213+ mImageWidget -> show ();
206214}
207215
208216void GuiWorker::drawArc (int x, int y, int width, int height, int startAngle, int spanAngle)
209217{
210- mImageWidget . drawArc (x, y, width, height, startAngle, spanAngle);
211- mImageWidget . update ();
212- mImageWidget . show ();
218+ mImageWidget -> drawArc (x, y, width, height, startAngle, spanAngle);
219+ mImageWidget -> update ();
220+ mImageWidget -> show ();
213221}
0 commit comments