BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
OverlayLabelWidget Class Reference

The OverlayLabelWidget is a semi-transparent overlay label to place on top of other widgets outside of any layout context. More...

Inheritance diagram for OverlayLabelWidget:
[legend]
Collaboration diagram for OverlayLabelWidget:
[legend]

Public Member Functions

 OverlayLabelWidget (QWidget *parent=0)
 
void setPosition (int x, int y)
 
void setRectangle (const QRect &rect)
 
void setText (const QString &text)
 

Protected Member Functions

void paintEvent (QPaintEvent *event)
 

Private Attributes

QRect m_bounding_rect
 
QString m_text
 

Detailed Description

The OverlayLabelWidget is a semi-transparent overlay label to place on top of other widgets outside of any layout context.

Definition at line 25 of file OverlayLabelWidget.h.

Constructor & Destructor Documentation

◆ OverlayLabelWidget()

OverlayLabelWidget::OverlayLabelWidget ( QWidget *  parent = 0)

Definition at line 22 of file OverlayLabelWidget.cpp.

23  : QWidget(parent), m_bounding_rect(QRect(0, 0, 10, 10))
24 {
25  setAttribute(Qt::WA_TransparentForMouseEvents);
26 }

Member Function Documentation

◆ paintEvent()

void OverlayLabelWidget::paintEvent ( QPaintEvent *  event)
protected

Definition at line 38 of file OverlayLabelWidget.cpp.

39 {
40  Q_UNUSED(event);
41  QPainter painter(this);
42  painter.setBrush(QColor(Qt::lightGray));
43  QFont serifFont("Monospace", DesignerHelper::getSectionFontSize(), QFont::Normal, true);
44  painter.setFont(serifFont);
45  // painter.drawRect(m_bounding_rect);
46  auto margin = StyleUtils::SizeOfLetterM().width();
47  painter.drawText(m_bounding_rect.marginsRemoved(QMargins(margin, margin, margin, margin)),
48  Qt::AlignCenter, m_text);
49 }
static int getSectionFontSize()
QSize SizeOfLetterM(const QWidget *widget=nullptr)
Returns size of largest letter of default system font.
Definition: StyleUtils.cpp:110

References DesignerHelper::getSectionFontSize(), m_bounding_rect, m_text, and StyleUtils::SizeOfLetterM().

Here is the call graph for this function:

◆ setPosition()

void OverlayLabelWidget::setPosition ( int  x,
int  y 
)

Definition at line 33 of file OverlayLabelWidget.cpp.

34 {
35  setGeometry(x, y, m_bounding_rect.width(), m_bounding_rect.height());
36 }

References m_bounding_rect.

Referenced by OverlayLabelController::updateLabelGeometry().

◆ setRectangle()

void OverlayLabelWidget::setRectangle ( const QRect &  rect)

Definition at line 28 of file OverlayLabelWidget.cpp.

29 {
30  m_bounding_rect = rect;
31 }

References m_bounding_rect.

Referenced by OverlayLabelController::updateLabelGeometry().

◆ setText()

void OverlayLabelWidget::setText ( const QString &  text)
inline

Definition at line 33 of file OverlayLabelWidget.h.

33 { m_text = text; }

References m_text.

Referenced by OverlayLabelController::setShown().

Member Data Documentation

◆ m_bounding_rect

QRect OverlayLabelWidget::m_bounding_rect
private

Definition at line 40 of file OverlayLabelWidget.h.

Referenced by paintEvent(), setPosition(), and setRectangle().

◆ m_text

QString OverlayLabelWidget::m_text
private

Definition at line 39 of file OverlayLabelWidget.h.

Referenced by paintEvent(), and setText().


The documentation for this class was generated from the following files: