35 lines
902 B
Python
Executable file
35 lines
902 B
Python
Executable file
#!/usr/bin/python3
|
|
|
|
import sys
|
|
from wobbl_tools.data_file import save_dataclass_json, load_dataclass_json
|
|
from utils import Utils
|
|
from file import FileActions, File, BitEditor
|
|
from ui import GUI
|
|
from settings import Settings
|
|
|
|
|
|
class BreadEditor:
|
|
def __init__(self):
|
|
self.settings = load_dataclass_json(Settings, "settings.json")
|
|
setattr(self.settings, "save", lambda: save_dataclass_json(self.settings, "settings.json"))
|
|
self.utils = Utils(self)
|
|
self.file_actions = FileActions(self)
|
|
self.gui = GUI(self)
|
|
|
|
self.BitEditor = BitEditor
|
|
|
|
self.gui.connect_gui(self)
|
|
|
|
self.open_files: dict[str, File] = {}
|
|
|
|
def run(self):
|
|
self.gui.post_setup()
|
|
self.utils.popup_init()
|
|
|
|
self.gui.QTMainWindow.show()
|
|
sys.exit(self.gui.qt_app.exec())
|
|
|
|
|
|
if __name__ == "__main__":
|
|
editor = BreadEditor()
|
|
editor.run()
|