[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/designer/src/base MenuBar.py ToolBase.py d...
From: |
Jason Cater |
Subject: |
gnue/designer/src/base MenuBar.py ToolBase.py d... |
Date: |
Fri, 13 Jun 2003 17:12:32 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Branch:
Changes by: Jason Cater <address@hidden> 03/06/13 17:12:32
Modified files:
designer/src/base: MenuBar.py ToolBase.py
designer/src/base/docks: BasePane.py DockedPane.py Docker.py
FloatingPane.py SplitDock.py
designer/src/base/tools: PropertyEditor.py TriggerEditor.py
Log message:
cleaning up the interactions between the various docking classes
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/MenuBar.py.diff?tr1=1.49&tr2=1.50&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/ToolBase.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/docks/BasePane.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/docks/DockedPane.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/docks/Docker.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/docks/FloatingPane.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/docks/SplitDock.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/tools/PropertyEditor.py.diff?tr1=1.46&tr2=1.47&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/tools/TriggerEditor.py.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
Patches:
Index: gnue/designer/src/base/MenuBar.py
diff -c gnue/designer/src/base/MenuBar.py:1.49
gnue/designer/src/base/MenuBar.py:1.50
*** gnue/designer/src/base/MenuBar.py:1.49 Fri Jun 13 12:39:22 2003
--- gnue/designer/src/base/MenuBar.py Fri Jun 13 17:12:32 2003
***************
*** 135,140 ****
--- 135,143 ----
EVT_MENU(self.instance._app, mid,
lambda event, l=self.instance, m=item, e=action, x=eventdata:
l.dispatchEvent('%s:%s' % (m.IsChecked() and 'Show' or
'Hide',e), **x))
+ self.instance.registerEventListeners( {
+ 'Show:%s' % action: lambda event, m=item: m.Check(1),
+ 'Hide:%s' % action: lambda event, m=item: m.Check(0) })
else:
EVT_MENU(self.instance._app, mid,
lambda event, l=self.instance, e=action, x=eventdata:
l.dispatchEvent(e, **x))
Index: gnue/designer/src/base/ToolBase.py
diff -c gnue/designer/src/base/ToolBase.py:1.3
gnue/designer/src/base/ToolBase.py:1.4
*** gnue/designer/src/base/ToolBase.py:1.3 Tue May 27 19:21:39 2003
--- gnue/designer/src/base/ToolBase.py Fri Jun 13 17:12:32 2003
***************
*** 42,57 ****
uses_feedback_bar = 0
uses_toolbar = 0
! def __init__(self, instance, rootObject, parentWindow):
wxPanel.__init__(self,parentWindow,-1)
events.EventAware.__init__(self, instance)
! self.frame = parentWindow
self.instance = instance
self.rootObject = rootObject
self.instance.globalAcceleratorListeners.append(self)
self.init()
RuntimeSettings.registerRuntimeSettingHandler(self.instance, self)
--- 42,61 ----
uses_feedback_bar = 0
uses_toolbar = 0
! def __init__(self, id, title, instance, rootObject, parentWindow):
wxPanel.__init__(self,parentWindow,-1)
events.EventAware.__init__(self, instance)
! self.id = id
! self.title = title
! self.dockpane = parentWindow
self.instance = instance
self.rootObject = rootObject
self.instance.globalAcceleratorListeners.append(self)
self.init()
+ instance.registerEventListeners({'Show:Tool:%s' % id: self.__show,
+ 'Hide:Tool:%s' % id: self.__hide})
RuntimeSettings.registerRuntimeSettingHandler(self.instance, self)
***************
*** 59,64 ****
return (self.runtime_section, {})
def setFeedback(self, text):
! pass
--- 63,75 ----
return (self.runtime_section, {})
def setFeedback(self, text):
! self.dockpane.setFeedback(text)
!
! def __show(self, event):
! self.dockpane.show()
!
!
! def __hide(self, event):
! self.dockpane.hide()
Index: gnue/designer/src/base/docks/BasePane.py
diff -c gnue/designer/src/base/docks/BasePane.py:1.1
gnue/designer/src/base/docks/BasePane.py:1.2
*** gnue/designer/src/base/docks/BasePane.py:1.1 Fri Jun 13 12:39:22 2003
--- gnue/designer/src/base/docks/BasePane.py Fri Jun 13 17:12:32 2003
***************
*** 31,58 ****
from wxPython.wx import *
class BasePane:
! def __init__(self, parent, instance):
self.parent = parent
self.instance = instance
-
- # These are used exclusively by ToolDock
- self.minimumVerticalSize = 0
- self.lastSize = 0
self.minimized = 0
! def GetWindow(self):
! return self
def show(self):
! self.Show(1)
def hide(self):
! self.Show(0)
def setFeedback(self, text):
- print "WARNING: BasePane.setFeedback called directly"
pass
- def finalize(self):
- pass
--- 31,52 ----
from wxPython.wx import *
class BasePane:
! def __init__(self, parent, instance, tool):
self.parent = parent
self.instance = instance
self.minimized = 0
! # Reparent the tool to be under our control...
! tool.Reparent(self)
! tool.dockpane = self
def show(self):
! pass
def hide(self):
! pass
def setFeedback(self, text):
pass
Index: gnue/designer/src/base/docks/DockedPane.py
diff -c gnue/designer/src/base/docks/DockedPane.py:1.1
gnue/designer/src/base/docks/DockedPane.py:1.2
*** gnue/designer/src/base/docks/DockedPane.py:1.1 Fri Jun 13 12:39:22 2003
--- gnue/designer/src/base/docks/DockedPane.py Fri Jun 13 17:12:32 2003
***************
*** 41,70 ****
#
#
class DockedPane(wxSashWindow, BasePane):
! def __init__(self, parent, menutool):
wxSashWindow.__init__(self, parent, -1, style=wxSW_3DSASH|wxCLIP_CHILDREN)
! BasePane.__init__(self, parent, menutool)
! self.manager = None
self.statusbar = None
EVT_SIZE(self, self.__OnSize)
EVT_SASH_DRAGGED(self, self.GetId(), self.__OnDrag)
- def SetManager(self, manager):
- self.manager = manager
-
- def setStatusBar(self, bar):
- self.statusbar = bar
-
- def AddTool(self, title, baseclass, rootObject, instance):
- self.control = control = baseclass(instance, rootObject, self)
-
self.sizer = sizer = wxBoxSizer(wxVERTICAL)
tp = self.__titlePanel = wxPanel(self,-1, wxPoint(0,0))#,
style=wxSIMPLE_BORDER)
tp.SetBackgroundColour(TITLEBAR_ACTIVE)
sizer.Add(tp,0, wxALL|wxEXPAND, border=2)
! tt = self.__titleText = wxStaticText(tp,-1,title,wxPoint(4,1))
tt.SetForegroundColour(TITLETEXT_ACTIVE)
font = tt.GetFont()
font.SetWeight(wxBOLD)
--- 41,66 ----
#
#
class DockedPane(wxSashWindow, BasePane):
! def __init__(self, parent, instance, tool):
wxSashWindow.__init__(self, parent, -1, style=wxSW_3DSASH|wxCLIP_CHILDREN)
! BasePane.__init__(self, parent, instance, tool)
! # These are used exclusively by ToolDock
!
! self.statusbar = instance.statusbar
! self.minimumVerticalSize = 0
! self.lastSize = 0
!
self.statusbar = None
EVT_SIZE(self, self.__OnSize)
EVT_SASH_DRAGGED(self, self.GetId(), self.__OnDrag)
self.sizer = sizer = wxBoxSizer(wxVERTICAL)
tp = self.__titlePanel = wxPanel(self,-1, wxPoint(0,0))#,
style=wxSIMPLE_BORDER)
tp.SetBackgroundColour(TITLEBAR_ACTIVE)
sizer.Add(tp,0, wxALL|wxEXPAND, border=2)
! tt = self.__titleText = wxStaticText(tp,-1,tool.title,wxPoint(4,1))
tt.SetForegroundColour(TITLETEXT_ACTIVE)
font = tt.GetFont()
font.SetWeight(wxBOLD)
***************
*** 80,104 ****
EVT_RIGHT_UP(tp, self.__RightClick)
EVT_RIGHT_UP(tt, self.__RightClick)
! if control.uses_toolbar:
! sizer.Add(control.createToolbar(self), 0, wxEXPAND)
!
! control.setFeedback = self.setFeedback
! sizer.Add(control, 1, wxEXPAND)
self.SetAutoLayout(true)
self.SetSizer(sizer)
self.Layout()
- return control
-
- def setFeedback(self, text):
- if self.statusbar:
- self.statusbar.SetStatusText(text)
-
def __LeftDClick(self, event):
! if self.manager:
! self.manager.toggleMinimized(self)
def __RightClick(self, event):
# Display a menu
--- 76,91 ----
EVT_RIGHT_UP(tp, self.__RightClick)
EVT_RIGHT_UP(tt, self.__RightClick)
! if tool.uses_toolbar:
! sizer.Add(tool.createToolbar(self), 0, wxEXPAND)
! sizer.Add(tool, 1, wxEXPAND)
self.SetAutoLayout(true)
self.SetSizer(sizer)
self.Layout()
def __LeftDClick(self, event):
! self.parent.toggleMinimized(self)
def __RightClick(self, event):
# Display a menu
***************
*** 125,136 ****
self.PopupMenu(menu, event.GetPosition())
def __Hide(self, event):
! self.manager.minimize(self)
def __Restore(self, event):
! self.manager.restore(self)
def __BreakAway(self, event):
print _("This function not yet supported!") # TODO
--- 112,134 ----
self.PopupMenu(menu, event.GetPosition())
+ # Called by GNUe's event dispatcher
+ def hide(self):
+ self.parent.minimize(self)
+
+ # Called by GNUe's event dispatcher
+ def show(self):
+ self.parent.restore(self)
+
+ # Called by the popup menu when user right-clicks
def __Hide(self, event):
! self.instance.dispatchEvent('Hide:Tool:%s' % self.tool.id)
+ # Called by the popup menu when user right-clicks
def __Restore(self, event):
! self.instance.dispatchEvent('Show:Tool:%s' % self.tool.id)
+ # Called by the popup menu when user right-clicks
def __BreakAway(self, event):
print _("This function not yet supported!") # TODO
***************
*** 141,144 ****
def __OnDrag(self, event):
newHeight = event.GetDragRect().height
! self.manager.resize(self, newHeight)
--- 139,145 ----
def __OnDrag(self, event):
newHeight = event.GetDragRect().height
! self.parent.resize(self, newHeight)
!
! def setFeedback(self, text):
! self.instance.statusbar.SetStatusText(text)
\ No newline at end of file
Index: gnue/designer/src/base/docks/Docker.py
diff -c gnue/designer/src/base/docks/Docker.py:1.3
gnue/designer/src/base/docks/Docker.py:1.4
*** gnue/designer/src/base/docks/Docker.py:1.3 Fri Jun 13 13:20:11 2003
--- gnue/designer/src/base/docks/Docker.py Fri Jun 13 17:12:32 2003
***************
*** 55,60 ****
--- 55,61 ----
GDebug.printMesg(2,'Adding tool %s [%s]' % (title,id))
pos = RuntimeSettings.get(instance.runtime_section, 'Dock-%s' % id,
baseclass.default_dock)
+ visible = RuntimeSettings.get(instance.runtime_section, 'Visible-%s' %
id, baseclass.default_visible)
#### Historical stuff... remove before 1.0 ####
if pos in ('topleft','topright','bottomleft','bottomright'):
***************
*** 67,105 ****
if '-' in pos:
pos, indx = pos.split('-')
if pos not in ('left','right'): # i.e., 'frame' or something old
# Frame type
! window = FloatingPane(instance, id, title,
baseclass.uses_feedback_bar)
! control = baseclass(instance, instance.rootObject, window)
! window.control = control
! window.dock = 'frame'
! enableMenu = 1
! if baseclass.uses_feedback_bar:
! frame.setStatusBar(frame.statusbar)
else:
# Docked type
- pane = DockedPane(horizSplitter, self)
- control = pane.AddTool(title, baseclass, instance.rootObject,
instance)
if pos == 'left':
! window = leftWin
elif pos == 'right':
! window = rightWin
! pane.setStatusBar(instance.statusbar)
!
!
! window.add(pane, indx)
! enableMenu = 0
# Add ourselves to the Window menu
instance.menubar.addAction(location='View', text=title, event='Tool:' +
id,
grouping=group, canToggle=1, canDisable=0,
icon=None, hotkey=hotkey)
! window.finalize()
! instance.__dict__["%sWindow" % id] = window
! instance.__dict__[id] = control
leftWin.refresh()
rightWin.refresh()
--- 68,100 ----
if '-' in pos:
pos, indx = pos.split('-')
+ tool = baseclass(id, title, instance, instance.rootObject, self)
+
if pos not in ('left','right'): # i.e., 'frame' or something old
# Frame type
! FloatingPane(instance, instance, tool)
else:
# Docked type
if pos == 'left':
! dock = leftWin
elif pos == 'right':
! dock = rightWin
! dock.add(DockedPane(dock, instance, tool), indx)
# Add ourselves to the Window menu
instance.menubar.addAction(location='View', text=title, event='Tool:' +
id,
grouping=group, canToggle=1, canDisable=0,
icon=None, hotkey=hotkey)
! ## instance.__dict__["%sWindow" % id] = window
! instance.__dict__[id] = tool
! if visible:
! instance.dispatchEvent('Show:Tool:%s' % id)
! else:
! instance.dispatchEvent('Hide:Tool:%s' % id)
+ ## instance.registerEventListeners({'Show:Tool:%s'% id: self.showTool
leftWin.refresh()
rightWin.refresh()
***************
*** 112,121 ****
self.horizSplitter.SetSize(self.GetClientSize())
def saveSettings(self):
! settings = {}
! if self.horizSplitter:
! settings['docksplitter-topbottom'] =
self.horizSplitter.GetSashPosition()
!
settings.update(self.leftDock.saveSettings())
settings.update(self.rightDock.saveSettings())
--- 107,113 ----
self.horizSplitter.SetSize(self.GetClientSize())
def saveSettings(self):
! settings = {'docksplitter-topbottom':
self.horizSplitter.GetSashPosition()}
settings.update(self.leftDock.saveSettings())
settings.update(self.rightDock.saveSettings())
Index: gnue/designer/src/base/docks/FloatingPane.py
diff -c gnue/designer/src/base/docks/FloatingPane.py:1.1
gnue/designer/src/base/docks/FloatingPane.py:1.2
*** gnue/designer/src/base/docks/FloatingPane.py:1.1 Fri Jun 13 12:39:22 2003
--- gnue/designer/src/base/docks/FloatingPane.py Fri Jun 13 17:12:32 2003
***************
*** 33,38 ****
--- 33,39 ----
from wxPython.wx import *
from gnue.common.apps import GDebug
from BasePane import BasePane
+ from gnue.designer.base.ToolBar import BaseToolBar
#
# Any tool frames inherit from this
***************
*** 45,51 ****
default_height = 200
default_visible = 0
! def __init__(self, instance, id, title, statusbar=0, toolbar=0):
if sys.platform[:3] == 'win':
style = wxFRAME_TOOL_WINDOW|wxMINIMIZE_BOX|wxRESIZE_BORDER| \
wxFRAME_FLOAT_ON_PARENT
--- 46,52 ----
default_height = 200
default_visible = 0
! def __init__(self, parent, instance, tool):
if sys.platform[:3] == 'win':
style = wxFRAME_TOOL_WINDOW|wxMINIMIZE_BOX|wxRESIZE_BORDER| \
wxFRAME_FLOAT_ON_PARENT
***************
*** 53,96 ****
style =
wxMINIMIZE_BOX|wxRESIZE_BORDER|wxCAPTION|wxFRAME_NO_TASKBAR|wxFRAME_FLOAT_ON_PARENT
! wxFrame.__init__(self, instance, -1, title, style=style)
! self.id = id
! self.title = title
! self.runtime_section = "ToolFrame-%s" % string.replace(self.title,' ','')
! self.instance = instance
! self.visible = 0
! if statusbar:
self.statusbar = self.CreateStatusBar()
- EVT_CLOSE(self, self.OnClose)
- ## EVT_SIZE(self, self.OnSize)
- ##
- ## def OnSize(self, evt):
- ## self.child.SetSize(self.GetClientSize())
-
- def finalize(self):
-
- self.SetPosition((
- RuntimeSettings.getint(self.runtime_section, 'x', -1),
- RuntimeSettings.getint(self.runtime_section, 'y', -1)))
-
- self.SetSize((
- RuntimeSettings.getint(
- self.runtime_section, 'width', self.default_width),
- RuntimeSettings.getint(
- self.runtime_section, 'height', self.default_height)))
! if RuntimeSettings.getint(
! self.runtime_section, 'visible', self.default_visible):
! self.show()
!
!
! RuntimeSettings.registerRuntimeSettingHandler(self.instance, self)
! self.instance.registerEventListeners(
! { 'Show:Tool:%s' % self.id : self.show,
! 'Hide:Tool:%s' % self.id : self.hide } )
def saveRuntimeSettings(self):
--- 54,88 ----
style =
wxMINIMIZE_BOX|wxRESIZE_BORDER|wxCAPTION|wxFRAME_NO_TASKBAR|wxFRAME_FLOAT_ON_PARENT
! wxFrame.__init__(self, instance, -1, tool.title, style=style)
! BasePane.__init__(self, parent, instance, tool)
! if tool.uses_feedback_bar:
self.statusbar = self.CreateStatusBar()
! EVT_CLOSE(self, self.OnClose)
! ## self.SetPosition((
! ## RuntimeSettings.getint(self.runtime_section, 'x', -1),
! ## RuntimeSettings.getint(self.runtime_section, 'y', -1)))
!
! ## self.SetSize((
! ## RuntimeSettings.getint(
! ## self.runtime_section, 'width', self.default_width),
! ## RuntimeSettings.getint(
! ## self.runtime_section, 'height', self.default_height)))
!
! ## if RuntimeSettings.getint(
! ## self.runtime_section, 'visible', self.default_visible):
! ## self.show()
!
!
! ## RuntimeSettings.registerRuntimeSettingHandler(self.instance, self)
!
! ## instance.registerEventListeners(
! ## { 'Show:Tool:%s' % self.id : self.show,
! ## 'Hide:Tool:%s' % self.id : self.hide } )
def saveRuntimeSettings(self):
***************
*** 104,115 ****
'width': width, } )
! def show(self, event=None):
! self.visible = 1
self.Show(1)
! def hide(self, event=None):
! self.visible = 0
self.Show(0)
def OnClose(self, event):
--- 96,105 ----
'width': width, } )
! def show(self):
self.Show(1)
! def hide(self):
self.Show(0)
def OnClose(self, event):
Index: gnue/designer/src/base/docks/SplitDock.py
diff -c gnue/designer/src/base/docks/SplitDock.py:1.1
gnue/designer/src/base/docks/SplitDock.py:1.2
*** gnue/designer/src/base/docks/SplitDock.py:1.1 Fri Jun 13 12:39:22 2003
--- gnue/designer/src/base/docks/SplitDock.py Fri Jun 13 17:12:32 2003
***************
*** 106,112 ****
# Save state information on the tool panel
panel._dock_ = self
panel._dock_index = indx
- panel.SetManager(self)
#
# Restore sizes.. used by RuntimeSettings
--- 106,111 ----
Index: gnue/designer/src/base/tools/PropertyEditor.py
diff -c gnue/designer/src/base/tools/PropertyEditor.py:1.46
gnue/designer/src/base/tools/PropertyEditor.py:1.47
*** gnue/designer/src/base/tools/PropertyEditor.py:1.46 Mon Jun 9 11:54:32 2003
--- gnue/designer/src/base/tools/PropertyEditor.py Fri Jun 13 17:12:32 2003
***************
*** 44,50 ****
self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
self.notebook = wxNotebook(self.panel, -1, style=wxNB_BOTTOM)
-
self.object = None
# EventAware provided by ToolBase
--- 44,49 ----
***************
*** 134,139 ****
--- 133,142 ----
self.editor = editor
self.fields = []
self.labels = []
+
+ # These will be set in _setCurrent
+ self.maxy = 0
+ self.maxLabel = 0
self.labelPanel = wxPanel(splitter, -1)
self.fieldPanel = wxPanel(splitter, -1)
Index: gnue/designer/src/base/tools/TriggerEditor.py
diff -c gnue/designer/src/base/tools/TriggerEditor.py:1.33
gnue/designer/src/base/tools/TriggerEditor.py:1.34
*** gnue/designer/src/base/tools/TriggerEditor.py:1.33 Fri May 23 20:02:31 2003
--- gnue/designer/src/base/tools/TriggerEditor.py Fri Jun 13 17:12:32 2003
***************
*** 67,77 ****
self.triggerMap = {}
- # TODO: Historical stuff (pre-ToolBase)
- self.parent = self.frame
- self.form = self.rootObject
-
-
self.editor.SetReadOnly(1)
EVT_SIZE(self, self._onSize)
EVT_KILL_FOCUS(self.editor, self.OnKillFocus)
--- 67,72 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/designer/src/base MenuBar.py ToolBase.py d...,
Jason Cater <=