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]
