From fbdb61afc7427eec8f2f042f5099496ef16c2cba Mon Sep 17 00:00:00 2001 From: Urtsi Santsi Date: Mon, 30 Oct 2023 08:09:45 +0200 Subject: [PATCH] Library: Port 'Toggle Button' to Python --- src/Library/demos/Toggle Button/main.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/Library/demos/Toggle Button/main.py diff --git a/src/Library/demos/Toggle Button/main.py b/src/Library/demos/Toggle Button/main.py new file mode 100644 index 000000000..831f196df --- /dev/null +++ b/src/Library/demos/Toggle Button/main.py @@ -0,0 +1,22 @@ +import gi + +gi.require_version("Gtk", "4.0") +from gi.repository import Gtk +import workbench + +buttons = { + "button_no_look": "Don't look", + "button_look": "Look", + "button_camera": "Camera", + "button_flashlight": "Flashlight", + "button_console": "Console", +} + + +def on_active(name): + return lambda button, _: print(f'{name} {"On" if button.get_active() else "Off"}') + + +for id, name in buttons.items(): + button: Gtk.Button = workbench.builder.get_object(id) + button.connect("notify::active", on_active(name))