[Top][All Lists]
[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
- gnue/designer/src base/Instance.py base/MenuBar...,
Jason Cater <=