More misc fixes
This commit is contained in:
@@ -30,11 +30,10 @@ class VetoAble():
|
||||
return self.__vetoed
|
||||
|
||||
class NotebookTabChangeEvent():
|
||||
|
||||
def __init__(self, old, new):
|
||||
self.__old = old
|
||||
self.__new = new
|
||||
self.Selection = property(self.GetSelection)
|
||||
self.OldSelection = property(self.GetOldSelection)
|
||||
|
||||
def GetOldSelection(self):
|
||||
return self.__old
|
||||
@@ -42,6 +41,9 @@ class NotebookTabChangeEvent():
|
||||
def GetSelection(self):
|
||||
return self.__new
|
||||
|
||||
OldSelection = property(GetOldSelection)
|
||||
Selection = property(GetSelection)
|
||||
|
||||
class PageChanging(_PageChanging, NotebookTabChangeEvent, VetoAble):
|
||||
def __init__(self, old, new):
|
||||
NotebookTabChangeEvent.__init__(self, old, new)
|
||||
@@ -100,6 +102,9 @@ class PFNotebook(wx.Panel):
|
||||
return self.pages[i]
|
||||
|
||||
def SetPage(self, i, page):
|
||||
if i >= len(self.pages):
|
||||
return
|
||||
|
||||
oldPage = self.pages[i]
|
||||
self.pages[i] = page
|
||||
if oldPage == self.activePage:
|
||||
@@ -123,7 +128,7 @@ class PFNotebook(wx.Panel):
|
||||
def GetSelection(self):
|
||||
return self.GetPageIndex(self.activePage)
|
||||
|
||||
def AddPage(self, tabWnd, tabTitle = wx.EmptyString, tabImage = None, showClose = True):
|
||||
def AddPage(self, tabWnd, tabTitle ="Empty Tab", tabImage = None, showClose = True):
|
||||
if self.activePage:
|
||||
self.activePage.Hide()
|
||||
|
||||
@@ -659,6 +664,7 @@ class PFTabsContainer(wx.Panel):
|
||||
self.Refresh()
|
||||
if self.HasCapture():
|
||||
self.ReleaseMouse()
|
||||
|
||||
return
|
||||
|
||||
if self.startDrag:
|
||||
@@ -699,28 +705,28 @@ class PFTabsContainer(wx.Panel):
|
||||
return None
|
||||
|
||||
def CheckTabSelected(self,tab, mposx, mposy):
|
||||
|
||||
oldSelTab = self.GetSelectedTab()
|
||||
if oldSelTab == tab:
|
||||
return True
|
||||
|
||||
if self.TabHitTest(tab, mposx, mposy):
|
||||
tab.SetSelected(True)
|
||||
if tab != oldSelTab:
|
||||
oldSelTab.SetSelected(False)
|
||||
oldSelTab.SetSelected(False)
|
||||
|
||||
self.Refresh()
|
||||
ev = PageChanging(self.tabs.index(oldSelTab), self.tabs.index(tab))
|
||||
wx.PostEvent(self.Parent, ev)
|
||||
if ev.isVetoed():
|
||||
return False
|
||||
|
||||
self.Refresh()
|
||||
|
||||
selTab = self.tabs.index(tab)
|
||||
self.Parent.SetSelection(selTab)
|
||||
|
||||
wx.PostEvent(self.Parent, PageChanged(self.tabs.index(oldSelTab), self.tabs.index(tab)))
|
||||
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def CheckTabClose(self, tab, mposx, mposy):
|
||||
|
||||
@@ -98,6 +98,16 @@ class FittingView(d.Display):
|
||||
self.Bind(wx.EVT_KEY_UP, self.kbEvent)
|
||||
self.Bind(wx.EVT_LEFT_DOWN, self.click)
|
||||
self.Bind(wx.EVT_RIGHT_DOWN, self.click)
|
||||
self.parent.Bind(gui.chromeTabs.EVT_NOTEBOOK_PAGE_CHANGED, self.pageChanged)
|
||||
|
||||
def pageChanged(self, event):
|
||||
if self.parent.IsActive(self):
|
||||
fitID = self.getActiveFit()
|
||||
sFit = service.Fit.getInstance()
|
||||
sFit.switchFit(fitID)
|
||||
wx.PostEvent(self.mainFrame, FitChanged(fitID=fitID))
|
||||
|
||||
event.Skip()
|
||||
|
||||
def getActiveFit(self):
|
||||
return self.activeFitID
|
||||
|
||||
Reference in New Issue
Block a user