Help with AuiNotebook
Randall Feuerlein <[email protected]> Thu, 10 Jan 2019 14:40:34 -0800 (PST)
| Newsgroups | gmane.comp.python.wxpython.devel |
|---|---|
| Message-ID | <[email protected]> |
So all I want is saveable nested notebooks. Can this software do that? It
doesn't seem like it can based on this - this is my last attempt to get
this to work before I just go back to flat TK.
You should be able to launch this, reconfigure the notebook and then hit
the button to restore it, but it just gives black GDI goo.
Thanks
import wx
import wx.lib.agw.aui as aui
class TabPanelOne(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY)
sizer = wx.BoxSizer(wx.VERTICAL)
txtOne = wx.TextCtrl(self, wx.ID_ANY, "")
txtTwo = wx.TextCtrl(self, wx.ID_ANY, "")
btnOrder = GetOrderNumberButton(self)
sizer.Add(btnOrder, 0, wx.ALL, 0)
txtOrder = EnterOrderNumberField(self)
sizer.Add(txtOrder, 0, wx.ALL, 0)
sizer.Add(txtOne, 0, wx.ALL, 5)
sizer.Add(txtTwo, 0, wx.ALL, 5)
self.SetSizer(sizer)
class uiData():
uiDict = {}
class EnterOrderNumberField(wx.TextCtrl):
def __init__(self, parent):
wx.TextCtrl.__init__(self, parent=parent, id=wx.ID_ANY)
self.orderNumberField = wx.TextCtrl(self, wx.ID_ANY, "0000000000000000000")
uiData.uiDict["userOrderNumber"] = "0000000000000000000"
self.Bind(wx.EVT_TEXT, self.EvtText)
def EvtText(self, event):
RID = self.orderNumberField.GetValue()
uiData.uiDict["userOrderNumber"] = RID
print(uiData.uiDict["userOrderNumber"])
class PanelCaseDetails(wx.Panel):
def __init__(self, parent, _mgr):
wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY)
sizer = wx.BoxSizer(wx.VERTICAL)
notebook = aui.AuiNotebook(self)
panelOneNest = TabPanelOne(notebook)
panelTwoNest = TabPanelOne(notebook)
notebook.AddPage(panelOneNest, "PanelOneNest", False)
notebook.AddPage(panelTwoNest, "PanelTwoNest", False)
_mgr.AddPane(notebook,
aui.AuiPaneInfo().Name("notebook_content_child").
CenterPane().PaneBorder(False))
self.SetSizer(sizer)
class EnterOrderNumberField(wx.TextCtrl):
def __init__(self, parent):
wx.TextCtrl.__init__(self, parent=parent, id=wx.ID_ANY)
self.orderNumberField = wx.TextCtrl(self, wx.ID_ANY, "0000000000000000000")
uiData.uiDict["userOrderNumber"] = "0000000000000000000"
self.Bind(wx.EVT_TEXT, self.EvtText)
def EvtText(self, event):
RID = self.orderNumberField.GetValue()
uiData.uiDict["userOrderNumber"] = RID
print(uiData.uiDict["userOrderNumber"])
class GetOrderNumberButton(wx.Button):
def __init__(self, parent):
wx.Button.__init__(self, parent=parent, id=wx.ID_ANY)
self.GetOrderButton = wx.Button(self, wx.ID_ANY, "I am a button.") #pos, size, style
self.GetOrderButton.Bind(wx.EVT_BUTTON, self.OnClicked)
def OnClicked(self, event):
print(uiData.uiDict["userOrderNumber"])
print("the button was clicked")
print(uiData.uiDict["mgr"].SavePerspective())
pers = uiData.uiDict["perspective"]
uiData.uiDict["mgr"].LoadPerspective(pers, True)
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY,
"AGW AUI Notebook Tutorial",
size=(600,400))
self._mgr = aui.AuiManager()
uiData.uiDict["mgr"] = self._mgr
self._mgr.SetManagedWindow(self)
notebook = aui.AuiNotebook(self)
panelOne = PanelCaseDetails(notebook, self._mgr)
panelTwo = TabPanelOne(notebook)
notebook.AddPage(panelOne, "PanelOne", False)
notebook.AddPage(panelTwo, "PanelTwo", False)
self._mgr.AddPane(notebook, False) #what is "false" here????
self._mgr.Update()
initialPerspective = self._mgr.SavePerspective()
uiData.uiDict["perspective"] = initialPerspective
print(self._mgr.SavePerspective())
#notebook.EnableTab(0, False) #this doesn't go here but may be useful later
if __name__ == "__main__":
app = wx.PySimpleApp()
frame = MainFrame()
frame.Show()
app.MainLoop()
--
You received this message because you are subscribed to the Google Groups "wxPython-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.