# The PEP 484 type hints stub file for the QtScriptTools module.
#
# Generated by SIP 4.19
#
# Copyright (c) 2016 Riverbank Computing Limited <info@riverbankcomputing.com>
# 
# This file is part of PyQt4.
# 
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file.  Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
# 
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license.  For more information contact
# info@riverbankcomputing.com.
# 
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


import typing
import sip

from PyQt4 import QtScript
from PyQt4 import QtGui
from PyQt4 import QtCore

# Support for QDate, QDateTime and QTime.
import datetime

# Convenient type aliases.
PYQT_SIGNAL = typing.Union[QtCore.pyqtSignal, QtCore.pyqtBoundSignal]
PYQT_SLOT = typing.Union[typing.Callable[..., None], QtCore.pyqtBoundSignal]

# Support for old-style signals and slots.
QT_SIGNAL = str
QT_SLOT = str


class QScriptEngineDebugger(QtCore.QObject):

    class DebuggerState(int): ...
    RunningState = ... # type: 'QScriptEngineDebugger.DebuggerState'
    SuspendedState = ... # type: 'QScriptEngineDebugger.DebuggerState'

    class DebuggerAction(int): ...
    InterruptAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    ContinueAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    StepIntoAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    StepOverAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    StepOutAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    RunToCursorAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    RunToNewScriptAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    ToggleBreakpointAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    ClearDebugOutputAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    ClearErrorLogAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    ClearConsoleAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    FindInScriptAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    FindNextInScriptAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    FindPreviousInScriptAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'
    GoToLineAction = ... # type: 'QScriptEngineDebugger.DebuggerAction'

    class DebuggerWidget(int): ...
    ConsoleWidget = ... # type: 'QScriptEngineDebugger.DebuggerWidget'
    StackWidget = ... # type: 'QScriptEngineDebugger.DebuggerWidget'
    ScriptsWidget = ... # type: 'QScriptEngineDebugger.DebuggerWidget'
    LocalsWidget = ... # type: 'QScriptEngineDebugger.DebuggerWidget'
    CodeWidget = ... # type: 'QScriptEngineDebugger.DebuggerWidget'
    CodeFinderWidget = ... # type: 'QScriptEngineDebugger.DebuggerWidget'
    BreakpointsWidget = ... # type: 'QScriptEngineDebugger.DebuggerWidget'
    DebugOutputWidget = ... # type: 'QScriptEngineDebugger.DebuggerWidget'
    ErrorLogWidget = ... # type: 'QScriptEngineDebugger.DebuggerWidget'

    def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ...

    def state(self) -> 'QScriptEngineDebugger.DebuggerState': ...
    def evaluationResumed(self) -> None: ...
    def evaluationSuspended(self) -> None: ...
    def action(self, action: 'QScriptEngineDebugger.DebuggerAction') -> QtGui.QAction: ...
    def widget(self, widget: 'QScriptEngineDebugger.DebuggerWidget') -> QtGui.QWidget: ...
    def createStandardMenu(self, parent: typing.Optional[QtGui.QWidget] = ...) -> QtGui.QMenu: ...
    def createStandardToolBar(self, parent: typing.Optional[QtGui.QWidget] = ...) -> QtGui.QToolBar: ...
    def standardWindow(self) -> QtGui.QMainWindow: ...
    def setAutoShowStandardWindow(self, autoShow: bool) -> None: ...
    def autoShowStandardWindow(self) -> bool: ...
    def detach(self) -> None: ...
    def attachTo(self, engine: QtScript.QScriptEngine) -> None: ...
