mirror of https://github.com/chriskiehl/Gooey.git
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
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)
|