Krita Source Code Documentation
Loading...
Searching...
No Matches
__init__.py
Go to the documentation of this file.
2# SPDX-License-Identifier: GPL-3.0-or-later
3#
4
5from __future__ import print_function
6
7import pykrita
8import os
9import sys
10
11from .api import *
12from .decorators import *
13from .dockwidgetfactory import *
14from PyKrita import krita
15
16import signal
17signal.signal(signal.SIGINT, signal.SIG_DFL)
18
19krita_path = os.path.dirname(os.path.abspath(__file__))
20sys.path.insert(0, krita_path)
21print("%s added to PYTHONPATH" % krita_path, file=sys.stderr)
22
23# Look for PyQt
24try:
25 from PyQt6 import QtCore
26except:
27 try:
28 from PyQt5 import QtCore
29 except ImportError:
30 print("Python cannot find the Qt5 bindings.", file=sys.stderr)
31 print("Please make sure, that the needed packages are installed.", file=sys.stderr)
32 raise
33
34# Shows nice looking error dialog if an unhandled exception occurs.
35import excepthook
36excepthook.install()
37
38if sys.version_info[0] > 2:
39 import builtins
40else:
41 import __builtin__ as builtins
42builtins.i18n = Krita.krita_i18n
43builtins.i18nc = Krita.krita_i18nc
44builtins.Scripter = Krita.instance()
45builtins.Application = Krita.instance()
46builtins.Krita = Krita.instance()
47
48
49def qDebug(text):
50 '''Use KDE way to show debug info
51
52 TODO Add a way to control debug output from partucular plugins (?)
53 '''
54 plugin = sys._getframe(1).f_globals['__name__']
55 pykrita.qDebug('{}: {}'.format(plugin, text))
56
57
58@pykritaEventHandler('_pluginLoaded')
59def on_load(plugin):
60 if plugin in init.functions:
61 # Call registered init functions for the plugin
62 init.fire(plugin=plugin)
63 del init.functions[plugin]
64 return True
65
66
67@pykritaEventHandler('_pluginUnloading')
68def on_unload(plugin):
69 if plugin in unload.functions:
70 # Deinitialize plugin
71 unload.fire(plugin=plugin)
72 del unload.functions[plugin]
73 return True
74
75
76@pykritaEventHandler('_pykritaLoaded')
78 qDebug('PYKRITA LOADED')
79 return True
80
81
82@pykritaEventHandler('_pykritaUnloading')
84 qDebug('UNLOADING PYKRITA')
85 return True
static Krita * instance()
instance retrieve the singleton instance of the Application object.
Definition Krita.cpp:390
qDebug(text)
Definition __init__.py:49
on_load(plugin)
Definition __init__.py:59
on_pykrita_loaded()
Definition __init__.py:77
on_unload(plugin)
Definition __init__.py:68
on_pykrita_unloading()
Definition __init__.py:83