source: trunk/doc/src/snippets/scriptdebugger.cpp@ 5

Last change on this file since 5 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 1.8 KB
Line 
1
2#include <QtGui>
3#include <QtScript>
4#include <QtScriptTools>
5
6// Perhaps shpw entire example for getting debugger up with script
7int main(int argv, char **args)
8{
9 QApplication app(argv, args);
10
11 QString fileName("helloscript.qs");
12 QFile scriptFile(fileName);
13 scriptFile.open(QIODevice::ReadOnly);
14 QTextStream stream(&scriptFile);
15 QString contents = stream.readAll();
16 scriptFile.close();
17
18 QScriptEngine *engine = new QScriptEngine();
19
20 QScriptEngineDebugger *debugger = new QScriptEngineDebugger();
21 debugger->attachTo(engine);
22
23 // Set up configuration with only stack and code
24 QWidget *widget = new QWidget;
25//![0]
26 QWidget *codeWindow = debugger->widget(QScriptEngineDebugger::CodeWidget);
27 QWidget *stackWidget = debugger->widget(QScriptEngineDebugger::StackWidget);
28
29 QLayout *layout = new QHBoxLayout;
30 layout->addWidget(codeWindow);
31 layout->addWidget(stackWidget);
32//![0]
33
34//![1]
35 QAction *continueAction = debugger->action(QScriptEngineDebugger::ContinueAction);
36 QAction *stepOverAction = debugger->action(QScriptEngineDebugger::StepOverAction);
37 QAction *stepIntoAction = debugger->action(QScriptEngineDebugger::StepIntoAction);
38
39 QToolBar *toolBar = new QToolBar;
40 toolBar->addAction(continueAction);
41//![1]
42 toolBar->addAction(stepOverAction);
43 toolBar->addAction(stepIntoAction);
44
45 layout->addWidget(toolBar);
46 continueAction->setIcon(QIcon("copy.png"));
47
48 debugger->setAutoShowStandardWindow(false);
49
50 widget->setLayout(layout);
51 widget->show();
52
53 QPushButton button;
54 QScriptValue scriptButton = engine->newQObject(&button);
55 engine->globalObject().setProperty("button", scriptButton);
56
57//![2]
58 debugger->action(QScriptEngineDebugger::InterruptAction)->trigger();
59 engine->evaluate(contents, fileName);
60//![2]
61
62 return app.exec();
63}
64
Note: See TracBrowser for help on using the repository browser.