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

The MaterialEditor is the main class to access materials. More...

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

Public Member Functions

 ToolTipDataBase (QObject *parent=nullptr)
 
virtual ~ToolTipDataBase ()
 

Static Public Member Functions

static QString widgetboxToolTip (const QString &className)
 

Private Member Functions

void addToolTip (const QString &contextName, const QString &categoryName, const QString &propertyName, const QString &tooltip)
 
QString getTag (const QString &contextName, const QString &categoryName, const QString &propertyName)
 
void initDataBase ()
 
QString this_getToolTip (const QString &contextName, const QString &categoryName, const QString &propertyName)
 

Static Private Attributes

static ToolTipDataBasem_instance = 0
 
static QMap< QString, QString > m_tagToToolTip = QMap<QString, QString>()
 

Detailed Description

The MaterialEditor is the main class to access materials.

Definition at line 22 of file tooltipdatabase.h.

Constructor & Destructor Documentation

◆ ToolTipDataBase()

ToolTipDataBase::ToolTipDataBase ( QObject *  parent = nullptr)
explicit

Definition at line 37 of file tooltipdatabase.cpp.

37  : QObject(parent)
38 {
40  m_instance = this;
41 
42  initDataBase();
43 }
#define ASSERT(condition)
Definition: Assert.h:31
static ToolTipDataBase * m_instance

References ASSERT, initDataBase(), and m_instance.

Here is the call graph for this function:

◆ ~ToolTipDataBase()

ToolTipDataBase::~ToolTipDataBase ( )
virtual

Definition at line 45 of file tooltipdatabase.cpp.

46 {
47  m_instance = 0;
48 }

References m_instance.

Member Function Documentation

◆ addToolTip()

void ToolTipDataBase::addToolTip ( const QString &  contextName,
const QString &  categoryName,
const QString &  propertyName,
const QString &  tooltip 
)
private

Definition at line 115 of file tooltipdatabase.cpp.

117 {
118  if (!tooltip.isEmpty())
119  m_tagToToolTip[getTag(contextName, categoryName, propertyName)] = tooltip;
120 }
QString getTag(const QString &contextName, const QString &categoryName, const QString &propertyName)
static QMap< QString, QString > m_tagToToolTip

References getTag(), and m_tagToToolTip.

Referenced by initDataBase().

Here is the call graph for this function:

◆ getTag()

QString ToolTipDataBase::getTag ( const QString &  contextName,
const QString &  categoryName,
const QString &  propertyName 
)
private

Definition at line 109 of file tooltipdatabase.cpp.

111 {
112  return QString("/%1/%2/%3").arg(contextName, categoryName, propertyName);
113 }

Referenced by addToolTip(), and this_getToolTip().

◆ initDataBase()

void ToolTipDataBase::initDataBase ( )
private

Definition at line 58 of file tooltipdatabase.cpp.

59 {
60  QFile file(":/mainwindow/tooltips.xml");
61  if (!file.open(QIODevice::ReadOnly))
62  throw GUIHelpers::Error(file.errorString());
63 
64  QXmlStreamReader reader(&file);
65 
66  QString contextName, className, propertyName;
67  while (!reader.atEnd()) {
68  switch (reader.readNext()) {
69  case QXmlStreamReader::StartElement: {
70  const QStringRef tag = reader.name();
71  if (tag == modelTag) {
72  continue;
73  }
74  if (tag == contextTag) {
75  const QXmlStreamAttributes attributes = reader.attributes();
76  contextName = attributes.value(nameAttribute).toString();
77  continue;
78  }
79  if (tag == categoryTag) {
80  const QXmlStreamAttributes attributes = reader.attributes();
81  className = attributes.value(nameAttribute).toString();
82  continue;
83  }
84  if (tag == propertyTag) {
85  const QXmlStreamAttributes attributes = reader.attributes();
86  propertyName = attributes.value(nameAttribute).toString();
87  continue;
88  }
89  if (tag == tooltipTag) {
90  reader.readNext();
91  QString toolTip = reader.text().toString();
92  addToolTip(contextName, className, propertyName, toolTip);
93  continue;
94  }
95  break;
96  }
97  case QXmlStreamReader::EndElement: {
98  break;
99  }
100  default:
101  break;
102  }
103  }
104 
105  if (reader.hasError())
106  throw GUIHelpers::Error(reader.errorString());
107 }
void addToolTip(const QString &contextName, const QString &categoryName, const QString &propertyName, const QString &tooltip)

References addToolTip().

Referenced by ToolTipDataBase().

Here is the call graph for this function:

◆ this_getToolTip()

QString ToolTipDataBase::this_getToolTip ( const QString &  contextName,
const QString &  categoryName,
const QString &  propertyName 
)
private

Definition at line 122 of file tooltipdatabase.cpp.

124 {
125  return m_tagToToolTip[getTag(contextName, categoryName, propertyName)];
126 }

References getTag(), and m_tagToToolTip.

Referenced by widgetboxToolTip().

Here is the call graph for this function:

◆ widgetboxToolTip()

QString ToolTipDataBase::widgetboxToolTip ( const QString &  className)
static

Definition at line 50 of file tooltipdatabase.cpp.

51 {
53  QString modelName(className);
54  modelName.remove("FormFactor");
55  return m_instance->this_getToolTip(sampleViewContext, modelName, titleProperty);
56 }
QString this_getToolTip(const QString &contextName, const QString &categoryName, const QString &propertyName)

References ASSERT, m_instance, and this_getToolTip().

Referenced by qdesigner_internal::WidgetBoxCategoryModel::addWidget().

Here is the call graph for this function:

Member Data Documentation

◆ m_instance

ToolTipDataBase * ToolTipDataBase::m_instance = 0
staticprivate

Definition at line 39 of file tooltipdatabase.h.

Referenced by ToolTipDataBase(), ~ToolTipDataBase(), and widgetboxToolTip().

◆ m_tagToToolTip

QMap< QString, QString > ToolTipDataBase::m_tagToToolTip = QMap<QString, QString>()
staticprivate

Definition at line 41 of file tooltipdatabase.h.

Referenced by addToolTip(), and this_getToolTip().


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