dabo Commit
Revision 6013
Date: 2010-09-12 14:34:34 -0700 (Sun, 12 Sep 2010)
Author: Ed
Trac: http://trac.dabodev.com/changeset/6013

Changed:
U   trunk/dabo/LICENSE.TXT
U   trunk/dabo/__init__.py
U   trunk/dabo/__version__.py
U   trunk/dabo/biz/RemoteBizobj.py
U   trunk/dabo/biz/dAutoBizobj.py
U   trunk/dabo/biz/dBizobj.py
U   trunk/dabo/biz/test/test_dBizobj.py
U   trunk/dabo/dApp.py
U   trunk/dabo/dBug.py
U   trunk/dabo/dColors.py
U   trunk/dabo/dEvents.py
U   trunk/dabo/dLocalize.py
U   trunk/dabo/dObject.py
U   trunk/dabo/dPref.py
U   trunk/dabo/dReportWriter.py
U   trunk/dabo/dSecurityManager.py
U   trunk/dabo/dUserSettingProvider.py
U   trunk/dabo/db/__init__.py
U   trunk/dabo/db/dBackend.py
U   trunk/dabo/db/dConnectInfo.py
U   trunk/dabo/db/dConnection.py
U   trunk/dabo/db/dDataSet.py
U   trunk/dabo/db/dNoEscQuoteStr.py
U   trunk/dabo/db/dTable.py
U   trunk/dabo/db/dbFirebird.py
U   trunk/dabo/db/dbMsSQL.py
U   trunk/dabo/db/dbMySQL.py
U   trunk/dabo/db/dbOracle.py
U   trunk/dabo/db/dbSQLite.py
U   trunk/dabo/db/dbTemplate.py
U   trunk/dabo/db/dbWeb.py
U   trunk/dabo/db/test/test_dCursorMixin.py
U   trunk/dabo/icons/__init__.py
U   trunk/dabo/lib/DesignerClassConverter.py
U   trunk/dabo/lib/DesignerUtils.py
U   trunk/dabo/lib/EasyDialogBuilder.py
U   trunk/dabo/lib/SimpleCrypt.py
U   trunk/dabo/lib/StopWatch.py
U   trunk/dabo/lib/autosuper/LICENSE.TXT
U   trunk/dabo/lib/autosuper/autosuper.py
U   trunk/dabo/lib/autosuper/autosuper_unittest.py
U   trunk/dabo/lib/caselessDict.py
U   trunk/dabo/lib/connParser.py
U   trunk/dabo/lib/datanav/Bizobj.py
U   trunk/dabo/lib/datanav/Form.py
U   trunk/dabo/lib/datanav/Grid.py
U   trunk/dabo/lib/datanav/Page.py
U   trunk/dabo/lib/datanav/PageFrame.py
U   trunk/dabo/lib/dates.py
U   trunk/dabo/lib/dejavuJSON.py
U   trunk/dabo/lib/doDefaultMixin.py
U   trunk/dabo/lib/eventMixin.py
U   trunk/dabo/lib/manifest.py
U   trunk/dabo/lib/propertyHelperMixin.py
U   trunk/dabo/lib/reportUtils.py
U   trunk/dabo/lib/reportWriter.py
U   trunk/dabo/lib/reporting_stefano/objects.py
U   trunk/dabo/lib/reporting_stefano/serialization/__init__.py
U   trunk/dabo/lib/reporting_stefano/serialization/attributes.py
U   trunk/dabo/lib/reporting_stefano/serialization/serialization.py
U   trunk/dabo/lib/reporting_stefano/util.py
U   trunk/dabo/lib/specParser.py
U   trunk/dabo/lib/test/test_dates.py
U   trunk/dabo/lib/test/test_utils.py
U   trunk/dabo/lib/utils.py
U   trunk/dabo/lib/uuid.py
U   trunk/dabo/lib/xmltodict.py
U   trunk/dabo/settings.py
U   trunk/dabo/ui/__init__.py
U   trunk/dabo/ui/dControlMixinBase.py
U   trunk/dabo/ui/dDataControlMixinBase.py
U   trunk/dabo/ui/dPemMixinBase.py
U   trunk/dabo/ui/dialogs/HotKeyEditor.py
U   trunk/dabo/ui/dialogs/PreferenceDialog.py
U   trunk/dabo/ui/dialogs/SortingForm.py
U   trunk/dabo/ui/dialogs/Wizard.py
U   trunk/dabo/ui/dialogs/WizardPage.py
U   trunk/dabo/ui/dialogs/about.py
U   trunk/dabo/ui/dialogs/login.py
U   trunk/dabo/ui/uitk/__init__.py
U   trunk/dabo/ui/uitk/dCheckBox.py
U   trunk/dabo/ui/uitk/dControlMixin.py
U   trunk/dabo/ui/uitk/dFormMain.py
U   trunk/dabo/ui/uitk/dFormMixin.py
U   trunk/dabo/ui/uitk/dLabel.py
U   trunk/dabo/ui/uitk/dPemMixin.py
U   trunk/dabo/ui/uitk/test.py
U   trunk/dabo/ui/uitk/uiApp.py
U   trunk/dabo/ui/uiwx/__init__.py
U   trunk/dabo/ui/uiwx/alignmentMixin.py
U   trunk/dabo/ui/uiwx/concordance.py
U   trunk/dabo/ui/uiwx/dBaseMenuBar.py
U   trunk/dabo/ui/uiwx/dBitmap.py
U   trunk/dabo/ui/uiwx/dBorderSizer.py
U   trunk/dabo/ui/uiwx/dBorderlessButton.py
U   trunk/dabo/ui/uiwx/dBox.py
U   trunk/dabo/ui/uiwx/dButton.py
U   trunk/dabo/ui/uiwx/dCalendar.py
U   trunk/dabo/ui/uiwx/dCheckBox.py
U   trunk/dabo/ui/uiwx/dCheckList.py
U   trunk/dabo/ui/uiwx/dColorDialog.py
U   trunk/dabo/ui/uiwx/dComboBox.py
U   trunk/dabo/ui/uiwx/dControlItemMixin.py
U   trunk/dabo/ui/uiwx/dControlMixin.py
U   trunk/dabo/ui/uiwx/dDataControlMixin.py
U   trunk/dabo/ui/uiwx/dDateTextBox.py
U   trunk/dabo/ui/uiwx/dDockForm.py
U   trunk/dabo/ui/uiwx/dDropdownList.py
U   trunk/dabo/ui/uiwx/dEditBox.py
U   trunk/dabo/ui/uiwx/dEditableList.py
U   trunk/dabo/ui/uiwx/dEditor.py
U   trunk/dabo/ui/uiwx/dFileDialog.py
U   trunk/dabo/ui/uiwx/dFont.py
U   trunk/dabo/ui/uiwx/dFontDialog.py
U   trunk/dabo/ui/uiwx/dGauge.py
U   trunk/dabo/ui/uiwx/dGlWindow.py
U   trunk/dabo/ui/uiwx/dGrid.py
U   trunk/dabo/ui/uiwx/dGridSizer.py
U   trunk/dabo/ui/uiwx/dHtmlBox.py
U   trunk/dabo/ui/uiwx/dHyperLink.py
U   trunk/dabo/ui/uiwx/dIcons.py
U   trunk/dabo/ui/uiwx/dImage.py
U   trunk/dabo/ui/uiwx/dImageMixin.py
U   trunk/dabo/ui/uiwx/dKeys.py
U   trunk/dabo/ui/uiwx/dLabel.py
U   trunk/dabo/ui/uiwx/dLed.py
U   trunk/dabo/ui/uiwx/dLine.py
U   trunk/dabo/ui/uiwx/dLinePlot.py
U   trunk/dabo/ui/uiwx/dListBox.py
U   trunk/dabo/ui/uiwx/dListControl.py
U   trunk/dabo/ui/uiwx/dMaskedTextBox.py
U   trunk/dabo/ui/uiwx/dMenu.py
U   trunk/dabo/ui/uiwx/dMenuBar.py
U   trunk/dabo/ui/uiwx/dMenuItem.py
U   trunk/dabo/ui/uiwx/dMessageBox.py
U   trunk/dabo/ui/uiwx/dPage.py
U   trunk/dabo/ui/uiwx/dPageFrameMixin.py
U   trunk/dabo/ui/uiwx/dPageFrameNoTabs.py
U   trunk/dabo/ui/uiwx/dPanel.py
U   trunk/dabo/ui/uiwx/dPdfWindow.py
U   trunk/dabo/ui/uiwx/dPemMixin.py
U   trunk/dabo/ui/uiwx/dProgressDialog.py
U   trunk/dabo/ui/uiwx/dRadioList.py
U   trunk/dabo/ui/uiwx/dReportProgress.py
U   trunk/dabo/ui/uiwx/dRichTextBox.py
U   trunk/dabo/ui/uiwx/dSearchBox.py
U   trunk/dabo/ui/uiwx/dShell.py
U   trunk/dabo/ui/uiwx/dSizer.py
U   trunk/dabo/ui/uiwx/dSizerMixin.py
U   trunk/dabo/ui/uiwx/dSlidePanelControl.py
U   trunk/dabo/ui/uiwx/dSlider.py
U   trunk/dabo/ui/uiwx/dSpinner.py
U   trunk/dabo/ui/uiwx/dSplitForm.py
U   trunk/dabo/ui/uiwx/dSplitter.py
U   trunk/dabo/ui/uiwx/dStatusBar.py
U   trunk/dabo/ui/uiwx/dTextBox.py
U   trunk/dabo/ui/uiwx/dTextBoxMixin.py
U   trunk/dabo/ui/uiwx/dTimer.py
U   trunk/dabo/ui/uiwx/dToggleButton.py
U   trunk/dabo/ui/uiwx/dToolBar.py
U   trunk/dabo/ui/uiwx/dTreeView.py
U   trunk/dabo/ui/uiwx/dUICursors.py
U   trunk/dabo/ui/uiwx/gridRenderers.py
U   trunk/dabo/ui/uiwx/test/test_dEditBox.py
U   trunk/dabo/ui/uiwx/test/test_dForm.py
U   trunk/dabo/ui/uiwx/test/test_dTextBox.py
U   trunk/dabo/ui/uiwx/test.py
U   trunk/dabo/ui/uiwx/uiApp.py

Log:
Mass-removed all trailing whitespace. No code logic changes at all.

Diff:
Modified: trunk/dabo/LICENSE.TXT
===================================================================
--- trunk/dabo/LICENSE.TXT      2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/LICENSE.TXT      2010-09-12 21:34:34 UTC (rev 6013)
@@ -2,20 +2,20 @@
 Copyright (c) 2004-2007 Ed Leafe, Paul McNett, et. al.
 
 Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in 
-the Software  without restriction, including without limitation the  rights to 
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 
-of the Software, and to permit persons to whom the Software is furnished to do 
+this software and associated documentation files (the "Software"), to deal in
+the Software  without restriction, including without limitation the  rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
 so, subject to the following conditions:
 
-The above copyright notice and this permission notice shall be included in all 
+The above copyright notice and this permission notice shall be included in all
 copies or substantial portions of the Software.
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
 

Modified: trunk/dabo/__init__.py
===================================================================
--- trunk/dabo/__init__.py      2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/__init__.py      2010-09-12 21:34:34 UTC (rev 6013)
@@ -123,7 +123,7 @@
 dAppRef = None
 
 # Import global settings (do this first, as other imports may rely on it):
-# NOTE: Yeah, it's namespace pollution, but in this case it is deliberate: 
+# NOTE: Yeah, it's namespace pollution, but in this case it is deliberate:
 # we want to make them part of the dabo namespace.
 from settings import *
 
@@ -178,7 +178,7 @@
                fileFormatter.datefmt = mainLogDateFormat
                fileLogHandler.setFormatter(fileFormatter)
                log.addHandler(fileLogHandler)
-       
+
        dbConsoleLogHandler = logging.StreamHandler()
        dbConsoleLogHandler.setLevel(dbLogConsoleLevel)
        dbConsoleFormatter = logging.Formatter(dbConsoleFormat)

Modified: trunk/dabo/__version__.py
===================================================================
--- trunk/dabo/__version__.py   2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/__version__.py   2010-09-12 21:34:34 UTC (rev 6013)
@@ -9,7 +9,7 @@
 import lib
 
 _revision = None
-# First, try to get the revision from svninfo, which lets the developer go 
back 
+# First, try to get the revision from svninfo, which lets the developer go back
 # and forth through revisions and the version information will still reflect
 # reality.
 package_path = os.path.split(os.path.split(lib.__file__)[0])[0]

Modified: trunk/dabo/biz/RemoteBizobj.py
===================================================================
--- trunk/dabo/biz/RemoteBizobj.py      2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/biz/RemoteBizobj.py      2010-09-12 21:34:34 UTC (rev 6013)
@@ -61,7 +61,7 @@
                        kf, crsData = pickle.load(f)
                        f.close()
                        biz.KeyField = kf
-                       # This is a dict with cursor keys as the keys, and 
+                       # This is a dict with cursor keys as the keys, and
                        # values as a (dataset, typedef) tuple.
                        for kk, (ds, typinfo) in crsData.items():
                                tmpCursor = biz.createCursor(key=kk)
@@ -69,7 +69,7 @@
                return biz
 
 
-       def setConnectionParams(self, cxnfile=None, dbType=None, database=None, 
+       def setConnectionParams(self, cxnfile=None, dbType=None, database=None,
                        host=None, user=None, password=None, 
plainTextPassword=None):
                if cxnfile:
                        cxDict = importConnections(cxnfile)
@@ -112,8 +112,8 @@
                remoteChar = "~~"
                localChar = self._CurrentCursor.BackendObject.nameEnclosureChar
                self.UserSQL = sql.replace(remoteChar, localChar)
-               
 
+
        def applyDiffAndSave(self, diff, primary=False):
                """Diffs are dicts in the format:
                        {hashval: (DataSource, KeyField, [changes])}
@@ -127,7 +127,7 @@
                be present is the hashval for this bizobj. If this bizobj has 
related child
                bizobjs, and they have changes, there will be a 'children' key 
that will
                contain a list of one diff for each child bizobj with changes.
-               
+
                If this is the primary bizobj called from the web server, the 
'primary'
                parameter will be true, meaning that this bizobj will handle 
transactions.
                """
@@ -171,7 +171,7 @@
                                                abort(404, _("DataSource '%s' 
not found") % kidDS)
                                        kidBiz = kidClass.load(kidHash, kidDS)
                                        kidBiz.applyDiffAndSave({kidHash: 
kidInfo})
-                       
+
                        try:
                                self.saveAll()
                        except dException.ConnectionLostException, e:

Modified: trunk/dabo/biz/dAutoBizobj.py
===================================================================
--- trunk/dabo/biz/dAutoBizobj.py       2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/biz/dAutoBizobj.py       2010-09-12 21:34:34 UTC (rev 6013)
@@ -283,7 +283,7 @@
                                        self.new()
                                        for col, val in zip(to_insert[0], row):
                                                self.setFieldVal(col, val)
-                                       
+
                                        try:
                                                self.save()
                                        except dException.DBQueryException, e:

Modified: trunk/dabo/biz/dBizobj.py
===================================================================
--- trunk/dabo/biz/dBizobj.py   2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/biz/dBizobj.py   2010-09-12 21:34:34 UTC (rev 6013)
@@ -40,11 +40,11 @@
 
                # PKs of rows to be filtered out when filtering Virtual fields
                self.__filterPKVirtual = []
-               
+
                self._beforeInit()
                # This starts as a list that will hold cursors created in the 
initial process
                # if RequeryOnLoad is True. This is necessary because not all 
of the required
-               # properties will have been set at this point. 
+               # properties will have been set at this point.
                # It will be set to None in the _afterInit() code, to indicate 
that it is no longer relevant.
                self.__cursorsToRequery = []
                self._requeryOnLoad = self._extractKey((properties, kwargs), 
"RequeryOnLoad", False)
@@ -172,8 +172,8 @@
                        if params or requery:
                                cur.requery(params)
                return cur
-               
 
+
        def createCursor(self, key=None):
                """ Create the cursor that this bizobj will be using for data, 
and store it
                in the dictionary for cursors, with the passed value of 'key' 
as its dict key.
@@ -731,13 +731,13 @@
 
                If self.ScanRestorePosition is True, the position of the current
                record in the recordset is restored after the iteration.
-               
+
                If self.ScanRequeryChildren is True, any child bizobjs will be 
requeried
                for each row in the bizobj. Only use this if you know the size 
of the data
                involved will be small.
 
                You may optionally send reverse=True to scan the records in 
reverse
-               order, which you'll want to do if, for example, you are 
deleting 
+               order, which you'll want to do if, for example, you are deleting
                records in your scan function. If the reverse argument is not 
sent,
                self.ScanReverse will be queried to determine the behavior.
                """
@@ -852,7 +852,7 @@
 
 
        def _fldReplace(self, expr):
-               """Takes a user-defined, SQL-like expression, and substitutes 
any 
+               """Takes a user-defined, SQL-like expression, and substitutes 
any
                field name with the reference for that value in the bizobj.
                Example (assuming 'price' is a column in the data):
                        self._fldReplace("price > 50")
@@ -1072,13 +1072,13 @@
 
        def filter(self, fld, expr, op="="):
                """
-               This takes a field name, an expression, and an optional 
operator, and applies that 
-               to the current dataset. The original dataset is preserved; 
calling removeFilter() will 
-               remove the last filter applied to the bizobj. If the current 
record is in the filtered 
-               dataset, that record will still be current; if it is filtered 
out, the current row will 
+               This takes a field name, an expression, and an optional 
operator, and applies that
+               to the current dataset. The original dataset is preserved; 
calling removeFilter() will
+               remove the last filter applied to the bizobj. If the current 
record is in the filtered
+               dataset, that record will still be current; if it is filtered 
out, the current row will
                be row 0.
-               If the operator is specified, it will be used literally in the 
evaluation instead of the 
-               equals sign, unless it is one of the following strings, which 
will be interpreted 
+               If the operator is specified, it will be used literally in the 
evaluation instead of the
+               equals sign, unless it is one of the following strings, which 
will be interpreted
                as indicated:
                        eq, equals: =
                        ne, nequals: !=
@@ -2536,7 +2536,7 @@
                        at the end of the recordset (False). (bool)"""))
 
        ScanRequeryChildren = property(_getScanRequeryChildren, 
_setScanRequeryChildren, None,
-                       _("""When calling the scan() function, this property 
determines if we 
+                       _("""When calling the scan() function, this property 
determines if we
                        requery any child bizobjs for each row in this bizobj. 
The default is False,
                        as this has the potential to cause performance issues.  
(bool)"""))
 

Modified: trunk/dabo/biz/test/test_dBizobj.py
===================================================================
--- trunk/dabo/biz/test/test_dBizobj.py 2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/biz/test/test_dBizobj.py 2010-09-12 21:34:34 UTC (rev 6013)
@@ -4,7 +4,7 @@
 from dabo.lib import getRandomUUID
 
 ## Only tests against sqlite, as we already test dCursorMixin against the
-## various backends. 
+## various backends.
 
 class Test_dBizobj(unittest.TestCase):
        def setUp(self):
@@ -45,7 +45,7 @@
 """ % locals())
 
        def createNullRecord(self):
-               self.biz._CurrentCursor.AuxCursor.execute("""           
+               self.biz._CurrentCursor.AuxCursor.execute("""
 insert into %s (cField, iField, nField) values (NULL, NULL, NULL)
 """ % self.temp_table_name)
 
@@ -85,7 +85,7 @@
                biz.DefaultValues["iField"] = 2342
                biz.new()
                self.assertEqual(biz.Record.iField, 2342)
-               self.assertEqual(biz.isChanged(), False)                
+               self.assertEqual(biz.isChanged(), False)
 
        def testVirtualFields(self):
                biz = self.biz
@@ -148,8 +148,8 @@
                self.assertEqual(biz.RowCount, 2)
                biz.new()
                self.assertEqual(biz.RowCount, 3)
-               
 
+
        def test_RowNumber(self):
                biz = self.biz
                self.assertEqual(biz.RowNumber, 0)
@@ -187,7 +187,7 @@
                self.assertEqual(biz.RowCount, 3)
                self.assertEqual(biz.RowNumber, 2)
 
-               
+
        def test_isChanged(self):
                biz = self.biz
                self.assertEqual(biz.isChanged(), False)
@@ -197,7 +197,7 @@
                self.assertEqual(biz.isChanged(), False)
 
                # isChanged()   should be False for new records that haven't 
had any field
-               # value changes.        
+               # value changes.
                biz.new()
                self.assertEqual(biz.isChanged(), False)
                biz.Record.cField = "Hitsville U.K."
@@ -208,7 +208,7 @@
                biz = self.biz
                self.assertEqual(biz.oldVal("cField"), biz.Record.cField)
                self.assertEqual(biz.oldVal("cField", 1), 
biz.getFieldVal("cField", 1))
-               oldVal = biz.Record.cField 
+               oldVal = biz.Record.cField
                newVal = "pkm23"
                biz.Record.cField = newVal
                self.assertEqual(biz.oldVal("cField"), oldVal)
@@ -251,7 +251,7 @@
                bizChild.DataSource = self.temp_child_table_name
                bizChild.LinkField = "parent_fk"
                bizChild.FillLinkFromParent = True
-               
+
                bizMain.addChild(bizChild)
                bizMain.requery()
 
@@ -293,7 +293,7 @@
 
                # Add a record:
                biz.new()
-               
+
                self.assertEqual(biz.RowCount, 4)
                self.assertEqual(biz.RowNumber, 3)
                self.assertEqual(cur._newRecords, {-1: None})
@@ -321,7 +321,7 @@
                bizChild.DataSource = self.temp_child_table_name
                bizChild.LinkField = "parent_fk"
                bizChild.FillLinkFromParent = True
-               
+
                bizMain.addChild(bizChild)
                bizMain.requery()
 
@@ -340,14 +340,14 @@
                self.assertEqual(bizChild.isAnyChanged(), False)
 
                bizMain.next()
-               
+
                # At this point bizMain should be at row 1, and bizChild should 
have
                # zero records.
                self.assertEqual(bizMain.Record.pk, 2)
                self.assertEqual(bizMain.RowNumber, 1)
                self.assertEqual(bizChild.RowCount, 0)
                self.assertEqual(bizChild.RowNumber, -1)
-               
+
                # Trying to get the field value from the nonexistent record 
should raise
                # dException.NoRecordsException:
                def testGetField():
@@ -367,7 +367,7 @@
                self.assertEqual(bizChild.RowNumber, 0)
                self.assertEqual(bizChild.Record.pk, 3)
                self.assertEqual(bizChild.Record.parent_fk, 3)
-               
+
                # Try a delete, which takes effect immediately without need to 
save:
                bizChild.delete()
                self.assertEqual(bizMain.RowNumber, 2)
@@ -431,7 +431,7 @@
                bizMain.saveAll()
                self.assertEqual(bizMain.RowCount, 4)
                self.assertEqual(bizMain.RowNumber, 3)
-               bizMain.requery()               
+               bizMain.requery()
                self.assertEqual(bizMain.RowCount, 4)
                self.assertEqual(bizMain.RowNumber, 3)
 
@@ -443,7 +443,7 @@
                bizChild.DataSource = self.temp_child_table_name
                bizChild.LinkField = "parent_fk"
                bizChild.FillLinkFromParent = True
-               
+
                bizMain.addChild(bizChild)
                bizMain.requery()
 
@@ -453,8 +453,8 @@
                self.assertEqual(bizChild.RowCount, 3)
                bizMain.cancel()
                self.assertEqual(bizChild.RowCount, 2)
-                       
 
+
        def testChildren_clearParent(self):
                """Requerying bizMain to 0 records should remove bizChild's 
records, too."""
                bizMain = self.biz
@@ -463,7 +463,7 @@
                bizChild.DataSource = self.temp_child_table_name
                bizChild.LinkField = "parent_fk"
                bizChild.FillLinkFromParent = True
-               
+
                bizMain.addChild(bizChild)
                bizMain.requery()
 
@@ -471,8 +471,8 @@
                bizMain.requery()
                self.assertEqual(bizMain.RowCount, 0)
                self.assertEqual(bizChild.RowCount, 0)
-       
 
+
        def testChildren_moveParentRecordPointer(self):
                """Moving the parent record pointer shouldn't erase child 
changes."""
                bizMain = self.biz
@@ -481,7 +481,7 @@
                bizChild.DataSource = self.temp_child_table_name
                bizChild.LinkField = "parent_fk"
                bizChild.FillLinkFromParent = True
-               
+
                bizMain.addChild(bizChild)
                bizMain.requery()
 
@@ -499,7 +499,7 @@
 
                # We are in row 2 of main, and row 0 of child
 
-               # Change a field, and test isChanged() both before and after 
moving the 
+               # Change a field, and test isChanged() both before and after 
moving the
                # parent record pointer:
                bizChild.Record.cInvNum = "pkm0023"
                self.assertEqual(bizChild._CurrentCursor._mementos, {3: 
{'cInvNum': u'IN00024'}})
@@ -526,9 +526,9 @@
                self.assertEqual(bizChild.isChanged(), True)
                self.assertEqual(bizChild._CurrentCursor._mementos, {3: 
{'cInvNum': u'IN00024'}, -1: {'cInvNum': u''}})
 
-               # Now, here's the problem. If we add a new record to the child 
but don't 
-               # change any fields in that new record, then move the main 
record pointer, 
-               # all child changes in other records will be lost, not just the 
blank 
+               # Now, here's the problem. If we add a new record to the child 
but don't
+               # change any fields in that new record, then move the main 
record pointer,
+               # all child changes in other records will be lost, not just the 
blank
                # new record which gets removed due to Dabo's design.
                bizChild.new()
                self.assertEqual(bizChild.RowCount, 3)
@@ -581,7 +581,7 @@
                bizChild.DataSource = self.temp_child_table_name
                bizChild.LinkField = "parent_fk"
                bizChild.FillLinkFromParent = True
-               
+
                bizMain.addChild(bizChild)
                bizMain.requery()
 
@@ -609,7 +609,7 @@
                bizChild2.DataSource = self.temp_child2_table_name
                bizChild2.LinkField = "parent_fk"
                bizChild2.FillLinkFromParent = True
-               
+
                bizMain.addChild(bizChild)
                bizChild.addChild(bizChild2)
                bizMain.requery()
@@ -642,7 +642,7 @@
        def testChangesToTwoChildRecords_cancel(self):
                """Do the same test as for save, but with cancelAll()."""
                self.testChangesToTwoChildRecords("cancel")
-               
+
 if __name__ == "__main__":
        suite = unittest.TestLoader().loadTestsFromTestCase(Test_dBizobj)
        unittest.TextTestRunner(verbosity=2).run(suite)

Modified: trunk/dabo/dApp.py
===================================================================
--- trunk/dabo/dApp.py  2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/dApp.py  2010-09-12 21:34:34 UTC (rev 6013)
@@ -180,7 +180,7 @@
 
                # Subdirectories that make up a standard Dabo app
                self._standardDirs = dabo._getAppDirectoryNames()
-               
+
                # Some apps, such as the visual tools, are meant to be run from 
directories
                # other than that where they are located. In those cases, use 
the current dir.
                self._ignoreScriptDir = ignoreScriptDir
@@ -254,7 +254,7 @@
                        self.showMainFormOnStart = False
                        self.setup()
 
-               ### egl: 2009.06.28 - commented this out. This was added when 
the 
+               ### egl: 2009.06.28 - commented this out. This was added when 
the
                ###    remote proxy code was added, and I'm not sure why. I am 
removing
                ###    it for now to satisfy ticket #1241, but I need to do 
full testing with
                ###    remote apps to make sure that it is truly not needed.
@@ -565,7 +565,7 @@
                                if lastcheck is None:
                                        lastcheck = datetime.datetime(1900, 1, 
1)
                                runCheck = (now > (lastcheck + mins))
-               
+
                if runCheck:
                        currVers = self._currentUpdateVersion()
                        # See if there is a later version
@@ -901,7 +901,7 @@
                hd = self.HomeDirectory
                if not self.AutoImportConnections:
                        return
- 
+
                connDefs = {}
                if pth is None:
                        pth = os.getcwd()
@@ -1051,7 +1051,7 @@
 
        def addConnectFile(self, connFile):
                """Accepts a cnxml file path, and reads in the connections
-               defined in it, adding them to self.dbConnectionDefs. If the 
+               defined in it, adding them to self.dbConnectionDefs. If the
                file cannot be found, an exception is raised.
                """
                origFile = connFile
@@ -1358,7 +1358,7 @@
 
 #      def _getDatabaseActivityLog(self):
 #              return dabo.dbActivityLog
-# 
+#
 #      def _setDatabaseActivityLog(self, val):
 #              try:
 #                      dbLogger = dabo.dbActivityLog
@@ -1436,7 +1436,7 @@
                                                                d1 = 
os.path.split(d1)[0]
                                                                if d1 == d2:
                                                                        return 
True
-       
+
                                                if issubdir(scriptDir, appDir):
                                                        # The directory where 
the main script is executing is a subdirectory of the
                                                        # location of the 
application object in use. So we can safely make the app
@@ -1476,7 +1476,7 @@
                import dabo.ui.dialogs.login as login
                defaultDialogClass = login.Login
                return getattr(self, "_loginDialogClass", defaultDialogClass)
-               
+
        def _setLoginDialogClass(self, val):
                self._loginDialogClass = val
 
@@ -1638,7 +1638,7 @@
        def _setUIAppClass(self, val):
                self._uiAppClass = val
 
-                       
+
        def _getUserSettingProvider(self):
                try:
                        ret = self._userSettingProvider
@@ -1686,7 +1686,7 @@
 
        CryptoKey = property(None, _setCryptoKey, None,
                        _("""When set, creates a DES crypto object if PyCrypto 
is installed. Note that
-                       each time this property is set, a new PyCrypto instance 
is created, and 
+                       each time this property is set, a new PyCrypto instance 
is created, and
                        any previous crypto objects are released. Write-only.  
(varies)"""))
 
 #      DatabaseActivityLog = property(_getDatabaseActivityLog, 
_setDatabaseActivityLog, None,
@@ -1814,11 +1814,11 @@
 
        UIAppClass = property(_getUIAppClass, _setUIAppClass, None,
                        _("""The name of the ui-specific app subclass to 
instantiate.
-                       
+
                        This will allow ui toolkit-specific behaviors to be 
added to a Dabo
                        application. It MUST be either defined in the 
application subclass, or
                        passed in the call to create the app object, since the 
UI App cannot
-                       be changed once the app is running. Defaults to 
dabo.ui.uiApp 
+                       be changed once the app is running. Defaults to 
dabo.ui.uiApp
                        if not specified.  (dabo.ui.uiApp)"""))
 
        UserSettingProvider = property(_getUserSettingProvider,

Modified: trunk/dabo/dBug.py
===================================================================
--- trunk/dabo/dBug.py  2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/dBug.py  2010-09-12 21:34:34 UTC (rev 6013)
@@ -19,7 +19,7 @@
        output = StringIO()
        if msg:
                output.write(ustr(msg) + "\n")
-       
+
        stackSection = stack[-1*levels:]
        for stackLine in stackSection:
                frame, filename, line, funcname, lines, unknown = stackLine
@@ -39,23 +39,23 @@
 def mainProgram():
        """Returns the name of first program in the call stack"""
        return inspect.stack()[-1][1]
-       
 
+
 def loggit(fnc):
        """Decorator function to create a log of all methods as they are 
called. To use
        it, modify all your methods from:
-       
+
                def someMethod(...):
-               
+
        to:
-       
+
                @loggit
                def someMethod(...):
-               
+
        Be sure to add:
-       
+
        from dabo.dBug import loggit
-       
+
        to the import statements for every file that uses loggit. You can set 
the name and
        location of the log file by overriding the setting for dabo.loggitFile. 
By default, this
        value will be 'functionCall.log'.

Modified: trunk/dabo/dColors.py
===================================================================
--- trunk/dabo/dColors.py       2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/dColors.py       2010-09-12 21:34:34 UTC (rev 6013)
@@ -11,155 +11,155 @@
 class LengthError(ColorTupleError): pass
 class IntegerTypeError(ColorTupleError): pass
 
-colorDict = {"aliceblue" : (240, 248, 255), 
-               "antiquewhite" : (250, 235, 215), 
-               "aqua" : (0, 255, 255), 
-               "aquamarine" : (127, 255, 212), 
-               "azure" : (240, 255, 255), 
-               "beige" : (245, 245, 220), 
-               "bisque" : (255, 228, 196), 
-               "black" : (0, 0, 0), 
-               "blanchedalmond" : (255, 235, 205), 
-               "blue" : (0, 0, 255), 
-               "blueviolet" : (138, 43, 226), 
-               "brown" : (165, 42, 42), 
-               "burlywood" : (222, 184, 135), 
-               "cadetblue" : (95, 158, 160), 
-               "chartreuse" : (127, 255, 0), 
-               "chocolate" : (210, 105, 30), 
-               "coral" : (255, 127, 80), 
-               "cornflowerblue" : (100, 149, 237), 
-               "cornsilk" : (255, 248, 220), 
-               "crimson" : (220, 20, 60), 
-               "cyan" : (0, 255, 255), 
-               "darkblue" : (0, 0, 139), 
-               "darkcyan" : (0, 139, 139), 
-               "darkgoldenrod" : (184, 134, 11), 
-               "darkgray" : (169, 169, 169), 
-               "darkgrey" : (169, 169, 169), 
-               "darkgreen" : (0, 100, 0), 
-               "darkkhaki" : (189, 183, 107), 
-               "darkmagenta" : (139, 0, 139), 
-               "darkolivegreen" : (85, 107, 47), 
-               "darkorange" : (255, 140, 0), 
-               "darkorchid" : (153, 50, 204), 
-               "darkred" : (139, 0, 0), 
-               "darksalmon" : (233, 150, 122), 
-               "darkseagreen" : (143, 188, 143), 
-               "darkslateblue" : (72, 61, 139), 
-               "darkslategray" : (47, 79, 79), 
-               "darkslategrey" : (47, 79, 79), 
-               "darkturquoise" : (0, 206, 209), 
-               "darkviolet" : (148, 0, 211), 
-               "deeppink" : (255, 20, 147), 
-               "deepskyblue" : (0, 191, 255), 
-               "dimgray" : (105, 105, 105), 
-               "dimgrey" : (105, 105, 105), 
-               "dodgerblue" : (30, 144, 255), 
-               "feldspar" : (209, 146, 117), 
-               "firebrick" : (178, 34, 34), 
-               "floralwhite" : (255, 250, 240), 
-               "forestgreen" : (34, 139, 34), 
-               "fuchsia" : (255, 0, 255), 
-               "gainsboro" : (220, 220, 220), 
-               "ghostwhite" : (248, 248, 255), 
-               "gold" : (255, 215, 0), 
-               "goldenrod" : (218, 165, 32), 
-               "gray" : (128, 128, 128), 
-               "grey" : (128, 128, 128), 
-               "green" : (0, 128, 0), 
-               "greenyellow" : (173, 255, 47), 
-               "honeydew" : (240, 255, 240), 
-               "hotpink" : (255, 105, 180), 
-               "indianred" : (205, 92, 92), 
-               "indigo" : (75, 0, 130), 
-               "ivory" : (255, 255, 240), 
-               "khaki" : (240, 230, 140), 
-               "lavender" : (230, 230, 250), 
-               "lavenderblush" : (255, 240, 245), 
-               "lawngreen" : (124, 252, 0), 
-               "lemonchiffon" : (255, 250, 205), 
-               "lightblue" : (173, 216, 230), 
-               "lightcoral" : (240, 128, 128), 
-               "lightcyan" : (224, 255, 255), 
-               "lightgoldenrodyellow" : (250, 250, 210), 
-               "lightgray" : (211, 211, 211), 
+colorDict = {"aliceblue" : (240, 248, 255),
+               "antiquewhite" : (250, 235, 215),
+               "aqua" : (0, 255, 255),
+               "aquamarine" : (127, 255, 212),
+               "azure" : (240, 255, 255),
+               "beige" : (245, 245, 220),
+               "bisque" : (255, 228, 196),
+               "black" : (0, 0, 0),
+               "blanchedalmond" : (255, 235, 205),
+               "blue" : (0, 0, 255),
+               "blueviolet" : (138, 43, 226),
+               "brown" : (165, 42, 42),
+               "burlywood" : (222, 184, 135),
+               "cadetblue" : (95, 158, 160),
+               "chartreuse" : (127, 255, 0),
+               "chocolate" : (210, 105, 30),
+               "coral" : (255, 127, 80),
+               "cornflowerblue" : (100, 149, 237),
+               "cornsilk" : (255, 248, 220),
+               "crimson" : (220, 20, 60),
+               "cyan" : (0, 255, 255),
+               "darkblue" : (0, 0, 139),
+               "darkcyan" : (0, 139, 139),
+               "darkgoldenrod" : (184, 134, 11),
+               "darkgray" : (169, 169, 169),
+               "darkgrey" : (169, 169, 169),
+               "darkgreen" : (0, 100, 0),
+               "darkkhaki" : (189, 183, 107),
+               "darkmagenta" : (139, 0, 139),
+               "darkolivegreen" : (85, 107, 47),
+               "darkorange" : (255, 140, 0),
+               "darkorchid" : (153, 50, 204),
+               "darkred" : (139, 0, 0),
+               "darksalmon" : (233, 150, 122),
+               "darkseagreen" : (143, 188, 143),
+               "darkslateblue" : (72, 61, 139),
+               "darkslategray" : (47, 79, 79),
+               "darkslategrey" : (47, 79, 79),
+               "darkturquoise" : (0, 206, 209),
+               "darkviolet" : (148, 0, 211),
+               "deeppink" : (255, 20, 147),
+               "deepskyblue" : (0, 191, 255),
+               "dimgray" : (105, 105, 105),
+               "dimgrey" : (105, 105, 105),
+               "dodgerblue" : (30, 144, 255),
+               "feldspar" : (209, 146, 117),
+               "firebrick" : (178, 34, 34),
+               "floralwhite" : (255, 250, 240),
+               "forestgreen" : (34, 139, 34),
+               "fuchsia" : (255, 0, 255),
+               "gainsboro" : (220, 220, 220),
+               "ghostwhite" : (248, 248, 255),
+               "gold" : (255, 215, 0),
+               "goldenrod" : (218, 165, 32),
+               "gray" : (128, 128, 128),
+               "grey" : (128, 128, 128),
+               "green" : (0, 128, 0),
+               "greenyellow" : (173, 255, 47),
+               "honeydew" : (240, 255, 240),
+               "hotpink" : (255, 105, 180),
+               "indianred" : (205, 92, 92),
+               "indigo" : (75, 0, 130),
+               "ivory" : (255, 255, 240),
+               "khaki" : (240, 230, 140),
+               "lavender" : (230, 230, 250),
+               "lavenderblush" : (255, 240, 245),
+               "lawngreen" : (124, 252, 0),
+               "lemonchiffon" : (255, 250, 205),
+               "lightblue" : (173, 216, 230),
+               "lightcoral" : (240, 128, 128),
+               "lightcyan" : (224, 255, 255),
+               "lightgoldenrodyellow" : (250, 250, 210),
+               "lightgray" : (211, 211, 211),
                "lightgrey" : (211, 211, 211),
-               "lightgreen" : (144, 238, 144), 
-               "lightpink" : (255, 182, 193), 
-               "lightsalmon" : (255, 160, 122), 
-               "lightseagreen" : (32, 178, 170), 
-               "lightskyblue" : (135, 206, 250), 
-               "lightslateblue" : (132, 112, 255), 
-               "lightslategray" : (119, 136, 153), 
+               "lightgreen" : (144, 238, 144),
+               "lightpink" : (255, 182, 193),
+               "lightsalmon" : (255, 160, 122),
+               "lightseagreen" : (32, 178, 170),
+               "lightskyblue" : (135, 206, 250),
+               "lightslateblue" : (132, 112, 255),
+               "lightslategray" : (119, 136, 153),
                "lightslategrey" : (119, 136, 153),
-               "lightsteelblue" : (176, 196, 222), 
-               "lightyellow" : (255, 255, 224), 
-               "lime" : (0, 255, 0), 
-               "limegreen" : (50, 205, 50), 
-               "linen" : (250, 240, 230), 
-               "magenta" : (255, 0, 255), 
-               "maroon" : (128, 0, 0), 
-               "mediumaquamarine" : (102, 205, 170), 
-               "mediumblue" : (0, 0, 205), 
-               "mediumorchid" : (186, 85, 211), 
-               "mediumpurple" : (147, 112, 216), 
-               "mediumseagreen" : (60, 179, 113), 
-               "mediumslateblue" : (123, 104, 238), 
-               "mediumspringgreen" : (0, 250, 154), 
-               "mediumturquoise" : (72, 209, 204), 
-               "mediumvioletred" : (199, 21, 133), 
-               "midnightblue" : (25, 25, 112), 
-               "mintcream" : (245, 255, 250), 
-               "mistyrose" : (255, 228, 225), 
-               "moccasin" : (255, 228, 181), 
-               "navajowhite" : (255, 222, 173), 
-               "navy" : (0, 0, 128), 
-               "oldlace" : (253, 245, 230), 
-               "olive" : (128, 128, 0), 
-               "olivedrab" : (107, 142, 35), 
-               "orange" : (255, 165, 0), 
-               "orangered" : (255, 69, 0), 
-               "orchid" : (218, 112, 214), 
-               "palegoldenrod" : (238, 232, 170), 
-               "palegreen" : (152, 251, 152), 
-               "paleturquoise" : (175, 238, 238), 
-               "palevioletred" : (216, 112, 147), 
-               "papayawhip" : (255, 239, 213), 
-               "peachpuff" : (255, 218, 185), 
-               "peru" : (205, 133, 63), 
-               "pink" : (255, 192, 203), 
-               "plum" : (221, 160, 221), 
-               "powderblue" : (176, 224, 230), 
-               "purple" : (128, 0, 128), 
-               "red" : (255, 0, 0), 
-               "rosybrown" : (188, 143, 143), 
-               "royalblue" : (65, 105, 225), 
-               "saddlebrown" : (139, 69, 19), 
-               "salmon" : (250, 128, 114), 
-               "sandybrown" : (244, 164, 96), 
-               "seagreen" : (46, 139, 87), 
-               "seashell" : (255, 245, 238), 
-               "sienna" : (160, 82, 45), 
-               "silver" : (192, 192, 192), 
-               "skyblue" : (135, 206, 235), 
-               "slateblue" : (106, 90, 205), 
-               "slategray" : (112, 128, 144), 
-               "slategrey" : (112, 128, 144), 
-               "snow" : (255, 250, 250), 
-               "springgreen" : (0, 255, 127), 
-               "steelblue" : (70, 130, 180), 
-               "tan" : (210, 180, 140), 
-               "teal" : (0, 128, 128), 
-               "thistle" : (216, 191, 216), 
-               "tomato" : (255, 99, 71), 
-               "turquoise" : (64, 224, 208), 
-               "violet" : (238, 130, 238), 
-               "violetred" : (208, 32, 144), 
-               "wheat" : (245, 222, 179), 
-               "white" : (255, 255, 255), 
-               "whitesmoke" : (245, 245, 245), 
-               "yellow" : (255, 255, 0), 
+               "lightsteelblue" : (176, 196, 222),
+               "lightyellow" : (255, 255, 224),
+               "lime" : (0, 255, 0),
+               "limegreen" : (50, 205, 50),
+               "linen" : (250, 240, 230),
+               "magenta" : (255, 0, 255),
+               "maroon" : (128, 0, 0),
+               "mediumaquamarine" : (102, 205, 170),
+               "mediumblue" : (0, 0, 205),
+               "mediumorchid" : (186, 85, 211),
+               "mediumpurple" : (147, 112, 216),
+               "mediumseagreen" : (60, 179, 113),
+               "mediumslateblue" : (123, 104, 238),
+               "mediumspringgreen" : (0, 250, 154),
+               "mediumturquoise" : (72, 209, 204),
+               "mediumvioletred" : (199, 21, 133),
+               "midnightblue" : (25, 25, 112),
+               "mintcream" : (245, 255, 250),
+               "mistyrose" : (255, 228, 225),
+               "moccasin" : (255, 228, 181),
+               "navajowhite" : (255, 222, 173),
+               "navy" : (0, 0, 128),
+               "oldlace" : (253, 245, 230),
+               "olive" : (128, 128, 0),
+               "olivedrab" : (107, 142, 35),
+               "orange" : (255, 165, 0),
+               "orangered" : (255, 69, 0),
+               "orchid" : (218, 112, 214),
+               "palegoldenrod" : (238, 232, 170),
+               "palegreen" : (152, 251, 152),
+               "paleturquoise" : (175, 238, 238),
+               "palevioletred" : (216, 112, 147),
+               "papayawhip" : (255, 239, 213),
+               "peachpuff" : (255, 218, 185),
+               "peru" : (205, 133, 63),
+               "pink" : (255, 192, 203),
+               "plum" : (221, 160, 221),
+               "powderblue" : (176, 224, 230),
+               "purple" : (128, 0, 128),
+               "red" : (255, 0, 0),
+               "rosybrown" : (188, 143, 143),
+               "royalblue" : (65, 105, 225),
+               "saddlebrown" : (139, 69, 19),
+               "salmon" : (250, 128, 114),
+               "sandybrown" : (244, 164, 96),
+               "seagreen" : (46, 139, 87),
+               "seashell" : (255, 245, 238),
+               "sienna" : (160, 82, 45),
+               "silver" : (192, 192, 192),
+               "skyblue" : (135, 206, 235),
+               "slateblue" : (106, 90, 205),
+               "slategray" : (112, 128, 144),
+               "slategrey" : (112, 128, 144),
+               "snow" : (255, 250, 250),
+               "springgreen" : (0, 255, 127),
+               "steelblue" : (70, 130, 180),
+               "tan" : (210, 180, 140),
+               "teal" : (0, 128, 128),
+               "thistle" : (216, 191, 216),
+               "tomato" : (255, 99, 71),
+               "turquoise" : (64, 224, 208),
+               "violet" : (238, 130, 238),
+               "violetred" : (208, 32, 144),
+               "wheat" : (245, 222, 179),
+               "white" : (255, 255, 255),
+               "whitesmoke" : (245, 245, 245),
+               "yellow" : (255, 255, 0),
                "yellowgreen" : (154, 205, 50)
                }
 
@@ -170,7 +170,7 @@
        if not isinstance(hx, basestring):
                raise TypeError("Input must be a string")
        # Define a dict of char-value pairs
-       hex = {"0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, 
"8": 8, 
+       hex = {"0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, 
"8": 8,
                        "9": 9, "A": 10, "B": 11, "C": 12, "D": 13, "E": 14, 
"F": 15}
        # Reverse it, and force upper case
        rev = hx[::-1].upper()
@@ -221,7 +221,7 @@
 
 def colorTupleFromName(color):
        """Given a color name, such as "Blue" or "Aquamarine", return a color 
tuple.
-       
+
        This is used internally in the ForeColor and BackColor property 
setters. The
        color name is not case-sensitive. If the color name doesn't exist, an 
exception
        is raised.
@@ -235,8 +235,8 @@
                except InvalidCharError:
                        ret = colorTupleFromString(color)
        return ret
-       
-               
+
+
 def colorTupleFromString(color):
        ret = None
        colorTuplePat = "\((\d+), *(\d+), *(\d+)\)"
@@ -264,7 +264,7 @@
 
 def colorNameFromTuple(colorTuple, firstOnly=False):
        """Returns a list of color names, if any, whose RGB tuple matches
-       the specified tuple. If 'firstOnly' is True, then a single color name 
+       the specified tuple. If 'firstOnly' is True, then a single color name
        will be returned as a string, not a list; the string will be empty
        if there is no match.
        """

Modified: trunk/dabo/dEvents.py
===================================================================
--- trunk/dabo/dEvents.py       2010-09-12 20:39:54 UTC (rev 6012)
+++ trunk/dabo/dEvents.py       2010-09-12 21:34:34 UTC (rev 6013)
@@ -227,8 +227,8 @@
        def appliesToClass(eventClass, objectClass):
                return issubclass(objectClass, (dabo.ui.dScrollPanel, 
dabo.ui.dGrid))
        appliesToClass = classmethod(appliesToClass)
-       
 
+
 class Activate(dEvent):
        """Occurs when the form or application becomes active."""
        def appliesToClass(eventClass, objectClass):

Modified: trunk/dabo/dLocalize.py
===================================================================
--- trunk/dabo/dLocalize.py     2010-09-12 20:39

 (854895 bytes were truncated as it was too long for the email (max 40000 
bytes.)

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: 
http://leafe.com/archives/byMID/[email protected]

Reply via email to