[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue designer/setup.py designer/src/Config.py d...
From: |
Jason Cater |
Subject: |
gnue designer/setup.py designer/src/Config.py d... |
Date: |
Fri, 22 Nov 2002 20:48:03 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/11/22 20:48:03
Modified files:
designer : setup.py
designer/src : Config.py DataSourceEditor.py Instance.py
MenuBar.py PropertyEditor.py SchemaViewer.py
ToolFrame.py TreeView.py TriggerEditor.py
designer/src/forms: Instance.py TreeView.py
designer/src/forms/LayoutEditor: LayoutEditor.py
designer/src/navigator: Instance.py
designer/src/reports: Instance.py
designer/src/schema: Instance.py
forms/src : GFForm.py
forms/src/GFObjects: GFTabStop.py
Added files:
designer/src : EventEditor.py ToolPanel.py
designer/src/settings: __init__.py
Log message:
initial work on migrating designer [BROKEN\!]
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/setup.py.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/EventEditor.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/ToolPanel.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/Config.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/DataSourceEditor.py.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/Instance.py.diff?tr1=1.67&tr2=1.68&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/MenuBar.py.diff?tr1=1.32&tr2=1.33&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/PropertyEditor.py.diff?tr1=1.28&tr2=1.29&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/SchemaViewer.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/ToolFrame.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TreeView.py.diff?tr1=1.24&tr2=1.25&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TriggerEditor.py.diff?tr1=1.20&tr2=1.21&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/Instance.py.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/TreeView.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditor.py.diff?tr1=1.33&tr2=1.34&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/navigator/Instance.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/reports/Instance.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/Instance.py.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/settings/__init__.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFForm.py.diff?tr1=1.205&tr2=1.206&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFObjects/GFTabStop.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
Patches:
Index: gnue/designer/setup.py
diff -c gnue/designer/setup.py:1.37 gnue/designer/setup.py:1.38
*** gnue/designer/setup.py:1.37 Sat Oct 5 03:16:48 2002
--- gnue/designer/setup.py Fri Nov 22 20:48:02 2002
***************
*** 247,252 ****
--- 247,253 ----
data_files = [ ('doc/designer', docfiles),
('man/man1', manfiles) ],
packages = ["gnue.designer",
+ "gnue.designer.settings",
"gnue.designer.forms",
"gnue.designer.forms.LayoutEditor",
"gnue.designer.forms.wizards",
Index: gnue/designer/src/Config.py
diff -c gnue/designer/src/Config.py:1.1 gnue/designer/src/Config.py:1.2
*** gnue/designer/src/Config.py:1.1 Sat May 4 12:45:08 2002
--- gnue/designer/src/Config.py Fri Nov 22 20:48:02 2002
***************
*** 1,6 ****
#
- # Copyright 2001 Free Software Foundation
- #
# This file is part of GNU Enterprise.
#
# GNU Enterprise is free software; you can redistribute it
--- 1,4 ----
***************
*** 18,25 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
# FILE:
! # GFConfig.py
#
# DESCRIPTION:
#
--- 16,25 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
+ # Copyright 2001-2002 Free Software Foundation
+ #
# FILE:
! # Config.py
#
# DESCRIPTION:
#
Index: gnue/designer/src/DataSourceEditor.py
diff -c gnue/designer/src/DataSourceEditor.py:1.25
gnue/designer/src/DataSourceEditor.py:1.26
*** gnue/designer/src/DataSourceEditor.py:1.25 Tue Jul 2 10:14:59 2002
--- gnue/designer/src/DataSourceEditor.py Fri Nov 22 20:48:02 2002
***************
*** 31,50 ****
from wxPython.wx import *
from gnue.common import GDebug, GDataSource, GConfig
from gnue.common import RuntimeSettings
! class DataSourceEditor(wxPanel):
! def __init__(self, instance, rootObject, parentWindow):
! wxPanel.__init__(self,parentWindow,-1)
! self.instance = instance
! self.rootObject = instance.rootObject
! self.connections = self.instance._app.connections
! self.runtime_section = "DataSourceEditor"
! ## self.toolBar = ToolBar(self, parentWindow)
self.combopanel = wxPanel(self, -1, pos=wxPoint(0,0))
-
self.splitter = wxSplitterWindow(self, -1, style=wxSP_3D)
self.list = wxListCtrl(self.splitter, -1, pos=wxPoint(0,0),
style=wxLC_REPORT| # wxLC_EDIT_LABELS|
--- 31,48 ----
from wxPython.wx import *
from gnue.common import GDebug, GDataSource, GConfig
from gnue.common import RuntimeSettings
+ from ToolPanel import ToolPanel
! class DataSourceEditor(ToolPanel):
! runtime_section = "DataSourceEditor"
!
! def init(self):
! self.connections = self.instance._app.connections
self.combopanel = wxPanel(self, -1, pos=wxPoint(0,0))
self.splitter = wxSplitterWindow(self, -1, style=wxSP_3D)
+ ## self.toolBar = ToolBar(self, parentWindow)
self.list = wxListCtrl(self.splitter, -1, pos=wxPoint(0,0),
style=wxLC_REPORT| # wxLC_EDIT_LABELS|
***************
*** 73,80 ****
self.current = None
! instance.rootObject.walk (self.initialInventory)
! instance.rootObject.walk (self.inventoryObject)
self.fillList()
EVT_LIST_ITEM_SELECTED(self, self.list.GetId(), self.OnDSSelected)
--- 71,78 ----
self.current = None
! self.instance.rootObject.walk (self.initialInventory)
! self.instance.rootObject.walk (self.inventoryObject)
self.fillList()
EVT_LIST_ITEM_SELECTED(self, self.list.GetId(), self.OnDSSelected)
***************
*** 82,88 ****
self.finalized = 0
self.splitter.SetSize(self.GetSize())
- RuntimeSettings.registerRuntimeSettingHandler(self.instance, self)
--- 80,85 ----
Index: gnue/designer/src/Instance.py
diff -c gnue/designer/src/Instance.py:1.67 gnue/designer/src/Instance.py:1.68
*** gnue/designer/src/Instance.py:1.67 Wed Nov 13 22:45:40 2002
--- gnue/designer/src/Instance.py Fri Nov 22 20:48:02 2002
***************
*** 22,27 ****
--- 22,29 ----
# Instance.py
#
# DESCRIPTION:
+ # This is the base instance class for a designer session. Every
+ # open file will be associated with its own Instance.
#
# NOTES:
#
***************
*** 34,39 ****
--- 36,42 ----
from gnue.common.FileUtils import dyn_import
from gnue.common.events import EventController, Event
from ToolFrame import ToolFrame
+ from ToolPanel import ToolPanel
from gnue.designer import VERSION, PACKAGE
from gnue.designer.Debugger import DebugSession
import TemplateBase
***************
*** 80,85 ****
--- 83,92 ----
def createTools(self):
pass
+ #
+ def createWizards(self):
+ pass
+
########################################################################
#
***************
*** 164,184 ****
# Create the supplemental tools
self.__objectListeners = []
self.createTools()
self._menubar.buildMenu()
# Create our tools
! self.visualEditorWindow = self
! self.visualEditor = self.createVisualEditor()
!
!
! self.__objectListeners.append(self.visualEditor)
!
self._app.addInstance(self)
# Fit the widgets to the screen
! self.visualEditor.Fit()
self.Fit()
self.SetSize((
--- 171,191 ----
# Create the supplemental tools
self.__objectListeners = []
+ self._toolCache = []
self.createTools()
+ self._initTools()
+ self.createWizards()
self._menubar.buildMenu()
# Create our tools
! ## self.visualEditorWindow = self
! ## self.visualEditor = self.createVisualEditor()
! ## self.__objectListeners.append(self.visualEditor)
self._app.addInstance(self)
# Fit the widgets to the screen
! ## self.visualEditor.Fit()
self.Fit()
self.SetSize((
***************
*** 196,211 ****
EVT_CLOSE(self, self.OnClose)
def addTool(self, id, title, baseclass):
! GDebug.printMesg(2,'Adding tool %s [%s]' % (title,id))
! window = ToolFrame(self, title)
! control = baseclass(self, self.rootObject, window)
! ## window.finalize() # Called by MenuBar now :`(
! self.__dict__["%sWindow" % id] = window
! self.__dict__[id] = control
! self.__objectListeners.append(control)
def addToolCreate(self, title, method):
self._menubar.addToolCreate(title, method)
--- 203,284 ----
EVT_CLOSE(self, self.OnClose)
+ def _initTools(self):
+ lefties = 0
+ toppies = 0
+ bottomites = 0
+
+ cache = []
+
+ for id, title, baseclass in self._toolCache:
+ if baseclass.DEFAULTDOC
+ pos = RuntimeSettings.get(self.runtime_section, 'Dock-%s' % id,
baseclass.default_dock),
+
+ lefties += 1 and (pos == 'left')
+ toppies += 1 and (pos == 'top')
+ bottomites += 1 and (pos == 'bottom')
+
+ cache.append( (id, title, baseclass, pos) )
+
+
+ if lefties:
+ self.horizSplitter = wxSplitter(self, -1, style=wxSP_FULLSASH)
+ rightWin = leftWin = self.horizSplitter
+ if lefties > 1:
+ leftPane = MultiTooledPane(leftWin)
+ else:
+ leftPane = SingleTooledPane(leftWin)
+
+ leftPane.AddTool
+
+ else:
+ rightWin = leftWin = self
+
+ if bottomites:
+ topWin = bottomWin = self.vertSplitter = wxSplitter(rightWin, -1,
style=wxSP_FULLSASH)
+ else:
+ topWin = bottomWin = rightWin
+
+
+ self.mainArea = wxPanel(self, -1)
+ self.left = wxPanel(self, -1)
+
+ for id, title, baseclass, pos in cache:
+ if id == None:
+ self._menubar.addToolSeparator()
+ else:
+ GDebug.printMesg(2,'Adding tool %s [%s]' % (title,id))
+ if pos == 'frame':
+ window = ToolFrame(self, title)
+ control = baseclass(self, self.rootObject, window)
+ elif pos == 'left':
+ control = leftPane.AddTool(title, baseclass, self.rootObject)
+ window = leftPane.GetWindow()
+ elif pos == 'top':
+ control = topPane.AddTool(title, baseclass, self.rootObject)
+ window = topPane.GetWindow()
+ elif pos == 'bottom':
+ control = bottomPane.AddTool(title, baseclass, self.rootObject)
+ window = bottomPane.GetWindow()
+
+ control = baseclass(self, self.rootObject, window)
+ self.__dict__["%sWindow" % id] = window
+ self.__dict__[id] = control
+ self.__objectListeners.append(control)
+
+
+ if lefties:
+ self.horizSplitter.SplitVertically(leftPane, self.vertSplitter)
+
+ if bottomites:
+ self.vertSplitter.SplitHorizontally(topPane, bottomPane)
+
def addTool(self, id, title, baseclass):
! self._toolCache.append( (id, title, baseclass) )
+ def addToolSeparator(self):
+ self._toolCache.append( (None, None, None) )
def addToolCreate(self, title, method):
self._menubar.addToolCreate(title, method)
***************
*** 545,550 ****
--- 618,688 ----
self._menubar.addWizardLocation(location, template)
except ValueError:
continue
+
+
+
+ def MultipleTooledPane(wxNotebook):
+ def __init__(self, parent, menutool):
+ wxNotebook.__init__(self, parent, -1, style=wxCLIP_CHILDREN):
+ self.menutool = menutool
+
+ def AddTool(self, title, baseclass, rootObject):
+ control = baseclass(self, rootObject, self.parent)
+ self.AddPage(control, title)
+ return control
+
+ 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 SingleTooledPane:
+ def __init__(self, parent):
+ self.menutool = menutool
+ self.parent = parent
+
+ def AddTool(self, title, baseclass, rootObject):
+ self.window = baseclass(self, rootObject, self.parent)
+ return self.window
+
+ def GetWindow(self):
+ return self.window
+
+ ######
+ 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)
+
#
# Helper class used by the tool-specific packages
Index: gnue/designer/src/MenuBar.py
diff -c gnue/designer/src/MenuBar.py:1.32 gnue/designer/src/MenuBar.py:1.33
*** gnue/designer/src/MenuBar.py:1.32 Mon Oct 7 22:24:26 2002
--- gnue/designer/src/MenuBar.py Fri Nov 22 20:48:02 2002
***************
*** 89,94 ****
--- 89,97 ----
# Debug menu
ID_RUN = wxNewId()
+ # Settings menu
+ ID_CFGTOOL = wxNewId()
+
# Help menu
ID_ABOUT = wxNewId()
***************
*** 183,188 ****
--- 186,195 ----
self._tools = wxMenu()
for location in self._toolMenuOrder:
+
+ if location == "":
+ self._tools.AppendSeparator()
+ continue
# Grab our ToolRunner (or WizardRunner if tool was replaced???)
# and delete the reference.
***************
*** 197,202 ****
--- 204,210 ----
tool.wxId, tool.run)
tool.finalize()
+ # TODO: Make this dynamic
self._tools.AppendSeparator()
***************
*** 204,209 ****
--- 212,224 ----
self._debug.Append(ID_RUN, _('&Run'), _("Run the current form"))
self.__addMenuEvent('Debug|Run', ID_RUN, frame.OnDebugRun)
+ # TODO: Implement settings
+ self._settings = wxMenu()
+ self._settings.Append(ID_CFGTOOL,_('Configure &Tools...'),
+ _('Configure the display of tools'))
+ self.__addMenuEvent('Settings|Configure Tools', ID_RUN, frame.OnDebugRun)
+
+
menumap = { '': (self, {}),
'File': (self._file,{}),
'File|New': (self._fileNew,{}),
***************
*** 211,219 ****
'Project': (self._project,{}),
'Debug': (self._debug,{}),
'Tools': (self._tools,{}),
'Help': (self._help, {})}
! basemenuorder = ['File','Edit','Debug','Project', 'Tools']
for location in self._menuMappings.keys():
last = None
--- 226,235 ----
'Project': (self._project,{}),
'Debug': (self._debug,{}),
'Tools': (self._tools,{}),
+ 'Settings': (self._settings,{}),
'Help': (self._help, {})}
! basemenuorder = ['File','Edit','Debug','Project', 'Tools', 'Settings']
for location in self._menuMappings.keys():
last = None
***************
*** 292,297 ****
--- 308,315 ----
self._toolMenuOrder.append(location)
return self._menuMappings[location]
+ def addToolSeparator(self):
+ self._toolMenuOrder.append("")
#
# Convenience methods to make the main menu bar appear to be a menu
container
Index: gnue/designer/src/PropertyEditor.py
diff -c gnue/designer/src/PropertyEditor.py:1.28
gnue/designer/src/PropertyEditor.py:1.29
*** gnue/designer/src/PropertyEditor.py:1.28 Sun Nov 3 12:31:05 2002
--- gnue/designer/src/PropertyEditor.py Fri Nov 22 20:48:02 2002
***************
*** 31,46 ****
from wxPython.wx import *
from wxPython.grid import *
from gnue.common import GDebug, GTypecast
! from ToolFrame import ToolFrame
! class PropertyEditor (wxPanel):
! def __init__(self, instance, root, parent):
! wxPanel.__init__(self,parent,-1,pos=wxPoint(0,0))
self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
- self.parent = parent
- self.instance = instance
- self.rootObject = root
self.object = None
self.objectList = []
self.objectMap = {}
--- 31,45 ----
from wxPython.wx import *
from wxPython.grid import *
from gnue.common import GDebug, GTypecast
! from ToolPanel import *
! class PropertyEditor (ToolPanel):
!
! runtime_section = 'PropertyEditor'
!
! def init(self):
self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
self.object = None
self.objectList = []
self.objectMap = {}
***************
*** 463,662 ****
# self._tc.SetInsertionPointEnd()
else:
evt.Skip()
-
-
- #
- #
- #
- class EventEditor (wxPanel):
- def __init__(self, instance, root, parent):
- wxPanel.__init__(self,parent,-1,pos=wxPoint(0,0))
- self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
-
- self.parent = parent
- self.instance = instance
- self.rootObject = root
- self.objectList = []
- self.objectMap = {}
- self.object = None
- self.grid = wxGrid(self.panel, -1, pos=wxPoint(0,0))
- self.grid.CreateGrid(1,1)
- EVT_SIZE(self, self.onSize)
-
- def onSetCurrentObject (self, object, handler):
-
- if object == None:
- return
- if handler != __name__:
- self.object = object
- elements = self.instance.incubator.elements
- try:
- self.attributes =
elements[string.lower(object._type[2:])]['Attributes']
- except KeyError:
- self.attributes = {}
-
- self.elements = elements[string.lower(object._type[2:])]
-
- # This is a nasty temporary way of refreshing grid
- if self.grid:
- self.grid.Destroy()
- self.grid = wxGrid(self.panel, -1, pos=wxPoint(0,0))
-
- self.grid.CreateGrid(len(self.attributes.keys()),1)
- self.grid.SetColLabelSize(0)
- self.rowList = self.attributes.keys()
- self.rowList.sort()
- i = 0
- for key in self.rowList:
- self.grid.SetRowLabelValue(i, string.upper(key[0]) +
string.lower(key[1:]))
- if hasattr(object, key):
- self.grid.SetCellValue(i,0,"%s" % object.__dict__[key])
- i = i + 1
- self.onSize(None)
- EVT_GRID_CELL_CHANGE(self.grid, self.OnCellChange)
-
- def onCreateObject (self, object, handler):
-
- # Until this works!
- return
-
- pass
-
- def onModifyObject (self, object, handler, modifications):
-
- # Until this works!
- return
-
- if object == None:
- return
- if handler != __name__ and self.object == object:
- # for modification in modifications:
- # attribute, value = modification
- self.onSetCurrentObject(object, handler)
-
- def onDeleteObject (self, object, handler):
-
- # Until this works!
- return
-
- if object == None:
- return
- if handler != __name__:
- pass
-
- def onSize(self, event):
- x,y = self.GetClientSizeTuple()
- self.panel.SetSize((x-12,y-12))
- self.grid.SetSize(self.panel.GetClientSizeTuple())
- w,h = self.grid.GetClientSizeTuple()
- self.grid.SetColSize(0, w - self.grid.GetRowLabelSize())
-
- def OnCellChange(self, evt):
- attr = self.rowList[evt.GetRow()]
- value = self.grid.GetCellValue(evt.GetRow(), evt.GetCol())
-
- try:
- self.object.__dict__[attr] = self.attributes[attr][2](value)
- self.instance.onModifyObject(self.object, __name__, ((attr,
self.object.__dict__[attr]),))
- evt.Skip()
- except ValueError:
- wxBell()
-
- #
- #
- #
- class PropertyToolFrame(ToolFrame):
- def __init__(self, instance, title):
- ToolFrame.__init__(self, instance, _("Property Editor"))
-
- self.backpanel = wxPanel(self, -1, pos=wxPoint(0,0),
size=self.GetClientSize())
- # self.backpanel = self
- self.toolpanel = wxPanel(self.backpanel, -1, pos=wxPoint(0,0),
size=wxSize(32,32),
- style=wxRAISED_BORDER|wxCLIP_CHILDREN)
-
- self.notebook = wxNotebook(self.backpanel, -1, pos=wxPoint(6, 37),
size=wxSize(32,32))
-
- self.propertyEditor = PropertyEditor(
- self.notebook, instance, instance.rootObject)
-
- self.eventEditor = EventEditor(
- self.notebook, instance, instance.rootObject)
-
- self.notebook.AddPage(self.propertyEditor, _('Properties'))
- self.notebook.AddPage(self.eventEditor, _('Events'))
-
- self.objectLabel = wxStaticText(self.toolpanel, -1, _("Object: "),
- pos=wxPoint(4,6))
- self.objectCombo = wxComboBox(self.toolpanel, -1,
- pos=wxPoint(self.objectLabel.GetSize().width + 10,4),
- style=wxCB_READONLY)
-
- EVT_COMBOBOX(self, self.objectCombo.GetId(), self.OnObjectSelected)
-
- EVT_SIZE(self, self.onSize)
-
- self.objectList = [instance.rootObject]
-
- instance.rootObject.walk (self.inventoryObject)
- self.generateObjectMap()
-
- def generateObjectMap(self):
- self.objectMap = {}
-
- # Alphabetize the combo list
- nameMap = {}
- for o in self.objectList:
- nameMap[string.lower(o.name)] = o
- keys = nameMap.keys()
- keys.sort()
- i = 0
-
- self.objectList = []
- self.objectCombo.Clear()
- for key in keys:
- self.objectList.append(nameMap[key])
- self.objectMap[nameMap[key]] = i
- self.objectCombo.Append(nameMap[key].name)
- i = i + 1
-
- def inventoryObject(self, object):
- if hasattr(object, 'name'):
- self.objectList.append(object)
-
- def OnObjectSelected(self, event):
- self.instance.onSetCurrentObject(
- self.objectList[event.GetSelection()], "%sFrame" % __name__)
-
- def onSize(self, event):
- w,h = self.GetClientSizeTuple()
- self.backpanel.SetSize(wxSize(w,h))
- self.toolpanel.SetSize(wxSize(w,32))
- self.notebook.SetSize(wxSize(w-12,h-44))
-
- def onSetCurrentObject (self, object, handler):
- if object == None:
- return
- if handler != "%sFrame" % __name__:
- if self.objectMap.has_key(object):
- self.objectCombo.SetSelection(self.objectMap[object])
-
- def onCreateObject (self, object, handler):
- if object == None:
- return
- self.inventoryObject(object)
- self.generateObjectMap()
-
- def onModifyObject (self, object, handler, modifications):
- if object == None:
- return
-
- # TODO: This should see if object is listed in
- # TODO: the pull-down box. If so, monitor for
- # TODO: name change.
-
- def onDeleteObject (self, object, handler):
- if object == None:
- return
- self.objectList.pop(self.objectMap[object])
- self.generateObjectMap()
--- 462,465 ----
Index: gnue/designer/src/SchemaViewer.py
diff -c gnue/designer/src/SchemaViewer.py:1.7
gnue/designer/src/SchemaViewer.py:1.8
*** gnue/designer/src/SchemaViewer.py:1.7 Thu Jul 4 14:45:08 2002
--- gnue/designer/src/SchemaViewer.py Fri Nov 22 20:48:02 2002
***************
*** 31,44 ****
from wxPython.wx import *
from gnue.common import GDebug, GDataSource
from gnue.common import RuntimeSettings
! class SchemaViewer(wxPanel):
! def __init__(self, instance, rootObject, parentWindow):
! wxPanel.__init__(self,parentWindow,-1)
! self.instance = instance
! self.rootObject = instance.rootObject
self.connections = self.instance._app.connections
- self.runtime_section = "SchemaViewer"
self.connectionName = None
self.connectionNames = self.connections.getConnectionNames()
--- 31,44 ----
from wxPython.wx import *
from gnue.common import GDebug, GDataSource
from gnue.common import RuntimeSettings
+ from ToolPanel import *
! class SchemaViewer(ToolPanel):
!
! runtime_section = "SchemaViewer"
!
! def init(self):
self.connections = self.instance._app.connections
self.connectionName = None
self.connectionNames = self.connections.getConnectionNames()
***************
*** 104,110 ****
self.finalized = 0
self.splitter.SetSize(self.GetSize())
- RuntimeSettings.registerRuntimeSettingHandler(self.instance, self)
def fillList(self):
--- 104,109 ----
Index: gnue/designer/src/ToolFrame.py
diff -c gnue/designer/src/ToolFrame.py:1.12 gnue/designer/src/ToolFrame.py:1.13
*** gnue/designer/src/ToolFrame.py:1.12 Thu Jul 11 01:39:02 2002
--- gnue/designer/src/ToolFrame.py Fri Nov 22 20:48:02 2002
***************
*** 1,6 ****
#
- # Copyright 2001 Free Software Foundation
- #
# This file is part of GNU Enterprise.
#
# GNU Enterprise is free software; you can redistribute it
--- 1,4 ----
***************
*** 18,23 ****
--- 16,23 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
+ # Copyright 2001-2002 Free Software Foundation
+ #
# FILE:
# Instance.py
#
***************
*** 38,43 ****
--- 38,44 ----
#
class ToolFrame (wxFrame):
+ # TODO: Set by the toolpanel??
default_width = 200
default_height = 150
default_visible = 0
Index: gnue/designer/src/TreeView.py
diff -c gnue/designer/src/TreeView.py:1.24 gnue/designer/src/TreeView.py:1.25
*** gnue/designer/src/TreeView.py:1.24 Thu Oct 31 21:40:53 2002
--- gnue/designer/src/TreeView.py Fri Nov 22 20:48:02 2002
***************
*** 38,74 ****
from gnue.forms import GFForm, GFObjects, GFLibrary
from PopupMenu import ObjectMenu
from Icons import treeIconMap, treeIconList
! class TreeView (wxTreeCtrl):
! def __init__(self, instance, form, parent):
! wxTreeCtrl.__init__(self, parent, wxNewId(),
style=wxTR_HAS_BUTTONS|wxTR_EDIT_LABELS|wxTR_HAS_VARIABLE_ROW_HEIGHT)
- self.instance = instance
- self.rootObject = form
self._handler = None
! self.SetImageList(treeIconList)
EVT_TREE_BEGIN_LABEL_EDIT(self, self.GetId(), self.OnTreeLabelEdit)
EVT_TREE_END_LABEL_EDIT(self, self.GetId(), self.OnTreeLabelEditEnd)
EVT_TREE_SEL_CHANGED(self, self.GetId(), self.OnTreeItemSelected)
! self.rootObject._treeItem = self.AddRoot(self.rootDescr)
EVT_RIGHT_DOWN(self, self.OnRightDown)
EVT_LEFT_DCLICK(self, self.OnEditProperties)
def AppendItem(self, parent, description):
! rv = wxTreeCtrl.AppendItem(self, parent, description)
return rv
def onSetCurrentObject (self, object, handler):
if object == None:
return
if handler != __name__:
! self.EnsureVisible(object._treeItem)
self._handler = handler
! self.SelectItem(object._treeItem)
self._handler = None
def onCreateObject (self, object, handler):
--- 38,80 ----
from gnue.forms import GFForm, GFObjects, GFLibrary
from PopupMenu import ObjectMenu
from Icons import treeIconMap, treeIconList
+ from ToolPanel import ToolPanel
! class TreeView (ToolPanel):
!
!
! def init(self):
! self.tree = wxTreeCtrl(self, wxNewId(),
style=wxTR_HAS_BUTTONS|wxTR_EDIT_LABELS|wxTR_HAS_VARIABLE_ROW_HEIGHT)
self._handler = None
! self.tree.SetImageList(treeIconList)
EVT_TREE_BEGIN_LABEL_EDIT(self, self.GetId(), self.OnTreeLabelEdit)
EVT_TREE_END_LABEL_EDIT(self, self.GetId(), self.OnTreeLabelEditEnd)
EVT_TREE_SEL_CHANGED(self, self.GetId(), self.OnTreeItemSelected)
! self.rootObject._treeItem = self.tree.AddRoot(self.rootDescr)
EVT_RIGHT_DOWN(self, self.OnRightDown)
EVT_LEFT_DCLICK(self, self.OnEditProperties)
+ EVT_SIZE(self, self.OnSize)
+ self.Fit()
+
+ def OnSize(self, event):
+ self.tree.SetSize(self.GetClientSize())
def AppendItem(self, parent, description):
! rv = self.tree.AppendItem(parent, description)
return rv
def onSetCurrentObject (self, object, handler):
if object == None:
return
if handler != __name__:
! self.tree.EnsureVisible(object._treeItem)
self._handler = handler
! self.tree.SelectItem(object._treeItem)
self._handler = None
def onCreateObject (self, object, handler):
***************
*** 77,83 ****
if handler != __name__:
try:
GDebug.printMesg(4,"Adding %s (%s)" % (object.name, object._type))
! except:
pass
self.inventoryObject(object)
--- 83,89 ----
if handler != __name__:
try:
GDebug.printMesg(4,"Adding %s (%s)" % (object.name, object._type))
! except:
pass
self.inventoryObject(object)
Index: gnue/designer/src/TriggerEditor.py
diff -c gnue/designer/src/TriggerEditor.py:1.20
gnue/designer/src/TriggerEditor.py:1.21
*** gnue/designer/src/TriggerEditor.py:1.20 Thu Oct 31 21:40:53 2002
--- gnue/designer/src/TriggerEditor.py Fri Nov 22 20:48:02 2002
***************
*** 29,34 ****
--- 29,35 ----
from wxPython.wx import *
from gnue.common import GDebug, GParserHelpers, GTrigger
+ from ToolPanel import *
import keyword
***************
*** 38,49 ****
EVENT_TRIGGER = 0
! class TriggerEditor (wxPanel):
! def __init__(self, instance, form, parent):
! width = int(wxSystemSettings_GetSystemMetric( wxSYS_SCREEN_X )/3)
! height = int(wxSystemSettings_GetSystemMetric( wxSYS_SCREEN_Y )/3)
! wxPanel.__init__(self, parent, -1)
if USE_STC:
EditorCtrl = PythonEditorControl
--- 39,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_BOTTOM
!
! def init(self):
if USE_STC:
EditorCtrl = PythonEditorControl
***************
*** 52,66 ****
self.editor = EditorCtrl(self,-1, pos=wxPoint(0,32))
! self.SetSize(parent.GetClientSize())
self.editor.SetSize(self.GetClientSize())
self.object = None
self.namedTriggerList = []
! self.parent = parent
! self.instance = instance
! self.form = form
self.editor.SetReadOnly(1)
self.triggerList = []
EVT_SIZE(self, self._onSize)
--- 55,72 ----
self.editor = EditorCtrl(self,-1, pos=wxPoint(0,32))
! self.SetSize(self.frame.GetClientSize())
self.editor.SetSize(self.GetClientSize())
self.object = None
self.namedTriggerList = []
!
! # TODO: Historical stuff (pre-ToolPanel)
! self.parent = self.frame
! self.form = self.rootObject
!
!
self.editor.SetReadOnly(1)
self.triggerList = []
EVT_SIZE(self, self._onSize)
***************
*** 78,84 ****
self.namedTriggerCombo = wxComboBox(self.toolpanel, -1,
pos=wxPoint(self.namedNameLabel.GetSize().width + 10,4), style=wxCB_READONLY)
EVT_COMBOBOX(self, self.namedTriggerCombo.GetId(),
self.OnNamedTriggerSelected)
! form.walk(self.inventoryObject)
def OnNamedTriggerSelected(self, event):
--- 84,90 ----
self.namedTriggerCombo = wxComboBox(self.toolpanel, -1,
pos=wxPoint(self.namedNameLabel.GetSize().width + 10,4), style=wxCB_READONLY)
EVT_COMBOBOX(self, self.namedTriggerCombo.GetId(),
self.OnNamedTriggerSelected)
! self.rootObject.walk(self.inventoryObject)
def OnNamedTriggerSelected(self, event):
Index: gnue/designer/src/forms/Instance.py
diff -c gnue/designer/src/forms/Instance.py:1.16
gnue/designer/src/forms/Instance.py:1.17
*** gnue/designer/src/forms/Instance.py:1.16 Wed Nov 13 12:11:41 2002
--- gnue/designer/src/forms/Instance.py Fri Nov 22 20:48:02 2002
***************
*** 27,32 ****
--- 27,34 ----
# NOTES:
#
+ from wxPython.wx import *
+
from gnue.designer.forms import properties as formProperties
from gnue.designer.Instance import BaseInstance
from gnue.designer import PopupMenu
***************
*** 38,43 ****
--- 40,46 ----
from LayoutEditor import LayoutEditor
from TreeView import TreeView
from gnue.designer.PropertyEditor import PropertyEditor
+ from gnue.designer.EventEditor import EventEditor
from gnue.designer.TriggerEditor import TriggerEditor
from gnue.designer.DataSourceEditor import DataSourceEditor
from gnue.designer.SchemaViewer import SchemaViewer
***************
*** 83,89 ****
form.height = 12
form.name = 'form'
form.width = 40
! GFObjects.GFPage(form)
return form
--- 86,94 ----
form.height = 12
form.name = 'form'
form.width = 40
! GFObjects.GFLogic(form)
! layout = GFObjects.GFLayout(form)
! GFObjects.GFPage(layout)
return form
***************
*** 95,111 ****
object._popupMenu = ObjectMenu(self, object)
- def createVisualEditor(self):
- return LayoutEditor(self, self)
-
-
def createTools(self):
self.addTool('propertyEditor', _('Property Inspector'), PropertyEditor)
self.addTool('treeEditor', _('Object Navigator'), TreeView)
- self.addTool('triggerEditor', _('Event Editor'), TriggerEditor)
- self.addTool('datasourceEditor', _('Data Source Editor'),
DataSourceEditor)
self.addTool('schemaViewer', _('Schema Navigator'), SchemaViewer)
self.loadWizards(wizards)
--- 100,119 ----
object._popupMenu = ObjectMenu(self, object)
def createTools(self):
+ self.addTool('visualEditor', _('Layout Editor'), LayoutEditor)
self.addTool('propertyEditor', _('Property Inspector'), PropertyEditor)
self.addTool('treeEditor', _('Object Navigator'), TreeView)
self.addTool('schemaViewer', _('Schema Navigator'), SchemaViewer)
+ self.addToolSeparator()
+ self.addTool('datasourceEditor', _('Data Source Editor'),
DataSourceEditor)
+ #self.addTool('blockEditor', _('Block Editor'), BlockEditor)
+ #self.addTool('fieldEditor', _('Field Editor'), FieldEditor)
+ self.addToolSeparator()
+ self.addTool('eventEditor', _('Trigger Inspector'), EventEditor)
+ self.addTool('triggerEditor', _('Code Editor'), TriggerEditor)
+ def createWizards(self):
self.loadWizards(wizards)
***************
*** 133,139 ****
databases = []
datasources = []
triggers = []
! pages = []
other = []
for child in self.rootObject._children:
--- 141,148 ----
databases = []
datasources = []
triggers = []
! logic = []
! layout = []
other = []
for child in self.rootObject._children:
***************
*** 151,160 ****
(isinstance(child, GFLibrary.GFImportItem) and
child._type == 'GFimport-trigger'):
triggers.append(child)
! elif isinstance(child, GFObjects.GFPage) or \
(isinstance(child, GFLibrary.GFImportItem) and
! child._type == 'GFimport-page'):
! pages.append(child)
else:
other.append(child)
--- 160,173 ----
(isinstance(child, GFLibrary.GFImportItem) and
child._type == 'GFimport-trigger'):
triggers.append(child)
! elif isinstance(child, GFObjects.GFLayout) or \
! (isinstance(child, GFLibrary.GFImportItem) and
! child._type == 'GFimport-layout'):
! layout.append(child)
! elif isinstance(child, GFObjects.GFLogic) or \
(isinstance(child, GFLibrary.GFImportItem) and
! child._type == 'GFimport-logic'):
! logic.append(child)
else:
other.append(child)
***************
*** 171,177 ****
self.rootObject._children.append(child)
for child in triggers:
self.rootObject._children.append(child)
! for child in pages:
self.rootObject._children.append(child)
for child in other:
self.rootObject._children.append(child)
--- 184,192 ----
self.rootObject._children.append(child)
for child in triggers:
self.rootObject._children.append(child)
! for child in logic:
! self.rootObject._children.append(child)
! for child in layout:
self.rootObject._children.append(child)
for child in other:
self.rootObject._children.append(child)
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditor.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.33
gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.34
*** gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.33 Mon Oct 28
18:43:08 2002
--- gnue/designer/src/forms/LayoutEditor/LayoutEditor.py Fri Nov 22
20:48:02 2002
***************
*** 1,6 ****
#
- # Copyright 2001-2002 Free Software Foundation
- #
# This file is part of GNU Enterprise.
#
# GNU Enterprise is free software; you can redistribute it
--- 1,4 ----
***************
*** 18,23 ****
--- 16,23 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
+ # Copyright 2001-2002 Free Software Foundation
+ #
# FILE:
# LayoutEditor.py
#
***************
*** 29,39 ****
import sys, os
from wxPython.wx import *
from gnue.common import GDebug
! from gnue.forms import GFObjects
from gnue.forms.uidrivers.wx import UIdriver as UIwxpython
from gnue.designer.PopupMenu import PageMenu
from gnue.designer.forms import Incubator
from gnue.designer.TemplateParser import TemplateParser
from gnue.common.events import Event
# My support files
--- 29,40 ----
import sys, os
from wxPython.wx import *
from gnue.common import GDebug
! from gnue.forms import GFObjects
from gnue.forms.uidrivers.wx import UIdriver as UIwxpython
from gnue.designer.PopupMenu import PageMenu
from gnue.designer.forms import Incubator
from gnue.designer.TemplateParser import TemplateParser
+ from gnue.designer.ToolPanel import *
from gnue.common.events import Event
# My support files
***************
*** 45,58 ****
from DisplayDropTarget import DisplayDropTarget
! class LayoutEditor (wxPanel):
! def __init__(self, instance, parentWindow):
! wxPanel.__init__(self,parentWindow,-1)
! self.frame = instance
! self.panelColor = self.GetBackgroundColour()
! self._instance = instance
! self.rootObject = instance.rootObject
! self._app = instance._app
self.widgets = {}
self.widgets.update(UIwxpython.WIDGETS)
self.toolbar = LayoutEditorTools(self, self.frame)
--- 46,62 ----
from DisplayDropTarget import DisplayDropTarget
! class LayoutEditor (ToolPanel):
!
! runtime_section = "FormsLayoutEditor"
! default_dock = DOCK_TOP
!
! def init(self):
!
! # TODO: blah.... historical reasons
! self._instance = self.instance
!
! self._app = self.instance._app
self.widgets = {}
self.widgets.update(UIwxpython.WIDGETS)
self.toolbar = LayoutEditorTools(self, self.frame)
***************
*** 80,86 ****
self.__ox = 0
self.__oy = 0
! instance.rootObject.walk (self.inventoryObject)
try:
self._setCurrentPage(self._notebookMap[0])
except KeyError:
--- 84,90 ----
self.__ox = 0
self.__oy = 0
! self.instance.rootObject.walk (self.inventoryObject)
try:
self._setCurrentPage(self._notebookMap[0])
except KeyError:
***************
*** 354,367 ****
def OnPageSelected(self, event):
p = self._notebookMap[event.GetSelection()]
if p != self.page:
! self._instance.onSetCurrentObject(p, "Forms::LayoutEditor")
self._setCurrentPage(p)
def OnBlockSelected(self, event):
b = self.blockList[event.GetSelection()]
# if p != self.page:
! self._instance.onSetCurrentObject(b, None)
def OnLeftDown(self, event):
--- 358,371 ----
def OnPageSelected(self, event):
p = self._notebookMap[event.GetSelection()]
if p != self.page:
! self.instance.onSetCurrentObject(p, "Forms::LayoutEditor")
self._setCurrentPage(p)
def OnBlockSelected(self, event):
b = self.blockList[event.GetSelection()]
# if p != self.page:
! self.instance.onSetCurrentObject(b, None)
def OnLeftDown(self, event):
***************
*** 481,491 ****
block = self._currentObject._type == 'GFBlock' and self._currentObject or
\
self._currentObject.findParentOfType('GFBlock')
! menu.AppendMenu(wxNewId(), 'Form', PageMenu(self._instance, form, x, y))
if page:
! menu.AppendMenu(wxNewId(), page.name, PageMenu(self._instance, page, x,
y))
if block:
! menu.AppendMenu(wxNewId(), block.name, PageMenu(self._instance, block,
x, y))
self.panel.PopupMenu(menu, event.GetPosition())
--- 485,495 ----
block = self._currentObject._type == 'GFBlock' and self._currentObject or
\
self._currentObject.findParentOfType('GFBlock')
! menu.AppendMenu(wxNewId(), 'Form', PageMenu(self.instance, form, x, y))
if page:
! menu.AppendMenu(wxNewId(), page.name, PageMenu(self.instance, page, x,
y))
if block:
! menu.AppendMenu(wxNewId(), block.name, PageMenu(self.instance, block,
x, y))
self.panel.PopupMenu(menu, event.GetPosition())
***************
*** 535,545 ****
def endPrePositioningTemplate(self, x, y, width=None, height=None):
! TemplateParser(self._instance, self._instance.rootObject,
! self._instance, self.__template, currentObject=self.block or
self.page).run(x=x, y=y,
width=width,
height=height)
! self._instance.dispatchEvent(Event('EndWizard', template=self.__template))
self.mode = 'move'
--- 539,549 ----
def endPrePositioningTemplate(self, x, y, width=None, height=None):
! TemplateParser(self.instance, self.instance.rootObject,
! self.instance, self.__template, currentObject=self.block or
self.page).run(x=x, y=y,
width=width,
height=height)
! self.instance.dispatchEvent(Event('EndWizard', template=self.__template))
self.mode = 'move'
Index: gnue/designer/src/forms/TreeView.py
diff -c gnue/designer/src/forms/TreeView.py:1.3
gnue/designer/src/forms/TreeView.py:1.4
*** gnue/designer/src/forms/TreeView.py:1.3 Thu Oct 31 21:40:53 2002
--- gnue/designer/src/forms/TreeView.py Fri Nov 22 20:48:02 2002
***************
*** 22,31 ****
# TreeView.py
#
# DESCRIPTION:
#
# NOTES:
#
! # TODO: all the SetItemImage lines in this file have been commented out as on
win32 it was segfaulting
import sys, os
from wxPython.wx import *
--- 22,34 ----
# TreeView.py
#
# DESCRIPTION:
+ # The TreeView for forms instances
#
# NOTES:
#
! # TODO: all the SetItemImage lines in this file have been
! # TODO: commented out as on win32 it was segfaulting
! #
import sys, os
from wxPython.wx import *
***************
*** 36,67 ****
from gnue.designer.TreeView import TreeView as BaseTreeView
class TreeView (BaseTreeView):
- def __init__(self, instance, root, parent):
! self.rootDescr = 'Form'
! BaseTreeView.__init__(self, instance, root, parent)
self.rootObject._treeItemFormProperties = \
self.AppendItem(self.rootObject._treeItem, _("Properties"))
! self.SetItemImage(self.rootObject._treeItemFormProperties,
treeIconMap['properties'])
self.rootObject._treeItemImportedLibraries = \
self.AppendItem(self.rootObject._treeItem, _("Imported Libraries"))
! self.SetItemImage(self.rootObject._treeItemImportedLibraries,
treeIconMap['import'])
self.rootObject._treeItemDataSources = \
self.AppendItem(self.rootObject._treeItem, _("Data Sources"))
! self.SetItemImage(self.rootObject._treeItemDataSources,
treeIconMap['datasource'])
self.rootObject._treeItemNamedTriggers = \
self.AppendItem(self.rootObject._treeItem, _("Shared Triggers"))
! self.SetItemImage(self.rootObject._treeItemNamedTriggers,
treeIconMap['trigger'])
self.rootObject._treeItemPageLayout = \
self.AppendItem(self.rootObject._treeItem, _("Page Layout"))
! self.SetItemImage(self.rootObject._treeItemPageLayout,
treeIconMap['page'])
! self.SetPyData(self.rootObject._treeItem, self.rootObject)
! self.SetPyData(self.rootObject._treeItemFormProperties,
ObjectMenu(self.instance,None))
! self.SetPyData(self.rootObject._treeItemDataSources,
ObjectMenu(self.instance,None))
! self.SetPyData(self.rootObject._treeItemNamedTriggers,
ObjectMenu(self.instance,None))
! self.SetPyData(self.rootObject._treeItemPageLayout,
ObjectMenu(self.instance,None))
self.rootObject.walk(self.inventoryObject)
--- 39,72 ----
from gnue.designer.TreeView import TreeView as BaseTreeView
class TreeView (BaseTreeView):
! rootDescr = 'Form'
!
! def init(self):
!
! BaseTreeView.init(self)
self.rootObject._treeItemFormProperties = \
self.AppendItem(self.rootObject._treeItem, _("Properties"))
! self.tree.SetItemImage(self.rootObject._treeItemFormProperties,
treeIconMap['properties'])
self.rootObject._treeItemImportedLibraries = \
self.AppendItem(self.rootObject._treeItem, _("Imported Libraries"))
! self.tree.SetItemImage(self.rootObject._treeItemImportedLibraries,
treeIconMap['import'])
self.rootObject._treeItemDataSources = \
self.AppendItem(self.rootObject._treeItem, _("Data Sources"))
! self.tree.SetItemImage(self.rootObject._treeItemDataSources,
treeIconMap['datasource'])
self.rootObject._treeItemNamedTriggers = \
self.AppendItem(self.rootObject._treeItem, _("Shared Triggers"))
! self.tree.SetItemImage(self.rootObject._treeItemNamedTriggers,
treeIconMap['trigger'])
self.rootObject._treeItemPageLayout = \
self.AppendItem(self.rootObject._treeItem, _("Page Layout"))
! self.tree.SetItemImage(self.rootObject._treeItemPageLayout,
treeIconMap['page'])
! self.tree.SetPyData(self.rootObject._treeItem, self.rootObject)
! self.tree.SetPyData(self.rootObject._treeItemFormProperties,
ObjectMenu(self.instance,None))
! self.tree.SetPyData(self.rootObject._treeItemDataSources,
ObjectMenu(self.instance,None))
! self.tree.SetPyData(self.rootObject._treeItemNamedTriggers,
ObjectMenu(self.instance,None))
! self.tree.SetPyData(self.rootObject._treeItemPageLayout,
ObjectMenu(self.instance,None))
self.rootObject.walk(self.inventoryObject)
***************
*** 84,90 ****
if not hasattr(object._parent,'_treeItemTrigger'):
object._parent._treeItemTrigger = \
self.AppendItem(object._parent._treeItem, _("Events"))
! #self.SetItemImage(object._parent._treeItemTrigger,
treeIconMap['trigger'])
parentTreeItem = object._parent._treeItemTrigger
--- 89,95 ----
if not hasattr(object._parent,'_treeItemTrigger'):
object._parent._treeItemTrigger = \
self.AppendItem(object._parent._treeItem, _("Events"))
! #self.tree.SetItemImage(object._parent._treeItemTrigger,
treeIconMap['trigger'])
parentTreeItem = object._parent._treeItemTrigger
***************
*** 112,118 ****
object._treeItem = self.AppendItem(parentTreeItem,
"%s" % object.getDescription())
! self.SetPyData(object._treeItem, object)
! #self.SetItemImage(object._treeItem, treeIconMap[icon])
--- 117,123 ----
object._treeItem = self.AppendItem(parentTreeItem,
"%s" % object.getDescription())
! self.tree.SetPyData(object._treeItem, object)
! #self.tree.SetItemImage(object._treeItem, treeIconMap[icon])
Index: gnue/designer/src/navigator/Instance.py
diff -c gnue/designer/src/navigator/Instance.py:1.6
gnue/designer/src/navigator/Instance.py:1.7
*** gnue/designer/src/navigator/Instance.py:1.6 Mon Jul 22 19:04:59 2002
--- gnue/designer/src/navigator/Instance.py Fri Nov 22 20:48:02 2002
***************
*** 48,54 ****
def __init__(self, app, *args, **params):
self.properties = navProperties
!
BaseInstance.__init__(self, app, *args, **params)
--- 48,54 ----
def __init__(self, app, *args, **params):
self.properties = navProperties
!
BaseInstance.__init__(self, app, *args, **params)
***************
*** 72,84 ****
return LayoutEditor(self, self.rootObject, self)
! def addTools(self):
## self.addTool('propertyEditor','Property Inspector', PropertyEditor)
## self.addTool('treeEditor','Object Navigator', TreeView)
## self.addTool('triggerEditor','Event Editor', TriggerEditor)
## self.addTool('datasourceEditor','Data Source Editor', DataSourceEditor)
## self.addTool('schemaViewer','Schema Navigator', SchemaViewer)
self.loadWizards(wizards)
def preSave(self):
--- 72,85 ----
return LayoutEditor(self, self.rootObject, self)
! def createTools(self):
## self.addTool('propertyEditor','Property Inspector', PropertyEditor)
## self.addTool('treeEditor','Object Navigator', TreeView)
## self.addTool('triggerEditor','Event Editor', TriggerEditor)
## self.addTool('datasourceEditor','Data Source Editor', DataSourceEditor)
## self.addTool('schemaViewer','Schema Navigator', SchemaViewer)
+ def createWizards(self):
self.loadWizards(wizards)
def preSave(self):
Index: gnue/designer/src/reports/Instance.py
diff -c gnue/designer/src/reports/Instance.py:1.4
gnue/designer/src/reports/Instance.py:1.5
*** gnue/designer/src/reports/Instance.py:1.4 Mon Nov 4 09:55:51 2002
--- gnue/designer/src/reports/Instance.py Fri Nov 22 20:48:02 2002
***************
*** 48,54 ****
def __init__(self, app, *args, **params):
self.incubator = Incubator
self.properties = reportsProperties
!
#self._tableMappings = {}
BaseInstance.__init__(self, app, *args, **params)
--- 48,54 ----
def __init__(self, app, *args, **params):
self.incubator = Incubator
self.properties = reportsProperties
!
#self._tableMappings = {}
BaseInstance.__init__(self, app, *args, **params)
***************
*** 81,86 ****
--- 81,87 ----
self.addTool(_('schemaViewer'), _('Schema Navigator'), SchemaViewer)
+ def createWizards(self):
self.loadWizards(wizards)
Index: gnue/designer/src/schema/Instance.py
diff -c gnue/designer/src/schema/Instance.py:1.11
gnue/designer/src/schema/Instance.py:1.12
*** gnue/designer/src/schema/Instance.py:1.11 Mon Sep 16 19:26:10 2002
--- gnue/designer/src/schema/Instance.py Fri Nov 22 20:48:02 2002
***************
*** 48,54 ****
def __init__(self, app, *args, **params):
self.incubator = Incubator
self.properties = schemaProperties
!
self._tableMappings = {}
BaseInstance.__init__(self, app, *args, **params)
--- 48,54 ----
def __init__(self, app, *args, **params):
self.incubator = Incubator
self.properties = schemaProperties
!
self._tableMappings = {}
BaseInstance.__init__(self, app, *args, **params)
***************
*** 83,88 ****
--- 83,90 ----
self.addTool(_('propertyEditor'), _('Property Inspector'), PropertyEditor)
self.addTool(_('schemaViewer'), _('Schema Navigator'), SchemaViewer)
self.addTool(_('visualEditor'), _('Visual Editor'), VisualEditor)
+
+ def createWizards(self):
self.loadWizards(wizards)
Index: gnue/forms/src/GFForm.py
diff -c gnue/forms/src/GFForm.py:1.205 gnue/forms/src/GFForm.py:1.206
*** gnue/forms/src/GFForm.py:1.205 Fri Nov 22 00:36:10 2002
--- gnue/forms/src/GFForm.py Fri Nov 22 20:48:02 2002
***************
*** 230,240 ****
# an item of type Page, Block, or Entry
#
def findFocus(self, object):
entry = None
if isinstance(object, GFObj):
if (object._type in TabStops and
! (not object.hidden) and ((not object.readonly) or
(self._currentBlock and \
self._currentBlock.mode=='query' and \
object._queryable))):
--- 230,245 ----
# an item of type Page, Block, or Entry
#
def findFocus(self, object):
+
+ if object._type == 'GFField':
+ GDebug.printMesg(0,"Ack! A GFField was passed to 'findFocus'.")
+ object = object._fieldList[0]
+
entry = None
if isinstance(object, GFObj):
if (object._type in TabStops and
! (object._navigable) and ((not object.readonly) or
(self._currentBlock and \
self._currentBlock.mode=='query' and \
object._queryable))):
Index: gnue/forms/src/GFObjects/GFTabStop.py
diff -c gnue/forms/src/GFObjects/GFTabStop.py:1.1
gnue/forms/src/GFObjects/GFTabStop.py:1.2
*** gnue/forms/src/GFObjects/GFTabStop.py:1.1 Tue Sep 17 20:27:50 2002
--- gnue/forms/src/GFObjects/GFTabStop.py Fri Nov 22 20:48:03 2002
***************
*** 27,30 ****
--- 27,31 ----
from GFObj import GFObj
class GFTabStop(GFObj):
+ _navigable = 1
pass
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue designer/setup.py designer/src/Config.py d...,
Jason Cater <=