78 #include "private/qobject_p.h" 80 #include <QtScript/qscriptcontext.h> 81 #include <QtScript/qscriptcontextinfo.h> 83 #include <QtCore/qcoreapplication.h> 84 #include <QtCore/qdir.h> 85 #include <QtCore/qfileinfo.h> 86 #include <QtCore/qstringlist.h> 87 #include <QtCore/qdebug.h> 89 #include <QtGui/qaction.h> 90 #include <QtGui/qevent.h> 91 #include <QtGui/qicon.h> 92 #include <QtGui/qinputdialog.h> 93 #include <QtGui/qmenu.h> 94 #include <QtGui/qtoolbar.h> 95 #include <QtGui/qtooltip.h> 110 static int scriptDebuggerCount = 0;
111 static bool eventCallbackRegistered =
false;
112 static bool widgetInPaintEvent =
false;
114 static bool scriptDebuggerEventCallback(
void **
data)
119 bool was = widgetInPaintEvent;
120 widgetInPaintEvent =
true;
122 widgetInPaintEvent = was;
123 bool *result =
reinterpret_cast<bool*
>(data[2]);
174 const QString &contents,
int cursorPosition,
int frameIndex,
int options);
182 qint64 scriptId,
int lineNumber);
333 if (widget && !widget->
parent())
402 if (responseHandler && (responseHandler !=
this))
425 switch (command.
type()) {
444 }
else if (response.
async()) {
497 switch (event.
type()) {
526 int bpId =
event.breakpointId();
616 if (widgetInPaintEvent) {
648 m_frameIndex(frameIndex), m_lineNumber(lineNumber), m_path(path)
661 int lineCount = lines.
size();
663 lines = lines.
mid(0, 5);
685 if (frameIndex == -1) {
699 const QString &contents,
int cursorPosition,
int frameIndex,
int options)
702 contents, cursorPosition, frameIndex,
this,
this,
713 if (commandJob != 0) {
866 const QString &exp,
int options)
880 int result = view->
find(exp, options);
890 #ifndef QT_NO_INPUTDIALOG 908 m_scriptId(scriptId), m_lineNumber(lineNumber),
909 m_messageHandler(messageHandler) {}
921 .arg(m_lineNumber).arg(line));
938 m_debugger(debugger), m_index(0) {}
952 m_debugger->stackModel->setContextInfos(m_infos);
953 if (m_debugger->stackWidget->currentFrameIndex() == -1)
954 m_debugger->stackWidget->setCurrentFrameIndex(0);
955 m_debugger->stackWidget->setUpdatesEnabled(
true);
956 m_debugger->stackWidget->setEnabled(
true);
972 m_debugger(debugger), m_index(-1) {}
988 for (
int i = 0; i < removed.size(); ++i)
989 m_debugger->scriptsModel->removeScript(removed.at(i));
991 m_added = delta.
first;
992 if (!m_added.isEmpty()) {
995 m_debugger->scriptsModel->commit();
1000 qint64 scriptId = m_added.at(m_index);
1001 m_debugger->scriptsModel->addScript(scriptId, data);
1007 m_debugger->scriptsModel->addExtraScriptInfo(
1010 if (++m_index < m_added.size())
1013 m_debugger->scriptsModel->commit();
1030 m_debugger(debugger), m_index(-1) {}
1045 if (existingData.
isValid() && (existingData != newData))
1046 m_debugger->breakpointsModel->modifyBreakpoint(
id, newData);
1062 m_debugger(debugger) {}
1073 for (
int i = 0; i < delta.
first.size(); ++i) {
1089 m_debugger(debugger), m_frameIndex(frameIndex) {}
1103 model->
sync(m_frameIndex);
1105 model = m_debugger->createLocalsModel();
1106 m_debugger->localsModels.insert(contextId, model);
1107 model->
init(m_frameIndex);
1109 if (m_debugger->localsWidget) {
1110 if (m_debugger->localsWidget->localsModel() != model)
1111 m_debugger->localsWidget->setLocalsModel(model);
1112 m_debugger->localsWidget->setUpdatesEnabled(
true);
1113 m_debugger->localsWidget->setEnabled(
true);
1127 : m_debugger(debugger) {}
1131 m_debugger->emitStoppedSignal();
1142 qint64 scriptId,
int lineNumber)
1230 LoadLocalsJob *job =
new LoadLocalsJob(
this, frameIndex);
1246 m_debugger(debugger), m_frameIndex(frameIndex) {}
1256 if (m_info.isNull()) {
1263 if (m_debugger->scriptsWidget) {
1264 m_debugger->scriptsWidget->setCurrentScript(m_info.scriptId());
1266 if (m_debugger->codeWidget) {
1267 m_debugger->codeWidget->setCurrentScript(m_info.scriptId());
1292 emit q_func()->stopped();
1301 ++scriptDebuggerCount;
1309 --scriptDebuggerCount;
1310 if ((scriptDebuggerCount == 0) && eventCallbackRegistered) {
1311 eventCallbackRegistered =
false;
1313 scriptDebuggerEventCallback);
1335 d->frontend->setEventHandler(0);
1339 if (!eventCallbackRegistered) {
1340 eventCallbackRegistered =
true;
1342 scriptDebuggerEventCallback);
1466 return d->consoleWidget;
1472 if (
d->consoleWidget) {
1476 if (consoleWidget) {
1482 d->console->showDebuggerInfoMessage(consoleWidget);
1489 return d->stackWidget;
1495 if (
d->stackWidget) {
1500 if (!
d->stackModel) {
1503 d->scheduleJob(
new SyncStackJob(
d));
1507 this,
SLOT(_q_onCurrentFrameChanged(
int)));
1514 return d->scriptsWidget;
1520 if (
d->scriptsWidget) {
1524 if (scriptsWidget) {
1525 if (!
d->scriptsModel) {
1528 d->scheduleJob(
new SyncScriptsJob(
d));
1532 this,
SLOT(_q_onCurrentScriptChanged(
qint64)));
1534 this,
SLOT(_q_onScriptLocationSelected(
int)));
1541 return d->localsWidget;
1547 if (
d->localsWidget) {
1557 return d->codeWidget;
1563 if (
d->codeWidget) {
1564 d->codeWidget->removeEventFilter(
this);
1568 if (!
d->scriptsModel) {
1571 d->scheduleJob(
new SyncScriptsJob(
d));
1574 if (!
d->breakpointsModel) {
1577 d->scheduleJob(
new SyncBreakpointsJob(
d));
1583 bool hasScript = (codeWidget != 0) && (codeWidget->
currentView() != 0);
1584 if (
d->findInScriptAction)
1585 d->findInScriptAction->setEnabled(hasScript && (
d->codeFinderWidget != 0));
1586 if (
d->goToLineAction)
1587 d->goToLineAction->setEnabled(hasScript);
1588 if (
d->toggleBreakpointAction)
1589 d->toggleBreakpointAction->setEnabled(hasScript);
1595 return d->codeFinderWidget;
1601 if (
d->codeFinderWidget) {
1605 if (codeFinderWidget) {
1609 if (
d->findInScriptAction) {
1610 d->findInScriptAction->setEnabled(
1611 (codeFinderWidget != 0)
1612 && (
d->codeWidget != 0)
1613 && (
d->codeWidget->currentView() != 0));
1620 return d->debugOutputWidget;
1632 return d->breakpointsWidget;
1638 if (
d->breakpointsWidget) {
1642 if (breakpointsWidget) {
1643 if (!
d->breakpointsModel) {
1646 d->scheduleJob(
new SyncBreakpointsJob(
d));
1648 d->breakpointsWidget->setBreakpointsModel(
d->breakpointsModel);
1649 d->breakpointsWidget->setScriptsModel(
d->scriptsModel);
1656 return d->errorLogWidget;
1668 return d->widgetFactory;
1674 d->widgetFactory = factory;
1680 if (!
d->interruptAction) {
1681 QIcon interruptIcon;
1686 d->interruptAction->setEnabled(!
d->interactive);
1689 that,
SLOT(_q_interrupt()));
1691 return d->interruptAction;
1697 if (!
d->continueAction) {
1703 d->continueAction->setEnabled(
d->interactive);
1706 that,
SLOT(_q_continue()));
1708 return d->continueAction;
1714 if (!
d->stepIntoAction) {
1720 d->stepIntoAction->setEnabled(
d->interactive);
1723 that,
SLOT(_q_stepInto()));
1725 return d->stepIntoAction;
1731 if (!
d->stepOverAction) {
1737 d->stepOverAction->setEnabled(
d->interactive);
1740 that,
SLOT(_q_stepOver()));
1742 return d->stepOverAction;
1748 if (!
d->stepOutAction) {
1754 d->stepOutAction->setEnabled(
d->interactive);
1757 that,
SLOT(_q_stepOut()));
1759 return d->stepOutAction;
1765 if (!
d->runToCursorAction) {
1766 QIcon runToCursorIcon;
1771 d->runToCursorAction->setEnabled(
d->interactive);
1774 that,
SLOT(_q_runToCursor()));
1776 return d->runToCursorAction;
1782 if (!
d->runToNewScriptAction) {
1783 QIcon runToNewScriptIcon;
1789 d->runToNewScriptAction->setEnabled(
d->interactive);
1791 that,
SLOT(_q_runToNewScript()));
1793 return d->runToNewScriptAction;
1799 if (!
d->toggleBreakpointAction) {
1800 QIcon toggleBreakpointIcon;
1805 d->toggleBreakpointAction->setEnabled((
d->codeWidget != 0) && (
d->codeWidget->currentView() != 0));
1807 that,
SLOT(_q_toggleBreakpoint()));
1809 return d->toggleBreakpointAction;
1815 if (!
d->clearDebugOutputAction) {
1816 QIcon clearDebugOutputIcon;
1820 that,
SLOT(_q_clearDebugOutput()));
1822 return d->clearDebugOutputAction;
1828 if (!
d->clearErrorLogAction) {
1829 QIcon clearErrorLogIcon;
1833 that,
SLOT(_q_clearErrorLog()));
1835 return d->clearErrorLogAction;
1841 if (!
d->clearConsoleAction) {
1842 QIcon clearConsoleIcon;
1846 that,
SLOT(_q_clearConsole()));
1848 return d->clearConsoleAction;
1854 if (!
d->findInScriptAction) {
1855 QIcon findInScriptIcon;
1860 d->findInScriptAction->setEnabled(
1861 (
d->codeFinderWidget != 0)
1862 && (
d->codeWidget != 0)
1863 && (
d->codeWidget->currentView() != 0));
1865 that,
SLOT(_q_findInScript()));
1867 return d->findInScriptAction;
1873 if (!
d->findNextInScriptAction) {
1874 QIcon findNextInScriptIcon;
1877 d->findNextInScriptAction->setEnabled(
d->codeFinderWidget && !
d->codeFinderWidget->text().isEmpty());
1880 that,
SLOT(_q_findNextInScript()));
1882 return d->findNextInScriptAction;
1888 if (!
d->findPreviousInScriptAction) {
1889 QIcon findPreviousInScriptIcon;
1892 d->findPreviousInScriptAction->setEnabled(
d->codeFinderWidget && !
d->codeFinderWidget->text().isEmpty());
1895 that,
SLOT(_q_findPreviousInScript()));
1897 return d->findPreviousInScriptAction;
1903 if (!
d->goToLineAction) {
1908 d->goToLineAction->setEnabled((
d->codeWidget != 0) && (
d->codeWidget->currentView() != 0));
1910 that,
SLOT(_q_goToLine()));
1912 return d->goToLineAction;
1938 #ifndef QT_NO_TOOLBAR 1959 return d->interactive;
1968 if (watched ==
d->codeWidget) {
1970 d->_q_findInScript();
1971 d->codeFinderWidget->setText(static_cast<QKeyEvent*>(e)->
text());
1984 if (e->
timerId() ==
d->updatesEnabledTimerId) {
1986 d->updatesEnabledTimerId = -1;
1988 d->stackWidget->setUpdatesEnabled(
true);
1989 if (
d->localsWidget)
1990 d->localsWidget->setUpdatesEnabled(
true);
1998 #include "moc_qscriptdebugger_p.cpp" QScriptDebuggerCodeFinderWidgetInterface * codeFinderWidget() const
QScriptDebuggerWidgetFactoryInterface * widgetFactory() const
QScriptBreakpointMap resultAsBreakpoints() const
QAction * clearConsoleAction(QObject *parent) const
QScriptDebuggerLocalsWidgetInterface * localsWidget() const
bool isSingleShot() const
Returns true if the breakpoint is single-shot, false otherwise.
int currentFrameIndex() const
QAction * action(DebuggerAction action, QObject *parent)
bool isInteractive() const
QAction * clearDebugOutputAction
void addPixmap(const QPixmap &pixmap, Mode mode=Normal, State state=Off)
Adds pixmap to the icon, as a specialization for mode and state.
int scheduleContextsCheckpoint()
#define QT_END_NAMESPACE
This macro expands to.
void loadLocals(int frameIndex)
QAction * runToNewScriptAction
bool activeJobHibernating
Error error() const
Returns the error code of this response.
QPointer< QWidget > widget
QScriptScriptData resultAsScriptData() const
void setWidgetFactory(QScriptDebuggerWidgetFactoryInterface *factory)
void executeConsoleCommand(const QString &command)
QToolBar * createStandardToolBar(QWidget *widgetParent, QObject *actionParent)
void hibernateUntilEvaluateFinished(QScriptDebuggerJob *job)
Reimplemented Function
QScriptDebuggerJobSchedulerInterface * jobScheduler
void deleteBreakpoint(int id)
Deletes the breakpoint with the given id.
#define it(className, varName)
QAction * continueAction(QObject *parent) const
void _q_onCurrentFrameChanged(int frameIndex)
Slot called when the current index has changed in the stack widget.
QScriptDebugOutputWidgetInterface * debugOutputWidget
void _q_findPreviousInScript()
The QScriptDebuggerFrontend class is the base class of debugger front-ends.
void setScriptsWidget(QScriptDebuggerScriptsWidgetInterface *scriptsWidget)
QAction * findInScriptAction
void setFileName(const QString &fileName)
QPair< QList< qint64 >, QList< qint64 > > QScriptContextsDelta
~QScriptDebuggerPrivate()
QScriptBreakpointsWidgetInterface * breakpointsWidget() const
QScriptDebuggerLocalsWidgetInterface * localsWidget
The QScriptDebuggerResponse class represents a front-end's response to a QScriptDebuggerCommand.
void _q_clearDebugOutput()
int scheduleGetScriptData(qint64 id)
QAction * interruptAction(QObject *parent) const
void _q_toggleBreakpoint()
QAction * stepOverAction(QObject *parent) const
QScriptDebuggerStackWidgetInterface * stackWidget
int scheduleGetContextState(int contextIndex)
bool eventFilter(QObject *, QEvent *e)
Reimplemented Function
virtual void timerEvent(QTimerEvent *)
This event handler can be reimplemented in a subclass to receive timer events for the object...
QScriptDebuggerWidgetFactoryInterface * widgetFactory
virtual void gotoLine(int lineNumber)=0
void setFrontend(QScriptDebuggerFrontend *frontend)
Q_SCRIPT_EXPORT QString qt_scriptToXml(const QString &program, int lineNumber=1)
void setCodeFinderWidget(QScriptDebuggerCodeFinderWidgetInterface *codeFinderWidget)
QScriptContextInfo resultAsContextInfo() const
QString toString() const
Returns the variant as a QString if the variant has type() String , Bool , ByteArray ...
static QScriptDebuggerJobPrivate * get(QScriptDebuggerJob *q)
QAction * findNextInScriptAction
QString incompleteInput() const
void startInteraction(QScriptDebuggerEvent::Type type, qint64 scriptId, int lineNumber)
static QString tr(const char *sourceText, const char *comment=0, int n=-1)
QScriptDebuggerLocalsModel * createLocalsModel()
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
void setErrorLogWidget(QScriptErrorLogWidgetInterface *errorLogWidget)
QScriptBreakpointsWidgetInterface * breakpointsWidget
QScriptDebuggerFrontend * frontend() const
int scheduleCommand(const QScriptDebuggerCommand &command, QScriptDebuggerResponseHandlerInterface *responseHandler)
Reimplemented Function
The QString class provides a Unicode character string.
void timerEvent(QTimerEvent *e)
Reimplemented Function
T take(const Key &key)
Removes the item with the key from the hash and returns the value associated with it...
The QObject class is the base class of all Qt objects.
bool debuggerEvent(const QScriptDebuggerEvent &event)
Handles a debugger event from the frontend.
QScriptScriptData scriptData(qint64 id) const
void _q_onFindCodeRequest(const QString &, int)
QAction * runToCursorAction(QObject *parent) const
QAction * clearDebugOutputAction(QObject *parent) const
QMenu * createStandardMenu(QWidget *widgetParent, QObject *actionParent)
QWidget * widget(DebuggerWidget widget)
static bool unregisterCallback(Callback, qInternalCallback)
bool contains(const Key &key) const
Returns true if the hash contains an item with the key; otherwise returns false.
void init(int frameIndex)
QAction * goToLineAction(QObject *parent) const
Type type() const
Returns the type of this command.
QScriptDebuggerFrontend * frontend
static void processEvents(QEventLoop::ProcessEventsFlags flags=QEventLoop::AllEvents)
Processes all pending events for the calling thread according to the specified flags until there are ...
void handleResponse(const QScriptDebuggerResponse &response, int)
bool isEmpty() const
Returns true if the list contains no items; otherwise returns false.
int scheduleGetContextInfo(int contextIndex)
QHash< int, QScriptDebuggerResponseHandlerInterface * > responseHandlers
iterator insert(const Key &key, const T &value)
Inserts a new item with the key and a value of value.
QList< T > mid(int pos, int length=-1) const
Returns a list whose elements are copied from this list, starting at position pos.
void setIncompleteInput(const QString &input)
void setObjectName(const QString &name)
QScriptErrorLogWidgetInterface * errorLogWidget() const
void sync(int frameIndex)
The QScriptScriptData class holds data associated with a script.
void findCode(const QString &exp, int options)
QScriptDebugOutputWidgetInterface * debugOutputWidget() const
The QScriptDebuggerConsole class provides the core functionality of a debugger console.
bool hasExceptionHandler() const
void append(const T &t)
Inserts value at the end of the list.
virtual bool notify(QObject *, QEvent *)
Sends event to receiver: {receiver}->event(event).
#define QT_BEGIN_NAMESPACE
This macro expands to.
QScriptDebuggerCodeFinderWidgetInterface * codeFinderWidget
QScriptDebuggerScriptsWidgetInterface * scriptsWidget() const
void _q_findNextInScript()
qint64 resultAsLongLong() const
QAction * findPreviousInScriptAction(QObject *parent) const
QList< QScriptDebuggerJob * > pendingJobs
QScriptMessageHandlerInterface * m_messageHandler
virtual void handleResponse(const QScriptDebuggerResponse &response, int commandId)=0
void setStackWidget(QScriptDebuggerStackWidgetInterface *stackWidget)
T takeFirst()
Removes the first item in the list and returns it.
QAction * findInScriptAction(QObject *parent) const
static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
Creates a connection of the given type from the signal in the sender object to the method in the rece...
void showToolTip(const QPoint &pos, int frameIndex, int lineNumber, const QStringList &path)
Reimplemented Function
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
virtual void evaluateFinished(const QScriptDebuggerValue &result)
QScriptDebuggerCodeWidgetInterface * codeWidget() const
void setConsoleWidget(QScriptDebuggerConsoleWidgetInterface *consoleWidget)
void selectScriptForFrame(int frameIndex)
void modifyBreakpoint(int id, const QScriptBreakpointData &data)
Modify the data of breakpoint id.
The QStringList class provides a list of strings.
QScriptDebuggerCodeWidgetInterface * codeWidget
virtual int cursorLineNumber() const =0
QMap< QString, int > functionsInfo
void _q_onCurrentScriptChanged(qint64 scriptId)
Slot called when the current script has changed in the scripts widget.
void setLocalsWidget(QScriptDebuggerLocalsWidgetInterface *localsWidget)
int timerId() const
Returns the unique timer identifier, which is the same identifier as returned from QObject::startTime...
static const char * data(const QByteArray &arr)
int indexOf(QChar c, int from=0, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
bool isNestedEvaluate() const
void setCodeWidget(QScriptDebuggerCodeWidgetInterface *codeWidget)
~QScriptDebugger()
Destroys this QScriptDebugger.
T value(int i) const
Returns the value at index position i in the list.
QScriptDebuggerStackModel * stackModel
QString commandPrefix() const
QAction * runToNewScriptAction(QObject *parent) const
void loadScriptedCommands(const QString &scriptsPath, QScriptMessageHandlerInterface *messageHandler)
The QScriptBreakpointData class contains data associated with a breakpoint.
QScriptBreakpointData breakpointData(int id) const
QScriptDebuggerScriptsWidgetInterface * scriptsWidget
const_iterator constBegin() const
Returns a const STL-style iterator pointing to the first item in the map.
virtual int find(const QString &exp, int options=0)=0
bool hasIncompleteInput() const
QScriptDebuggerConsoleCommandJob * consumeInput(const QString &input, QScriptMessageHandlerInterface *messageHandler, QScriptDebuggerCommandSchedulerInterface *commandScheduler)
Consumes the given line of input.
void setEvaluateAction(int action)
void handleResponse(const QScriptDebuggerResponse &response, int commandId)
Reimplemented Function
The QScriptStdMessageHandler class implements a message handler that writes to standard output...
int scheduleGetContextId(int contextIndex)
QAction * toggleBreakpointAction
QScriptDebuggerConsoleWidgetInterface * consoleWidget
The QScriptDebuggerCommand class represents a command issued to a QScriptDebuggerFrontend.
int scheduleForceReturn(int contextIndex, const QScriptDebuggerValue &value)
static bool disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *member)
Disconnects signal in object sender from method in object receiver.
QString join(const QString &sep) const
Joins all the string list's strings into a single string with each element separated by the given sep...
ValueType type() const
Returns the type of this value.
The QScriptDebuggerValue class represents a script value.
const_iterator constEnd() const
Returns a const STL-style iterator pointing to the imaginary item after the last item in the map...
The QScriptContextInfo class provides additional information about a QScriptContext.
QString arg(qlonglong a, int fieldwidth=0, int base=10, const QChar &fillChar=QLatin1Char(' ')) const Q_REQUIRED_RESULT
QSet< int > executableLineNumbers
void setBreakpoint(const QScriptBreakpointData &data)
Sets a breakpoint defined by the given data.
int scheduleJob(QScriptDebuggerJob *job)
Reimplemented Function
#define Q_DECLARE_PUBLIC(Class)
QAction * toggleBreakpointAction(QObject *parent) const
void addBreakpoint(int id, const QScriptBreakpointData &data)
Adds a breakpoint to the model.
static QPixmap pixmap(const QString &path)
int scheduleCommand(const QScriptDebuggerCommand &command, QScriptDebuggerResponseHandlerInterface *responseHandler)
Schedules the given command for execution by this front-end, and returns a unique identifier associat...
QScriptDebugger(QObject *parent=0)
Constructs a new QScriptDebugger object.
The QTimerEvent class contains parameters that describe a timer event.
QList< int > pendingJobIds
static QCoreApplication * instance()
Returns a pointer to the application's QCoreApplication (or QApplication) instance.
QScriptDebuggerJob * activeJob
static QString fromLatin1(const char *, int size=-1)
Returns a QString initialized with the first size characters of the Latin-1 string str...
static void messageHandler(QtMsgType type, const char *msg)
QObject * parent() const
Returns a pointer to the parent object.
static Result parse(const QString &xml)
The QPoint class defines a point in the plane using integer precision.
QAction * clearErrorLogAction
QScriptDebuggerScriptsModel * scriptsModel
void installEventFilter(QObject *)
Installs an event filter filterObj on this object.
int size() const
Returns the number of items in the list.
void removeBreakpoint(int id)
Remove the breakpoint identified by id from the model.
QAction * interruptAction
void setDebugOutputWidget(QScriptDebugOutputWidgetInterface *debugOutputWidget)
The QScriptDebugger class provides a Qt Script debugger.
QHash< int, QScriptDebuggerLocalsModel * > localsModels
T qvariant_cast(const QVariant &)
void setCurrentScriptId(qint64 id)
virtual void setExecutionLineNumber(int lineNumber, bool error)=0
QAction * clearConsoleAction
void setCurrentLineNumber(int lineNumber)
The QPixmap class is an off-screen image representation that can be used as a paint device...
int evaluateAction() const
int scheduleScriptsCheckpoint()
QScriptDebuggerConsole * console
void maybeDelete(QWidget *widget)
void _q_onLineEntered(const QString &contents)
Slot called when a line has been entered in the console widget.
QAction * stepIntoAction(QObject *parent) const
QStringList split(const QString &sep, SplitBehavior behavior=KeepEmptyParts, Qt::CaseSensitivity cs=Qt::CaseSensitive) const Q_REQUIRED_RESULT
Splits the string into substrings wherever sep occurs, and returns the list of those strings...
QScriptDebuggerStackWidgetInterface * stackWidget() const
void maybeStartNewJob()
Starts a new job if appropriate.
int resolveBreakpoint(qint64 scriptId, int lineNumber) const
Tries to find a breakpoint with the given scriptId and lineNumber.
int scheduleGetPropertyExpressionValue(int contextIndex, int lineNumber, const QStringList &path)
QStringList lines(int startLineNumber, int count) const
QAction * findPreviousInScriptAction
QAction * runToCursorAction
QScriptErrorLogWidgetInterface * errorLogWidget
virtual void message(QtMsgType type, const QString &text, const QString &fileName=QString(), int lineNumber=-1, int columnNumber=-1, const QVariant &data=QVariant())=0
QScriptCompletionTaskInterface * createCompletionTask(const QString &contents, int cursorPosition, int frameIndex, int options)
Reimplemented Function
The QEvent class is the base class of all event classes.
Type type() const
Returns the event type.
QScriptBreakpointData breakpointData() const
void setEventHandler(QScriptDebuggerEventHandlerInterface *eventHandler)
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
QVariant result() const
Returns the result of this response.
Q_OUTOFLINE_TEMPLATE void qDeleteAll(ForwardIterator begin, ForwardIterator end)
static bool registerCallback(Callback, qInternalCallback)
QPair< QList< qint64 >, QList< qint64 > > QScriptScriptsDelta
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
QAction * clearErrorLogAction(QObject *parent) const
QScriptDebuggerShowLineJob(qint64 scriptId, int lineNumber, QScriptMessageHandlerInterface *messageHandler, QScriptDebuggerCommandSchedulerInterface *scheduler)
QHash< int, QScriptDebuggerCommand > watchedCommands
void _q_onScriptLocationSelected(int lineNumber)
int scheduleRunToLocation(const QString &fileName, int lineNumber)
Instructs the front-end to continue evaluation until the location specified by the given fileName and...
QScriptDebuggerConsoleWidgetInterface * consoleWidget() const
void setBreakpointsWidget(QScriptBreakpointsWidgetInterface *breakpointsWidget)
The QAction class provides an abstract user interface action that can be inserted into widgets...
QAction * stepOutAction(QObject *parent) const
QAction * findNextInScriptAction(QObject *parent) const
int updatesEnabledTimerId
QScriptBreakpointsModel * breakpointsModel
void killTimer(int id)
Kills the timer with timer identifier, id.
friend class const_iterator
void setCurrentFrameIndex(int index)
void finishJob(QScriptDebuggerJob *job)
Reimplemented Function
The QIcon class provides scalable icons in different modes and states.
int scheduleGetBreakpoints()