Native gui some more code

This commit is contained in:
2024-04-09 14:03:13 +01:00
parent 502605067f
commit 4b5ba85a77
3 changed files with 247 additions and 4 deletions
+32
View File
@@ -0,0 +1,32 @@
from gi.repository import Gtk
def init_named_controls(window, builder):
ctrltype = {
'lbl': 'label',
'ent': 'entry',
'but': 'button',
'cmb': 'combo',
'tvw': 'tree',
'spi': 'spin',
'txt': 'text',
'chk': 'check',
'opt': 'radio',
'vbx': 'vbox',
'hbx': 'hbox',
'box': 'box',
'tbl': 'table',
'mnu': 'menu',
'img': 'image',
'drw': 'area'
}
for ctrl in ctrltype.values():
setattr(window, ctrl, {})
for widget in builder.get_objects():
if type(widget) in (Gtk.Adjustment, Gtk.CellRendererText, Gtk.TreeSelection):
continue
widgetname = Gtk.Buildable.get_name(widget)
nameparts = widgetname.partition('_')
if (not nameparts[0] in ctrltype.keys()) or (not nameparts[2]):
continue
var = getattr(window, ctrltype[nameparts[0]])
var[nameparts[2]] = widget
+180
View File
@@ -0,0 +1,180 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkWindow" id="wnd_main">
<property name="can-focus">False</property>
<property name="title" translatable="yes">YMS</property>
<signal name="destroy" handler="on_destroy" swapped="no"/>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkButtonBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="homogeneous">True</property>
<property name="layout-style">start</property>
<child>
<object class="GtkButton" id="but_vessel">
<property name="label" translatable="yes">Vessel</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="but_company">
<property name="label" translatable="yes">Companies</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="but_equipment">
<property name="label" translatable="yes">Equipment</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="but_inventory">
<property name="label" translatable="yes">Inventory</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="but_provisions">
<property name="label" translatable="yes">Provisions</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkButton" id="but_projects">
<property name="label" translatable="yes">Projects</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
<child>
<object class="GtkButton" id="but_documents">
<property name="label" translatable="yes">Documents</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">6</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="lbl_vessel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">empty</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkTreeView" id="tvw_user">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="but_info">
<property name="label" translatable="yes">Ok</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<signal name="clicked" handler="on_but_info_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>