Squashed commit of the following:

commit 9c45422276286c27caf9f7050881250a868d5a19
Author: Paul McNett <p@ulmcnett.com>
Date:   Thu Jun 27 00:32:56 2013 -0700

    Fix bug on Windows, where Get3StateValue() can be unexpected.

    I'm getting a return value of 55845584 and can't figure it out. This
    commit simply converts the value to None for anything not recognized.

commit f13fd480b5bf1f4a51789d9e436717b823a70a81
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 26 11:40:34 2013 -0700

    Fix 3-State dCheckBox problems:

    1) override _initProperties() instead of initProperties()
    2) set the Value property after construction
    3) add 3-state checkbox examples to the test

commit c612fdf941f84b9a8a8135c77292b752184f62af
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 19 20:40:19 2013 -0700

    Don't erase selection when right-clicking on one of many selected rows.

commit ff19e488436d0daffb153f137c447d6cd3a47481
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 19 14:51:04 2013 -0700

    Wrap another dbActivityLog call in execute().

commit 7d59b6c58a9d5c5aee55651cc949ccc7ebd65d04
Merge: 81d54e6 a162cde
Author: EdLeafe <ed@leafe.com>
Date:   Mon Jun 17 13:24:15 2013 -0500

    Merged changes from origin.

commit 81d54e69d3d504e66beb9828725d69fe53e42288
Author: EdLeafe <ed@leafe.com>
Date:   Mon Jun 17 13:22:46 2013 -0500

    Reverted the change in bb09f566, and added a better fix.

commit a162cde5f636d046bcfc291cc402441849f75c2c
Author: Paul McNett <p@ulmcnett.com>
Date:   Mon Jun 17 11:16:16 2013 -0700

    Fixed my refactoring of the dbActivity log to handle None params.

commit 75696a60c2d9b719f2b7fb26f07c501840d73d29
Merge: f02dfc5 9ffb033
Author: Paul McNett <p@ulmcnett.com>
Date:   Mon Jun 17 11:15:50 2013 -0700

    Merge branch 'working' of github.com:dabodev/dabo into working

commit 9ffb03357616d0e0973efcac8e0509e366a44713
Merge: 4a49aa6 fd0863a
Author: Paul McNett <p@ulmcnett.com>
Date:   Mon Jun 17 11:14:51 2013 -0700

    Merge branch 'fix' into working

commit fd0863a1b5716e47f45b873b41eb6f254b82021b
Author: Paul McNett <p@ulmcnett.com>
Date:   Mon Jun 17 11:10:40 2013 -0700

    Revert commit bb09f56 and add comment explaining.

commit f02dfc5e1437f4f4ffd5e24ddf2aadfdbd55b694
Author: Paul McNett <p@ulmcnett.com>
Date:   Sun Jun 16 07:15:52 2013 -0700

    Added a check that biz.RowNumber = -1 with no records.

commit 4a49aa649765f00269e936b2f5ceff2929915048
Merge: 95ca9be bb09f56
Author: Paul McNett <p@ulmcnett.com>
Date:   Sun Jun 16 07:02:28 2013 -0700

    Merge branch 'working' of github.com:dabodev/dabo into working

commit bb09f566d822dcd8e278f107c1fcc7dc8cbae71c
Author: EdLeafe <ed@leafe.com>
Date:   Sat Jun 15 12:42:34 2013 -0500

    Removed extra parameter.

commit 95ca9be909380a95a196570d35e4aeed9f6a942a
Author: Paul McNett <p@ulmcnett.com>
Date:   Sat Jun 15 07:11:31 2013 -0700

    Refactor dbActivityLog logging in execute().

    I'm still running into decoding issues on certain customer
    computers in the sql.decode() call (utf8 codec can't decode code
    byte ...). Trying to sort it out I noticed repeated code for all
    these activity log calls, so I refactored them into a new function
    to simplify the code.

commit 97f5e4ba4a74dce326fba974ed1c7a95de39a55c
Merge: d0d328a 6018ee4
Author: Paul McNett <p@ulmcnett.com>
Date:   Fri Jun 14 11:51:58 2013 -0700

    Merge branch 'wx295-1' of git://github.com/wernerfb/dabo into wernerfb-wx295-1

commit d0d328ab71372041eba0bf8df5654403ec80f299
Author: Paul McNett <p@ulmcnett.com>
Date:   Fri Jun 14 09:15:11 2013 -0700

    Fix wrong column sized during user resize with invisible columns.

    If the user manually resizes a grid column and it is to the right of
    an invisible column, the wrong column will be resized.

    This commit fixes the bug by converting to from and to the dabo
    column index as appropriate.

commit c47ecc483199c6599cb28db22b0c2dc86a1ce5b6
Author: Paul McNett <p@ulmcnett.com>
Date:   Fri Jun 14 08:52:40 2013 -0700

    Fix error with invisible columns in dGrid's autoSizeColumns.

    When there are one or more invisible dColumns, the column count
    in Dabo will be greater than the column count in wx (wx doesn't
    know about the invisible columns). So if the user right-clicks
    on the grid header and chooses to auto size all columns, wx
    will raise an assertion error on Windows (doesn't do that on
    Linux for some reason) that the column index is greater than the
    column count.

    This fixes it by first checking visibility, and then converting
    the dabo column index to the wx column index.

    There are probably other places in the codebase where this
    conversion should be made as well (whenever sending a column
    index down to wx).

commit 6018ee457f7aed8f8fa5c234a787a43d16b674d8
Author: Werner F Bruhin <werner.bruhin@free.fr>
Date:   Thu Jun 13 17:22:25 2013 +0200

    - correct indent

commit d8b266f46e06179ea4bb8a33270c5cf97ed331f3
Author: Werner F Bruhin <werner.bruhin@free.fr>
Date:   Sat Jun 8 17:12:43 2013 +0200

    - help strings for some menu items

commit 21768c0168a564a9d00667c69a9af384dcced6ae
Author: Werner F Bruhin <werner.bruhin@free.fr>
Date:   Sat Jun 8 17:17:21 2013 +0200

    - work around for 2.9.5 menu issue where "dMenuItem" is shown instead of correct label

commit 70be333b814ea346abcb475d01a5b7260fd448f3
Author: Werner F Bruhin <werner.bruhin@free.fr>
Date:   Sat Jun 8 17:15:53 2013 +0200

    - GetText is deprecated in 2.9.5

commit 91997b6c4f3ec9467d7661f305bc40f4ea896c56
Merge: e0e1169 ca4e557
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 12 16:06:42 2013 -0700

    Merge branch 'master'; commit 'HEAD~1' into working

commit e0e11697183b220432124a6bb3c12c9f357ab58f
Merge: 5b99458 7cde52f
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 12 16:04:11 2013 -0700

    Merge branch 'master'; commit 'HEAD~1' into working

commit 5b994583e9fbe360e5dc398235112070a6ddf3d0
Merge: 7e2457a 9bf5b97
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 12 15:33:23 2013 -0700

    Merge branch 'master' of git://github.com/wernerfb/dabo into wernerfb-master

commit 7e2457a7c66d629aa05aa84b9aa5475d3613f3f0
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 12 09:29:55 2013 -0700

    Fixed recursion error in Werner's test rfxml.

    TODO: refactor a lot of the Memo/Paragraph code to be less nested
    and to have reportlab doing all the text processing instead of us.

commit ee1999514ed7941ae76f2f61a8895a964f56c9e9
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 12 09:29:31 2013 -0700

    Removed unneeded enumerate().

commit 7a82d6c49761f837a857e1b71c9af84fe01d5b79
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 12 09:27:51 2013 -0700

    Fixed formatting.

commit 4e51795b795ec916fef3af6e12e08c619f8f2cfe
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 5 21:56:47 2013 -0700

    Fix dSpinner to check bounds in flushValue().

    Previously, the bounds were checked (with unneeded code) in
    a LostFocus event handler, which was never fired if the form was
    closed while the spinner was still active.

    This commit handles both the case of the form being closed, and
    the user moving focus to another control.

commit 9bf5b97e7d25838e36bb1c0a7e603636cbcfdb91
Author: Werner F Bruhin <werner.bruhin@free.fr>
Date:   Wed Jun 5 22:16:03 2013 +0200

    - inconsistent tab/spaces

commit 356de2ecb8158f40ce648c425c05423bd8bd44a5
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed Jun 5 13:05:43 2013 -0700

    Reverted locale to commit 546de, fixing translations.

    This is a temporary stop-gap until we can sort out what went south
    after 546de.

commit 473c83b83dc455702945f8d88b8c6a3916303427
Author: Werner F Bruhin <werner.bruhin@free.fr>
Date:   Wed Jun 5 09:42:53 2013 +0200

    - inconsistent tab/space

commit 18ebb29041996b34b580857dd03c70d1e2634e8c
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed May 29 13:22:57 2013 -0700

    Fixed getDataSet() to not move the RowNumber.

    When VirtualFields are involved, the row change callback is
    invoked, which results in the record pointer moving. This
    commit makes sure the RowNumber is as it was prior to calling
    getDataSet().

commit 842abcb292a18d0bbddcb727b6e9581c5482474a
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed May 29 13:07:03 2013 -0700

    Refactored the 'ret' local variable out of biz.getDataSet().

commit b85ef1cadfa5a00bfe6fdc36a3077aee234ac92d
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed May 29 13:05:14 2013 -0700

    Optimized cursor.getDataSet() marginally.

    A previous commit obviously meant to do this because it did:

    getDataSet = self.getDataSet

    This commit just makes the non-local lookup unnecessary.

commit b9889b0df3dfda03992e628d613a91930bbf7075
Merge: d1cdbfc 11e34a6
Author: Paul McNett <p@ulmcnett.com>
Date:   Thu May 23 23:14:17 2013 -0700

    Merge branch 'master'; commit 'HEAD~1' into working

commit d1cdbfce97a5b7610043b1d173ef49e004b7db29
Author: Paul McNett <p@ulmcnett.com>
Date:   Thu May 23 22:11:02 2013 -0700

    Fix getDataSet() for virtual fields that need to requery children.

    Previously, there were two problems with getDataSet() and
    VirtualFields:

    1) If you named the field list, the virtual fields wouldn't be
       included.

    2) If your virtual field needs to requery children, it would show
       incorrect values .

    Both problems are fixed now.

commit d7016f0d5f09f5fc969c09b2692640f3c045141a
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed May 15 15:59:05 2013 -0700

    Convenience: return the child reference in biz.addChild()

commit aeb5855981b96df1bf2f320bc479880a161605da
Author: Paul McNett <p@ulmcnett.com>
Date:   Wed May 8 18:12:44 2013 -0700

    Fix invoice progressControl demo bug in cancel.

    Thanks John Fabiani for pointing it out.
v0.9.13
Merge branch 'master'; commit 'HEAD~1' into working