QXRD  0.11.16
Public Member Functions | Private Attributes | List of all members
QxrdHelpBrowser Class Reference

#include <qxrdhelpbrowser.h>

Inheritance diagram for QxrdHelpBrowser:
Inheritance graph
[legend]
Collaboration diagram for QxrdHelpBrowser:
Collaboration graph
[legend]

Public Member Functions

 QxrdHelpBrowser (QWidget *parent=0)
 
virtual ~QxrdHelpBrowser ()
 
void init (QxrdExperimentWPtr expt)
 
QVariant loadResource (int type, const QUrl &name)
 

Private Attributes

QxrdExperimentWPtr m_Experiment
 

Detailed Description

Definition at line 7 of file qxrdhelpbrowser.h.

Constructor & Destructor Documentation

QxrdHelpBrowser::QxrdHelpBrowser ( QWidget *  parent = 0)
explicit

Definition at line 7 of file qxrdhelpbrowser.cpp.

References DEBUG_CONSTRUCTORS, and qcepDebug().

7  :
8  QTextBrowser(parent)
9 {
11  printf("QxrdHelpBrowser::QxrdHelpBrowser(%p)\n", this);
12  }
13 }
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26

Here is the call graph for this function:

QxrdHelpBrowser::~QxrdHelpBrowser ( )
virtual

Definition at line 15 of file qxrdhelpbrowser.cpp.

References DEBUG_CONSTRUCTORS, and qcepDebug().

16 {
18  printf("QxrdHelpBrowser::~QxrdHelpBrowser(%p)\n", this);
19  }
20 }
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26

Here is the call graph for this function:

Member Function Documentation

void QxrdHelpBrowser::init ( QxrdExperimentWPtr  expt)

Definition at line 22 of file qxrdhelpbrowser.cpp.

References m_Experiment.

23 {
24  m_Experiment = expt;
25 }
QxrdExperimentWPtr m_Experiment
QVariant QxrdHelpBrowser::loadResource ( int  type,
const QUrl &  name 
)

Definition at line 27 of file qxrdhelpbrowser.cpp.

References m_Experiment.

28 {
29 // printf("QxrdHelpBrowser::loadResource(%d,\"%s\",\"%s\",\"%s\")\n",
30 // type, qPrintable(name.scheme()), qPrintable(name.path()), name.encodedQuery().data());
31 
33 
34  if (expt) {
35  QxrdScriptEnginePtr engine(expt->scriptEngine());
36 
37  if (engine) {
38  if (type == QTextDocument::HtmlResource) {
39  if (name.scheme() == "qrc") {
40  if (name.path() == "/help/autohelp") {
41 
42 #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
43  QByteArray res = engine->helpText(name.query());
44 #else
45  QByteArray res = engine->helpText(name.encodedQuery());
46 #endif
47 // printf("QxrdHelpBrowser::loadResource res.length = %d\n", res.count());
48 
49  return res;
50  } else if (name.path() == "/help/macrocounter") {
51  QByteArray res = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n"
52  "<html>\n"
53  " <head>\n"
54  " <title>QXRD Spec Macro Counter</title>\n"
55  " </head>\n"
56  "\n"
57  " <body>\n"
58  " <h1>QXRD Spec Macro Counter</h1>\n"
59  " <p><code><pre>\n";
60 
61  QFile macroFile(":/qxrd_macrocounter.mac");
62 
63  if (macroFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
64  QByteArray macros = macroFile.readAll();
65 
66  macros.replace("&", "&amp;");
67  macros.replace("<", "&lt;");
68  macros.replace(">", "&gt;");
69 
70  res.append(macros);
71  } else {
72  res.append("Couldn't open macro file");
73  }
74 
75  res.append(" </pre></code></p>\n"
76  " </body>\n"
77  "</html>\n");
78 
79  return res;
80  }
81  }
82  }
83  }
84  }
85 
86  QVariant res = QTextBrowser::loadResource(type, name);
87 
88 // printf("QxrdHelpBrowser::loadResource res.typeName = %s\n", res.typeName());
89 
90  return res;
91 }
QSharedPointer< QxrdExperiment > QxrdExperimentPtr
QSharedPointer< QxrdScriptEngine > QxrdScriptEnginePtr
QxrdExperimentWPtr m_Experiment

Member Data Documentation

QxrdExperimentWPtr QxrdHelpBrowser::m_Experiment
private

Definition at line 23 of file qxrdhelpbrowser.h.

Referenced by init(), and loadResource().


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