Buffer display name on notebook tab hack fest. This should be
refactored and made a method of buffer, perhaps buffer.getDisplayName(). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@20257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -74,6 +74,8 @@ class EditorFrame(frame.Frame):
|
|||||||
def OnIdle(self, event):
|
def OnIdle(self, event):
|
||||||
"""Event handler for idle time."""
|
"""Event handler for idle time."""
|
||||||
self._updateStatus()
|
self._updateStatus()
|
||||||
|
if hasattr(self, 'notebook'):
|
||||||
|
self._updateTabText()
|
||||||
self._updateTitle()
|
self._updateTitle()
|
||||||
event.Skip()
|
event.Skip()
|
||||||
|
|
||||||
@@ -88,6 +90,24 @@ class EditorFrame(frame.Frame):
|
|||||||
self.SetStatusText(text)
|
self.SetStatusText(text)
|
||||||
self._statusText = text
|
self._statusText = text
|
||||||
|
|
||||||
|
def _updateTabText(self):
|
||||||
|
"""Show current buffer information on notebook tab."""
|
||||||
|
## suffix = ' **'
|
||||||
|
## notebook = self.notebook
|
||||||
|
## selection = notebook.GetSelection()
|
||||||
|
## if selection == -1:
|
||||||
|
## return
|
||||||
|
## text = notebook.GetPageText(selection)
|
||||||
|
## window = notebook.GetPage(selection)
|
||||||
|
## if window.editor and window.editor.buffer.hasChanged():
|
||||||
|
## if text.endswith(suffix):
|
||||||
|
## pass
|
||||||
|
## else:
|
||||||
|
## notebook.SetPageText(selection, text + suffix)
|
||||||
|
## else:
|
||||||
|
## if text.endswith(suffix):
|
||||||
|
## notebook.SetPageText(selection, text[:len(suffix)])
|
||||||
|
|
||||||
def _updateTitle(self):
|
def _updateTitle(self):
|
||||||
"""Show current title information."""
|
"""Show current title information."""
|
||||||
title = self.GetTitle()
|
title = self.GetTitle()
|
||||||
@@ -275,15 +295,16 @@ class EditorNotebookFrame(EditorFrame):
|
|||||||
|
|
||||||
def _updateTitle(self):
|
def _updateTitle(self):
|
||||||
"""Show current title information."""
|
"""Show current title information."""
|
||||||
title = self.GetTitle()
|
pass
|
||||||
if self.bufferHasChanged():
|
## title = self.GetTitle()
|
||||||
if title.startswith('* '):
|
## if self.bufferHasChanged():
|
||||||
pass
|
## if title.startswith('* '):
|
||||||
else:
|
## pass
|
||||||
self.SetTitle('* ' + title)
|
## else:
|
||||||
else:
|
## self.SetTitle('* ' + title)
|
||||||
if title.startswith('* '):
|
## else:
|
||||||
self.SetTitle(title[2:])
|
## if title.startswith('* '):
|
||||||
|
## self.SetTitle(title[2:])
|
||||||
|
|
||||||
def bufferCreate(self, filename=None):
|
def bufferCreate(self, filename=None):
|
||||||
"""Create new buffer."""
|
"""Create new buffer."""
|
||||||
@@ -334,6 +355,48 @@ class EditorNotebook(wx.wxNotebook):
|
|||||||
self.OnPageChanging)
|
self.OnPageChanging)
|
||||||
wx.EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(),
|
wx.EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(),
|
||||||
self.OnPageChanged)
|
self.OnPageChanged)
|
||||||
|
wx.EVT_IDLE(self, self.OnIdle)
|
||||||
|
|
||||||
|
def OnIdle(self, event):
|
||||||
|
"""Event handler for idle time."""
|
||||||
|
self._updateTabText()
|
||||||
|
event.Skip()
|
||||||
|
|
||||||
|
def _updateTabText(self):
|
||||||
|
"""Show current buffer display name on all but first tab."""
|
||||||
|
size = 3
|
||||||
|
changed = ' **'
|
||||||
|
unchanged = ' --'
|
||||||
|
selection = self.GetSelection()
|
||||||
|
if selection < 1:
|
||||||
|
return
|
||||||
|
text = self.GetPageText(selection)
|
||||||
|
window = self.GetPage(selection)
|
||||||
|
if not window.editor:
|
||||||
|
return
|
||||||
|
if text.endswith(changed) or text.endswith(unchanged):
|
||||||
|
name = text[:-size]
|
||||||
|
else:
|
||||||
|
name = text
|
||||||
|
if name != window.editor.buffer.name:
|
||||||
|
text = window.editor.buffer.name
|
||||||
|
if window.editor.buffer.hasChanged():
|
||||||
|
if text.endswith(changed):
|
||||||
|
text = None
|
||||||
|
elif text.endswith(unchanged):
|
||||||
|
text = text[:-size] + changed
|
||||||
|
else:
|
||||||
|
text += changed
|
||||||
|
else:
|
||||||
|
if text.endswith(changed):
|
||||||
|
text = text[:-size] + unchanged
|
||||||
|
elif text.endswith(unchanged):
|
||||||
|
text = None
|
||||||
|
else:
|
||||||
|
text += unchanged
|
||||||
|
if text is not None:
|
||||||
|
self.SetPageText(selection, text)
|
||||||
|
|
||||||
|
|
||||||
def OnPageChanging(self, event):
|
def OnPageChanging(self, event):
|
||||||
"""Page changing event handler."""
|
"""Page changing event handler."""
|
||||||
|
Reference in New Issue
Block a user