[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue common/src/GTrigger.py designer/src/EventE...
From: |
Jason Cater |
Subject: |
gnue common/src/GTrigger.py designer/src/EventE... |
Date: |
Mon, 25 Nov 2002 23:23:33 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/11/25 23:23:33
Modified files:
common/src : GTrigger.py
designer/src : EventEditor.py Instance.py PropertyEditor.py
ToolPanel.py TreeView.py TriggerEditor.py
designer/src/forms/LayoutEditor: LayoutEditor.py
forms/src : GFParser.py
Log message:
* More cleanup in Designer
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GTrigger.py.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/EventEditor.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/Instance.py.diff?tr1=1.69&tr2=1.70&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/PropertyEditor.py.diff?tr1=1.30&tr2=1.31&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/ToolPanel.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TreeView.py.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TriggerEditor.py.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditor.py.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFParser.py.diff?tr1=1.91&tr2=1.92&r1=text&r2=text
Patches:
Index: gnue/common/src/GTrigger.py
diff -c gnue/common/src/GTrigger.py:1.26 gnue/common/src/GTrigger.py:1.27
*** gnue/common/src/GTrigger.py:1.26 Mon Nov 4 09:55:51 2002
--- gnue/common/src/GTrigger.py Mon Nov 25 23:23:33 2002
***************
*** 622,634 ****
'name': {
'Unique': 1,
'Typecast': GTypecast.name },
- 'id': {
- 'Deprecated': 'Use name="..." instead.', # DEPRECATED: Use
name instead
- 'Typecast': GTypecast.name },
'type': {
'Typecast': GTypecast.uppername },
'src': {
! 'References': (('trigger','name'),),
'Typecast': GTypecast.name },
'language': {
'Typecast': GTypecast.name,
--- 622,631 ----
'name': {
'Unique': 1,
'Typecast': GTypecast.name },
'type': {
'Typecast': GTypecast.uppername },
'src': {
! 'References': 'trigger.name',
'Typecast': GTypecast.name },
'language': {
'Typecast': GTypecast.name,
Index: gnue/designer/src/EventEditor.py
diff -c gnue/designer/src/EventEditor.py:1.2
gnue/designer/src/EventEditor.py:1.3
*** gnue/designer/src/EventEditor.py:1.2 Mon Nov 25 00:41:41 2002
--- gnue/designer/src/EventEditor.py Mon Nov 25 23:23:33 2002
***************
*** 30,42 ****
import sys, os, string
from wxPython.wx import *
from wxPython.grid import *
! from gnue.common import GDebug, GTypecast
from ToolPanel import *
class EventEditor (ToolPanel):
runtime_section = 'EventEditor'
uses_feedback_header = 1
def init(self):
self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
--- 30,43 ----
import sys, os, string
from wxPython.wx import *
from wxPython.grid import *
! from gnue.common import GDebug, GTypecast, GTrigger
from ToolPanel import *
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))
***************
*** 50,55 ****
--- 51,58 ----
self.grid.CreateGrid(1,1)
self.grid.SetColLabelSize(0)
+ self.namedMap = {}
+
EVT_GRID_CELL_CHANGE(self.grid, self.OnCellChange)
EVT_GRID_CELL_LEFT_DCLICK(self.grid, self.OnLeftDClick)
EVT_SIZE(self, self.onSize)
***************
*** 62,67 ****
--- 65,73 ----
'ObjectDeleted' : self.onDeleteObject,
})
+ self.rootObject.walk(self.inventoryObject)
+
+
def onSetCurrentObject (self, event):
object = event.object
handler = event.originator
***************
*** 78,84 ****
self.object = object
try:
self.triggerList = object._validTriggers
! except AttributeError:
self.triggerList = {}
# Speed up the process by not refreshing the grid yet
--- 84,90 ----
self.object = object
try:
self.triggerList = object._validTriggers
! except AttributeError:
self.triggerList = {}
# Speed up the process by not refreshing the grid yet
***************
*** 96,115 ****
# Create the number of rows we'll need
self.grid.InsertRows(0,len(self.rowList))
- self.triggerTypes = {'NONE':'<None>',
- 'CUSTOM':'<Custom Trigger>',
- 'NAMED':'Named Trigger'}
i = 0
for key in self.rowList:
self.grid.SetRowLabelValue(i,self.triggerList[key])
self.grid.SetCellEditor(i, 0,
RestrictedCellEditor(self.grid,self.triggerTypes))
! self.grid.SetCellValue(i,0, "%s" % 'CUSTOM')
i = i + 1
# Redraw the grid
self.grid.EndBatch()
try:
self.grid.ForceRefresh() # Added in 2.3.1
--- 102,135 ----
# Create the number of rows we'll need
self.grid.InsertRows(0,len(self.rowList))
+ self.triggerTypes = {'':'(None)',
+ '(Custom Trigger)':'(Custom Trigger)'}
+
+ for name in self.namedMap.keys():
+ self.triggerTypes[name] = name + ' (named)'
+
+ mappedTriggers = {}
+ for child in object._children:
+ if isinstance(child, GTrigger.GTrigger):
+ if hasattr(child,'src') and child.src:
+ mappedTriggers[child.type.upper()] = child.src
+ else:
+ mappedTriggers[child.type.upper()] = '(Custom Trigger)'
i = 0
for key in self.rowList:
self.grid.SetRowLabelValue(i,self.triggerList[key])
self.grid.SetCellEditor(i, 0,
RestrictedCellEditor(self.grid,self.triggerTypes))
! try:
! self.grid.SetCellValue(i,0, "%s" % mappedTriggers[key])
! except KeyError:
! self.grid.SetCellValue(i,0, "%s" % '')
i = i + 1
# Redraw the grid
+ ## self.grid.AutoSize()
self.grid.EndBatch()
try:
self.grid.ForceRefresh() # Added in 2.3.1
***************
*** 118,125 ****
def onCreateObject (self, event):
! object = event.object
! handler = event.originator
def onModifyObject (self, event):
--- 138,144 ----
def onCreateObject (self, event):
! self.inventoryObject(event.object)
def onModifyObject (self, event):
***************
*** 127,135 ****
handler = event.originator
if object == None:
return
if handler != self and self.object == object:
- # for modification in modifications:
- # attribute, value = modification
self._setCurrent(object)
--- 146,162 ----
handler = event.originator
if object == None:
return
+ if isinstance(object,GTrigger.GTrigger) and \
+ object.type.upper() == 'NAMED' and \
+ event.new.has_key('name'):
+ try:
+ del self.namedMap[event.old['name']]
+ except KeyError:
+ pass
+ self.namedMap[object.name] = object
+ self._setCurrent(self.object)
+
if handler != self and self.object == object:
self._setCurrent(object)
***************
*** 142,147 ****
--- 169,179 ----
pass
+ def inventoryObject(self, object):
+ if isinstance(object,GTrigger.GTrigger) and object.type.upper() ==
'NAMED':
+ self.namedMap[object.name] = object
+
+
def onSize(self, event):
x,y = self.GetClientSizeTuple()
self.panel.SetSize((x-12,y-12))
***************
*** 156,168 ****
# Force a grid cell into Edit mode when Double-Clicked
! def OnLeftDClick(self,evt):
! if self.grid.CanEnableCellControl():
self.grid.EnableCellEditControl()
def OnCellChange(self, evt):
attr = self.rowList[evt.GetRow()]
value = self.grid.GetCellValue(evt.GetRow(), evt.GetCol())
try:
try:
--- 188,201 ----
# Force a grid cell into Edit mode when Double-Clicked
! def OnLeftDClick(self,evt):
! if self.grid.CanEnableCellControl():
self.grid.EnableCellEditControl()
def OnCellChange(self, evt):
attr = self.rowList[evt.GetRow()]
value = self.grid.GetCellValue(evt.GetRow(), evt.GetCol())
+ return
try:
try:
Index: gnue/designer/src/Instance.py
diff -c gnue/designer/src/Instance.py:1.69 gnue/designer/src/Instance.py:1.70
*** gnue/designer/src/Instance.py:1.69 Mon Nov 25 00:41:41 2002
--- gnue/designer/src/Instance.py Mon Nov 25 23:23:33 2002
***************
*** 208,275 ****
def _initTools(self):
! lefties = 0
! toppies = 0
! bottomites = 0
cache = []
for id, title, baseclass, hotkey in self._toolCache:
if not id: continue
- print "Dock-%s" % id
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, hotkey, pos) )
!
! if lefties:
self.horizSplitter = wxSplitterWindow(self, -1, style=wxSP_3D)
rightWin = leftWin = self.horizSplitter
- if lefties > 1:
- leftPane = MultiTooledPane(leftWin, self)
- else:
- leftPane = SingleTooledPane(leftWin, self)
-
else:
rightWin = leftWin = self
! if bottomites:
! topWin = bottomWin = self.vertSplitter = wxSplitterWindow(rightWin, -1,
style=wxSP_3D)
! if bottomites > 1:
! bottomPane = MultiTooledPane(bottomWin, self)
! else:
! bottomPane = SingleTooledPane(bottomWin, self)
else:
! topWin = bottomWin = rightWin
! if toppies > 1:
! topPane = MultiTooledPane(topWin, self)
else:
! topPane = SingleTooledPane(topWin, self)
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':
window = ToolFrame(self, title)
control = baseclass(self, self.rootObject, window)
window.control = control
! elif pos == 'left':
! control = leftPane.AddTool(title, baseclass, self.rootObject, self)
! window = leftPane.GetWindow()
! elif pos == 'top':
! control = topPane.AddTool(title, baseclass, self.rootObject, self)
! window = topPane.GetWindow()
! elif pos == 'bottom':
! control = bottomPane.AddTool(title, baseclass, self.rootObject,
self)
! window = bottomPane.GetWindow()
# Add ourselves to the Window menu
control._menutool = self._menubar.addTool(window, title, hotkey)
--- 208,301 ----
def _initTools(self):
! bl = 0
! br = 0
! tl = 0
! tr = 0
cache = []
for id, title, baseclass, hotkey in self._toolCache:
if not id: 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
! else:
! # Docked type
! pane = panemap[pos]
! control = pane.AddTool(title, baseclass, self.rootObject, self)
! window = pane.GetWindow()
# Add ourselves to the Window menu
control._menutool = self._menubar.addTool(window, title, hotkey)
***************
*** 277,290 ****
self.__dict__["%sWindow" % id] = window
self.__dict__[id] = control
! if lefties:
self.horizSplitter.SetSize(self.GetClientSize())
! self.horizSplitter.SplitVertically(leftPane.GetWindow(),
self.vertSplitter,
! RuntimeSettings.getint(self.runtime_section,
'DockSplitter-Horiz',200))
- if bottomites:
- self.vertSplitter.SplitHorizontally(topPane.GetWindow(),
bottomPane.GetWindow(),
- RuntimeSettings.getint(self.runtime_section,
'DockSplitter-Vert-Right',200))
# topPane.GetWindow().Fit()
--- 303,329 ----
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',200))
# topPane.GetWindow().Fit()
***************
*** 332,346 ****
'y': abs(y),
'height': height,
'width': width }
! try:
! settings['docksplitter-vert-right'] =
self.vertSplitter.GetSashPosition()
! except AttributeError:
! pass
! try:
! settings['DockSplitter-Horiz'] = self.horizSplitter.GetSashPosition()
! except AttributeError:
! pass
return ( self.runtime_section, settings )
--- 371,385 ----
'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 )
Index: gnue/designer/src/PropertyEditor.py
diff -c gnue/designer/src/PropertyEditor.py:1.30
gnue/designer/src/PropertyEditor.py:1.31
*** gnue/designer/src/PropertyEditor.py:1.30 Mon Nov 25 00:41:41 2002
--- gnue/designer/src/PropertyEditor.py Mon Nov 25 23:23:33 2002
***************
*** 36,41 ****
--- 36,42 ----
class PropertyEditor (ToolPanel):
runtime_section = 'PropertyEditor'
+ default_dock = DOCK_TOPLEFT
uses_feedback_header = 1
def init(self):
***************
*** 120,137 ****
i = 0
for key in self.rowList:
!
# This little tidbit does mixed case w/'_' as separators
words = string.split(key,'_')
! for j in range(len(words)):
try:
words[j] = string.upper(words[j][0]) + string.lower(words[j][1:])
! except IndexError:
words[j] = string.upper(words[j])
self.grid.SetRowLabelValue(i,string.join(words,' '))
! # Determine the type of Cell Editor we want
# (Integer, Boolean, Dropdown, Char)
if self.attributes[key].has_key('ValueSet'):
self.grid.SetCellEditor(i, 0,
RestrictedCellEditor(self.grid,self.attributes[key]))
--- 121,138 ----
i = 0
for key in self.rowList:
!
# This little tidbit does mixed case w/'_' as separators
words = string.split(key,'_')
! for j in range(len(words)):
try:
words[j] = string.upper(words[j][0]) + string.lower(words[j][1:])
! except IndexError:
words[j] = string.upper(words[j])
self.grid.SetRowLabelValue(i,string.join(words,' '))
! # Determine the type of Cell Editor we want
# (Integer, Boolean, Dropdown, Char)
if self.attributes[key].has_key('ValueSet'):
self.grid.SetCellEditor(i, 0,
RestrictedCellEditor(self.grid,self.attributes[key]))
***************
*** 140,146 ****
elif self.attributes[key]['Typecast'] in (GTypecast.integer,
GTypecast.number, GTypecast.whole):
self.grid.SetCellEditor(i, 0,
IntCellEditor(self.grid,self.attributes[key]))
! else:
self.grid.SetCellEditor(i, 0,
CharCellEditor(self.grid,self.attributes[key]))
--- 141,147 ----
elif self.attributes[key]['Typecast'] in (GTypecast.integer,
GTypecast.number, GTypecast.whole):
self.grid.SetCellEditor(i, 0,
IntCellEditor(self.grid,self.attributes[key]))
! else:
self.grid.SetCellEditor(i, 0,
CharCellEditor(self.grid,self.attributes[key]))
Index: gnue/designer/src/ToolPanel.py
diff -c gnue/designer/src/ToolPanel.py:1.2 gnue/designer/src/ToolPanel.py:1.3
*** gnue/designer/src/ToolPanel.py:1.2 Mon Nov 25 00:41:42 2002
--- gnue/designer/src/ToolPanel.py Mon Nov 25 23:23:33 2002
***************
*** 30,39 ****
from wxPython.wx import *
from gnue.common import RuntimeSettings, events
! DOCK_FRAME = 'frame' # The tool has its own frame
! DOCK_LEFT = 'left' # The tool is in the left split of the main window
! DOCK_TOP = 'top' # The tool is in the top split of the main window
! DOCK_BOTTOM = 'bottom' # The tool is in the bottom split of the main window
class ToolPanel (wxPanel, events.EventAware):
--- 30,40 ----
from wxPython.wx import *
from gnue.common import RuntimeSettings, 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):
Index: gnue/designer/src/TreeView.py
diff -c gnue/designer/src/TreeView.py:1.26 gnue/designer/src/TreeView.py:1.27
*** gnue/designer/src/TreeView.py:1.26 Mon Nov 25 00:41:42 2002
--- gnue/designer/src/TreeView.py Mon Nov 25 23:23:33 2002
***************
*** 38,47 ****
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):
--- 38,48 ----
from gnue.forms import GFForm, GFObjects, GFLibrary
from PopupMenu import ObjectMenu
from Icons import treeIconMap, treeIconList
! from ToolPanel import *
class TreeView (ToolPanel):
+ default_dock = DOCK_TOPLEFT
def init(self):
Index: gnue/designer/src/TriggerEditor.py
diff -c gnue/designer/src/TriggerEditor.py:1.22
gnue/designer/src/TriggerEditor.py:1.23
*** gnue/designer/src/TriggerEditor.py:1.22 Mon Nov 25 00:41:42 2002
--- gnue/designer/src/TriggerEditor.py Mon Nov 25 23:23:33 2002
***************
*** 44,50 ****
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):
--- 44,50 ----
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):
***************
*** 54,59 ****
--- 54,61 ----
EditorCtrl = FallbackPythonEditorControl
self.editor = EditorCtrl(self,-1, pos=wxPoint(0,32))
+ self.editor.InEditMode = 0
+
# self.SetSize(self.frame.GetClientSize())
# self.editor.SetSize(self.GetClientSize())
***************
*** 70,79 ****
self.editor.SetReadOnly(1)
self.triggerList = []
EVT_SIZE(self, self._onSize)
! # This isn't working! Argh!!!!!
! # EVT_KILL_FOCUS(self.editor, self.OnKillFocus)
! # So I'll do this instead (slower)
! EVT_TEXT(self, self.editor.GetId(), self.OnKillFocus)
self.__ignoreevent = 0
self.mode = NAMED_TRIGGER
--- 72,78 ----
self.editor.SetReadOnly(1)
self.triggerList = []
EVT_SIZE(self, self._onSize)
! EVT_KILL_FOCUS(self.editor, self.OnKillFocus)
self.__ignoreevent = 0
self.mode = NAMED_TRIGGER
***************
*** 93,103 ****
})
self.rootObject.walk(self.inventoryObject)
def OnNamedTriggerSelected(self, event):
! self.instance.onSetCurrentObject(
! self.namedTriggerList[event.GetSelection()], __name__)
def _onSize(self, event):
--- 92,105 ----
})
self.rootObject.walk(self.inventoryObject)
+ if self.object:
+ self._setObject(object)
def OnNamedTriggerSelected(self, event):
! self.dispatchEvent('ObjectSelected',
! object = self.namedTriggerList[event.GetSelection()],
! originator = None)
def _onSize(self, event):
***************
*** 113,118 ****
--- 115,124 ----
return
if isinstance(object, GTrigger.GTrigger):
+ self._setObject(object)
+
+
+ def _setObject(self, object):
self.__ignoreevent = 1
self.__ignoreevent = 0
***************
*** 126,134 ****
--- 132,142 ----
self.object._children = []
GParserHelpers.GContent(self.object, content)
+ self.editor.InEditMode = 0
self.editor.SetText(object.getChildrenAsContent())
self.editor.EmptyUndoBuffer()
self.editor.Colourise(0, -1)
+ self.editor.InEditMode = 1
if object.type == 'NAMED':
self.mode = NAMED_TRIGGER
***************
*** 140,150 ****
self.mode = EVENT_TRIGGER
def refillNamedTriggerCombo(self):
! i = self.namedTriggerCombo.GetSelection()
self.namedTriggerCombo.Clear()
for i in range(0, len(self.namedTriggerList)):
self.namedTriggerCombo.Append(self.namedTriggerList[i].name)
! self.namedTriggerCombo.SetSelection(i)
def inventoryObject(self, object):
if isinstance(object, GTrigger.GTrigger):
--- 148,166 ----
self.mode = EVENT_TRIGGER
def refillNamedTriggerCombo(self):
! cur = self.namedTriggerCombo.GetSelection()
self.namedTriggerCombo.Clear()
for i in range(0, len(self.namedTriggerList)):
self.namedTriggerCombo.Append(self.namedTriggerList[i].name)
! if cur > len(self.namedTriggerList):
! cur = 0
!
! self.namedTriggerCombo.SetSelection(cur)
! try:
! self._setObject(self._namedTriggerList[cur])
! except:
! pass
!
def inventoryObject(self, object):
if isinstance(object, GTrigger.GTrigger):
***************
*** 167,173 ****
def onModifyObject (self, event):
object = event.object
handler = event.originator
!
if object == None:
return
if handler != __name__:
--- 183,189 ----
def onModifyObject (self, event):
object = event.object
handler = event.originator
!
if object == None:
return
if handler != __name__:
***************
*** 209,216 ****
#
class PythonEditorControl(wxStyledTextCtrl):
! def __init__(self, *args, **parms):
! wxStyledTextCtrl.__init__(self, *args, **parms)
self.CmdKeyAssign(ord('B'), wxSTC_SCMOD_CTRL, wxSTC_CMD_ZOOMIN)
self.CmdKeyAssign(ord('N'), wxSTC_SCMOD_CTRL, wxSTC_CMD_ZOOMOUT)
--- 225,234 ----
#
class PythonEditorControl(wxStyledTextCtrl):
! def __init__(self, parent, *args, **parms):
! wxStyledTextCtrl.__init__(self, parent, *args, **parms)
!
! self.instance = parent.instance
self.CmdKeyAssign(ord('B'), wxSTC_SCMOD_CTRL, wxSTC_CMD_ZOOMIN)
self.CmdKeyAssign(ord('N'), wxSTC_SCMOD_CTRL, wxSTC_CMD_ZOOMOUT)
***************
*** 236,245 ****
--- 254,272 ----
self.SetMarginWidth(2, 15)
self.MarkerDefine(wxSTC_MARKNUM_FOLDER, wxSTC_MARK_ARROW, "navy", "navy")
self.MarkerDefine(wxSTC_MARKNUM_FOLDEROPEN, wxSTC_MARK_ARROWDOWN, "navy",
"navy")
+ ## self.MarkerDefine(wxSTC_MARKNUM_FOLDERSUB, wxSTC_MARK_VLINE , "navy",
"navy")
+
+
+ ## self.MarkerDefine(wxSTC_MARKNUM_FOLDERTAIL, 0, "navy", "navy") #
Collapsed
+ ## self.MarkerDefine(wxSTC_MARKNUM_FOLDEREND, 0, "navy", "navy") #
Collapsed
+ ## self.MarkerDefine(wxSTC_MARKNUM_FOLDEROPENMID, wxSTC_MARK_VLINE,
"navy", "navy") # Expanded
+ ## self.MarkerDefine(wxSTC_MARKNUM_FOLDERMIDTAIL, wxSTC_MARK_VLINE,
"navy", "navy") # End of Nested Folder
+ # Inside of Folder Marker
EVT_STC_UPDATEUI(self, self.GetId(), self.OnUpdateUI)
EVT_STC_MARGINCLICK(self, self.GetId(), self.OnMarginClick)
+ EVT_STC_MODIFIED(self, self.GetId(), self.OnChange)
# Make some styles, The lexer defines what each style is used for, we
***************
*** 284,290 ****
# Operators
self.StyleSetSpec(wxSTC_P_OPERATOR, "bold,size:%(size)d" % faces)
# Identifiers
! self.StyleSetSpec(wxSTC_P_IDENTIFIER,
"fore:#808080,face:%(helv)s,size:%(size)d" % faces)
# Comment-blocks
self.StyleSetSpec(wxSTC_P_COMMENTBLOCK, "fore:#7F7F7F,size:%(size)d" %
faces)
# End of line where string is not closed
--- 311,317 ----
# Operators
self.StyleSetSpec(wxSTC_P_OPERATOR, "bold,size:%(size)d" % faces)
# Identifiers
! self.StyleSetSpec(wxSTC_P_IDENTIFIER,
"fore:#202020,face:%(helv)s,size:%(size)d" % faces)
# Comment-blocks
self.StyleSetSpec(wxSTC_P_COMMENTBLOCK, "fore:#7F7F7F,size:%(size)d" %
faces)
# End of line where string is not closed
***************
*** 334,339 ****
--- 361,369 ----
else:
event.Skip()
+ def OnChange(self, evt):
+ if self.InEditMode:
+ self.instance.makeDirty()
def OnUpdateUI(self, evt):
# check for matching braces
***************
*** 470,481 ****
#
# TODO: A lot of this should be configurable
if wxPlatform == '__WXMSW__':
! faces = { 'times': 'Times New Roman',
'mono' : 'Courier New',
! 'helv' : 'Arial',
! 'other': 'Comic Sans MS',
'size' : 10,
! 'size2': 8,
}
else:
# faces = { 'times': 'Times',
--- 500,511 ----
#
# TODO: A lot of this should be configurable
if wxPlatform == '__WXMSW__':
! faces = { 'times': 'Courier New',
'mono' : 'Courier New',
! 'helv' : 'Courier New',
! 'other': 'Courier New',
'size' : 10,
! 'size2': 10,
}
else:
# faces = { 'times': 'Times',
***************
*** 489,496 ****
'mono' : 'Courier',
'helv' : 'Courier',
'other': 'Courier',
! 'size' : 9,
! 'size2': 9,
}
--- 519,526 ----
'mono' : 'Courier',
'helv' : 'Courier',
'other': 'Courier',
! 'size' : 10,
! 'size2': 10,
}
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditor.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.35
gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.36
*** gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.35 Mon Nov 25
00:41:42 2002
--- gnue/designer/src/forms/LayoutEditor/LayoutEditor.py Mon Nov 25
23:23:33 2002
***************
*** 49,55 ****
class LayoutEditor (ToolPanel):
runtime_section = "FormsLayoutEditor"
! default_dock = DOCK_TOP
uses_feedback_header = 1
def init(self):
--- 49,55 ----
class LayoutEditor (ToolPanel):
runtime_section = "FormsLayoutEditor"
! default_dock = DOCK_TOPRIGHT
uses_feedback_header = 1
def init(self):
Index: gnue/forms/src/GFParser.py
diff -c gnue/forms/src/GFParser.py:1.91 gnue/forms/src/GFParser.py:1.92
*** gnue/forms/src/GFParser.py:1.91 Mon Nov 25 11:44:18 2002
--- gnue/forms/src/GFParser.py Mon Nov 25 23:23:33 2002
***************
*** 202,208 ****
'Description': 'If set then the user will be unable to request
'
'that new records be inserted into the block.'
},
'datasource': {
! 'References': (('datasource','name'),),
'Typecast': GTypecast.name,
'Description': 'The name of a datasource (defined in by a '
'{<datasource>} tag.) that provides this block '
--- 202,208 ----
'Description': 'If set then the user will be unable to request
'
'that new records be inserted into the block.'
},
'datasource': {
! 'References': 'datasource.name',
'Typecast': GTypecast.name,
'Description': 'The name of a datasource (defined in by a '
'{<datasource>} tag.) that provides this block '
***************
*** 332,337 ****
--- 332,338 ----
## 'something like the full name of a US state
but '
## 'only store it\'s 2 character abrievation.' },
'fk_source': {
+ 'References': 'datasource.name',
'Typecast': GTypecast.name,
'Description': 'TODO' },
'fk_key': {
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue common/src/GTrigger.py designer/src/EventE...,
Jason Cater <=