Changeset 8713:ee4acb789b57 in orange


Ignore:
Timestamp:
08/15/11 12:43:03 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
9b9d8ace050a345c43301fd83ca489c1f69818aa
Message:

Make sure all plot elements use the Plot palette instead of the system one

Location:
orange/OrangeWidgets/plot
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/plot/owaxis.py

    r8712 r8713  
    129129 
    130130    def update(self, zoom_only = False): 
     131        color = self.plot.color(OWAxis.Role) 
    131132        if not self.graph_line or not self.scene(): 
    132133            return 
    133134        self.line_item.setLine(self.graph_line) 
    134         self.line_item.setPen(self.plot.color(self.Role)) 
     135        self.line_item.setPen(color) 
    135136        if self.title: 
    136137            self.title_item.setHtml('<b>' + self.title + '</b>') 
     138            self.title_item.setDefaultTextColor(color) 
    137139        if self.title_location == AxisMiddle: 
    138140            title_p = 0.5 
     
    172174            self.start_arrow_item.setPos(self.graph_line.p1()) 
    173175            self.start_arrow_item.setRotation(-self.graph_line.angle() + 180) 
    174             self.start_arrow_item.setBrush(self.plot.color(self.Role)) 
    175             self.start_arrow_item.setPen(self.plot.color(self.Role)) 
     176            self.start_arrow_item.setBrush(color) 
     177            self.start_arrow_item.setPen(color) 
    176178        if self.arrows & AxisEnd: 
    177179            if not zoom_only or not self.end_arrow_item: 
     
    179181            self.end_arrow_item.setPos(self.graph_line.p2()) 
    180182            self.end_arrow_item.setRotation(-self.graph_line.angle()) 
    181             self.end_arrow_item.setBrush(self.plot.color(self.Role)) 
    182             self.end_arrow_item.setPen(self.plot.color(self.Role)) 
     183            self.end_arrow_item.setBrush(color) 
     184            self.end_arrow_item.setPen(color) 
    183185             
    184186        ## Labels 
     
    224226            item.setPos(label_pos) 
    225227            item.setTextWidth(w) 
     228            item.setDefaultTextColor(color) 
    226229             
    227230            item = self.tick_items[i] 
     
    233236                tick_line.setAngle(tick_line.angle() + 180) 
    234237            item.setLine( tick_line ) 
    235             item.setPen(self.plot.color(self.Role)) 
     238            item.setPen(color) 
    236239            item.setPos(self.map_to_graph(pos)) 
    237240             
  • orange/OrangeWidgets/plot/owlegend.py

    r8712 r8713  
    234234        self.box_rect = QRectF() 
    235235        x, y = 0, 0 
     236         
     237        for lst in self.items.itervalues(): 
     238            for item in lst: 
     239                if hasattr(item, 'text_item'): 
     240                    item.text_item.setDefaultTextColor(self.graph.color(QPalette.Text)) 
    236241         
    237242        if self._orientation == Qt.Vertical: 
  • orange/OrangeWidgets/plot/owpalette.py

    r8712 r8713  
     1from PyQt4.QtGui import QPalette 
     2from PyQt4.QtCore import Qt 
     3 
     4def create_palette(colors): 
     5    p = QPalette() 
     6    for role, color in colors.iteritems(): 
     7        p.setColor(role, color) 
     8    return p 
     9 
     10class OWPalette: 
     11    Canvas = QPalette.Base 
     12    Grid = QPalette.AlternateBase 
     13    Text = QPalette.Text 
     14     
     15    System = QPalette() 
     16    Light = create_palette({ Canvas : Qt.white, Grid : Qt.lightGray, Text : Qt.black }) 
     17    Dark = create_palette({ Canvas : Qt.black, Grid : Qt.darkGray, Text : Qt.white }) 
  • orange/OrangeWidgets/plot/owplot.py

    r8712 r8713  
    284284        self.show_legend = show_legend 
    285285        self.title_item = None 
    286         self._palette = QPalette() 
    287286         
    288287        self.setRenderHints(QPainter.Antialiasing | QPainter.TextAntialiasing) 
     
    378377        self.contPalette = ColorPaletteGenerator(numberOfColors = -1) 
    379378        self.discPalette = ColorPaletteGenerator() 
    380          
     379        self.set_palette(OWPalette.Light) 
     380 
    381381        self.gui = OWPlotGUI(self) 
    382382    """ 
     
    554554        p = self.palette() 
    555555        p.setColor(QPalette.Base, c) 
    556         p.set_palette(p) 
     556        self.set_palette(p) 
    557557         
    558558    def setData(self, data): 
     
    16401640        return line 
    16411641         
    1642     def palette(self): 
    1643         """ 
    1644             Returns the palette used for this plot.  
    1645              
    1646             If it hasn't been modified yet, it will use the QApplication's palette.  
    1647             This way, Orange plots match the appearance of other applications.  
    1648         """ 
    1649         return self._palette 
    1650          
    16511642    def color(self, role, group = None): 
    16521643        if group: 
     
    16561647             
    16571648    def set_palette(self, p): 
    1658         self._palette = p 
     1649        self.setPalette(p) 
    16591650        self.replot() 
Note: See TracChangeset for help on using the changeset viewer.