You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.1 KiB

import wx # type: ignore
from gooey.gui import events
from gooey.gui.pubsub import pub
from gooey.gui.util import wx_util
class Tabbar(wx.Panel):
def __init__(self, parent, buildSpec, configPanels, *args, **kwargs):
super(Tabbar, self).__init__(parent, *args, **kwargs)
self._parent = parent
self.notebook = wx.Notebook(self, style=wx.BK_DEFAULT)
self.buildSpec = buildSpec
self.configPanels = configPanels
self.options = list(self.buildSpec['widgets'].keys())
self.layoutComponent()
def layoutComponent(self):
for group, panel in zip(self.options, self.configPanels):
panel.Reparent( self.notebook)
self.notebook.AddPage(panel, group)
self.notebook.Layout()
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.notebook, 1, wx.EXPAND)
self.SetSizer(sizer)
self.Layout()
def getSelectedGroup(self):
return self.options[self.notebook.Selection]
def getActiveConfig(self):
return self.configPanels[self.notebook.Selection]
def show(self, b):
self.Show(b)