diff options
author | Jerome Pasion <jerome.pasion@digia.com> | 2013-01-22 18:00:26 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-24 11:26:54 +0100 |
commit | 8759cf3fcb3b78a7b62e7f4feedee8e6822bde32 (patch) | |
tree | a5e26f9a3c0d6cd8673204a587f3bbf1f5696569 /src/scripttools/doc/snippets/scriptdebugger.cpp | |
parent | 848ddbe91b5219214f43892d325d7e5e9ddc0489 (diff) | |
download | qtscript-8759cf3fcb3b78a7b62e7f4feedee8e6822bde32.tar.gz |
Doc: Modularized Qt Script Tools documentation.
-moved content from qtdoc
-moved snippets to src/scripttools
-enabled 'make docs'
-edited QScriptEngineDebugger with the proper module identifier
-created two way links from Qt Script to Qt Script Tools
Change-Id: I83a76278969528dcb1ecbca4acc8563fe9390978
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
Diffstat (limited to 'src/scripttools/doc/snippets/scriptdebugger.cpp')
-rw-r--r-- | src/scripttools/doc/snippets/scriptdebugger.cpp | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/src/scripttools/doc/snippets/scriptdebugger.cpp b/src/scripttools/doc/snippets/scriptdebugger.cpp new file mode 100644 index 0000000..a59ed89 --- /dev/null +++ b/src/scripttools/doc/snippets/scriptdebugger.cpp @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtWidgets> +#include <QtScript> +#include <QtScriptTools> + +// Perhaps shpw entire example for getting debugger up with script +int main(int argv, char **args) +{ + QApplication app(argv, args); + + QString fileName("helloscript.qs"); + QFile scriptFile(fileName); + scriptFile.open(QIODevice::ReadOnly); + QTextStream stream(&scriptFile); + QString contents = stream.readAll(); + scriptFile.close(); + + QScriptEngine *engine = new QScriptEngine(); + + QScriptEngineDebugger *debugger = new QScriptEngineDebugger(); + debugger->attachTo(engine); + + // Set up configuration with only stack and code + QWidget *widget = new QWidget; +//![0] + QWidget *codeWindow = debugger->widget(QScriptEngineDebugger::CodeWidget); + QWidget *stackWidget = debugger->widget(QScriptEngineDebugger::StackWidget); + + QLayout *layout = new QHBoxLayout; + layout->addWidget(codeWindow); + layout->addWidget(stackWidget); +//![0] + +//![1] + QAction *continueAction = debugger->action(QScriptEngineDebugger::ContinueAction); + QAction *stepOverAction = debugger->action(QScriptEngineDebugger::StepOverAction); + QAction *stepIntoAction = debugger->action(QScriptEngineDebugger::StepIntoAction); + + QToolBar *toolBar = new QToolBar; + toolBar->addAction(continueAction); +//![1] + toolBar->addAction(stepOverAction); + toolBar->addAction(stepIntoAction); + + layout->addWidget(toolBar); + continueAction->setIcon(QIcon("copy.png")); + + debugger->setAutoShowStandardWindow(false); + + widget->setLayout(layout); + widget->show(); + + QPushButton button; + QScriptValue scriptButton = engine->newQObject(&button); + engine->globalObject().setProperty("button", scriptButton); + +//![2] + debugger->action(QScriptEngineDebugger::InterruptAction)->trigger(); + engine->evaluate(contents, fileName); +//![2] + + return app.exec(); +} + |