15 #include <QPaintEvent> 19 : QWidget(parent, Qt::Tool | Qt::FramelessWindowHint), m_Alignment(vertical), m_MainLine(nullptr)
23 this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
25 this->setBackgroundRole(QPalette::Base);
26 this->setAttribute(Qt::WA_TranslucentBackground,
true);
27 this->setAutoFillBackground(
false);
30 this->setAttribute(Qt::WA_X11NetWmWindowTypeUtility,
true);
34 this->setAttribute(Qt::WA_MacAlwaysShowToolWindow,
true);
36 this->setAttribute(Qt::WA_MacShowFocusRect,
false);
39 this->setFixedWidth(10);
40 this->setFixedHeight(61);
42 m_Pen = QPen(Qt::red, 1, Qt::SolidLine, Qt::FlatCap, Qt::MiterJoin);
61 int y = this->height() / (m_NumberOfSubDivisions - 1) * i;
67 else if (i == m_NumberOfSubDivisions - 1)
70 y = this->height() - 1;
78 m_MainLine =
new QLine(QPoint(width() - 1, 0), QPoint(width() - 1, height()));
82 m_MainLine =
new QLine(QPoint(0, 0), QPoint(0, 0));
92 int x = this->width() / (m_NumberOfSubDivisions - 1) * i;
97 else if (i == m_NumberOfSubDivisions - 1)
99 x = this->width() - 1;
107 m_MainLine =
new QLine(QPoint(0, height() / 2), QPoint(width(), height() / 2));
111 m_MainLine =
new QLine(QPoint(0, 0), QPoint(0, 0));
141 if (this->parentWidget() !=
nullptr && this->parentWidget()->parentWidget() !=
nullptr)
149 else if (this->height() < this->parentWidget()->parentWidget()->height() * 0.4 &&
150 (m_NumberOfSubDivisions < 7 && m_NumberOfSubDivisions > 0))
158 this->setFixedWidth(0);
159 this->setFixedHeight(0);
164 this->setFixedWidth(10);
201 QPainter painter(
this);
202 painter.setPen(
m_Pen);
203 painter.setBrush(Qt::SolidPattern);
204 painter.setRenderHint(QPainter::Antialiasing,
true);
210 painter.drawLine(line->p1(), line->p2());
void SetPen(const QPen &pen)
QmitkScalarBar(QWidget *parent=nullptr)
Default Constructor.
void paintEvent(QPaintEvent *event) override
std::vector< QLine * > m_SubDivisionLines
unsigned int m_NumberOfSubDivisions
void SetupGeometry(alignment align)
void SetNumberOfSubdivisions(unsigned int subs)
virtual void SetScaleFactor(double scale)
virtual void SetAlignment(alignment align)
~QmitkScalarBar() override
Default Destructor.
unsigned int GetNumberOfSubdivisions()