Paul,

@@ -2405,7 +2405,7 @@
>                       _clearFlag()
>                       self._delayedUpdateColumnWidths(redo=True)
>               else:
>  -                    dabo.ui.callAfterInterval(5, _clearFlag)
>  +                    dabo.ui.callAfter(_clearFlag)


Sorry about the noise.  My editor trims trailing whitespace by default 
because git doesn't accept commits with trailing whitespace.

Regards,

Nate

On 4/27/10 2:43 PM, Paul McNett wrote:
> Yikes, I can't find the signal in all the noise!
>
> Paul
>
>
> On 4/27/10 11:39 AM, Nate Lowrie wrote:
>    
>> dabo Commit
>> Revision 5798
>> Date: 2010-04-27 11:39:24 -0700 (Tue, 27 Apr 2010)
>> Author: Nate
>> Trac: http://trac.dabodev.com/changeset/5798
>>
>> Changed:
>> U   trunk/dabo/ui/uiwx/dGrid.py
>>
>> Log:
>> I had an application with 2 grids on different pages in a dPageFrameNoTabs 
>> widget.  The one on the page displayed first would have expanded columns 
>> sized properly.  The one on the suppressed page wouldn't.  I eventually 
>> traced the problem back to the fact that _clearFlag wasn't being called 
>> after the 5ms interval like it was supposed to.  Changing this to callAfter 
>> fixed the problem and I noticed no increases in the number of calls to the 
>> grids column sizing methods.
>>
>> Diff:
>> Modified: trunk/dabo/ui/uiwx/dGrid.py
>> ===================================================================
>> --- trunk/dabo/ui/uiwx/dGrid.py      2010-04-23 23:02:01 UTC (rev 5797)
>> +++ trunk/dabo/ui/uiwx/dGrid.py      2010-04-27 18:39:24 UTC (rev 5798)
>> @@ -70,7 +70,7 @@
>>              dcol = self.grid.Columns[col]
>>
>>              # If a cell attr is set up, use it. Else, use the one set up 
>> for the column.
>> -            
>> +
>>              # PVG: we need to update dynamic properties before checkin for 
>> cellAttrs
>>              dcol._updateCellDynamicProps(row)
>>
>> @@ -237,7 +237,7 @@
>>
>>              if _oldRowCount == _newRowCount and not force:
>>                      return _newRowCount
>> -            
>> +
>>              self.grid._syncRowCount()
>>              # Column widths come from multiple places. In decreasing 
>> precedence:
>>              #   1) dApp user settings,
>> @@ -294,7 +294,7 @@
>>    #         return False
>>
>>
>> -    def GetValue(self, row, col, useCache=True, convertNoneToString=True):
>> +    def GetValue(self, row, col, useCache=True, convertNoneToString=True):
>>              col = self._convertWxColNumToDaboColNum(col)
>>              if useCache:
>>                      try:
>> @@ -350,8 +350,8 @@
>>
>>      def _convertWxColNumToDaboColNum(self, wxCol):
>>              return self.grid._convertWxColNumToDaboColNum(wxCol)
>> -    
>>
>> +
>>    class GridListEditor(wx.grid.GridCellChoiceEditor):
>>      def __init__(self, *args, **kwargs):
>>              dabo.infoLog.write("GridListEditor: Init ")
>> @@ -448,7 +448,7 @@
>>              # Custom editors/renderers
>>              self._customRenderers = {}
>>              self._customEditors = {}
>> -            
>> +
>>              self._beforeInit()
>>              kwargs["Parent"] = parent
>>              # dColumn maintains one attr object that the grid table will 
>> use for
>> @@ -683,7 +683,7 @@
>>
>>
>>      def _setDataTypeFromDataField(self, fld):
>> -            """When a column has its DataField changed, we need to set the
>> +            """When a column has its DataField changed, we need to set the
>>              correct DataType based on the new value.
>>              """
>>              if self.Parent:
>> @@ -1060,7 +1060,7 @@
>>              try:
>>                      return self._gridColAttr.GetTextColour()
>>              except wx.PyAssertionError:
>> -                    # Getting the color failed on Mac and win: "no default 
>> attr"
>> +                    # Getting the color failed on Mac and win: "no default 
>> attr"
>>                      default = dColors.colorTupleFromName("black")
>>                      self._gridColAttr.SetTextColour(default)
>>                      return default
>> @@ -1344,11 +1344,11 @@
>>              else:
>>                      self._properties["Sortable"] = val
>>
>> -    
>> +
>>      def _getValue(self):
>>              grid = self.Parent
>>              biz = grid.getBizobj()
>> -            if self.DataField:
>> +            if self.DataField:
>>                      if biz and (grid.CurrentRow<   biz.RowCount):
>>                              return biz.getFieldVal(self.DataField)
>>                      if grid.DataSet:
>> @@ -1750,26 +1750,26 @@
>>              # Do we show row or column labels?
>>              self._showHeaders = True
>>              self._showRowLabels = False
>> -            
>> +
>>              # Declare Internal Row Attributes
>>              self._rowLabels = []
>>              self._sameSizeRows = True
>> -            
>> +
>>              # Declare Internal Column Attributes
>>              self._columnClass = dColumn
>>              self._columns = []
>> -            
>> +
>>              #Declare Internal Search And Sort Attributes
>>              self._searchable = True
>>              self._searchDelay = None
>>              self._sortable = True
>> -            
>> +
>>              #Declare Internal Header Attributes
>>              self._headerVerticalAlignment = "Center"
>>              self._headerHorizontalAlignment = "Center"
>>              self._headerForeColor = None
>>              self._headerBackColor = None
>> -            
>> +
>>              #Set NoneDisplay attributes
>>              if self.Application:
>>                      self.__noneDisplayDefault = self.Application.NoneDisplay
>> @@ -1987,7 +1987,7 @@
>>      def getValue(self, row=None, col=None):
>>              """Returns the value of the specified row and column.
>>
>> -            If no row/col is specified, the current row/col will be used.
>> +            If no row/col is specified, the current row/col will be used.
>>              """
>>              if row is None:
>>                      row = self.CurrentRow
>> @@ -2025,8 +2025,8 @@
>>
>>
>>      def typeFromDataField(self, df):
>> -            """When the DataField is set for a column, it needs to set the 
>> corresponding
>> -            value of its DataType property. Will return the Python data 
>> type, or None if
>> +            """When the DataField is set for a column, it needs to set the 
>> corresponding
>> +            value of its DataType property. Will return the Python data 
>> type, or None if
>>              there is no bizobj, or no DataStructure info available in the 
>> bizobj.
>>              """
>>              biz = self.getBizobj()
>> @@ -2038,17 +2038,17 @@
>>                      dabo.errorLog.write(e)
>>                      return None
>>              return pyType
>> -            
>>
>> +
>>      def getTableClass(cls):
>> -            """We don't expose the underlying table class to the ui 
>> namespace, as it's a
>> +            """We don't expose the underlying table class to the ui 
>> namespace, as it's a
>>              wx-specific implementation detail, but for cases where you need 
>> to subclass
>>              the table, this classmethod will return the class reference.
>>              """
>>              return dGridDataTable
>>      getTableClass = classmethod(getTableClass)
>> -    
>>
>> +
>>      def setTableAttributes(self, tbl=None):
>>              """Set the attributes for table display"""
>>              if tbl is None:
>> @@ -2102,7 +2102,7 @@
>>      def _getDaboVisibleCols(self):
>>              try:
>>                      return [e[0] for e in enumerate(self._columns) if 
>> e[1].Visible]
>> -            except wx._core.PyAssertionError, e:    
>> +            except wx._core.PyAssertionError, e:
>>                      # Can happen when an editor is active and columns resize
>>                      ret = []
>>                      for pos, col in enumerate(self._columns):
>> @@ -2114,7 +2114,7 @@
>>      def _convertWxColNumToDaboColNum(self, wxCol):
>>              """For the Visible property to work, we need to convert the 
>> column number
>>              wx sends to the actual column index in grid.Columns.
>> -            
>> +
>>              Returns None if there is no corresponding dabo column.
>>              """
>>              try:
>> @@ -2136,7 +2136,7 @@
>>              except ValueError:
>>                      return None
>>
>> -            
>> +
>>      def _restoreSort(self):
>>              self.sortedColumn = self._getUserSetting("sortedColumn")
>>              self.sortOrder = self._getUserSetting("sortOrder")
>> @@ -2405,7 +2405,7 @@
>>                      _clearFlag()
>>                      self._delayedUpdateColumnWidths(redo=True)
>>              else:
>> -                    dabo.ui.callAfterInterval(5, _clearFlag)
>> +                    dabo.ui.callAfter(_clearFlag)
>>
>>
>>      def autoSizeCol(self, colNum, persist=False):
>> @@ -2459,6 +2459,7 @@
>>                      self._updateColumnWidths()
>>
>>
>> +
>>      def _paintHeader(self, updateBox=None, _paintDC=False):
>>              w = self._getWxHeader()
>>
>> @@ -2483,7 +2484,7 @@
>>                              # Grid is probably being created or destroyed, 
>> so just return
>>                              continue
>>                      dc.SetClippingRegion(*headerRect)
>> -    
>> +
>>                      holdBrush = dc.GetBrush()
>>                      holdPen = dc.GetPen()
>>
>> @@ -2939,7 +2940,7 @@
>>              self.incSearchTimer.start(searchDelay)
>>
>>
>> -    def findReplace(self, action, findString, replaceString, downwardSearch,
>> +    def findReplace(self, action, findString, replaceString, downwardSearch,
>>                      wholeWord, matchCase):
>>              """Called from the 'Find' dialog."""
>>              ret = False
>> @@ -3065,8 +3066,8 @@
>>      def addColumn(self, col=None, inBatch=False, *args, **kwargs):
>>              """ Adds a column to the grid.
>>
>> -            If no col (class or instance) is passed, a blank dColumn is 
>> added, which
>> -            can be customized       later. Any extra keyword arguments are 
>> passed to the
>> +            If no col (class or instance) is passed, a blank dColumn is 
>> added, which
>> +            can be customized       later. Any extra keyword arguments are 
>> passed to the
>>              constructor of the new dColumn.
>>              """
>>              if col is None:
>> @@ -3202,7 +3203,7 @@
>>                      self.ProcessTableMessage(msg)
>>              self.EndBatch()
>>
>> -            # We need to adjust the Width of visible columns here, in case 
>> any
>> +            # We need to adjust the Width of visible columns here, in case 
>> any
>>              # columns have Visible = False.
>>              for daboCol, colObj in enumerate(self._columns):
>>                      wxCol = self._convertDaboColNumToWxColNum(daboCol)
>> @@ -3482,7 +3483,7 @@
>>                      ##                 out of scope prematurely.
>>                      col._setEditor(newRow)
>>
>> -            if col and (self.Editable and col.Editable and not 
>> self._vetoAllEditing
>> +            if col and (self.Editable and col.Editable and not 
>> self._vetoAllEditing
>>                              and self.ActivateEditorOnSelect):
>>                      dabo.ui.callAfter(self.EnableCellEditControl)
>>              if oldRow != newRow:
>> @@ -3545,7 +3546,7 @@
>>              if keycode == 27:
>>                      # esc pressed. Grid will eat it by default. But if we 
>> are in a dialog with
>>                      # a cancel button, let's runCancel() since that's what 
>> the user likely wants:
>> -                    if hasattr(self.Form, "runCancel"):                     
>> +                    if hasattr(self.Form, "runCancel"):
>>                              self.Form.runCancel()
>>              if keycode == 9 and self.TabNavigates:
>>                      evt.stop()
>> @@ -3554,7 +3555,7 @@
>>
>>      def _onKeyChar(self, evt):
>>              """ Occurs when the user presses a key inside the grid."""
>> -            if (self.Editable and self.Columns[self.CurrentColumn].Editable
>> +            if (self.Editable and self.Columns[self.CurrentColumn].Editable
>>                              and not self._vetoAllEditing):
>>                      # Can't search and edit at the same time
>>                      return
>> @@ -4120,7 +4121,7 @@
>>                              # See if the DataSource is a reference
>>                              try:
>>                                      ret = eval(self.DataSource)
>> -                            except StandardError:
>> +                            except StandardError:
>>                                      # If it fails for any reason, bail.
>>                                      pass
>>                      self._dataSet = ret
>> @@ -4820,7 +4821,7 @@
>>                      will be sortable. Default: True  (bool)"""))
>>
>>      TabNavigates = property(_getTabNavigates, _setTabNavigates, None,
>> -                    _("""Specifies whether Tab navigates to the next 
>> control (True, the default),
>> +                    _("""Specifies whether Tab navigates to the next 
>> control (True, the default),
>>                      or if Tab moves to the next column in the grid 
>> (False)."""))
>>
>>      VerticalScrolling = property(_getVerticalScrolling, 
>> _setVerticalScrolling, None,
>> @@ -4916,7 +4917,7 @@
>>              col.HeaderBackColor = "orange"
>>              col.HeaderVerticalAlignment = "Top"
>>              col.HeaderHorizontalAlignment = "Left"
>> -            
>> +
>>              # Let's make a custom editor for the name
>>              class ColoredText(dabo.ui.dTextBox):
>>                      def initProperties(self):
>>
>>
>>
>>      
[excessive quoting removed by server]

_______________________________________________
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