File: gladebuilder.py

package info (click to toggle)
linuxcnc 2.9.0~pre1%2Bgit20230208.f1270d6ed7-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 274,984 kB
  • sloc: python: 142,166; ansic: 103,241; cpp: 99,140; tcl: 16,045; xml: 10,608; sh: 10,124; makefile: 1,229; javascript: 226; sql: 72; asm: 15
file content (31 lines) | stat: -rw-r--r-- 918 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python3
# vim: sts=4 sw=4 et

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

class GladeBuilder:
    """ This is wrapper around Glade object that behaves just like Gtk.Builder """
    def __init__(self, glade):
        self.glade = glade

    def get_object(self, name):
        return self.glade.get_widget(name)

    def get_objects(self):
        return self.glade.get_widget_prefix("")

    def connect_signals(self, *a, **kw):
        self.glade.signal_autoconnect(*a, **kw)

def widget_name(widget):
    """ Helper function to retrieve widget name """
    idname = None
    if isinstance(widget, Gtk.Buildable):
        idname = Gtk.Buildable.get_name(widget)
    if idname is None and hasattr(widget, 'get_name'):
        # XXX: Sometimes in Glade mode on HAL_VBox previous if is triggered
        # but name is None.
        return widget.get_name()
    return idname