dabo Commit
Revision 7013
Date: 2011-12-09 03:48:33 -0800 (Fri, 09 Dec 2011)
Author: Jacekk
Trac: http://trac.dabodev.com/changeset/7013
Changed:
U trunk/dabo/ui/uiwx/dGrid.py
Log:
Added default copy handler for dGrid cells.
Diff:
Modified: trunk/dabo/ui/uiwx/dGrid.py
===================================================================
--- trunk/dabo/ui/uiwx/dGrid.py 2011-12-09 08:32:32 UTC (rev 7012)
+++ trunk/dabo/ui/uiwx/dGrid.py 2011-12-09 11:48:33 UTC (rev 7013)
@@ -2,6 +2,7 @@
import copy
import sys
import datetime
+import locale
import time
import operator
import re
@@ -27,10 +28,17 @@
from dabo.ui import makeDynamicProperty
import dabo.lib.dates
from dabo.lib.utils import noneSortKey, caseInsensitiveSortKey
-
from dabo.dBug import loggit
+
+# Make this locale-independent
+# JK: We can't set this up on module load because locale
+# is set not until dApp is completely setup.
+decimalPoint = None
+
+
class dGridDataTable(wx.grid.PyGridTableBase):
+
def __init__(self, parent):
super(dGridDataTable, self).__init__()
self._clearCache()
@@ -1755,6 +1763,10 @@
USE_DATASOURCE_BEING_SET_HACK = False
def __init__(self, parent, properties=None, attProperties=None, *args,
**kwargs):
+ # Update global decimalPoint attribute.
+ global decimalPoint
+ if decimalPoint is None:
+ decimalPoint = locale.localeconv()["decimal_point"]
# Get scrollbar size from system metrics.
self._scrollBarSize =
wx.SystemSettings_GetMetric(wx.SYS_VSCROLL_X)
self._baseClass = dGrid
@@ -3308,6 +3320,18 @@
return GridCell(self, row, col)
+ def copy(self):
+ if self.RowCount > 0:
+ coln = self.CurrentColumn
+ dtyp = self.Columns[coln].DataType
+ val = ustr(self.getValue(col=coln))
+ if dtyp in (Decimal, float, "decimal", "float", "f"):
+ # We need to convert decimal point accordingly
to the locale.
+ val = val.replace(".", decimalPoint)
+ self.Application.copyToClipboard(val)
+ return True
+
+
def getBizobj(self):
ds = self.DataSource
if isinstance(ds, dabo.biz.dBizobj):
_______________________________________________
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]