Changeset 8642:d2074f48569d in orange


Ignore:
Timestamp:
08/09/11 15:01:59 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
ef948778a4115e2007118bdaccae89cf9df483ac
Message:

Support for categories in OWLegend, including a category for unused attributes in LinProj

Location:
orange/OrangeWidgets
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Prototypes/OWLinProjGraphQt.py

    r8641 r8642  
    129129                        arrows = AxisStart 
    130130                        label_pos = AxisStart 
    131                     self.add_axis(UserAxis + i, title='<b>' + a + '</b>', title_location=label_pos, line=line, arrows=arrows, zoomable=True) 
     131                    self.add_axis(UserAxis + i, title=a, title_location=label_pos, line=line, arrows=arrows, zoomable=True) 
    132132                    self.setAxisLabels(UserAxis + i, []) 
    133133            else: 
  • orange/OrangeWidgets/plot/owaxis.py

    r8638 r8642  
    131131        self.line_item.setPen(self.style.pen()) 
    132132        if self.title: 
    133             self.title_item.setHtml(self.title) 
     133            self.title_item.setHtml('<b>' + self.title + '</b>') 
    134134        if self.title_location == AxisMiddle: 
    135135            title_p = 0.5 
  • orange/OrangeWidgets/plot/owlegend.py

    r8641 r8642  
    1616        QGraphicsObject.__init__(self, parent) 
    1717        self.text_item = QGraphicsTextItem(name, self) 
    18         s = point.size() 
    19         height = max(2*s, self.text_item.boundingRect().height()) 
     18        if point: 
     19            s = point.size() 
     20            height = max(2*s, self.text_item.boundingRect().height()) 
     21        else: 
     22            height = self.text_item.boundingRect().height() 
    2023        p = 0.5 * height 
    2124        self.text_item.setPos(height, 0) 
    2225        self.point_item = point 
    23         self.point_item.setParentItem(self) 
    24         self.point_item.setPos(p, p) 
     26        if point: 
     27            self.point_item.setParentItem(self) 
     28            self.point_item.setPos(p, p) 
    2529        self._rect = QRectF(0, 0, height + self.text_item.boundingRect().width(), height ) 
    2630        self.rect_item = QGraphicsRectItem(self._rect, self) 
     
    2832        self.rect_item.setBrush(Qt.white) 
    2933        self.rect_item.stackBefore(self.text_item) 
    30         self.rect_item.stackBefore(self.point_item) 
     34        if self.point_item: 
     35            self.rect_item.stackBefore(self.point_item) 
    3136         
    3237    def boundingRect(self): 
     
    99104        self.items[category].append(OWLegendItem(str(value), point, self)) 
    100105        self.update() 
     106         
     107    def remove_category(self, category): 
     108        if category not in self.items: 
     109            return 
     110        for item in self.items[category]: 
     111            self.scene().removeItem(item) 
     112        del self.items[category] 
    101113         
    102114    def update(self): 
  • orange/OrangeWidgets/plot/owplot.py

    r8641 r8642  
    1414TopLegend = 3 
    1515ExternalLegend = 4 
     16 
     17UNUSED_ATTRIBUTES_STR = 'unused attributes' 
    1618 
    1719from owaxis import * 
     
    812814            Otherwise, all their labels are updated.  
    813815        """ 
     816        if not zoom_only: 
     817            self._legend.remove_category(UNUSED_ATTRIBUTES_STR) 
     818             
    814819        for id, item in self.axes.iteritems(): 
    815820            if item.scale is None and item.labels is None: 
     
    849854            else: 
    850855                item.hide() 
     856                self._legend.add_item(UNUSED_ATTRIBUTES_STR, item.title, None) 
    851857            item.zoom_transform = self._zoom_transform 
    852858            item.update(zoom_only) 
Note: See TracChangeset for help on using the changeset viewer.