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

The OverlayLabelController class controlls appearance of InfoLabelWidget (position, show/hide) on top of some scroll area. More...

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

Public Member Functions

 OverlayLabelController (QObject *parent=0)
 
void setArea (QAbstractScrollArea *area)
 
void setShown (bool shown)
 Shows/removes a label from the controlled widget. More...
 
void setText (const QString &text)
 

Protected Member Functions

bool eventFilter (QObject *obj, QEvent *event)
 

Private Member Functions

void updateLabelGeometry ()
 

Private Attributes

QAbstractScrollArea * m_area
 
OverlayLabelWidgetm_label
 
QString m_text
 

Detailed Description

The OverlayLabelController class controlls appearance of InfoLabelWidget (position, show/hide) on top of some scroll area.

Definition at line 27 of file OverlayLabelController.h.

Constructor & Destructor Documentation

◆ OverlayLabelController()

OverlayLabelController::OverlayLabelController ( QObject *  parent = 0)

Definition at line 22 of file OverlayLabelController.cpp.

23  : QObject(parent), m_label(0), m_area(0)
24 {
25 }
QAbstractScrollArea * m_area
OverlayLabelWidget * m_label

Member Function Documentation

◆ eventFilter()

bool OverlayLabelController::eventFilter ( QObject *  obj,
QEvent *  event 
)
protected

Definition at line 57 of file OverlayLabelController.cpp.

58 {
59  if (event->type() == QEvent::Resize)
61 
62  return QObject::eventFilter(obj, event);
63 }

References updateLabelGeometry().

Here is the call graph for this function:

◆ setArea()

void OverlayLabelController::setArea ( QAbstractScrollArea *  area)

Definition at line 32 of file OverlayLabelController.cpp.

33 {
34  m_area = area;
35  m_area->installEventFilter(this);
36 }

References m_area.

Referenced by FitParameterWidget::FitParameterWidget().

◆ setShown()

void OverlayLabelController::setShown ( bool  shown)

Shows/removes a label from the controlled widget.

Definition at line 40 of file OverlayLabelController.cpp.

41 {
42  if (shown) {
43  ASSERT(m_area);
44  if (!m_label) {
48  m_label->show();
49  }
50 
51  } else {
52  delete m_label;
53  m_label = 0;
54  }
55 }
#define ASSERT(condition)
Definition: Assert.h:31
The OverlayLabelWidget is a semi-transparent overlay label to place on top of other widgets outside o...
void setText(const QString &text)

References ASSERT, m_area, m_label, m_text, OverlayLabelWidget::setText(), and updateLabelGeometry().

Referenced by FitParameterWidget::updateInfoLabel().

Here is the call graph for this function:

◆ setText()

void OverlayLabelController::setText ( const QString &  text)

Definition at line 27 of file OverlayLabelController.cpp.

28 {
29  m_text = text;
30 }

References m_text.

Referenced by FitParameterWidget::FitParameterWidget().

◆ updateLabelGeometry()

void OverlayLabelController::updateLabelGeometry ( )
private

Definition at line 65 of file OverlayLabelController.cpp.

66 {
67  if (!m_label || !m_area)
68  return;
69  m_label->setRectangle(QRect(0, 0, m_area->width(), m_area->height()));
70  m_label->setPosition(0, 0);
71 }
void setRectangle(const QRect &rect)
void setPosition(int x, int y)

References m_area, m_label, OverlayLabelWidget::setPosition(), and OverlayLabelWidget::setRectangle().

Referenced by eventFilter(), and setShown().

Here is the call graph for this function:

Member Data Documentation

◆ m_area

QAbstractScrollArea* OverlayLabelController::m_area
private

Definition at line 45 of file OverlayLabelController.h.

Referenced by setArea(), setShown(), and updateLabelGeometry().

◆ m_label

OverlayLabelWidget* OverlayLabelController::m_label
private

Definition at line 44 of file OverlayLabelController.h.

Referenced by setShown(), and updateLabelGeometry().

◆ m_text

QString OverlayLabelController::m_text
private

Definition at line 46 of file OverlayLabelController.h.

Referenced by setShown(), and setText().


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