commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/designer/src base/Instance.py base/MenuBar...


From: Jason Cater
Subject: gnue/designer/src base/Instance.py base/MenuBar...
Date: Fri, 23 May 2003 20:02:32 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    03/05/23 20:02:32

Modified files:
        designer/src/base: Instance.py MenuBar.py 
                           MultiObjectGridEditor.py PrimaryToolBar.py 
                           ToolBar.py ToolDock.py ToolFrame.py 
                           ToolPanel.py 
        designer/src/base/tools: DataSourceEditor.py EventEditor.py 
                                 PropertyEditor.py SchemaViewer.py 
                                 TreeView.py TriggerEditor.py 
        designer/src/forms: EventEditor.py PropertyEditor.py 
        designer/src/forms/LayoutEditor: LayoutEditor.py 
                                         LayoutEditorTools.py 
        designer/src/navigator: LayoutEditor.py 
        designer/src/reports: LayoutEditor.py 
        designer/src/reports/Standard: FilterSupport.py GroupEditor.py 
        designer/src/schema: LayoutEditor.py TableEditor.py 
        designer/src/schema/DiaEditor: VisualEditor.py 

Log message:
        * Added "Add Block" and "Add Page" to layout editor toolbar
        * Implemented a new docking system using splitters
        * Restructured naming conventions of the docking subsystem

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/Instance.py.diff?tr1=1.92&tr2=1.93&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/MenuBar.py.diff?tr1=1.42&tr2=1.43&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/MultiObjectGridEditor.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/PrimaryToolBar.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/ToolBar.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/ToolDock.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/ToolFrame.py.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/ToolPanel.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/tools/DataSourceEditor.py.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/tools/EventEditor.py.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/tools/PropertyEditor.py.diff?tr1=1.41&tr2=1.42&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/tools/SchemaViewer.py.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/tools/TreeView.py.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/tools/TriggerEditor.py.diff?tr1=1.32&tr2=1.33&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/EventEditor.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/PropertyEditor.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditor.py.diff?tr1=1.74&tr2=1.75&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/navigator/LayoutEditor.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/reports/LayoutEditor.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/reports/Standard/FilterSupport.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/reports/Standard/GroupEditor.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/LayoutEditor.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/TableEditor.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/DiaEditor/VisualEditor.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text

Patches:
Index: gnue/designer/src/base/Instance.py
diff -c gnue/designer/src/base/Instance.py:1.92 
gnue/designer/src/base/Instance.py:1.93
*** gnue/designer/src/base/Instance.py:1.92     Fri May 23 12:25:12 2003
--- gnue/designer/src/base/Instance.py  Fri May 23 20:02:31 2003
***************
*** 36,43 ****
  from gnue.common.utils.FileUtils import dyn_import
  from gnue.common.events import EventController, Event
  from gnue.designer.base.ToolFrame import ToolFrame
! from gnue.designer.base.ToolPanel import ToolPanel
! from gnue.designer.base.ToolDock import *
  from gnue.designer import VERSION, PACKAGE
  from gnue.designer.base.Debugger import DebugSession
  from gnue.designer.base import TemplateBase
--- 36,44 ----
  from gnue.common.utils.FileUtils import dyn_import
  from gnue.common.events import EventController, Event
  from gnue.designer.base.ToolFrame import ToolFrame
! from gnue.designer.base.ToolBase import ToolBase
! from gnue.designer.base.ToolDock import ToolDock
! from gnue.designer.base.ToolPanel import *
  from gnue.designer import VERSION, PACKAGE
  from gnue.designer.base.Debugger import DebugSession
  from gnue.designer.base import TemplateBase
***************
*** 223,319 ****
  
  
    def _initTools(self):
-     bl = 0
-     br = 0
-     tl = 0
-     tr = 0
  
!     cache = []
  
      for id, title, baseclass, hotkey in self._toolCache:
!       if not id: 
!         cache.append([None] * 5)
!         continue
!       pos = RuntimeSettings.get(self.runtime_section, 'Dock-%s' % id, 
baseclass.default_dock)
! 
!       tl += 1 and (pos == 'topleft')
!       tr += 1 and (pos == 'topright')
!       bl += 1 and (pos == 'bottomleft')
!       br += 1 and (pos == 'bottomright')
! 
!       cache.append( (id, title, baseclass, hotkey, pos) )
! 
!     panemap = {'topleft': None,
!                'topright': None,
!                'bottomleft': None,
!                'bottomright': None}
! 
!     # If something is on the left, and on the right,
!     # create a splitter dividing left and right
!     if (tl or bl) and (tr or br):
!       self.horizSplitter = wxSplitterWindow(self, -1, style=wxSP_3D)
!       rightWin = leftWin = self.horizSplitter
!     else:
!       self.horizSplitter = None
!       rightWin = leftWin = self
! 
! 
!     # Left need a splitter?
!     if bl and tl:
!       leftWin = self.leftSplitter = wxSplitterWindow(leftWin, -1, 
style=wxSP_3D)
!     else:
!       self.leftSplitter = None
! 
  
!     # Right need a splitter?
!     if br and tr:
!       rightWin = self.rightSplitter = wxSplitterWindow(rightWin, -1, 
style=wxSP_3D)
!     else:
!       self.rightSplitter = None
  
  
!     # Bottom left
!     if bl > 1:
!       panemap['bottomleft'] = MultiTooledPane(leftWin, self)
!     elif bl:
!       panemap['bottomleft'] = SingleTooledPane(leftWin, self)
! 
!     # Top left
!     if tl > 1:
!       panemap['topleft'] = MultiTooledPane(leftWin, self)
!     elif tl:
!       panemap['topleft'] = SingleTooledPane(leftWin, self)
! 
!     # Bottom right
!     if br > 1:
!       panemap['bottomright'] = MultiTooledPane(rightWin, self)
!     elif br:
!       panemap['bottomright'] = SingleTooledPane(rightWin, self)
! 
!     # Top right
!     if tr > 1:
!       panemap['topright'] = MultiTooledPane(rightWin, self)
!     elif tr:
!       panemap['topright'] = SingleTooledPane(rightWin, self)
  
  
!     # Add each tool
!     for id, title, baseclass, hotkey, pos in cache:
!       if id == None:
!         self._menubar.addToolSeparator()
!       else:
!         GDebug.printMesg(2,'Adding tool %s [%s]' % (title,id))
!         if pos == 'frame':
            # Frame type
            window = ToolFrame(self, title)
            control = baseclass(self, self.rootObject, window)
            window.control = control
            enableMenu = 1
          else:
            # Docked type
!           pane = panemap[pos]
            control = pane.AddTool(title, baseclass, self.rootObject, self)
!           window = pane.GetWindow()
            enableMenu = 0
  
          # Add ourselves to the Window menu
--- 224,271 ----
  
  
    def _initTools(self):
  
!     self.horizSplitter = wxSplitterWindow(self, -1, style=wxSP_3D)
!     leftWin = ToolDock(self.horizSplitter, self, 'left')
!     rightWin = ToolDock(self.horizSplitter, self,'right')
  
+     # Add each tool
      for id, title, baseclass, hotkey in self._toolCache:
!       if id == None:
!         self._menubar.addToolSeparator()
!       else:
!         GDebug.printMesg(2,'Adding tool %s [%s]' % (title,id))
  
!         pos = RuntimeSettings.get(self.runtime_section, 'Dock-%s' % id, 
baseclass.default_dock)
  
+         #### Historical stuff... remove before 1.0 ####
+         if pos in ('topleft','topright','bottomleft','bottomright'):
+           pos = baseclass.default_dock
+         ####
  
!         appd = (id, title, baseclass, hotkey, pos)
  
+         indx = '0'
+         if '-' in pos:
+           pos, indx = pos.split('-')
  
!         if pos not in ('left','right'):  # i.e., 'frame' or something old
            # Frame type
            window = ToolFrame(self, title)
            control = baseclass(self, self.rootObject, window)
            window.control = control
+           window.dock = 'frame'
            enableMenu = 1
          else:
            # Docked type
!           pane = SingleTooledPane(self.horizSplitter, self)
            control = pane.AddTool(title, baseclass, self.rootObject, self)
!           if pos == 'left':
!             window = leftWin
!           elif pos == 'right':
!             window = rightWin
! 
!           window.add(pane, indx)
            enableMenu = 0
  
          # Add ourselves to the Window menu
***************
*** 322,361 ****
          self.__dict__["%sWindow" % id] = window
          self.__dict__[id] = control
  
-     if self.leftSplitter:
-       self.leftSplitter.SplitHorizontally(panemap['topleft'].GetWindow(),
-                 panemap['bottomleft'].GetWindow(),
-                 RuntimeSettings.getint(self.runtime_section, 
'DockSplitter-Left',200))
-       leftWin = self.leftSplitter
-     else:
-       leftWin = panemap['bottomleft'] or panemap['topleft']
- 
-     if self.rightSplitter:
-       self.rightSplitter.SplitHorizontally(panemap['topright'].GetWindow(),
-                 panemap['bottomright'].GetWindow(),
-                 RuntimeSettings.getint(self.runtime_section, 
'DockSplitter-Right',300))
-       rightWin = self.rightSplitter
-     else:
-       rightWin = panemap['bottomright'] or panemap['topright']
- 
-     if self.horizSplitter:
-       #self.horizSplitter.SetSize(self.GetClientSize())
-       self.horizSplitter.SplitVertically(leftWin, rightWin,
-                 RuntimeSettings.getint(self.runtime_section, 
'DockSplitter-TopBottom',500))
- 
-       # TODO : SIGH
-       # Deal with what I think is wx 2.2.x brain death.  IF you try and set 
this
-       # in the SplitHorizontally() as above or by added the line below after 
the
-       # SplitHorizontally call it simply does not work.  You must call these
-       # after horizSplitter is split vertically
-       if self.leftSplitter:
-         self.leftSplitter.SetSashPosition(
-           RuntimeSettings.getint(self.runtime_section, 
'DockSplitter-Left',200),1)      
-       if self.rightSplitter:
-         self.rightSplitter.SetSashPosition(
-           RuntimeSettings.getint(self.runtime_section, 
'DockSplitter-Right',300),1)
  
! #    topPane.GetWindow().Fit()
  
  
    def addTool(self, id, title, baseclass, hotkey=None):
--- 274,284 ----
          self.__dict__["%sWindow" % id] = window
          self.__dict__[id] = control
  
  
!     leftWin.refresh()
!     rightWin.refresh()
!     self.horizSplitter.SplitVertically(leftWin, rightWin,
!               RuntimeSettings.getint(self.runtime_section, 
'DockSplitter-TopBottom',500))
  
  
    def addTool(self, id, title, baseclass, hotkey=None):
***************
*** 401,418 ****
                   'y': abs(y),
                   'height': height,
                   'width': width  }
-     
-     if self.rightSplitter:
-       settings['docksplitter-right'] = self.rightSplitter.GetSashPosition()
- 
-     if self.leftSplitter:
-       settings['docksplitter-left'] = self.leftSplitter.GetSashPosition()
  
      if self.horizSplitter:
        settings['docksplitter-topbottom'] = 
self.horizSplitter.GetSashPosition()
  
      return ( self.runtime_section, settings )
  
    # Do we need to be saved?
    def isDirty(self):
      return self._isdirty
--- 324,336 ----
                   'y': abs(y),
                   'height': height,
                   'width': width  }
  
      if self.horizSplitter:
        settings['docksplitter-topbottom'] = 
self.horizSplitter.GetSashPosition()
  
      return ( self.runtime_section, settings )
  
+ 
    # Do we need to be saved?
    def isDirty(self):
      return self._isdirty
***************
*** 427,432 ****
--- 345,351 ----
          self.SetTitle( TITLE + " - " + self._path + " *")
      self.dispatchEvent(Event('MakeDirty'))
  
+   # Mark our form as "clean" (no unsaved changes)
    def makeClean(self):
      self._isdirty = 0
      self._isnew = 0
Index: gnue/designer/src/base/MenuBar.py
diff -c gnue/designer/src/base/MenuBar.py:1.42 
gnue/designer/src/base/MenuBar.py:1.43
*** gnue/designer/src/base/MenuBar.py:1.42      Fri Apr  4 23:52:50 2003
--- gnue/designer/src/base/MenuBar.py   Fri May 23 20:02:31 2003
***************
*** 344,350 ****
      self.toolFrame.OnMenuSelected(event)
  
    def finalize(self):
!     self.toolFrame.finalize()
  
  #
  # fakeWxEvent
--- 344,351 ----
      self.toolFrame.OnMenuSelected(event)
  
    def finalize(self):
!     pass
! #    self.toolFrame.finalize()
  
  #
  # fakeWxEvent
Index: gnue/designer/src/base/MultiObjectGridEditor.py
diff -c gnue/designer/src/base/MultiObjectGridEditor.py:1.1 
gnue/designer/src/base/MultiObjectGridEditor.py:1.2
*** gnue/designer/src/base/MultiObjectGridEditor.py:1.1 Thu May 22 19:17:17 2003
--- gnue/designer/src/base/MultiObjectGridEditor.py     Fri May 23 20:02:31 2003
***************
*** 33,41 ****
  from gnue.common.apps import GDebug, GConfig, RuntimeSettings
  from gnue.common.datasources import GDataSource
  from gnue.common import events
! from gnue.designer.base.ToolPanel import ToolPanel
  
! class DataSourceEditor(ToolPanel):
  
    runtime_section = "DataSourceEditor"
  
--- 33,41 ----
  from gnue.common.apps import GDebug, GConfig, RuntimeSettings
  from gnue.common.datasources import GDataSource
  from gnue.common import events
! from gnue.designer.base.ToolBase import ToolBase
  
! class DataSourceEditor(ToolBase):
  
    runtime_section = "DataSourceEditor"
  
***************
*** 77,83 ****
      self.instance.rootObject.walk (self.inventoryObject)
      self.fillList()
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 77,83 ----
      self.instance.rootObject.walk (self.inventoryObject)
      self.fillList()
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
Index: gnue/designer/src/base/PrimaryToolBar.py
diff -c gnue/designer/src/base/PrimaryToolBar.py:1.1 
gnue/designer/src/base/PrimaryToolBar.py:1.2
*** gnue/designer/src/base/PrimaryToolBar.py:1.1        Fri May 23 12:25:12 2003
--- gnue/designer/src/base/PrimaryToolBar.py    Fri May 23 20:02:31 2003
***************
*** 29,36 ****
  from gnue.designer.base.ToolBar import BaseToolBar
  
  ToolbarMapping = 'File|New|Form,tb_new.png;'   \
                 + 'File|Save,tb_save.png;' \
!                + 'File|Open,tb_open.png;'
  
  
  class PrimaryToolBar(BaseToolBar):
--- 29,37 ----
  from gnue.designer.base.ToolBar import BaseToolBar
  
  ToolbarMapping = 'File|New|Form,tb_new.png;'   \
+                + 'File|Open,tb_open.png;' \
                 + 'File|Save,tb_save.png;' \
!                + 'File|Save As,tb_save_as.png;'
  
  
  class PrimaryToolBar(BaseToolBar):
Index: gnue/designer/src/base/ToolBar.py
diff -c gnue/designer/src/base/ToolBar.py:1.1 
gnue/designer/src/base/ToolBar.py:1.2
*** gnue/designer/src/base/ToolBar.py:1.1       Fri May 23 12:25:12 2003
--- gnue/designer/src/base/ToolBar.py   Fri May 23 20:02:31 2003
***************
*** 58,64 ****
  
    def __init__(self, parent, instance):
      self.instance = instance
!     wxToolBar.__init__(self, parent, -1)#, style=wxTB_DOCKABLE)
      EventAware.__init__(self, instance)
      self.mapping = {}
      self.SetToolBitmapSize(wxSize(*self.ICON_SIZE))
--- 58,64 ----
  
    def __init__(self, parent, instance):
      self.instance = instance
!     wxToolBar.__init__(self, parent, -1)
      EventAware.__init__(self, instance)
      self.mapping = {}
      self.SetToolBitmapSize(wxSize(*self.ICON_SIZE))
Index: gnue/designer/src/base/ToolDock.py
diff -c gnue/designer/src/base/ToolDock.py:1.5 
gnue/designer/src/base/ToolDock.py:1.6
*** gnue/designer/src/base/ToolDock.py:1.5      Thu May 22 19:17:17 2003
--- gnue/designer/src/base/ToolDock.py  Fri May 23 20:02:31 2003
***************
*** 22,159 ****
  # ToolDock.py
  #
  # DESCRIPTION:
  #
  # NOTES:
  #
  
  from wxPython.wx import *
  
! TITLEBAR_ACTIVE = wxSystemSettings_GetSystemColour(wxSYS_COLOUR_HIGHLIGHT)
! TITLETEXT_ACTIVE = 
wxSystemSettings_GetSystemColour(wxSYS_COLOUR_HIGHLIGHTTEXT)
! #TITLEBAR_INACTIVE = wxSystemSettings_GetSystemColour(wxSYS_COLOUR_BTNFACE)
! #TITLETEXT_INACTIVE = wxSystemSettings_GetSystemColour(wxSYS_COLOUR_BTNFACE)
  
! 
! class ToolDock:
!   def __init__(self, parent, instance):
      self.parent = parent
      self.instance = instance
  
!   def GetWindow(self):
!     return self
! 
!   ######
!   def OnMenuSelected(self, event):
!     if self.menutool.menu.IsChecked():
!       self.show()
      else:
!       self.hide()
! 
!   def show(self):
!     self.menutool.menu.SetHelp(_("Hide the %s window")  % self.title)
!     self.menutool.menu.Check(1)
!     self.Show(1)
! 
!   def hide(self):
!     self.menutool.menu.SetHelp(_("Show the %s window") % self.title)
!     self.menutool.menu.Check(0)
!     self.Show(0)
! 
!   def setHeaderText(self, text):
!     print "WARNING: ToolDock.setHeaderText called directly"
      pass
  
!   def finalize(self): 
      pass
  
! class MultiTooledPane(wxNotebook, ToolDock):
!   def __init__(self, parent, instance):
!     wxNotebook.__init__(self, parent, -1, style=wxCLIP_CHILDREN)
!     self.SetPadding(wxSize(4,4))
!     ToolDock.__init__(self, parent, instance)
!     font = self.GetFont()
!     font.SetWeight(wxBOLD)
! ##    font.SetPointSize(font.GetPointSize()-2)
!     self.SetFont(font)
! 
!   def AddTool(self, title, baseclass, rootObject, instance):
!     if baseclass.uses_feedback_header:
!       page = _MultiFeedBackHandler(self)
!       control = baseclass(instance, rootObject, page)
!       page.setControl(control)
!     else:
!       page = control = baseclass(instance, rootObject, self)
! 
! 
!     self.AddPage(page, title)
!     return control
! 
! class _MultiFeedBackHandler(wxPanel):
!   def __init__(self, parent):
!     wxPanel.__init__(self, parent, -1)
!     self.statusText = wxStaticText(self,-1, "Feedback", wxPoint(6,3))
!     font = self.statusText.GetFont()
!     font.SetWeight(wxBOLD)
!     self.statusText.SetFont(font)
!     w,h = self.statusText.GetSizeTuple()
!     self.y = h + 3
! 
!   def setControl(self, control):
!     self.control = control
!     control.setHeaderText = self.setHeaderText
!     control.Move((0,self.y))
!     EVT_SIZE(self, self.OnSize)
! 
!   def setHeaderText(self, text):
!     self.statusText.SetLabel(text)
! 
!   def OnSize(self, event):
!     w,h = self.GetClientSizeTuple()
!     self.control.SetSize((w, h - self.y - 4))
! 
! 
! class SingleTooledPane(wxPanel, ToolDock):
!   def __init__(self, parent, menutool):
!     wxPanel.__init__(self, parent, -1)
!     ToolDock.__init__(self, parent, menutool)
! ##    EVT_SIZE(self, self.OnSize)
! 
!   def AddTool(self, title, baseclass, rootObject, instance):
!     self.control = control = baseclass(instance, rootObject, self)
! 
!     sizer = wxBoxSizer(wxVERTICAL)
! 
!     tp = self.__titlePanel = wxPanel(self,-1, wxPoint(2,2))#, 
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)
!     tt.SetFont(font)
!     x, y = tt.GetSizeTuple()
! 
!     if control.uses_toolbar:
!       sizer.Add(control.createToolbar(self), 0, wxEXPAND)
! 
!     if control.uses_feedback_header:
!       self.statusText = wxStaticText(tp,-1, "", 
wxPoint(x+tt.GetSizeTuple()[1] + 12,1))
!       self.control.setHeaderText = self.setHeaderText
! 
!     sizer.Add(control, 1, wxEXPAND)
!     self.SetAutoLayout(true)
!     self.SetSizer(sizer)
!     self.Layout()
! 
!     return control
! 
  
-   def setHeaderText(self, text):
-     self.statusText.SetLabel(text)
  
    def OnSize(self, event):
!     x,y = self.GetClientSizeTuple()
!     self.control.SetSize(wxSize(x,y-self.y))
!     self.__titlePanel.SetSize(wxSize(x-4,self.y-3))
! 
--- 22,180 ----
  # ToolDock.py
  #
  # DESCRIPTION:
+ # Provides "docks" for the main application window
+ # Handles resizing, etc.
  #
  # NOTES:
  #
  
  from wxPython.wx import *
  
! SPLITTER_STYLE = wxSP_LIVE_UPDATE | wxSP_NOBORDER | wxSP_3DSASH
  
! class ToolDock(wxPanel):
!   def __init__(self, parent, instance, name):
!     wxPanel.__init__(self, parent, -1)
      self.parent = parent
+     self.name = name
      self.instance = instance
+     self.panels = []
+     self.splitters = []
+     self.child = None
+     EVT_SIZE(self, self.OnSize)
  
!   #
!   # Rebuild our dock
!   #
!   def refresh(self):
!     # Very crude... destroys itself, then recreates all panes
! 
!     # We create (# tools - 1) splitter panels.
!     #
!     #  Splitter 1
!     #    - Tool 1
!     #    - Splitter 2
!     #       - Tool 2
!     #       - Splitter 3
!     #          - Tool 3
!     #          - Tool 4
!     #
! 
!     # Number of splitter panes we need
!     neededSplitters = len(self.panels) - 1
! 
!     # Handle the special case of a single tool:
!     if neededSplitters == 0:
!       panel = self.child = self.panels[0][-1]
!       panel.Reparent(self)
! 
!     # No splitters needed? Then destroy any
!     # existing ones and go home.
!     if neededSplitters < 1:
!       for splitter in self.splitters:
!         splitter.Destroy()
!       self.splitters = []
!       return
! 
!     # Get the panels in the order the user wants
!     self.panels.sort()
! 
!     #
!     # If we don't have enough splitter panes, create more...
!     if self.splitters:
!       # If we have existing splitters, then the next splitter
!       # will be a child of the last recorded splitter.
!       parent = self.splitters[-1]
      else:
!       # If we have no existing splitters, then the next splitter
!       # will be a child of this panel.
!       parent = self
!     # Create new splitters
!     for i in range(neededSplitters - len(self.splitters)):
!       parent = wxSplitterWindow(parent, -1, style=SPLITTER_STYLE)
!       self.splitters.append(parent)
! 
!     #
!     # Now, reparent all the tools
!     index = 0
!     for nothing, panel in self.panels:
!       # Reparent...
!       print index, neededSplitters
!       if index >= neededSplitters:
!         # The last two tools share the same splitter as parents
!         panel.Reparent(self.splitters[-1])
!       else:
!         # But all others share a splitter with another splitter
!         panel.Reparent(self.splitters[index])
!       # Make a note of the tool's dock position
!       panel.dock = "%s-%s" % (self.name, index)
!       index += 1
! 
! 
!     # Now that all panels are reparented,
!     # destroy the unneeded splitters
!     while len(self.splitters) > neededSplitters:
!       splitter = self.splitters.pop()
!       splitter.Destroy()
! 
!     # ... and split the needed splitters
!     for index in range(neededSplitters-1):
!       self.splitters[index].SplitHorizontally(self.panels[index][1], 
self.splitters[index+1], 200)
! 
!     # The last two are a special case...
!     self.splitters[-1].SplitHorizontally(self.panels[-2][1], 
self.panels[-1][1], 100)
! 
!     # We will need to resize the top-most splitter
!     # manually, so make a note of it:
!     self.child = self.splitters[0]
! 
!     # Redraw screen
!     self.Refresh()
! 
! 
!   #
!   # Add a tool panel to our control
!   #
!   def add(self, panel, indx = '0'):
! 
!     # We do it as (index, panel) so we can
!     # later do a self.panels.sort().
! 
!     # the sort() routine will sort by
!     # the first list element.
!     self.panels.append((indx, panel))
! 
!     # Save state information on the tool panel
!     panel._dock_ = self
!     panel._dock_index = indx
! 
! 
!   #
!   # Remove a tool panel from our control
!   #
!   def remove(self, panel):
!     self.panels.remove((panel._dock_index, panel))
! 
! 
!   #
!   # Redock a tool panel
!   #
!   def redock(self, panel, relation):
      pass
  
!   #
!   # Minimize a tool, so only title bar is showing
!   #
!   def minimize(self, panel):
      pass
  
!   #
!   # Restore a minimized tool
!   #
!   def restore(self, panel):
!     pass
  
  
    def OnSize(self, event):
!     print "Setting size"
!     self.child.SetSize(self.GetClientSize())
\ No newline at end of file
Index: gnue/designer/src/base/ToolFrame.py
diff -c gnue/designer/src/base/ToolFrame.py:1.17 
gnue/designer/src/base/ToolFrame.py:1.18
*** gnue/designer/src/base/ToolFrame.py:1.17    Mon Feb 17 02:32:51 2003
--- gnue/designer/src/base/ToolFrame.py Fri May 23 20:02:31 2003
***************
*** 30,43 ****
  from gnue.common.apps import RuntimeSettings
  from wxPython.wx import *
  from gnue.common.apps import GDebug
! from ToolDock import ToolDock
  
  #
  # Any tool frames inherit from this
  # It handles the Window menu and
  # saving size/position/display settings
  #
! class ToolFrame (wxFrame, ToolDock):
  
    default_width = 200
    default_height = 150
--- 30,43 ----
  from gnue.common.apps import RuntimeSettings
  from wxPython.wx import *
  from gnue.common.apps import GDebug
! from ToolPanel import ToolPanel
  
  #
  # Any tool frames inherit from this
  # It handles the Window menu and
  # saving size/position/display settings
  #
! class ToolFrame (wxFrame, ToolPanel):
  
    default_width = 200
    default_height = 150
Index: gnue/designer/src/base/ToolPanel.py
diff -c gnue/designer/src/base/ToolPanel.py:1.8 
gnue/designer/src/base/ToolPanel.py:1.9
*** gnue/designer/src/base/ToolPanel.py:1.8     Thu May 22 19:17:17 2003
--- gnue/designer/src/base/ToolPanel.py Fri May 23 20:02:31 2003
***************
*** 19,69 ****
  # Copyright 2001-2003 Free Software Foundation
  #
  # FILE:
! # Tools.py
  #
  # DESCRIPTION:
- # Base class for all Tool panels
  #
  # NOTES:
  #
  
  from wxPython.wx import *
- from gnue.common.apps import RuntimeSettings
- from gnue.common import events
  
! DOCK_FRAME = 'frame'      # The tool has its own frame
! DOCK_TOPLEFT = 'topleft'    # The tool is in the left split of the main window
! DOCK_TOPRIGHT = 'topright'    # The tool is in the top split of the main 
window
! DOCK_BOTTOMLEFT = 'bottomleft'  # The tool is in the bottom split of the main 
window
! DOCK_BOTTOMRIGHT = 'bottomright'  # The tool is in the bottom split of the 
main window
! 
! class ToolPanel (wxPanel, events.EventAware):
! 
!   default_visible = 0
!   default_dock = DOCK_FRAME
!   runtime_section = ""
!   uses_feedback_header = 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)
  
-   def saveRuntimeSettings(self):
-     return (self.runtime_section, {})
  
!   def setHeaderText(self, text):
!     self.frame.setFeedbackText(text)
  
-   # Over-written by the parent docks
-   def setHeaderText(self, text):
-     return
--- 19,155 ----
  # Copyright 2001-2003 Free Software Foundation
  #
  # FILE:
! # ToolPanel.py
  #
  # DESCRIPTION:
  #
  # NOTES:
  #
  
  from wxPython.wx import *
  
! TITLEBAR_ACTIVE = wxSystemSettings_GetSystemColour(wxSYS_COLOUR_HIGHLIGHT)
! TITLETEXT_ACTIVE = 
wxSystemSettings_GetSystemColour(wxSYS_COLOUR_HIGHLIGHTTEXT)
! #TITLEBAR_INACTIVE = wxSystemSettings_GetSystemColour(wxSYS_COLOUR_BTNFACE)
! #TITLETEXT_INACTIVE = wxSystemSettings_GetSystemColour(wxSYS_COLOUR_BTNFACE)
  
! 
! class ToolPanel:
!   def __init__(self, parent, instance):
!     self.parent = parent
      self.instance = instance
  
!   def GetWindow(self):
!     return self
! 
!   ######
!   def OnMenuSelected(self, event):
!     if self.menutool.menu.IsChecked():
!       self.show()
!     else:
!       self.hide()
! 
!   def show(self):
!     self.menutool.menu.SetHelp(_("Hide the %s window")  % self.title)
!     self.menutool.menu.Check(1)
!     self.Show(1)
! 
!   def hide(self):
!     self.menutool.menu.SetHelp(_("Show the %s window") % self.title)
!     self.menutool.menu.Check(0)
!     self.Show(0)
! 
!   def setFeedback(self, text):
!     print "WARNING: ToolPanel.setFeedback called directly"
!     pass
! 
!   def finalize(self): 
!     pass
! 
! class MultiTooledPane(wxNotebook, ToolPanel):
!   def __init__(self, parent, instance):
!     wxNotebook.__init__(self, parent, -1, style=wxCLIP_CHILDREN)
!     self.SetPadding(wxSize(4,4))
!     ToolPanel.__init__(self, parent, instance)
!     font = self.GetFont()
!     font.SetWeight(wxBOLD)
! ##    font.SetPointSize(font.GetPointSize()-2)
!     self.SetFont(font)
! 
!   def AddTool(self, title, baseclass, rootObject, instance):
!     if baseclass.uses_feedback_bar:
!       page = _MultiFeedBackHandler(self)
!       control = baseclass(instance, rootObject, page)
!       page.setControl(control)
!     else:
!       page = control = baseclass(instance, rootObject, self)
! 
! 
!     self.AddPage(page, title)
!     return control
! 
! class _MultiFeedBackHandler(wxPanel):
!   def __init__(self, parent):
!     wxPanel.__init__(self, parent, -1)
!     self.statusText = wxStaticText(self,-1, "Feedback", wxPoint(6,3))
!     font = self.statusText.GetFont()
!     font.SetWeight(wxBOLD)
!     self.statusText.SetFont(font)
!     w,h = self.statusText.GetSizeTuple()
!     self.y = h + 3
! 
!   def setControl(self, control):
!     self.control = control
!     control.setFeedback = self.setFeedback
!     control.Move((0,self.y))
!     EVT_SIZE(self, self.OnSize)
! 
!   def setFeedback(self, text):
!     self.statusText.SetLabel(text)
! 
!   def OnSize(self, event):
!     w,h = self.GetClientSizeTuple()
!     self.control.SetSize((w, h - self.y - 4))
! 
! #
! #
! #
! class SingleTooledPane(wxPanel, ToolPanel):
!   def __init__(self, parent, menutool):
!     wxPanel.__init__(self, parent, -1)
!     ToolPanel.__init__(self, parent, menutool)
! 
!   def AddTool(self, title, baseclass, rootObject, instance):
!     self.control = control = baseclass(instance, rootObject, self)
! 
!     sizer = wxBoxSizer(wxVERTICAL)
! 
!     tp = self.__titlePanel = wxPanel(self,-1, wxPoint(2,2))#, 
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)
!     tt.SetFont(font)
!     x, y = tt.GetSizeTuple()
! 
!     if control.uses_toolbar:
!       sizer.Add(control.createToolbar(self), 0, wxEXPAND)
! 
!     if control.uses_feedback_bar:
!       self.statusText = wxStaticText(tp,-1, "", 
wxPoint(x+tt.GetSizeTuple()[1] + 12,1))
!       self.control.setFeedback = self.setFeedback
! 
!     sizer.Add(control, 1, wxEXPAND)
!     self.SetAutoLayout(true)
!     self.SetSizer(sizer)
!     self.Layout()
  
!     return control
  
  
!   def setFeedback(self, text):
!     self.statusText.SetLabel(text)
  
Index: gnue/designer/src/base/tools/DataSourceEditor.py
diff -c gnue/designer/src/base/tools/DataSourceEditor.py:1.35 
gnue/designer/src/base/tools/DataSourceEditor.py:1.36
*** gnue/designer/src/base/tools/DataSourceEditor.py:1.35       Wed Mar  5 
21:01:14 2003
--- gnue/designer/src/base/tools/DataSourceEditor.py    Fri May 23 20:02:31 2003
***************
*** 32,40 ****
  from gnue.common.apps import GDebug, GConfig, RuntimeSettings
  from gnue.common.datasources import GDataSource
  from gnue.common import events
! from gnue.designer.base.ToolPanel import ToolPanel
  
! class DataSourceEditor(ToolPanel):
  
    runtime_section = "DataSourceEditor"
  
--- 32,40 ----
  from gnue.common.apps import GDebug, GConfig, RuntimeSettings
  from gnue.common.datasources import GDataSource
  from gnue.common import events
! from gnue.designer.base.ToolBase import ToolBase
  
! class DataSourceEditor(ToolBase):
  
    runtime_section = "DataSourceEditor"
  
***************
*** 76,82 ****
      self.instance.rootObject.walk (self.inventoryObject)
      self.fillList()
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 76,82 ----
      self.instance.rootObject.walk (self.inventoryObject)
      self.fillList()
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
Index: gnue/designer/src/base/tools/EventEditor.py
diff -c gnue/designer/src/base/tools/EventEditor.py:1.15 
gnue/designer/src/base/tools/EventEditor.py:1.16
*** gnue/designer/src/base/tools/EventEditor.py:1.15    Sat Apr  5 17:09:18 2003
--- gnue/designer/src/base/tools/EventEditor.py Fri May 23 20:02:31 2003
***************
*** 34,47 ****
  from gnue.common.formatting import GTypecast
  from gnue.common.logic.GTrigger import GTrigger
  from gnue.common.definitions.GParserHelpers import GContent
! from gnue.designer.base.ToolPanel import *
  from gnue.designer.base.uihelpers.GridCellEditors import CharCellEditor
  
! class EventEditor (ToolPanel):
  
    runtime_section = 'EventEditor'
!   uses_feedback_header = 1
!   default_dock = DOCK_BOTTOMLEFT
  
    def init(self):
      self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
--- 34,47 ----
  from gnue.common.formatting import GTypecast
  from gnue.common.logic.GTrigger import GTrigger
  from gnue.common.definitions.GParserHelpers import GContent
! from gnue.designer.base.ToolBase import *
  from gnue.designer.base.uihelpers.GridCellEditors import CharCellEditor
  
! class EventEditor (ToolBase):
  
    runtime_section = 'EventEditor'
!   uses_feedback_bar = 1
!   default_dock = 'left-2'
  
    def init(self):
      self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
***************
*** 50,56 ****
  
      self.object = None
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 50,56 ----
  
      self.object = None
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
***************
*** 158,164 ****
  
      self.editor.rootObject.walk(self.inventoryObject)
  
!     # EventAware provided by ToolPanel
      self.editor.registerEventListeners({
                         'ObjectCreated'       : self.onCreateObject,
                         'ObjectModified'      : self.onModifyObject,
--- 158,164 ----
  
      self.editor.rootObject.walk(self.inventoryObject)
  
!     # EventAware provided by ToolBase
      self.editor.registerEventListeners({
                         'ObjectCreated'       : self.onCreateObject,
                         'ObjectModified'      : self.onModifyObject,
Index: gnue/designer/src/base/tools/PropertyEditor.py
diff -c gnue/designer/src/base/tools/PropertyEditor.py:1.41 
gnue/designer/src/base/tools/PropertyEditor.py:1.42
*** gnue/designer/src/base/tools/PropertyEditor.py:1.41 Sat Apr  5 17:10:28 2003
--- gnue/designer/src/base/tools/PropertyEditor.py      Fri May 23 20:02:31 2003
***************
*** 32,44 ****
  from wxPython.grid import *
  from gnue.common.apps import GDebug
  from gnue.common.formatting import GTypecast
! from gnue.designer.base.ToolPanel import *
  from gnue.designer.base.uihelpers.GridCellEditors import *
  
! class PropertyEditor (ToolPanel):
  
    runtime_section = 'PropertyEditor'
!   default_dock = DOCK_TOPLEFT
  
    def init(self):
      self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
--- 32,44 ----
  from wxPython.grid import *
  from gnue.common.apps import GDebug
  from gnue.common.formatting import GTypecast
! from gnue.designer.base.ToolBase import *
  from gnue.designer.base.uihelpers.GridCellEditors import *
  
! class PropertyEditor (ToolBase):
  
    runtime_section = 'PropertyEditor'
!   default_dock = 'left-1'
  
    def init(self):
      self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
***************
*** 47,53 ****
  
      self.object = None
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 47,53 ----
  
      self.object = None
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
Index: gnue/designer/src/base/tools/SchemaViewer.py
diff -c gnue/designer/src/base/tools/SchemaViewer.py:1.13 
gnue/designer/src/base/tools/SchemaViewer.py:1.14
*** gnue/designer/src/base/tools/SchemaViewer.py:1.13   Mon Feb 17 02:32:51 2003
--- gnue/designer/src/base/tools/SchemaViewer.py        Fri May 23 20:02:31 2003
***************
*** 33,41 ****
  from gnue.common.datasources import GDataSource
  from gnue.common.apps import RuntimeSettings
  from gnue.common import events
! from gnue.designer.base.ToolPanel import *
  
! class SchemaViewer(ToolPanel):
  
    runtime_section = "SchemaViewer"
  
--- 33,41 ----
  from gnue.common.datasources import GDataSource
  from gnue.common.apps import RuntimeSettings
  from gnue.common import events
! from gnue.designer.base.ToolBase import *
  
! class SchemaViewer(ToolBase):
  
    runtime_section = "SchemaViewer"
  
***************
*** 66,72 ****
  
      self.current = None
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 66,72 ----
  
      self.current = None
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
Index: gnue/designer/src/base/tools/TreeView.py
diff -c gnue/designer/src/base/tools/TreeView.py:1.35 
gnue/designer/src/base/tools/TreeView.py:1.36
*** gnue/designer/src/base/tools/TreeView.py:1.35       Mon Feb 17 02:32:51 2003
--- gnue/designer/src/base/tools/TreeView.py    Fri May 23 20:02:31 2003
***************
*** 39,53 ****
  from gnue.forms import GFForm, GFObjects, GFLibrary
  from gnue.designer.base.PopupMenu import ObjectMenu
  from gnue.designer.base.Icons import treeIconMap, treeIconList
! from gnue.designer.base.ToolPanel import *
  
! class TreeView (ToolPanel):
  
!   default_dock = DOCK_TOPLEFT
  
    def init(self):
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 39,53 ----
  from gnue.forms import GFForm, GFObjects, GFLibrary
  from gnue.designer.base.PopupMenu import ObjectMenu
  from gnue.designer.base.Icons import treeIconMap, treeIconList
! from gnue.designer.base.ToolBase import *
  
! class TreeView (ToolBase):
  
!   default_dock = 'left-0'
  
    def init(self):
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
Index: gnue/designer/src/base/tools/TriggerEditor.py
diff -c gnue/designer/src/base/tools/TriggerEditor.py:1.32 
gnue/designer/src/base/tools/TriggerEditor.py:1.33
*** gnue/designer/src/base/tools/TriggerEditor.py:1.32  Mon Feb 17 02:32:51 2003
--- gnue/designer/src/base/tools/TriggerEditor.py       Fri May 23 20:02:31 2003
***************
*** 31,37 ****
  from gnue.common.apps import GDebug
  from gnue.common.definitions import GParserHelpers
  from gnue.common.logic import GTrigger
! from gnue.designer.base.ToolPanel import *
  import keyword, string
  
  
--- 31,37 ----
  from gnue.common.apps import GDebug
  from gnue.common.definitions import GParserHelpers
  from gnue.common.logic import GTrigger
! from gnue.designer.base.ToolBase import *
  import keyword, string
  
  
***************
*** 41,52 ****
  EVENT_TRIGGER = 0
  
  
! class TriggerEditor (ToolPanel):
  
    runtime_section = "TriggerEditor"
    default_width  = int(wxSystemSettings_GetSystemMetric( wxSYS_SCREEN_X )/3)
    default_height = int(wxSystemSettings_GetSystemMetric( wxSYS_SCREEN_Y )/3)
!   default_dock = DOCK_BOTTOMRIGHT
  
    def init(self):
  
--- 41,52 ----
  EVENT_TRIGGER = 0
  
  
! class TriggerEditor (ToolBase):
  
    runtime_section = "TriggerEditor"
    default_width  = int(wxSystemSettings_GetSystemMetric( wxSYS_SCREEN_X )/3)
    default_height = int(wxSystemSettings_GetSystemMetric( wxSYS_SCREEN_Y )/3)
!   default_dock = 'right-2'
  
    def init(self):
  
***************
*** 67,73 ****
      self.triggerMap = {}
  
  
!     # TODO: Historical stuff (pre-ToolPanel)
      self.parent = self.frame
      self.form = self.rootObject
  
--- 67,73 ----
      self.triggerMap = {}
  
  
!     # TODO: Historical stuff (pre-ToolBase)
      self.parent = self.frame
      self.form = self.rootObject
  
***************
*** 91,97 ****
      EVT_COMBOBOX(self, self.triggerCombo.GetId(), self.OnTriggerSelected)
  
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'TriggerSelected'     : self.onSetCurrentObject,
--- 91,97 ----
      EVT_COMBOBOX(self, self.triggerCombo.GetId(), self.OnTriggerSelected)
  
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'TriggerSelected'     : self.onSetCurrentObject,
Index: gnue/designer/src/forms/EventEditor.py
diff -c gnue/designer/src/forms/EventEditor.py:1.3 
gnue/designer/src/forms/EventEditor.py:1.4
*** gnue/designer/src/forms/EventEditor.py:1.3  Mon Feb 17 02:32:51 2003
--- gnue/designer/src/forms/EventEditor.py      Fri May 23 20:02:31 2003
***************
*** 34,40 ****
  from gnue.common.formatting import GTypecast
  from gnue.designer.base.tools.EventEditor import EventEditor as 
BaseEventEditor
  from gnue.designer.base.tools.EventEditor import InspectorPanel as 
BaseInspectorPanel
! from gnue.designer.base.ToolPanel import *
  
  class EventEditor (BaseEventEditor):
    def reset(self):
--- 34,40 ----
  from gnue.common.formatting import GTypecast
  from gnue.designer.base.tools.EventEditor import EventEditor as 
BaseEventEditor
  from gnue.designer.base.tools.EventEditor import InspectorPanel as 
BaseInspectorPanel
! from gnue.designer.base.ToolBase import *
  
  class EventEditor (BaseEventEditor):
    def reset(self):
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditor.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.74 
gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.75
*** gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.74   Fri May 23 
12:25:12 2003
--- gnue/designer/src/forms/LayoutEditor/LayoutEditor.py        Fri May 23 
20:02:31 2003
***************
*** 33,39 ****
  from gnue.forms.uidrivers.wx import UIdriver as UIwxpython
  from gnue.designer.base.PopupMenu import PageMenu
  from gnue.designer.base.TemplateParser import TemplateParser
! from gnue.designer.base.ToolPanel import *
  from gnue.common.events import Event
  
  # My support files
--- 33,39 ----
  from gnue.forms.uidrivers.wx import UIdriver as UIwxpython
  from gnue.designer.base.PopupMenu import PageMenu
  from gnue.designer.base.TemplateParser import TemplateParser
! from gnue.designer.base.ToolBase import *
  from gnue.common.events import Event
  
  # My support files
***************
*** 45,55 ****
  from DisplayDropTarget import DisplayDropTarget
  
  
! class LayoutEditor (ToolPanel):
  
    runtime_section = "FormsLayoutEditor"
!   default_dock = DOCK_TOPRIGHT
!   uses_feedback_header = 1
    uses_toolbar = 1
  
  
--- 45,55 ----
  from DisplayDropTarget import DisplayDropTarget
  
  
! class LayoutEditor (ToolBase):
  
    runtime_section = "FormsLayoutEditor"
!   default_dock = 'right-0'
!   uses_feedback_bar = 1
    uses_toolbar = 1
  
  
***************
*** 102,108 ****
      self.__ox = 0
      self.__oy = 0
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 102,108 ----
      self.__ox = 0
      self.__oy = 0
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
***************
*** 232,238 ****
        except:
          pass
  
!     self.setHeaderText(ft)
  
  
    def _setCurrentPage(self, object):
--- 232,238 ----
        except:
          pass
  
!     self.setFeedback(ft)
  
  
    def _setCurrentPage(self, object):
***************
*** 493,499 ****
      self.__cx = cx = int(x / self.gridWidth) + 1
      self.__cy = cy = int(y / self.gridHeight) + 1
  
!     self.setHeaderText ('x: %s; y: %s' % (cx, cy))
  
      self.__brush = wxBrush(wxWHITE, style=wxTRANSPARENT)
  
--- 493,499 ----
      self.__cx = cx = int(x / self.gridWidth) + 1
      self.__cy = cy = int(y / self.gridHeight) + 1
  
!     self.setFeedback ('x: %s; y: %s' % (cx, cy))
  
      self.__brush = wxBrush(wxWHITE, style=wxTRANSPARENT)
  
***************
*** 532,538 ****
        cx1, cx2 = order(self.__cx, cx)
        cy1, cy2 = order(self.__cy, cy)
  
!       self.setHeaderText('x: %s; y: %s, w=%s, h=%s'% (cx1, cy1, cx2 - cx1 + 
1, cy2 - cy1 + 1))
  
  
  
--- 532,538 ----
        cx1, cx2 = order(self.__cx, cx)
        cy1, cy2 = order(self.__cy, cy)
  
!       self.setFeedback('x: %s; y: %s, w=%s, h=%s'% (cx1, cy1, cx2 - cx1 + 1, 
cy2 - cy1 + 1))
  
  
  
***************
*** 548,554 ****
  
      selection = []
  
!     self.setHeaderText('')
  
      if self.__drawing and self.__ox is not None:
  
--- 548,554 ----
  
      selection = []
  
!     self.setFeedback('')
  
      if self.__drawing and self.__ox is not None:
  
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py:1.21 
gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py:1.22
*** gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py:1.21      Fri May 
23 12:25:12 2003
--- gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py   Fri May 23 
20:02:31 2003
***************
*** 29,35 ****
  from gnue.designer.base.ToolBar import BaseToolBar
  
  
! ToolbarMapping = 'Edit|Insert|Label,deslay_label.png;' \
                 + 'Edit|Insert|Unbound Entry,deslay_entrytext.png;'   \
                 + 'Edit|Insert|Drop Down Entry,deslay_entrydrop.png;' \
                 + 'Edit|Insert|Button,deslay_button.png;' \
--- 29,38 ----
  from gnue.designer.base.ToolBar import BaseToolBar
  
  
! ToolbarMapping = 'Edit|Insert|Block,deslay_block.png;' \
!                + 'Edit|Insert|Blank Page,deslay_page.png;' \
!                + ';' \
!                + 'Edit|Insert|Label,deslay_label.png;' \
                 + 'Edit|Insert|Unbound Entry,deslay_entrytext.png;'   \
                 + 'Edit|Insert|Drop Down Entry,deslay_entrydrop.png;' \
                 + 'Edit|Insert|Button,deslay_button.png;' \
***************
*** 37,44 ****
  
  
  class LayoutEditorTools(BaseToolBar):
- 
-   ICON_SIZE = (32,32)
  
    def init(self):
      self.registerEventListeners( {'BeginWizard' : self.onBeginWizard,
--- 40,45 ----
Index: gnue/designer/src/forms/PropertyEditor.py
diff -c gnue/designer/src/forms/PropertyEditor.py:1.8 
gnue/designer/src/forms/PropertyEditor.py:1.9
*** gnue/designer/src/forms/PropertyEditor.py:1.8       Thu Mar  6 12:18:35 2003
--- gnue/designer/src/forms/PropertyEditor.py   Fri May 23 20:02:31 2003
***************
*** 34,40 ****
  from gnue.common.formatting import GTypecast
  from gnue.designer.base.tools.PropertyEditor import PropertyEditor as 
BasePropertyEditor
  from gnue.designer.base.tools.PropertyEditor import InspectorPanel as 
BaseInspectorPanel
! from gnue.designer.base.ToolPanel import *
  
  class PropertyEditor (BasePropertyEditor):
    def reset(self):
--- 34,40 ----
  from gnue.common.formatting import GTypecast
  from gnue.designer.base.tools.PropertyEditor import PropertyEditor as 
BasePropertyEditor
  from gnue.designer.base.tools.PropertyEditor import InspectorPanel as 
BaseInspectorPanel
! from gnue.designer.base.ToolBase import *
  
  class PropertyEditor (BasePropertyEditor):
    def reset(self):
Index: gnue/designer/src/navigator/LayoutEditor.py
diff -c gnue/designer/src/navigator/LayoutEditor.py:1.9 
gnue/designer/src/navigator/LayoutEditor.py:1.10
*** gnue/designer/src/navigator/LayoutEditor.py:1.9     Mon Feb 17 02:32:52 2003
--- gnue/designer/src/navigator/LayoutEditor.py Fri May 23 20:02:31 2003
***************
*** 30,38 ****
  from wxPython.wx import *
  from gnue.common.apps import GDebug
  from gnue.common.apps import RuntimeSettings
! from gnue.designer.base.ToolPanel import ToolPanel
  
! class LayoutEditor (ToolPanel):
  
    runtime_section = 'ProcessVisualEditor'
  
--- 30,38 ----
  from wxPython.wx import *
  from gnue.common.apps import GDebug
  from gnue.common.apps import RuntimeSettings
! from gnue.designer.base.ToolBase import ToolBase
  
! class LayoutEditor (ToolBase):
  
    runtime_section = 'ProcessVisualEditor'
  
***************
*** 52,58 ****
      self.tree.postInit()
  
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 52,58 ----
      self.tree.postInit()
  
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
Index: gnue/designer/src/reports/LayoutEditor.py
diff -c gnue/designer/src/reports/LayoutEditor.py:1.4 
gnue/designer/src/reports/LayoutEditor.py:1.5
*** gnue/designer/src/reports/LayoutEditor.py:1.4       Wed Jan  1 19:45:47 2003
--- gnue/designer/src/reports/LayoutEditor.py   Fri May 23 20:02:31 2003
***************
*** 28,36 ****
  #
  
  from wxPython.wx import *
! from gnue.designer.base.ToolPanel import ToolPanel
  
! class LayoutEditor (ToolPanel):
  
    def init(self):
      self.panelColor = self.GetBackgroundColour()
--- 28,36 ----
  #
  
  from wxPython.wx import *
! from gnue.designer.base.ToolBase import ToolBase
  
! class LayoutEditor (ToolBase):
  
    def init(self):
      self.panelColor = self.GetBackgroundColour()
***************
*** 39,45 ****
      self._app = instance._app
      self.rootObject.walk(self.inventoryObject)
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 39,45 ----
      self._app = instance._app
      self.rootObject.walk(self.inventoryObject)
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
Index: gnue/designer/src/reports/Standard/FilterSupport.py
diff -c gnue/designer/src/reports/Standard/FilterSupport.py:1.4 
gnue/designer/src/reports/Standard/FilterSupport.py:1.5
*** gnue/designer/src/reports/Standard/FilterSupport.py:1.4     Wed Jan  1 
19:45:47 2003
--- gnue/designer/src/reports/Standard/FilterSupport.py Fri May 23 20:02:32 2003
***************
*** 36,42 ****
    INCUBATORCLASS = _Incubator
  
    def init(self):
!     # EventAware provided by ToolPanel
      self.instance.registerEventListeners({
                         'ObjectCreated'       : self.onCreateObject,
                         'ObjectModified'      : self.onModifyObject,
--- 36,42 ----
    INCUBATORCLASS = _Incubator
  
    def init(self):
!     # EventAware provided by ToolBase
      self.instance.registerEventListeners({
                         'ObjectCreated'       : self.onCreateObject,
                         'ObjectModified'      : self.onModifyObject,
Index: gnue/designer/src/reports/Standard/GroupEditor.py
diff -c gnue/designer/src/reports/Standard/GroupEditor.py:1.5 
gnue/designer/src/reports/Standard/GroupEditor.py:1.6
*** gnue/designer/src/reports/Standard/GroupEditor.py:1.5       Mon Feb 17 
02:32:53 2003
--- gnue/designer/src/reports/Standard/GroupEditor.py   Fri May 23 20:02:32 2003
***************
*** 35,41 ****
  from gnue.common.logic.GTrigger import GTrigger
  from gnue.common.definitions.GParserHelpers import GContent
  from gnue.designer.base.uihelpers.GridCellEditors import *
! from gnue.designer.base.ToolPanel import *
  
  Columns = [  ('name','Name'),
               ('style','Behavior'),
--- 35,41 ----
  from gnue.common.logic.GTrigger import GTrigger
  from gnue.common.definitions.GParserHelpers import GContent
  from gnue.designer.base.uihelpers.GridCellEditors import *
! from gnue.designer.base.ToolBase import *
  
  Columns = [  ('name','Name'),
               ('style','Behavior'),
***************
*** 47,57 ****
  
  numcols = len(Columns)
  
! class GroupEditor (ToolPanel):
  
    runtime_section = 'ReportsStandardGroupEditor'
!   uses_feedback_header = 1
!   default_dock = DOCK_TOPRIGHT
  
    def init(self):
      self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
--- 47,57 ----
  
  numcols = len(Columns)
  
! class GroupEditor (ToolBase):
  
    runtime_section = 'ReportsStandardGroupEditor'
!   uses_feedback_bar = 1
!   default_dock = 'right-0'
  
    def init(self):
      self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
***************
*** 76,82 ****
      EVT_GRID_CELL_LEFT_DCLICK(self.grid, self.OnLeftDClick)
      EVT_SIZE(self, self.onSize)
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 76,82 ----
      EVT_GRID_CELL_LEFT_DCLICK(self.grid, self.OnLeftDClick)
      EVT_SIZE(self, self.onSize)
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
***************
*** 96,102 ****
        self._setCurrentTable(table)
  
    def _setCurrentTable(self, object):
!     self.setHeaderText("%s Table" % (object.name))
  
      self.table = object
  
--- 96,102 ----
        self._setCurrentTable(table)
  
    def _setCurrentTable(self, object):
!     self.setFeedback("%s Table" % (object.name))
  
      self.table = object
  
Index: gnue/designer/src/schema/DiaEditor/VisualEditor.py
diff -c gnue/designer/src/schema/DiaEditor/VisualEditor.py:1.9 
gnue/designer/src/schema/DiaEditor/VisualEditor.py:1.10
*** gnue/designer/src/schema/DiaEditor/VisualEditor.py:1.9      Wed Jan  1 
19:45:47 2003
--- gnue/designer/src/schema/DiaEditor/VisualEditor.py  Fri May 23 20:02:32 2003
***************
*** 30,38 ****
  from wxPython.wx import *
  from VisualTable import *
  from gnue.common.schema.Objects import *
! from gnue.designer.base.ToolPanel import *
  
! class VisualEditor (ToolPanel):
  
    runtime_section = 'SchemaDiaEditor'
  
--- 30,38 ----
  from wxPython.wx import *
  from VisualTable import *
  from gnue.common.schema.Objects import *
! from gnue.designer.base.ToolBase import *
  
! class VisualEditor (ToolBase):
  
    runtime_section = 'SchemaDiaEditor'
  
***************
*** 64,70 ****
      self.SetSizer(Sizer)
  
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 64,70 ----
      self.SetSizer(Sizer)
  
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
Index: gnue/designer/src/schema/LayoutEditor.py
diff -c gnue/designer/src/schema/LayoutEditor.py:1.4 
gnue/designer/src/schema/LayoutEditor.py:1.5
*** gnue/designer/src/schema/LayoutEditor.py:1.4        Wed Jan  1 19:45:47 2003
--- gnue/designer/src/schema/LayoutEditor.py    Fri May 23 20:02:32 2003
***************
*** 28,36 ****
  #
  
  from wxPython.wx import *
! from gnue.designer.base.ToolPanel import ToolPanel
  
! class LayoutEditor (ToolPanel):
  
    runtime_section = 'SchemaLayoutEditor'
  
--- 28,36 ----
  #
  
  from wxPython.wx import *
! from gnue.designer.base.ToolBase import ToolBase
  
! class LayoutEditor (ToolBase):
  
    runtime_section = 'SchemaLayoutEditor'
  
***************
*** 39,45 ****
      self._app = instance._app
      self.rootObject.walk(self.inventoryObject)
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 39,45 ----
      self._app = instance._app
      self.rootObject.walk(self.inventoryObject)
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
Index: gnue/designer/src/schema/TableEditor.py
diff -c gnue/designer/src/schema/TableEditor.py:1.8 
gnue/designer/src/schema/TableEditor.py:1.9
*** gnue/designer/src/schema/TableEditor.py:1.8 Tue Mar 25 17:11:16 2003
--- gnue/designer/src/schema/TableEditor.py     Fri May 23 20:02:32 2003
***************
*** 34,40 ****
  from gnue.common.formatting import GTypecast
  from gnue.common.logic.GTrigger import GTrigger
  from gnue.common.definitions.GParserHelpers import GContent
! from gnue.designer.base.ToolPanel import *
  from gnue.designer.base.uihelpers.GridCellEditors import *
  
  Columns = [  ('name','Name'),
--- 34,40 ----
  from gnue.common.formatting import GTypecast
  from gnue.common.logic.GTrigger import GTrigger
  from gnue.common.definitions.GParserHelpers import GContent
! from gnue.designer.base.ToolBase import *
  from gnue.designer.base.uihelpers.GridCellEditors import *
  
  Columns = [  ('name','Name'),
***************
*** 46,56 ****
               ('nullable','Allow\nEmpty?')  ]
  numcols = len(Columns)
  
! class TableEditor (ToolPanel):
  
    runtime_section = 'SchemaTableEditor'
!   uses_feedback_header = 1
!   default_dock = DOCK_TOPRIGHT
  
    def init(self):
      self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
--- 46,56 ----
               ('nullable','Allow\nEmpty?')  ]
  numcols = len(Columns)
  
! class TableEditor (ToolBase):
  
    runtime_section = 'SchemaTableEditor'
!   uses_feedback_bar = 1
!   default_dock = 'right-0'
  
    def init(self):
      self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
***************
*** 74,80 ****
      EVT_GRID_CELL_LEFT_DCLICK(self.grid, self.OnLeftDClick)
      EVT_SIZE(self, self.onSize)
  
!     # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
--- 74,80 ----
      EVT_GRID_CELL_LEFT_DCLICK(self.grid, self.OnLeftDClick)
      EVT_SIZE(self, self.onSize)
  
!     # EventAware provided by ToolBase
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
                         'ObjectCreated'       : self.onCreateObject,
***************
*** 94,100 ****
        self._setCurrentTable(table)
  
    def _setCurrentTable(self, object):
!     self.setHeaderText("%s Table" % (object.name))
  
      self.table = object
  
--- 94,100 ----
        self._setCurrentTable(table)
  
    def _setCurrentTable(self, object):
!     self.setFeedback("%s Table" % (object.name))
  
      self.table = object
  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]