pykd/samples/dbg/PySideKick/__init__.py
SND\kernelnet_cp 78fbe47e76 [0.1.x] added : simple "simple debugger"
git-svn-id: https://pykd.svn.codeplex.com/svn@75462 9b283d60-5439-405e-af05-b73fd8c4d996
2017-11-08 17:27:51 +04:00

57 lines
1.8 KiB
Python

# Copyright (c) 2009-2010, Cloud Matrix Pty. Ltd.
# All rights reserved; available under the terms of the BSD License.
"""
PySideKick: helpful utilities for working with PySide
======================================================
This package is a rather ad-hoc collection of helpers, utilities and custom
widgets for building applications with PySide. So far we have:
* PySideKick.Call: helpers for calling functions in a variety of ways,
e.g. qCallAfter, qCallInMainThread
* PySideKick.Console: a simple interactive console to embed in your
application
* PySideKick.Hatchet: a tool for hacking frozen PySide apps down to size,
by rebuilding PySide with a minimal set of classes
"""
__ver_major__ = 0
__ver_minor__ = 2
__ver_patch__ = 3
__ver_sub__ = ""
__ver_tuple__ = (__ver_major__,__ver_minor__,__ver_patch__,__ver_sub__)
__version__ = "%d.%d.%d%s" % __ver_tuple__
import thread
from PySide import QtCore, QtGui
from PySide.QtCore import Qt
# Older versions of PySide don't expose the 'thread' attribute of QObject.
# In this case, assume the thread importing this module is the main thread.
if hasattr(QtCore.QCoreApplication,"thread"):
def qIsMainThread():
app = QtCore.QCoreApplication.instance()
if app is None:
return False
return QtCore.QThread.currentThread() is app.thread()
else:
_MAIN_THREAD_ID = thread.get_ident()
def qIsMainThread():
return thread.get_ident() == _MAIN_THREAD_ID
# PySideKick.Call needs to create a singleton object in the main gui thread.
# Since this is *usually* the thread that imports this module, loading it here
# will provide a small speedup in the common case.
import PySideKick.Call