QXRD  0.11.16
qxrdscripteditwidget.cpp
Go to the documentation of this file.
1 #include "qxrdscripteditwidget.h"
2 #include <QMenu>
3 #include <QContextMenuEvent>
4 #include "qxrdexperiment.h"
5 
7  QTextEdit(parent),
8  m_Highlighter(NULL)
9 {
10  m_Highlighter = new QxrdHighlighter(document());
11 }
12 
14 {
15  m_Experiment = expt;
16 }
17 
18 void QxrdScriptEditWidget::contextMenuEvent(QContextMenuEvent * event)
19 {
20  QMenu *menu = createStandardContextMenu();
21 
22  QString sel = textCursor().selectedText();
23 
24  if (sel.length() > 50) {
25  sel = sel.left(48)+"...";
26  }
27 
28  menu->addAction(tr("Evaluate %1").arg(sel), this, SLOT(executeSelectedText()));
29  menu->exec(event->globalPos());
30 
31  delete menu;
32 }
33 
35 {
36  QString sel = textCursor().selectedText();
37 
38  if (sel.length() == 0) {
39  sel = this->toPlainText();
40  }
41 
43 
44  if (expt) {
45  expt->executeCommand(sel);
46  }
47 }
QSharedPointer< QxrdExperiment > QxrdExperimentPtr
void contextMenuEvent(QContextMenuEvent *event)
QxrdHighlighter * m_Highlighter
QWeakPointer< QxrdExperiment > QxrdExperimentWPtr
QxrdExperimentWPtr m_Experiment
QxrdScriptEditWidget(QWidget *parent=0)
void setExperiment(QxrdExperimentWPtr expt)