1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html><head><title>QScriptEngineDebugger Class Reference</title><style>h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
td.postheader { font-family: sans-serif }
tr.address { font-family: sans-serif }
body { background: #ffffff; color: black; }
</style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr /><td align="left" valign="top" width="32"><img align="left" border="0" height="32" src="images/rb-logo.png" width="32" /></td><td width="1">  </td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a> · <a href="classes.html"><font color="#004faf">All Classes</font></a> · <a href="modules.html"><font color="#004faf">Modules</font></a></td></table><h1 align="center">QScriptEngineDebugger Class Reference<br /><sup><sup>[<a href="qtscripttools.html">QtScriptTools</a> module]</sup></sup></h1><p>The QScriptEngineDebugger class provides a <a href="qscriptengine.html">QScriptEngine</a> debugger. <a href="#details">More...</a></p>
<p>Inherits <a href="qobject.html">QObject</a>.</p><h3>Types</h3><ul><li><div class="fn" />enum <b><a href="qscriptenginedebugger.html#DebuggerAction-enum">DebuggerAction</a></b> { InterruptAction, ContinueAction, StepIntoAction, StepOverAction, ..., GoToLineAction }</li><li><div class="fn" />enum <b><a href="qscriptenginedebugger.html#DebuggerState-enum">DebuggerState</a></b> { RunningState, SuspendedState }</li><li><div class="fn" />enum <b><a href="qscriptenginedebugger.html#DebuggerWidget-enum">DebuggerWidget</a></b> { ConsoleWidget, StackWidget, ScriptsWidget, LocalsWidget, ..., ErrorLogWidget }</li></ul><h3>Methods</h3><ul><li><div class="fn" /><b><a href="qscriptenginedebugger.html#QScriptEngineDebugger">__init__</a></b> (<i>self</i>, QObject <i>parent</i> = None)</li><li><div class="fn" />QAction <b><a href="qscriptenginedebugger.html#action">action</a></b> (<i>self</i>, DebuggerAction <i>action</i>)</li><li><div class="fn" /><b><a href="qscriptenginedebugger.html#attachTo">attachTo</a></b> (<i>self</i>, QScriptEngine <i>engine</i>)</li><li><div class="fn" />bool <b><a href="qscriptenginedebugger.html#autoShowStandardWindow">autoShowStandardWindow</a></b> (<i>self</i>)</li><li><div class="fn" />QMenu <b><a href="qscriptenginedebugger.html#createStandardMenu">createStandardMenu</a></b> (<i>self</i>, QWidget <i>parent</i> = None)</li><li><div class="fn" />QToolBar <b><a href="qscriptenginedebugger.html#createStandardToolBar">createStandardToolBar</a></b> (<i>self</i>, QWidget <i>parent</i> = None)</li><li><div class="fn" /><b><a href="qscriptenginedebugger.html#detach">detach</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qscriptenginedebugger.html#setAutoShowStandardWindow">setAutoShowStandardWindow</a></b> (<i>self</i>, bool <i>autoShow</i>)</li><li><div class="fn" />QMainWindow <b><a href="qscriptenginedebugger.html#standardWindow">standardWindow</a></b> (<i>self</i>)</li><li><div class="fn" />DebuggerState <b><a href="qscriptenginedebugger.html#state">state</a></b> (<i>self</i>)</li><li><div class="fn" />QWidget <b><a href="qscriptenginedebugger.html#widget">widget</a></b> (<i>self</i>, DebuggerWidget <i>widget</i>)</li></ul><h3>Qt Signals</h3><ul><li><div class="fn" />void <b><a href="qscriptenginedebugger.html#evaluationResumed">evaluationResumed</a></b> ()</li><li><div class="fn" />void <b><a href="qscriptenginedebugger.html#evaluationSuspended">evaluationSuspended</a></b> ()</li></ul><a name="details" /><hr /><h2>Detailed Description</h2><p>The QScriptEngineDebugger class provides a <a href="qscriptengine.html">QScriptEngine</a> debugger.</p>
<p>The QScriptEngineDebugger class provides a debugger that can be
embedded into Qt applications that use Qt Script. The debugger
enables the application user to inspect the state of the script
environment and control script execution.</p>
<p>To attach the debugger to a script engine, call the <a href="qscriptenginedebugger.html#attachTo">attachTo</a>() function.</p>
<pre class="cpp">
<span class="type"><a href="qscriptengine.html">QScriptEngine</a></span> engine;
<span class="type">QScriptEngineDebugger</span> debugger;
debugger<span class="operator">.</span><a href="qscriptenginedebugger.html#attachTo">attachTo</a>(<span class="operator">&</span>engine);
</pre>
<p>Once the debugger has been attached to a script engine, you can
proceed to evaluate scripts as usual, e.g. by calling <a href="qscriptengine.html#evaluate">QScriptEngine.evaluate</a>(). The
debugger will be triggered when an uncaught exception occurs, or
when a <tt>debugger</tt> statement is encountered in a script. It
is also possible to interrupt script evaluation at an arbitrary
time by triggering the <a href="qscriptenginedebugger.html#DebuggerAction-enum">InterruptAction</a>.
For instance, to start the debugger when script evaluation starts,
you trigger the action before you begin to <a href="qscriptengine.html#evaluate">evaluate()</a> the script.</p>
<pre class="cpp">
debugger<span class="operator">-</span><span class="operator">></span>action(<span class="type">QScriptEngineDebugger</span><span class="operator">.</span>InterruptAction)<span class="operator">-</span><span class="operator">></span>trigger();
engine<span class="operator">-</span><span class="operator">></span>evaluate(contents<span class="operator">,</span> fileName);
</pre>
<p>By default, the <a href="qscriptenginedebugger.html#standardWindow">standard debugger
window</a> is shown when evaluation is suspended. This can be
changed by calling the <a href="qscriptenginedebugger.html#setAutoShowStandardWindow">setAutoShowStandardWindow</a>()
function.</p>
<p>The debugger defines a set of <a href="qscriptenginedebugger.html#DebuggerAction-enum">actions</a> that
are available, such as stopping execution or printing the contents
of a variable. It also provides a set of widgets (components) that
display the information available from the debugger and that
trigger the actions on request. The actions available are
identified by the <a href="qscriptenginedebugger.html#DebuggerAction-enum">DebuggerAction</a>
enum, and the widgets are identified by the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">DebuggerWidget</a>
enum.</p>
<p>Access to the individual debugger widgets is provided by the
<a href="qscriptenginedebugger.html#widget">widget</a>() function.
This makes it possible to arrange the widgets in a custom manner.
Similarly, the <a href="qscriptenginedebugger.html#action">action</a>() function provides
access to the various debugger actions.</p>
<p>The <a href="qscriptenginedebugger.html#createStandardToolBar">createStandardToolBar</a>()
function creates a standard toolbar, and the <a href="qscriptenginedebugger.html#createStandardMenu">createStandardMenu</a>()
function creates a standard menu; these functions can be useful if
you are creating a custom debugger configuration.</p>
<p>The <a href="qscriptenginedebugger.html#evaluationSuspended">evaluationSuspended</a>()
signal is emitted when the debugger has suspended script evaluation
and entered interactive mode, i.e., the mode in which it accepts
input from the user. The <a href="qscriptenginedebugger.html#evaluationResumed">evaluationResumed</a>()
signal is emitted when script evaluation is resumed, i.e, when
execution control is given back to the script engine. The <a href="qscriptenginedebugger.html#state">state</a>() function returns the
debugger's current state.</p>
<p>When calling <a href="qscriptengine.html#evaluate">QScriptEngine.evaluate</a>() it is
useful to pass a descriptive script name (file name) as second
argument, as this is the name that will be displayed by the
debugger in the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">ScriptsWidget</a>;
if a name is not passed, the script will be labelled
"anonymous".</p>
<p>When evaluation is suspended, the debugger will also suspend the
event loop of the script. In the following snippet, the call to
<a href="qscriptengine.html#evaluate">QScriptEngine.evaluate</a>()
causes the debugger to be triggered, and the function call does not
return until the user has finished interacting with the
debugger.</p>
<pre class="cpp">
engine<span class="operator">.</span>evaluate(<span class="string">"debugger"</span>);
</pre>
<p>When the Qt Script debugger is running, the C++ application
itself is not "frozen". This means that it is possible that more
scripts are evaluated, even though the debugger has suspended
evaluation of the <b>current</b> script evaluation. For example, a
C++ timer might trigger that causes a script function to be called,
or the user might click on a button in the main application user
interface whose clicked() signal is connected to a script function.
This kind of nested evaluation is permitted. The debugger will
enter interactive mode for the new script if an exception is thrown
or a breakpoint is reached. Note that it will not stop when
encountering <tt>debugger</tt> statements.</p>
<p>Nested evaluation requires some thought when deciding how the
debugger is presented to the user; for example, whether a modal
dialog is suitable, or whether some parts of the main application
user interface should be disabled while the debugger is
running.</p>
<p>Debugging inside of a <a href="qwidget.html#paintEvent">paintEvent</a>() is currently not
supported. If you need to debug painting-related script code, that
code should be evaluated outside of the C++ paintEvent(), e.g. by
rendering to an image, like the Context2D and Tetrix <a href="qtscript.html">QtScript</a> examples do. This will make the code
safe for debugging.</p>
<p>The debugger adds some special properties to the script engine:
<tt>__FILE__</tt> holds the name of the script in which the current
evaluation occurs, and <tt>__LINE__</tt> holds the current line
number. These are useful when doing print()-style debugging (the
messages appear in the debugger's debug output widget).</p>
<p>The <a href="qtscriptdebugger-manual.html">Qt Script Debugger
Manual</a> describes how to use the debugger. The <a href="script-context2d.html">Context2D example</a> shows how to
integrate the debugger in applications.</p>
<hr /><h2>Type Documentation</h2><h3 class="fn"><a name="DebuggerAction-enum" />QScriptEngineDebugger.DebuggerAction</h3><p>This enum specifies the action that the <a href="qscriptenginedebugger.html#action">action</a>() function should
retrieve. The actions retrieved can be connected to any slot and
connected to any widget. Please see the <a href="qtscriptdebugger-manual.html">Qt Script Debugger Manual</a>'s
<a href="qtscriptdebugger-manual.html#console-command-reference">Console
Command Reference</a> for a detailed description of these
actions.</p>
<table class="valuelist">
<tr class="odd" valign="top">
<th class="tblConst">Constant</th>
<th class="tblval">Value</th>
<th class="tbldscr">Description</th>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.InterruptAction</tt></td>
<td class="topAlign"><tt>0</tt></td>
<td class="topAlign">Suspends script execution as soon as the next
script statement is reached.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.ContinueAction</tt></td>
<td class="topAlign"><tt>1</tt></td>
<td class="topAlign">Gives the execution control back to the script
engine.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.StepIntoAction</tt></td>
<td class="topAlign"><tt>2</tt></td>
<td class="topAlign">Performs a step action.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.StepOverAction</tt></td>
<td class="topAlign"><tt>3</tt></td>
<td class="topAlign">Performs a next action.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.StepOutAction</tt></td>
<td class="topAlign"><tt>4</tt></td>
<td class="topAlign">Executes the script until the current function
returns.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.RunToCursorAction</tt></td>
<td class="topAlign"><tt>5</tt></td>
<td class="topAlign">Continues execution to the selected line
(which contains the cursor) in the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">CodeWidget</a>.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.RunToNewScriptAction</tt></td>
<td class="topAlign"><tt>6</tt></td>
<td class="topAlign">Returns control to the script engine until a
new script is executed.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.ToggleBreakpointAction</tt></td>
<td class="topAlign"><tt>7</tt></td>
<td class="topAlign">Toggles a breakpoint at the selected line in
the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">CodeWidget</a>.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.ClearDebugOutputAction</tt></td>
<td class="topAlign"><tt>8</tt></td>
<td class="topAlign">Clears the contents of the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">DebugOutputWidget</a>.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.ClearErrorLogAction</tt></td>
<td class="topAlign"><tt>9</tt></td>
<td class="topAlign">Clears the contents of the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">ErrorLogWidget</a>.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.ClearConsoleAction</tt></td>
<td class="topAlign"><tt>10</tt></td>
<td class="topAlign">Clears the contents of the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">ConsoleWidget</a>.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.FindInScriptAction</tt></td>
<td class="topAlign"><tt>11</tt></td>
<td class="topAlign">Displays the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">CodeFinderWidget</a>.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.FindNextInScriptAction</tt></td>
<td class="topAlign"><tt>12</tt></td>
<td class="topAlign">Finds next occurrence in the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">CodeWidget</a>.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.FindPreviousInScriptAction</tt></td>
<td class="topAlign"><tt>13</tt></td>
<td class="topAlign">Finds previous occurrence in the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">CodeWidget</a>.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.GoToLineAction</tt></td>
<td class="topAlign"><tt>14</tt></td>
<td class="topAlign">Shows the "Go to Line" dialog.</td>
</tr>
</table>
<h3 class="fn"><a name="DebuggerState-enum" />QScriptEngineDebugger.DebuggerState</h3><p>This enum specifies the current state of the debugger.</p>
<table class="valuelist">
<tr class="odd" valign="top">
<th class="tblConst">Constant</th>
<th class="tblval">Value</th>
<th class="tbldscr">Description</th>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.RunningState</tt></td>
<td class="topAlign"><tt>0</tt></td>
<td class="topAlign">The debugger is running. (Script evaluation is
allowed.)</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.SuspendedState</tt></td>
<td class="topAlign"><tt>1</tt></td>
<td class="topAlign">The debugger has suspended script
evaluation.</td>
</tr>
</table>
<p>This enum was introduced or modified in Qt 4.6.</p>
<h3 class="fn"><a name="DebuggerWidget-enum" />QScriptEngineDebugger.DebuggerWidget</h3><p>This enum decides the widget that the <a href="qscriptenginedebugger.html#widget">widget</a>() function should
retrieve. We treat these widgets in more detail in the <a href="qtscriptdebugger-manual.html">Qt Script Debugger Manual</a>.</p>
<table class="valuelist">
<tr class="odd" valign="top">
<th class="tblConst">Constant</th>
<th class="tblval">Value</th>
<th class="tbldscr">Description</th>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.ConsoleWidget</tt></td>
<td class="topAlign"><tt>0</tt></td>
<td class="topAlign">Provides a command-line interface to the
debugger.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.StackWidget</tt></td>
<td class="topAlign"><tt>1</tt></td>
<td class="topAlign">Shows a backtrace of the script's execution
state.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.ScriptsWidget</tt></td>
<td class="topAlign"><tt>2</tt></td>
<td class="topAlign">Displays a list of currently loaded
scripts.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.LocalsWidget</tt></td>
<td class="topAlign"><tt>3</tt></td>
<td class="topAlign">Shows the local variables of the current stack
frame.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.CodeWidget</tt></td>
<td class="topAlign"><tt>4</tt></td>
<td class="topAlign">Displays the code of the current script.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.CodeFinderWidget</tt></td>
<td class="topAlign"><tt>5</tt></td>
<td class="topAlign">Provides a widget that can search for text in
the script shown in the CodeWidget.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.BreakpointsWidget</tt></td>
<td class="topAlign"><tt>6</tt></td>
<td class="topAlign">Shows breakpoints that have been set.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.DebugOutputWidget</tt></td>
<td class="topAlign"><tt>7</tt></td>
<td class="topAlign">Contains output from the <tt>print()</tt>
script function.</td>
</tr>
<tr>
<td class="topAlign">
<tt>QScriptEngineDebugger.ErrorLogWidget</tt></td>
<td class="topAlign"><tt>8</tt></td>
<td class="topAlign">Shows error messages that have been
generated.</td>
</tr>
</table>
<hr /><h2>Method Documentation</h2><h3 class="fn"><a name="QScriptEngineDebugger" />QScriptEngineDebugger.__init__ (<i>self</i>, <a href="qobject.html">QObject</a> <i>parent</i> = None)</h3><p>The <i>parent</i> argument, if not None, causes <i>self</i> to be owned by Qt instead of PyQt.</p><p>Constructs a new <a href="qscriptenginedebugger.html">QScriptEngineDebugger</a> object with
the given <i>parent</i>.</p>
<p>To attach a <a href="qscriptengine.html">QScriptEngine</a> to
the debugger, use <a href="qscriptenginedebugger.html#attachTo">attachTo</a>() function.</p>
<h3 class="fn"><a name="action" /><a href="qaction.html">QAction</a> QScriptEngineDebugger.action (<i>self</i>, <a href="qscriptenginedebugger.html#DebuggerAction-enum">DebuggerAction</a> <i>action</i>)</h3><p>Returns a pointer to the specified <i>action</i>. The actions
available are given by the <a href="qscriptenginedebugger.html#DebuggerAction-enum">DebuggerAction</a>
enum.</p>
<p>With this function, you can add the actions to your own widgets,
toolbars, and menus. It is also convenient if you, for example,
wish to spice things up with your own groovy icons. The code
example below shows how to add actions to a <a href="qtoolbar.html">QToolBar</a>.</p>
<pre class="cpp">
<span class="type"><a href="qaction.html">QAction</a></span> <span class="operator">*</span>continueAction <span class="operator">=</span> debugger<span class="operator">-</span><span class="operator">></span>action(<span class="type"><a href="qscriptenginedebugger.html">QScriptEngineDebugger</a></span><span class="operator">.</span>ContinueAction);
<span class="type"><a href="qaction.html">QAction</a></span> <span class="operator">*</span>stepOverAction <span class="operator">=</span> debugger<span class="operator">-</span><span class="operator">></span>action(<span class="type"><a href="qscriptenginedebugger.html">QScriptEngineDebugger</a></span><span class="operator">.</span>StepOverAction);
<span class="type"><a href="qaction.html">QAction</a></span> <span class="operator">*</span>stepIntoAction <span class="operator">=</span> debugger<span class="operator">-</span><span class="operator">></span>action(<span class="type"><a href="qscriptenginedebugger.html">QScriptEngineDebugger</a></span><span class="operator">.</span>StepIntoAction);
<span class="type"><a href="qtoolbar.html">QToolBar</a></span> <span class="operator">*</span>toolBar <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qtoolbar.html">QToolBar</a></span>;
toolBar<span class="operator">-</span><span class="operator">></span>addAction(continueAction);
</pre>
<p>Note that <a href="qscriptenginedebugger.html">QScriptEngineDebugger</a> has already
added the actions to its <a href="qscriptenginedebugger.html#DebuggerWidget-enum">standard
widgets</a> and <a href="qscriptenginedebugger.html#standardWindow">standard
window</a>.</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#widget">widget</a>(), <a href="qscriptenginedebugger.html#createStandardMenu">createStandardMenu</a>(),
<a href="qscriptenginedebugger.html#createStandardToolBar">createStandardToolBar</a>(),
and <a href="qscriptenginedebugger.html#standardWindow">standardWindow</a>().</p>
<h3 class="fn"><a name="attachTo" />QScriptEngineDebugger.attachTo (<i>self</i>, <a href="qscriptengine.html">QScriptEngine</a> <i>engine</i>)</h3><p>Attaches to the given <i>engine</i>.</p>
<p>The debugger will install a custom agent (using <a href="qscriptengine.html#setAgent">QScriptEngine.setAgent</a>()) to
monitor the engine. While the debugger is attached, you should not
change the agent; however, if you do have to perform additional
monitoring, you must set a proxy agent that forwards all events to
the debugger's agent.</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#detach">detach</a>().</p>
<h3 class="fn"><a name="autoShowStandardWindow" />bool QScriptEngineDebugger.autoShowStandardWindow (<i>self</i>)</h3><p>Returns whether the standard debugger window is automatically
shown when evaluation is suspended.</p>
<p>The default is true.</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#setAutoShowStandardWindow">setAutoShowStandardWindow</a>().</p>
<h3 class="fn"><a name="createStandardMenu" /><a href="qmenu.html">QMenu</a> QScriptEngineDebugger.createStandardMenu (<i>self</i>, <a href="qwidget.html">QWidget</a> <i>parent</i> = None)</h3><p>The <i>parent</i> argument, if not None, causes <i>self</i> to be owned by Qt instead of PyQt.</p><p>Creates a standard debugger menu with the given <i>parent</i>.
Returns the new menu object.</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#createStandardToolBar">createStandardToolBar</a>().</p>
<h3 class="fn"><a name="createStandardToolBar" /><a href="qtoolbar.html">QToolBar</a> QScriptEngineDebugger.createStandardToolBar (<i>self</i>, <a href="qwidget.html">QWidget</a> <i>parent</i> = None)</h3><p>The <i>parent</i> argument, if not None, causes <i>self</i> to be owned by Qt instead of PyQt.</p><p>Creates a standard debugger toolbar with the given
<i>parent</i>. Returns the new toolbar object.</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#createStandardMenu">createStandardMenu</a>().</p>
<h3 class="fn"><a name="detach" />QScriptEngineDebugger.detach (<i>self</i>)</h3><p>Detaches from the current script engine, if any.</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#attachTo">attachTo</a>().</p>
<h3 class="fn"><a name="setAutoShowStandardWindow" />QScriptEngineDebugger.setAutoShowStandardWindow (<i>self</i>, bool <i>autoShow</i>)</h3><p>Sets whether the standard debugger window is automatically shown
when evaluation is suspended. If <i>autoShow</i> is true, the
window will be automatically shown, otherwise it will not.</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#autoShowStandardWindow">autoShowStandardWindow</a>().</p>
<h3 class="fn"><a name="standardWindow" /><a href="qmainwindow.html">QMainWindow</a> QScriptEngineDebugger.standardWindow (<i>self</i>)</h3><p>Returns a main window with a standard configuration of the
debugger's components.</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#createStandardMenu">createStandardMenu</a>()
and <a href="qscriptenginedebugger.html#createStandardToolBar">createStandardToolBar</a>().</p>
<h3 class="fn"><a name="state" /><a href="qscriptenginedebugger.html#DebuggerState-enum">DebuggerState</a> QScriptEngineDebugger.state (<i>self</i>)</h3><p>Returns the current state of the debugger.</p>
<p>This function was introduced in Qt 4.6.</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#evaluationResumed">evaluationResumed</a>()
and <a href="qscriptenginedebugger.html#evaluationSuspended">evaluationSuspended</a>().</p>
<h3 class="fn"><a name="widget" /><a href="qwidget.html">QWidget</a> QScriptEngineDebugger.widget (<i>self</i>, <a href="qscriptenginedebugger.html#DebuggerWidget-enum">DebuggerWidget</a> <i>widget</i>)</h3><p>Returns a pointer to the instance of the specified standard
<i>widget</i>. The widgets available are defined by the <a href="qscriptenginedebugger.html#DebuggerWidget-enum">DebuggerWidget</a>
enum.</p>
<p>A main window containing all widgets is returned by <a href="qscriptenginedebugger.html#standardWindow">standardWindow</a>().
If you do not want to use this window, you can fetch the individual
widgets with this function. For instance, the code example below
shows how to set up a layout containing a <a href="qscriptenginedebugger.html#DebuggerWidget-enum">code window</a>
and a <a href="qscriptenginedebugger.html#DebuggerWidget-enum">stack
widget</a>.</p>
<pre class="cpp">
<span class="type"><a href="qwidget.html">QWidget</a></span> <span class="operator">*</span>codeWindow <span class="operator">=</span> debugger<span class="operator">-</span><span class="operator">></span>widget(<span class="type"><a href="qscriptenginedebugger.html">QScriptEngineDebugger</a></span><span class="operator">.</span>CodeWidget);
<span class="type"><a href="qwidget.html">QWidget</a></span> <span class="operator">*</span>stackWidget <span class="operator">=</span> debugger<span class="operator">-</span><span class="operator">></span>widget(<span class="type"><a href="qscriptenginedebugger.html">QScriptEngineDebugger</a></span><span class="operator">.</span>StackWidget);
<span class="type"><a href="qlayout.html">QLayout</a></span> <span class="operator">*</span>layout <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qhboxlayout.html">QHBoxLayout</a></span>;
layout<span class="operator">-</span><span class="operator">></span>addWidget(codeWindow);
layout<span class="operator">-</span><span class="operator">></span>addWidget(stackWidget);
</pre>
<p>Note that you need to set <a href="qscriptenginedebugger.html#setAutoShowStandardWindow">setAutoShowStandardWindow</a>()
to false; if not, the standard window will be shown regardless.</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#action">action</a>(), <a href="qscriptenginedebugger.html#standardWindow">standardWindow</a>(),
and <a href="qscriptenginedebugger.html#setAutoShowStandardWindow">setAutoShowStandardWindow</a>().</p>
<hr /><h2>Qt Signal Documentation</h2><h3 class="fn"><a name="evaluationResumed" />void evaluationResumed ()</h3><p>This is the default overload of this signal.</p><p>This signal is emitted when the debugger has resumed script
evaluation (e.g. the user gave the "continue" command).</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#evaluationSuspended">evaluationSuspended</a>().</p>
<h3 class="fn"><a name="evaluationSuspended" />void evaluationSuspended ()</h3><p>This is the default overload of this signal.</p><p>This signal is emitted when the debugger has suspended script
evaluation for whatever reason (e.g. due to an uncaught script
exception, or due to a breakpoint being triggered).</p>
<p><b>See also</b> <a href="qscriptenginedebugger.html#evaluationResumed">evaluationResumed</a>().</p>
<address><hr /><div align="center"><table border="0" cellspacing="0" width="100%"><tr class="address"><td align="left" width="25%">PyQt 4.12.1 for X11</td><td align="center" width="50%">Copyright © <a href="http://www.riverbankcomputing.com">Riverbank Computing Ltd</a> and <a href="http://www.qt.io">The Qt Company</a> 2015</td><td align="right" width="25%">Qt 4.8.7</td></tr></table></div></address></body></html>
|