Changeset 8508:41ddf1c3afed in orange


Ignore:
Timestamp:
07/28/11 11:58:17 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
caf74ea62167b45167bdcc11a3cdc2a6371d4897
Message:

Dock the legend in the top-right corner when creating a plot

Location:
orange/OrangeWidgets/plot
Files:
2 edited

Legend:

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

    r8481 r8508  
    22 
    33from PyQt4.QtGui import QGraphicsTextItem, QGraphicsRectItem, QGraphicsObject, QColor, QPen 
    4 from PyQt4.QtCore import QPointF, QRectF, Qt, QPropertyAnimation, QSizeF 
     4from PyQt4.QtCore import QPointF, QRectF, Qt, QPropertyAnimation, QSizeF, qDebug 
    55 
    66from owpoint import * 
     
    5555        self.mouse_down = False 
    5656        self._orientation = Qt.Vertical 
    57         self._center_point = None 
    5857        self.max_size = QSizeF() 
    5958        self._floating = True 
     
    7372         
    7473    def update(self): 
    75         self._animations = [] 
    7674        self.box_rect = QRectF() 
    7775        x, y = 0, 0 
     
    123121        pass 
    124122     
    125     def set_orientation(self, orientation, origin_point = QPointF()): 
     123    def set_orientation(self, orientation): 
    126124        if self._orientation != orientation: 
    127125            self._orientation = orientation 
    128             if origin_point.isNull(): 
    129                 self._center_point = origin_point 
    130             else: 
    131                 self._center_point = self.mapFromScene(origin_point) 
    132126            self.update() 
    133127             
  • orange/OrangeWidgets/plot/owplot.py

    r8491 r8508  
    472472         
    473473        if self.show_legend: 
     474            self._legend.show() 
    474475            if not self._legend_moved: 
    475                 self._legend.setPos(graph_rect.topRight() + QPointF(-100, 100)) 
    476             self._legend.show() 
     476                ## If the legend hasn't been moved it, we set it outside, in the top right corner 
     477                w = self._legend.boundingRect().width() 
     478                self._legend_margin = QRectF(0, 0, w, 0) 
     479                self._legend.setPos(graph_rect.topRight() + QPointF(-w, 0)) 
     480                self._legend.set_floating(False) 
     481                self._legend.set_orientation(Qt.Vertical) 
    477482             
    478483            ## Adjust for possible external legend: 
     
    481486        else: 
    482487            self._legend.hide() 
     488             
     489        self._legend.update() 
    483490             
    484491        axis_rects = dict() 
     
    992999        if rect != self._legend_margin: 
    9931000            orientation = Qt.Horizontal if rect.top() or rect.bottom() else Qt.Vertical 
    994             self._legend.set_orientation(orientation, pos) 
     1001            self._legend.set_orientation(orientation) 
    9951002            self.animate(self, 'legend_margin', rect, duration=100) 
    9961003 
Note: See TracChangeset for help on using the changeset viewer.