I want to make the first tab disable the sort and drag property
class TestPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, -1, style=wx.NO_BORDER)
self.nb = aui.AuiNotebook(self, id=wx.ID_ANY, agwStyle = aui.AUI_NB_TOP | aui.AUI_NB_TAB_MOVE | aui.AUI_NB_SCROLL_BUTTONS | aui.AUI_NB_CLOSE_ON_ALL_TABS | aui.AUI_NB_MIDDLE_CLICK_CLOSE)
page = wx.TextCtrl(self.nb, -1, 'Main content window', style=wx.TE_MULTILINE)
self.nb.AddPage(page, "Welcome")
for num in range(1, 5):
page = wx.TextCtrl(self.nb, -1, "This is page %d" % num ,
style=wx.TE_MULTILINE)
self.nb.AddPage(page, "Tab Number %d" % num)
self.nb.SetCloseButton(0, False)
self.nb.Bind(aui.EVT_AUINOTEBOOK_BEGIN_DRAG, self.DragTab)
self.nb.Bind(aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.onClosePage)
sizer = wx.BoxSizer()
sizer.Add(self.nb, 1, wx.EXPAND)
self.SetSizer(sizer)
wx.CallAfter(self.nb.SendSizeEvent)
def onClosePage(self, event):
event.Skip()
print(self.nb.GetPageCount())
if self.nb.GetPageCount() <= 3:
# Prevent last tab from being closed
self.nb.ToggleWindowStyle(aui.AUI_NB_CLOSE_ON_ACTIVE_TAB)
def DragTab(self, evn):
page_idx = evn.GetSelection()
if 0 == page_idx:
return False