Changeset 11572:27c26e9d7be5 in orange


Ignore:
Timestamp:
05/31/13 13:38:38 (11 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Cleanup of TableBarItem class.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeWidgets/OWGUI.py

    r10939 r11572  
    17551755    BarRole = OrangeUserRole.next() 
    17561756    ColorRole = OrangeUserRole.next() 
    1757     def __init__(self, widget, table = None, color = QColor(255, 170, 127), color_schema=None): 
     1757 
     1758    def __init__(self, parent, table=None, color=QColor(255, 170, 127), 
     1759                 color_schema=None): 
    17581760        """ 
    1759         :param widget: OWWidget instance 
    1760         :type widget: :class:`OWWidget.OWWidget 
    1761         :param table: Table 
     1761        :param parent: OWWidget instance 
     1762        :type parent: :class:`PyQt4.QtCore.QObject` 
     1763        :param table: Table (unused, here for backwards compatibility). 
    17621764        :type table: :class:`Orange.data.Table` 
    17631765        :param color: Color of the distribution bar. 
     
    17651767        :param color_schema: If not None it must be an instance of 
    17661768            :class:`OWColorPalette.ColorPaletteGenerator` (note: this 
    1767             parameter, if set, overrides the ``color``) 
     1769            parameter, if set, overrides the ``color``). 
    17681770        :type color_schema: :class:`OWColorPalette.ColorPaletteGenerator` 
    1769            
     1771 
    17701772        """ 
    1771         QItemDelegate.__init__(self, widget) 
     1773        QItemDelegate.__init__(self, parent) 
    17721774        self.color = color 
    17731775        self.color_schema = color_schema 
    1774         self.widget = widget 
    17751776        self.table = table 
    17761777 
     
    17781779        painter.save() 
    17791780        self.drawBackground(painter, option, index) 
    1780         if self.table is None: 
    1781             table = getattr(index.model(), "examples", None) 
    1782         else: 
    1783             table = self.table 
    1784         ratio = None 
     1781 
    17851782        ratio, ok = index.data(TableBarItem.BarRole).toDouble() 
    1786         if ratio != ratio: # NaN 
     1783        if not ok or ratio > 1.0 or ratio < 0.0 or ratio != ratio: 
     1784            # not a float, out of 0..1 range or a NaN. 
    17871785            ratio = None 
    1788         if not ok: 
    1789             ratio = None 
    1790             value, ok = index.data(Qt.DisplayRole).toDouble() 
    1791             if ok and getattr(self.widget, "showBars", False) and table is not None: 
    1792                 col = index.column() 
    1793                 if col < len(table.normalizers): 
    1794                     max, span = table.normalizers[col] 
    1795                     ratio = (max - value) / span 
    17961786 
    17971787        color = self.color 
    1798         if self.color_schema is not None and table is not None \ 
    1799             and table.domain.classVar \ 
    1800             and isinstance(table.domain.classVar, orange.EnumVariable): 
     1788        if self.color_schema is not None: 
    18011789            class_ = index.data(TableClassValueRole).toPyObject() 
    1802             if not class_.isSpecial(): 
     1790            if isinstance(class_, orange.Value) and \ 
     1791                    isinstance(class_.variable, orange.EnumVariable) and \ 
     1792                    not class_.isSpecial(): 
    18031793                color = self.color_schema[int(class_)] 
    1804         else: 
    1805             color = self.color 
    18061794 
    18071795        if ratio is not None: 
    1808 #            painter.save() 
    1809 #            pen = QPen(QBrush(color), 3, Qt.SolidLine, Qt.FlatCap, Qt.BevelJoin) 
    1810 #            painter.setPen(pen) 
    1811 #            painter.drawRect(option.rect.adjusted(0, 3, -option.rect.width() * ratio, -3)) 
    1812 #            painter.restore() 
    1813  
    1814 #            painter.fillRect(option.rect.adjusted(0, 3, -option.rect.width() * ratio, -3), color) 
    1815  
    18161796            painter.save() 
    18171797            painter.setPen(QPen(QBrush(color), 5, Qt.SolidLine, Qt.RoundCap)) 
     
    18281808        self.drawDisplay(painter, option, text_rect, text) 
    18291809        painter.restore() 
    1830          
     1810 
     1811 
    18311812class BarItemDelegate(QStyledItemDelegate): 
    18321813    def __init__(self, parent, brush=QBrush(QColor(255, 170, 127)), scale=(0.0, 1.0)): 
Note: See TracChangeset for help on using the changeset viewer.