Cornea/src/__init__.py

34 lines
986 B
Python
Raw Normal View History

2021-11-21 06:07:22 +00:00
# Python imports
import inspect
from setproctitle import setproctitle
2022-02-15 06:51:06 +00:00
# Lib imports
2021-11-21 06:07:22 +00:00
# Application imports
2022-02-15 06:51:06 +00:00
from __builtins__ import Builtins
2021-11-21 06:07:22 +00:00
from utils import Settings, CrossClassSignals
from signal_classes import MainWindow, DrawingArea, MainMenuPopup
2022-02-15 06:51:06 +00:00
class Main(Builtins):
2021-11-21 06:07:22 +00:00
def __init__(self, args):
settings = Settings()
builder = settings.returnBuilder()
# Gets the methods from the classes and sets to handler.
# Then, builder connects to any signals it needs.
utilsClass = CrossClassSignals(settings)
classes = [MainWindow(settings, utilsClass),
DrawingArea(settings, utilsClass),
MainMenuPopup(settings, utilsClass)]
handlers = {}
for c in classes:
methods = inspect.getmembers(c, predicate=inspect.ismethod)
handlers.update(methods)
builder.connect_signals(handlers)
window = settings.createWindow()
window.show()