[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/designer/src/base Instance.py ToolBase.py ...
From: |
Jason Cater |
Subject: |
gnue/designer/src/base Instance.py ToolBase.py ... |
Date: |
Tue, 17 Jun 2003 00:55:09 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Branch:
Changes by: Jason Cater <address@hidden> 03/06/17 00:55:08
Modified files:
designer/src/base: Instance.py ToolBase.py
designer/src/base/docks: BasePane.py Docker.py FloatingPane.py
SplitDock.py
Log message:
more docking goodness
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/Instance.py.diff?tr1=1.114&tr2=1.115&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/ToolBase.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/docks/BasePane.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/docks/Docker.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/docks/FloatingPane.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/docks/SplitDock.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
Patches:
Index: gnue/designer/src/base/Instance.py
diff -c gnue/designer/src/base/Instance.py:1.114
gnue/designer/src/base/Instance.py:1.115
*** gnue/designer/src/base/Instance.py:1.114 Mon Jun 16 15:51:02 2003
--- gnue/designer/src/base/Instance.py Tue Jun 17 00:55:08 2003
***************
*** 408,415 ****
'height': height,
'width': width }
- settings.update(self.docker.saveSettings())
-
return ( self.runtime_section, settings )
--- 408,413 ----
Index: gnue/designer/src/base/ToolBase.py
diff -c gnue/designer/src/base/ToolBase.py:1.4
gnue/designer/src/base/ToolBase.py:1.5
*** gnue/designer/src/base/ToolBase.py:1.4 Fri Jun 13 17:12:32 2003
--- gnue/designer/src/base/ToolBase.py Tue Jun 17 00:55:08 2003
***************
*** 36,42 ****
class ToolBase (wxPanel, events.EventAware):
! default_visible = 0
default_dock = 'frame'
runtime_section = ""
uses_feedback_bar = 0
--- 36,42 ----
class ToolBase (wxPanel, events.EventAware):
! default_visible = 1
default_dock = 'frame'
runtime_section = ""
uses_feedback_bar = 0
***************
*** 66,75 ****
--- 66,77 ----
self.dockpane.setFeedback(text)
def __show(self, event):
+ self._visible = 1
self.dockpane.show()
def __hide(self, event):
+ self._visible = 0
self.dockpane.hide()
Index: gnue/designer/src/base/docks/BasePane.py
diff -c gnue/designer/src/base/docks/BasePane.py:1.4
gnue/designer/src/base/docks/BasePane.py:1.5
*** gnue/designer/src/base/docks/BasePane.py:1.4 Mon Jun 16 23:13:51 2003
--- gnue/designer/src/base/docks/BasePane.py Tue Jun 17 00:55:08 2003
***************
*** 49,52 ****
--- 49,54 ----
def setFeedback(self, text):
pass
+ def closing(self):
+ pass
Index: gnue/designer/src/base/docks/Docker.py
diff -c gnue/designer/src/base/docks/Docker.py:1.6
gnue/designer/src/base/docks/Docker.py:1.7
*** gnue/designer/src/base/docks/Docker.py:1.6 Mon Jun 16 23:13:51 2003
--- gnue/designer/src/base/docks/Docker.py Tue Jun 17 00:55:08 2003
***************
*** 41,47 ****
wxPanel.__init__(self, parent, -1)
self.parent = parent
self.instance = instance
- self.runtime_section = runtime_section = '%s-Docker' %
instance.properties.nickname
self.horizSplitter = horizSplitter = wxSplitterWindow(self, -1,
style=wxSP_3D)
self.leftDock = leftWin = SplitDock(horizSplitter, self, 'left')
--- 41,46 ----
***************
*** 52,57 ****
--- 51,60 ----
'Docker:Undock': self.undock,
'Docker:Dock': self.dock})
+ # Tell RuntimeSettings that we have information to save
+ self.runtime_section = runtime_section = '%s-Docker' %
instance.properties.nickname
+ RuntimeSettings.registerRuntimeSettingHandler(self.instance, self)
+
self.tools = []
#
***************
*** 61,70 ****
GDebug.printMesg(2,'Adding tool %s [%s]' % (title,id))
! indx = '0'
pos = baseclass.default_dock
if '-' in pos:
pos, indx = pos.split('-')
tool = baseclass(id, title, instance, instance.rootObject, self)
--- 64,74 ----
GDebug.printMesg(2,'Adding tool %s [%s]' % (title,id))
! indx = 0
pos = baseclass.default_dock
if '-' in pos:
pos, indx = pos.split('-')
+ indx = int(indx)
tool = baseclass(id, title, instance, instance.rootObject, self)
***************
*** 72,77 ****
--- 76,85 ----
tool._dock_location = RuntimeSettings.get(self.runtime_section,
'%s-location' % id, (pos == 'frame' and 'left' or pos))
tool._dock_index = RuntimeSettings.getint(self.runtime_section,
'%s-index' % id, indx)
tool._visible = RuntimeSettings.getint(self.runtime_section,
'%s-visible' % id, tool.default_visible)
+ tool._frame_x = RuntimeSettings.getint(self.runtime_section,
'%s-frame-x' % id, -1)
+ tool._frame_y = RuntimeSettings.getint(self.runtime_section,
'%s-frame-y' % id, -1)
+ tool._frame_width = RuntimeSettings.getint(self.runtime_section,
'%s-frame-width' % id, 200)
+ tool._frame_height = RuntimeSettings.getint(self.runtime_section,
'%s-frame-height' % id, 150)
appd = (id, title, baseclass, hotkey, pos)
***************
*** 111,129 ****
self.SetSize(self.instance.GetClientSize())
self.horizSplitter.SetSize(self.GetClientSize())
! def saveSettings(self):
settings = {'docksplitter-topbottom':
self.horizSplitter.GetSashPosition()}
for tool in self.tools:
tid = tool.id
settings['%s-docked' % tid] = tool._docked
settings['%s-dock-location' % tid] = tool._dock_location
settings['%s-dock-index' % tid] = tool._dock_index
settings['%s-visible' % tid] = tool._visible
settings.update(self.leftDock.saveSettings())
settings.update(self.rightDock.saveSettings())
! return settings
def undock(self, event):
tool = event.tool
--- 119,143 ----
self.SetSize(self.instance.GetClientSize())
self.horizSplitter.SetSize(self.GetClientSize())
! def saveRuntimeSettings(self):
settings = {'docksplitter-topbottom':
self.horizSplitter.GetSashPosition()}
for tool in self.tools:
tid = tool.id
+ tool.dockpane.closing()
settings['%s-docked' % tid] = tool._docked
settings['%s-dock-location' % tid] = tool._dock_location
+ settings['%s-dock-location' % tid] = tool._dock_location
settings['%s-dock-index' % tid] = tool._dock_index
+ settings['%s-frame-x' % tid] = tool._frame_x
+ settings['%s-frame-y' % tid] = tool._frame_y
+ settings['%s-frame-width' % tid] = tool._frame_width
+ settings['%s-frame-height' % tid] = tool._frame_height
settings['%s-visible' % tid] = tool._visible
settings.update(self.leftDock.saveSettings())
settings.update(self.rightDock.saveSettings())
! return (self.runtime_section, settings)
def undock(self, event):
tool = event.tool
***************
*** 131,147 ****
dockpane = tool.dockpane
panel = dockpane.parent.remove(dockpane)
FloatingPane(instance, instance, tool)
dockpane.Destroy()
! instance.dispatchEvent('Show:Tool:%s' % id)
def dock(self, event):
tool = event.tool
if not tool._docked:
frame = tool.dockpane
if tool._dock_location == 'right':
dock = self.rightDock
else:
dock = self.leftDock
! dock.add(DockedPane(dock, instance, tool), tool._dock_index)
frame.Destroy()
! instance.dispatchEvent('Show:Tool:%s' % id)
--- 145,165 ----
dockpane = tool.dockpane
panel = dockpane.parent.remove(dockpane)
FloatingPane(instance, instance, tool)
+ tool._docked = 0
dockpane.Destroy()
! instance.dispatchEvent('Show:Tool:%s' % tool.id)
def dock(self, event):
tool = event.tool
if not tool._docked:
frame = tool.dockpane
+ frame.closing()
+ tool._docked = 1
if tool._dock_location == 'right':
dock = self.rightDock
else:
dock = self.leftDock
! dock.add(DockedPane(dock, self.instance, tool), tool._dock_index - .5)
frame.Destroy()
! self.instance.dispatchEvent('Show:Tool:%s' % tool.id)
! dock.refresh()
Index: gnue/designer/src/base/docks/FloatingPane.py
diff -c gnue/designer/src/base/docks/FloatingPane.py:1.4
gnue/designer/src/base/docks/FloatingPane.py:1.5
*** gnue/designer/src/base/docks/FloatingPane.py:1.4 Mon Jun 16 23:13:51 2003
--- gnue/designer/src/base/docks/FloatingPane.py Tue Jun 17 00:55:08 2003
***************
*** 56,63 ****
wxFrame.__init__(self, instance, -1, tool.title, style=style)
BasePane.__init__(self, parent, instance, tool)
- self.runtime_section = '%s-%s-frame' % (instance.properties.nickname,
tool.id)
-
if tool.uses_feedback_bar:
self.statusbar = self.CreateStatusBar()
--- 56,61 ----
***************
*** 78,95 ****
EVT_CLOSE(self, self.OnClose)
self.Refresh()
! 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)))
!
- RuntimeSettings.registerRuntimeSettingHandler(self.instance, self)
## instance.registerEventListeners(
## { 'Show:Tool:%s' % self.id : self.show,
--- 76,84 ----
EVT_CLOSE(self, self.OnClose)
self.Refresh()
! self.SetPosition((tool._frame_x, tool._frame_y))
! self.SetSize((tool._frame_width, tool._frame_height))
## instance.registerEventListeners(
## { 'Show:Tool:%s' % self.id : self.show,
***************
*** 119,121 ****
--- 108,113 ----
def __redock(self, event):
self.instance.dispatchEvent('Docker:Dock', tool=self.tool)
+ def closing(self):
+ self.tool._frame_x, self.tool._frame_y = self.GetPositionTuple()
+ self.tool._frame_width, self.tool._frame_height = self.GetSizeTuple()
Index: gnue/designer/src/base/docks/SplitDock.py
diff -c gnue/designer/src/base/docks/SplitDock.py:1.4
gnue/designer/src/base/docks/SplitDock.py:1.5
*** gnue/designer/src/base/docks/SplitDock.py:1.4 Mon Jun 16 23:13:51 2003
--- gnue/designer/src/base/docks/SplitDock.py Tue Jun 17 00:55:08 2003
***************
*** 53,59 ****
def refresh(self):
# Get the panels in the order the user wants
! self.panels.sort()
# Remove old sizers
while self.sizer.Remove(0):
--- 53,61 ----
def refresh(self):
# Get the panels in the order the user wants
! panels = self.panels[:]
! self.panels = []
! panels.sort()
# Remove old sizers
while self.sizer.Remove(0):
***************
*** 62,68 ****
#
# Now, reparent all the tools
index = 0
! for foo, panel in self.panels:
# Reparent...
panel.Reparent(self)
--- 64,70 ----
#
# Now, reparent all the tools
index = 0
! for foo, panel in panels:
# Reparent...
panel.Reparent(self)
***************
*** 71,78 ****
panel.SetSashVisible(wxSASH_TOP,1)
self.sizer.Add(panel, 1, wxEXPAND)
! panel._dock_index = "%s" % (index)
! panel._dock_location = self.name
index += 1
--- 73,81 ----
panel.SetSashVisible(wxSASH_TOP,1)
self.sizer.Add(panel, 1, wxEXPAND)
! panel.tool._dock_index = index
! self.panels.append((index, panel))
! panel.tool._dock_location = self.name
index += 1
***************
*** 84,90 ****
self.__initialize = 0
baseName = '%s-Sash-' % self.name
index = 0
! for foo, panel in self.panels:
panel.SetSize((10,
RuntimeSettings.getint(self.docker.runtime_section, baseName + str(index),
100)))
index += 1
--- 87,93 ----
self.__initialize = 0
baseName = '%s-Sash-' % self.name
index = 0
! for foo, panel in panels:
panel.SetSize((10,
RuntimeSettings.getint(self.docker.runtime_section, baseName + str(index),
100)))
index += 1
***************
*** 117,123 ****
self.panels.append((indx, panel))
# Save state information on the tool panel
! panel._dock_index = indx
#
--- 120,126 ----
self.panels.append((indx, panel))
# Save state information on the tool panel
! panel.tool._dock_index = indx
#
***************
*** 137,143 ****
# Remove a tool panel from our control
#
def remove(self, panel):
! self.panels.remove((panel._dock_index, panel))
self.refresh()
#
--- 140,146 ----
# Remove a tool panel from our control
#
def remove(self, panel):
! self.panels.remove((panel.tool._dock_index, panel))
self.refresh()
#
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/designer/src/base Instance.py ToolBase.py ...,
Jason Cater <=