#!/usr/bin/env python # -*- coding: UTF-8 -*- # # generated by wxGlade 0.9.6 on Sun Nov 29 07:00:24 2020 # import wx import wx.grid # begin wxGlade: dependencies import gettext # end wxGlade # begin wxGlade: extracode # end wxGlade class BmsMonitorFrame(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: BmsMonitorFrame.__init__ kwds["style"] = kwds.get("style", 0) | wx.CAPTION | wx.CLIP_CHILDREN | wx.CLOSE_BOX | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX | wx.SYSTEM_MENU wx.Frame.__init__(self, *args, **kwds) self.SetSize((338, 393)) self.button_1 = wx.ToggleButton(self, wx.ID_ANY, _("Start")) self.text_ctrl_1 = wx.TextCtrl(self, wx.ID_ANY, _("prefix")) self.timestamp_1 = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_READONLY) self.timestamp_2 = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_READONLY) self.timestamp_3 = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_READONLY) self.grid_1 = wx.grid.Grid(self, wx.ID_ANY, size=(1, 1)) self.__set_properties() self.__do_layout() self.Bind(wx.EVT_TOGGLEBUTTON, self.OnToggle, self.button_1) # end wxGlade def __set_properties(self): # begin wxGlade: BmsMonitorFrame.__set_properties self.SetTitle(_("BMS Monitor")) _icon = wx.NullIcon _icon.CopyFromBitmap(wx.Bitmap("res\\repurpose-energy-ci-icon.ico", wx.BITMAP_TYPE_ANY)) self.SetIcon(_icon) self.grid_1.CreateGrid(12, 3) self.grid_1.EnableEditing(0) self.grid_1.EnableDragColSize(0) self.grid_1.EnableDragRowSize(0) self.grid_1.EnableDragGridSize(0) self.grid_1.SetColLabelValue(0, _("Slave 1 (V)")) self.grid_1.SetColLabelValue(1, _("Slave 2 (V)")) self.grid_1.SetColLabelValue(2, _("Slave 3 (V)")) self.grid_1.SetRowLabelValue(0, _("Cell 1")) self.grid_1.SetRowLabelValue(1, _("Cell 2")) self.grid_1.SetRowLabelValue(2, _("Cell 3")) self.grid_1.SetRowLabelValue(3, _("Cell 4")) self.grid_1.SetRowLabelValue(4, _("Cell 5")) self.grid_1.SetRowLabelValue(5, _("Cell 6")) self.grid_1.SetRowSize(5, 18) self.grid_1.SetRowLabelValue(6, _("Cell 7")) self.grid_1.SetRowLabelValue(7, _("Cell 8")) self.grid_1.SetRowLabelValue(8, _("Cell 9")) self.grid_1.SetRowLabelValue(9, _("Cell 10")) self.grid_1.SetRowLabelValue(10, _("Cell 11")) self.grid_1.SetRowLabelValue(11, _("Cell 12")) # end wxGlade def __do_layout(self): # begin wxGlade: BmsMonitorFrame.__do_layout sizer_1 = wx.BoxSizer(wx.VERTICAL) sizer_4 = wx.BoxSizer(wx.HORIZONTAL) sizer_3 = wx.BoxSizer(wx.HORIZONTAL) sizer_2 = wx.BoxSizer(wx.HORIZONTAL) sizer_6 = wx.BoxSizer(wx.HORIZONTAL) sizer_6.Add(self.button_1, 0, 0, 0) sizer_6.Add((20, 20), 0, 0, 0) label_4 = wx.StaticText(self, wx.ID_ANY, _("Output: ")) sizer_6.Add(label_4, 0, 0, 0) sizer_6.Add(self.text_ctrl_1, 0, 0, 0) sizer_1.Add(sizer_6, 0, wx.EXPAND, 0) label_1 = wx.StaticText(self, wx.ID_ANY, _("Slave 1 Update ")) sizer_2.Add(label_1, 0, 0, 0) sizer_2.Add(self.timestamp_1, 1, 0, 0) sizer_1.Add(sizer_2, 0, wx.EXPAND, 0) label_2 = wx.StaticText(self, wx.ID_ANY, _("Slave 2 Update ")) sizer_3.Add(label_2, 0, 0, 0) sizer_3.Add(self.timestamp_2, 1, wx.EXPAND, 0) sizer_1.Add(sizer_3, 0, wx.EXPAND, 0) label_3 = wx.StaticText(self, wx.ID_ANY, _("Slave 3 Update ")) sizer_4.Add(label_3, 0, 0, 0) sizer_4.Add(self.timestamp_3, 2, wx.EXPAND, 0) sizer_1.Add(sizer_4, 0, wx.EXPAND, 0) sizer_1.Add(self.grid_1, 1, wx.EXPAND, 0) self.SetSizer(sizer_1) self.Layout() # end wxGlade def OnToggle(self, event): # wxGlade: BmsMonitorFrame. print("Event handler 'OnToggle' not implemented!") event.Skip() # end of class BmsMonitorFrame class BmsApp(wx.App): def OnInit(self): self.frame = BmsMonitorFrame(None, wx.ID_ANY, "") self.SetTopWindow(self.frame) self.frame.Show() return True # end of class BmsApp if __name__ == "__main__": gettext.install("app") # replace with the appropriate catalog name app = BmsApp(0) app.MainLoop()