UI: Start basic files for GtkApplication and GtkWindows

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-06-06 18:01:33 -04:00
parent 1ed25e7d36
commit 2455d577df
5 changed files with 51 additions and 0 deletions

12
emmental-gtk4.py Executable file
View File

@ -0,0 +1,12 @@
#!/usr/bin/python
# Copyright 2021 (c) Anna Schumaker.
import gi
gi.require_version('Gtk', '4.0')
import lib
import trackdb
lib.settings.load()
trackdb.load()
import ui
ui.Application.run()

9
test_ui.py Normal file
View File

@ -0,0 +1,9 @@
# Copyright 2021 (c) Anna Schumaker.
import unittest
import ui
from gi.repository import Gtk
class TestEmmentalApplication(unittest.TestCase):
def test_application(self):
app = ui.EmmentalApplication()
self.assertIsInstance(app, Gtk.Application)

16
ui/__init__.py Normal file
View File

@ -0,0 +1,16 @@
# Copyright 2021 (c) Anna Schumaker.
from . import window
from gi.repository import Gtk
class EmmentalApplication(Gtk.Application):
def __init__(self, *args, **kwargs):
Gtk.Application.__init__(self, *args, application_id="org.gtk.emmental", **kwargs)
def do_activate(self):
window.Window.present()
def do_startup(self):
Gtk.Application.do_startup(self)
self.add_window(window.Window)
Application = EmmentalApplication()

8
ui/test_window.py Normal file
View File

@ -0,0 +1,8 @@
# Copyright 2021 (c) Anna Schumaker.
import unittest
from . import window
from gi.repository import Gtk
class TestUIWindow(unittest.TestCase):
def test_window(self):
self.assertIsInstance(window.Window, Gtk.ApplicationWindow)

6
ui/window.py Normal file
View File

@ -0,0 +1,6 @@
# Copyright 2021 (c) Anna Schumaker.
import gi
gi.require_version("Gtk", "4.0")
from gi.repository import Gtk
Window = Gtk.ApplicationWindow()