[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r5852 - in trunk: gnue-common/src/logic gnue-forms/src gnue-forms/src/GF
From: |
jcater |
Subject: |
r5852 - in trunk: gnue-common/src/logic gnue-forms/src gnue-forms/src/GFObjects gnue-forms/src/uidrivers/wx/widgets gnue-navigator/src |
Date: |
Tue, 1 Jun 2004 18:17:27 -0500 (CDT) |
Author: jcater
Date: 2004-06-01 18:17:26 -0500 (Tue, 01 Jun 2004)
New Revision: 5852
Modified:
trunk/gnue-common/src/logic/NamespaceCore.py
trunk/gnue-forms/src/GFInstance.py
trunk/gnue-forms/src/GFObjects/GFEntry.py
trunk/gnue-forms/src/GFObjects/GFImage.py
trunk/gnue-forms/src/GFParser.py
trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
trunk/gnue-navigator/src/GNObjects.py
Log:
* Added entry.On-Next-Entry and entry.On-Previous-Entry navigational triggers
* Fixed issue with entry-level triggers bombing on form startup
* Fixed navigation issues with <image>s
Modified: trunk/gnue-common/src/logic/NamespaceCore.py
===================================================================
--- trunk/gnue-common/src/logic/NamespaceCore.py 2004-06-01 04:45:26 UTC
(rev 5851)
+++ trunk/gnue-common/src/logic/NamespaceCore.py 2004-06-01 23:17:26 UTC
(rev 5852)
@@ -59,7 +59,7 @@
}
self._rname = rootName
-
+
if objectTree:
self._globalNamespace[self._rname] =
self.constructTriggerObject(objectTree)
else:
@@ -142,7 +142,7 @@
class NamespaceElement(GObj):
def __init__(self, parent):
GObj.__init__(self,parent)
- self._parent = parent
+ self.__dict__['_parent'] = parent
self._triggerProperties = NamespaceElementProperties()
self._triggerSet = None
self._triggerGet = None
@@ -151,13 +151,13 @@
#
#
#
- def __repr__(self):
+ def __repr__(self):
try:
return "NamespaceElement(%s) at %s" % (self._object.__class__, id(self))
except:
return "NamespaceElement at %s" % (id(self))
-
-
+
+
#
# showTree
#
@@ -254,7 +254,7 @@
def __cmp__(self,other):
selfvalue = "%s" % self
othervalue = "%s" % other
-
+
if selfvalue == othervalue:
return 0
elif selfvalue < othervalue:
@@ -291,21 +291,21 @@
string = self.__str__()
return string[key.start:key.stop]
-
+
#
# __iter__
#
# Python iterator support
#
- def __iter__(self):
+ def __iter__(self):
return iter(self._object)
-
+
#
# NamespaceFunction
#
# Accessor class for functions that are made available in the trigger
# namespace
-#
+#
class NamespaceFunction:
def __init__(self, name, functionLink):
self._name = name
Modified: trunk/gnue-forms/src/GFInstance.py
===================================================================
--- trunk/gnue-forms/src/GFInstance.py 2004-06-01 04:45:26 UTC (rev 5851)
+++ trunk/gnue-forms/src/GFInstance.py 2004-06-01 23:17:26 UTC (rev 5852)
@@ -488,11 +488,15 @@
"""
if not event._form.endEditing():
return
- message = event._form.nextEntry()
- if message:
- self.displayMessageBox( message)
- return
- self.dispatchEvent('gotoENTRY',object=event._form._currentEntry,
_form=event._form)
+ origEntry = event._form._currentEntry
+ event._form._currentEntry.processTrigger('ON-NEXT-ENTRY',
ignoreAbort=False)
+ # If the trigger changed focus, no need in us doing it too...
+ if origEntry == event._form._currentEntry:
+ message = event._form.nextEntry()
+ if message:
+ self.displayMessageBox( message)
+ return
+ self.dispatchEvent('gotoENTRY',object=event._form._currentEntry,
_form=event._form)
self.updateRecordStatus(event._form)
self.updateTip(event._form)
@@ -507,9 +511,13 @@
if not event._form.endEditing():
return
- event._form.previousEntry()
+ origEntry = event._form._currentEntry
+ event._form._currentEntry.processTrigger('ON-PREVIOUS-ENTRY',
ignoreAbort=False)
+ # If the trigger changed focus, no need in us doing it too...
+ if origEntry == event._form._currentEntry:
+ event._form.previousEntry()
+ self.dispatchEvent('gotoENTRY',object=event._form._currentEntry,
_form=event._form)
- self.dispatchEvent('gotoENTRY',object=event._form._currentEntry,
_form=event._form)
self.updateRecordStatus(event._form)
self.updateTip(event._form)
Modified: trunk/gnue-forms/src/GFObjects/GFEntry.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFEntry.py 2004-06-01 04:45:26 UTC (rev
5851)
+++ trunk/gnue-forms/src/GFObjects/GFEntry.py 2004-06-01 23:17:26 UTC (rev
5852)
@@ -56,7 +56,6 @@
self._rows = 1
self._gap = 0
- # TODO: Conversion: Dunno about any of these triggers
#
# Trigger exposure
#
@@ -64,11 +63,12 @@
'POST-FOCUSOUT': 'Post-FocusOut',
'PRE-FOCUSIN': 'Pre-FocusIn',
'POST-FOCUSIN': 'Post-FocusIn',
+ 'ON-NEXT-ENTRY': 'On-Next-Entry',
+ 'ON-PREVIOUS-ENTRY': 'On-Previous-Entry',
}
self._triggerFunctions={'set':{'function':self.triggerSetValue},
'get':{'function':self.getValue}
-
- }
+ }
self._triggerSet = self.triggerSetValue
self._triggerGet = self.getValue
Modified: trunk/gnue-forms/src/GFObjects/GFImage.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFImage.py 2004-06-01 04:45:26 UTC (rev
5851)
+++ trunk/gnue-forms/src/GFObjects/GFImage.py 2004-06-01 23:17:26 UTC (rev
5852)
@@ -32,15 +32,15 @@
# Copyright (c) 2000 Free Software Foundation
#
-from GFValue import GFValue
from GFTabStop import GFTabStop
+from GFTabStop import GFTabStop
from gnue.forms import GFDisplayHandler
#
#GFLabel
#
-class GFImage(GFValue, GFTabStop):
+class GFImage(GFTabStop):
def __init__(self, parent=None, value=None):
- GFValue.__init__(self, parent, value, 'GFImage')
+ GFTabStop.__init__(self, parent, 'GFImage')
# Default attributes (these may be replaced by parser)
self.type = "URL"
@@ -49,17 +49,17 @@
# Runtime Variables
self._inits = [self.initialize]
- self.isNavigable = GFTabStop.isNavigable
+# self.isNavigable = GFTabStop.isNavigable
def _buildObject(self):
if not hasattr(self, 'rows') and hasattr(self,'visibleCount'):
self.rows = self.visibleCount
del self.visibleCount
- return GFValue._buildObject(self)
+ return GFTabStop._buildObject(self)
def setValue(self, value):
if not self._value:
- GFValue.setValue(self,value)
+ GFTabStop.setValue(self,value)
#
# Routines called during a phaseInit
@@ -74,14 +74,14 @@
self._block = block =
self.findParentOfType('GFForm')._logic._blockMap[self.block]
block._entryList.append(self)
except KeyError:
- raise "Entry references non-existent block '%s'" % self.block
+ raise "Image references non-existent block '%s'" % self.block
# ...Field
try:
self._field = field = block._fieldMap[self.field]
field._entryList.append(self)
except KeyError:
- raise "Entry references non-existent field '%s'" % self.field
+ raise "Image references non-existent field '%s'" % self.field
# ...Page
self._page = self.findParentOfType('GFPage')
@@ -100,3 +100,7 @@
+ def isNavigable(self, mode):
+ # TODO: Check for read-only, etc
+ return GFTabStop.isNavigable(self, mode)
+
Modified: trunk/gnue-forms/src/GFParser.py
===================================================================
--- trunk/gnue-forms/src/GFParser.py 2004-06-01 04:45:26 UTC (rev 5851)
+++ trunk/gnue-forms/src/GFParser.py 2004-06-01 23:17:26 UTC (rev 5852)
@@ -529,13 +529,6 @@
'Required': True,
'References': 'block.name',
'Description': 'The name of the block that this ties to.' },
-## 'height': {
-## 'Typecast': GTypecast.whole,
-# ## 'Default': 1,
-## 'Description': 'The height of the entry in text rows. ' },
-## 'width': {
-## 'Typecast': GTypecast.whole,
-## 'Description': 'The width of the entry in text columns.' },
'focusorder': {
'Typecast': GTypecast.whole,
'Label': _('Focus Order'),
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py 2004-06-01 04:45:26 UTC
(rev 5851)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py 2004-06-01 23:17:26 UTC
(rev 5852)
@@ -44,7 +44,7 @@
"""
A wxPython-based UI driver for GNUe Forms
"""
-
+
def _createWidget(self, event, spacer):
"""
Creates a single instance of a data entry widget
@@ -70,11 +70,11 @@
elif gConfigForms('dropdownMode') == 'gtk1':
self.dropdownMode = 'gtk1'
self.comboHandler = self._gtk1ComboHandler
-
+
if event.initialize:
choices = []
for val in object._field.allowedValues()[1]:
- choices.append(wxEncode(val))
+ choices.append(wxEncode(val))
else:
choices = [""]
@@ -98,7 +98,7 @@
if event.initialize:
choices = []
for val in object._field.allowedValues()[1]:
- choices.append(wxEncode(val))
+ choices.append(wxEncode(val))
else:
choices = [""]
@@ -155,10 +155,10 @@
When a value is selected from the list, we call replaceText, via event
requestREPLACEVALUE
"""
action = None
- eventType = event.GetEventType()
+ eventType = event.GetEventType()
if self.comboDropped == True:
- if eventType in [wxEVT_COMMAND_COMBOBOX_SELECTED,
- wxEVT_COMMAND_TEXT_UPDATED,
+ if eventType in [wxEVT_COMMAND_COMBOBOX_SELECTED,
+ wxEVT_COMMAND_TEXT_UPDATED,
wxEVT_COMMAND_TEXT_ENTER]:
self.comboDropped = False
@@ -183,7 +183,7 @@
self._eventHandler(action)
#event.Skip() #Is it needed here?
-
+
def _gtk1ComboHandler(self, event):
"""
Handles combobox for gtk1 style wx. Unlike the windows handler opening a
combobox
@@ -193,8 +193,8 @@
eventType = event.GetEventType()
#print "Mode: ", self.dropdownMode
#print "Selected: %s\nUpdated: %s\nTextEnter: %s\nEventType %s -
DropDown Open? %s " % (wxEVT_COMMAND_COMBOBOX_SELECTED,
wxEVT_COMMAND_TEXT_UPDATED,
wxEVT_COMMAND_TEXT_ENTER,eventType,self.comboDropped)
-
- if eventType in [wxEVT_COMMAND_COMBOBOX_SELECTED,
+
+ if eventType in [wxEVT_COMMAND_COMBOBOX_SELECTED,
wxEVT_COMMAND_TEXT_ENTER]:
object = _eventObjTowxWindow(event)
gfObject = self._uiDriver._IdToGFObj[object.GetId()]
@@ -213,8 +213,8 @@
Handles listbox events
"""
action = None
- eventType = event.GetEventType()
- if eventType in [wxEVT_COMMAND_LISTBOX_SELECTED,
+ eventType = event.GetEventType()
+ if eventType in [wxEVT_COMMAND_LISTBOX_SELECTED,
wxEVT_COMMAND_LISTBOX_DOUBLECLICKED]:
object = _eventObjTowxWindow(event)
@@ -226,8 +226,8 @@
_form=gfObject._form)
self._eventHandler(action)
-
+
def checkboxHandler(self,event):
"""
Handles checkbox toggling if checkbox is clicked.
Modified: trunk/gnue-navigator/src/GNObjects.py
===================================================================
--- trunk/gnue-navigator/src/GNObjects.py 2004-06-01 04:45:26 UTC (rev
5851)
+++ trunk/gnue-navigator/src/GNObjects.py 2004-06-01 23:17:26 UTC (rev
5852)
@@ -32,7 +32,7 @@
from gnue.common.apps import GDebug, GConfig
from gnue import paths
import GNParser
-try:
+try:
from gnue.reports.base import GREngine,GRExceptions
REPORTS_SUPPORT=1
except ImportError:
@@ -93,10 +93,10 @@
def _runReport(self, step):
global REPORTS_SUPPORT
- if not REPORTS_SUPPORT:
+ if not REPORTS_SUPPORT:
print "WARNING: Reports support not installed!"
- return
-
+ return
+
reportCommand = gConfigNav('RunReportCommand')
# get the name of the report
@@ -108,7 +108,7 @@
reportfile = os.path.join (paths.data, reportdir, step.location)
else:
reportfile = step.location
-
+
# default parameter should be loaded from GREngine itself
params ={
'destination_type':'file',
@@ -120,7 +120,7 @@
'sortoption':'',
'comment':None,
'exclude_xml':None }
-
+
# get parameters
# moved to GNStep - jst
#for child in step._children:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r5852 - in trunk: gnue-common/src/logic gnue-forms/src gnue-forms/src/GFObjects gnue-forms/src/uidrivers/wx/widgets gnue-navigator/src,
jcater <=