Changeset 8272:73643a6143db in orange


Ignore:
Timestamp:
05/24/11 21:29:40 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
36dda36aef5450d8d844d8aab2ee78ed5668e5af
Message:

Add replacement and/or dummy methods, so that ScatterPlot loads without errors

Location:
orange/OrangeWidgets
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Graph/legend.py

    r8270 r8272  
    99class Legend(QGraphicsItemGroup): 
    1010    def __init__(self, scene): 
    11         QGraphicsItemGroup.__init__(self, scene) 
     11        QGraphicsItemGroup.__init__(self, None, scene) 
    1212        self.items = [] 
  • orange/OrangeWidgets/Graph/palette.py

    r8270 r8272  
    7474        self.line_styles = [] 
    7575        self.point_styles = [] 
    76         self.axis_style = LineStyle(Qt.Black, 1, Qt.SolidLine) 
     76        self.axis_style = LineStyle(Qt.black, 1, Qt.SolidLine) 
    7777 
    7878def shared_palette(): 
  • orange/OrangeWidgets/QtGraph.py

    r8270 r8272  
     1 
     2""" 
     3    .. class:: QtGraph 
     4        The base class for all graphs in Orange. It is written in Qt with QGraphicsItems 
     5         
     6    .. attribute:: show_legend 
     7        A boolean controlling whether the legend is displayed or not 
     8         
     9    .. attribute:: legend_position 
     10        Determines where the legend is positions, if ``show_legend`` is True. 
     11         
     12    .. atribute:: palette 
     13        Chooses which palette is used by this graph. By default, this is `shared_palette`.  
     14         
     15    .. method mapToGraph(point) 
     16        Maps the ``point`` in scene coordinates to graph (data) coordinates 
     17         
     18    .. method mapFromGraph(point) 
     19        Maps the ``point`` from data coordinates to graph coordinates 
     20         
     21    .. method activateZooming() 
     22        Activates zoom 
     23""" 
     24 
     25NOTHING = 0 
     26ZOOMING = 1 
     27SELECT_RECTANGLE = 2 
     28SELECT_POLYGON = 3 
     29PANNING = 4 
     30SELECT = 5 
    131 
    232from Graph import * 
    333from PyQt4.QtGui import QGraphicsView,  QGraphicsScene 
     34 
     35from OWDlgs import OWChooseImageSizeDlg 
     36from OWBaseWidget import unisetattr 
    437 
    538class OWGraph(QGraphicsView): 
     
    841        self.parent_name = name 
    942        self.show_legend = show_legend 
     43        self.legend = None 
    1044         
    1145        self.canvas = QGraphicsScene(self) 
    1246        self.setScene(self.canvas) 
    1347         
     48        # Method aliases, because there are some methods with different names but same functions 
     49        self.replot = self.update 
     50        self.repaint = self.update 
     51        self.setCanvasBackground = self.setCanvasColor 
     52         
     53        self.palette = palette.shared_palette() 
     54         
     55        self.update() 
     56         
     57         
     58    def __setattr__(self, name, value): 
     59        unisetattr(self, name, value, QGraphicsView) 
     60         
    1461    def update(self): 
    15         size = self.childrenRect.size() 
     62        size = self.childrenRect().size() 
    1663         
    1764        if self.show_legend and not self.legend: 
    18             self.legend = Legend(self.canvas) 
     65            self.legend = legend.Legend(self.canvas) 
    1966            self.legend.show() 
    2067        if not self.show_legend and self.legend: 
     
    2269            self.legend = None 
    2370         
    24              
    2571    def mapToGraph(self, point): 
    2672        # TODO 
     
    3076        # TODO 
    3177        return point 
     78         
     79    def saveToFile(self, extraButtons = []): 
     80        sizeDlg = OWChooseImageSizeDlg(self, extraButtons, parent=self) 
     81        sizeDlg.exec_() 
     82 
     83    def saveToFileDirect(self, fileName, size = None): 
     84        sizeDlg = OWChooseImageSizeDlg(self) 
     85        sizeDlg.saveImage(fileName, size) 
     86         
     87    def activateZooming(self): 
     88        self.state = ZOOMING 
     89         
     90    def setShowMainTitle(self, b): 
     91        self.showMainTitle = b 
     92        if self.showMainTitle and self.mainTitle: 
     93            self.setTitle(self.mainTitle) 
     94        else: 
     95            self.setTitle(QwtText()) 
     96        self.repaint() 
     97 
     98    def setMainTitle(self, t): 
     99        self.mainTitle = t 
     100        if self.showMainTitle and self.mainTitle: 
     101            self.setTitle(self.mainTitle) 
     102        else: 
     103            self.setTitle(QwtText()) 
     104        self.repaint() 
     105 
     106    def setShowXaxisTitle(self, b = -1): 
     107        if b == self.showXaxisTitle: return 
     108        if b != -1: 
     109            self.showXaxisTitle = b 
     110        if self.showXaxisTitle and self.XaxisTitle: 
     111            self.setAxisTitle(QwtPlot.xBottom, self.XaxisTitle) 
     112        else: 
     113            self.setAxisTitle(QwtPlot.xBottom, QwtText()) 
     114        self.repaint() 
     115 
     116    def setXaxisTitle(self, title): 
     117        if title == self.XaxisTitle: return 
     118        self.XaxisTitle = title 
     119        if self.showXaxisTitle and self.XaxisTitle: 
     120            self.setAxisTitle(QwtPlot.xBottom, self.XaxisTitle) 
     121        else: 
     122            self.setAxisTitle(QwtPlot.xBottom, QwtText()) 
     123        #self.updateLayout() 
     124        self.repaint() 
     125 
     126    def setShowYLaxisTitle(self, b = -1): 
     127        if b == self.showYLaxisTitle: return 
     128        if b != -1: 
     129            self.showYLaxisTitle = b 
     130        if self.showYLaxisTitle and self.YLaxisTitle: 
     131            self.setAxisTitle(QwtPlot.yLeft, self.YLaxisTitle) 
     132        else: 
     133            self.setAxisTitle(QwtPlot.yLeft, QwtText()) 
     134        #self.updateLayout() 
     135        self.repaint() 
     136 
     137    def setYLaxisTitle(self, title): 
     138        if title == self.YLaxisTitle: return 
     139        self.YLaxisTitle = title 
     140        if self.showYLaxisTitle and self.YLaxisTitle: 
     141            self.setAxisTitle(QwtPlot.yLeft, self.YLaxisTitle) 
     142        else: 
     143            self.setAxisTitle(QwtPlot.yLeft, QwtText()) 
     144        #self.updateLayout() 
     145        self.repaint() 
     146 
     147    def setShowYRaxisTitle(self, b = -1): 
     148        if b == self.showYRaxisTitle: return 
     149        if b != -1: 
     150            self.showYRaxisTitle = b 
     151        if self.showYRaxisTitle and self.YRaxisTitle: 
     152            self.setAxisTitle(QwtPlot.yRight, self.YRaxisTitle) 
     153        else: 
     154            self.setAxisTitle(QwtPlot.yRight, QwtText()) 
     155        #self.updateLayout() 
     156        self.repaint() 
     157 
     158    def setYRaxisTitle(self, title): 
     159        if title == self.YRaxisTitle: return 
     160        self.YRaxisTitle = title 
     161        if self.showYRaxisTitle and self.YRaxisTitle: 
     162            self.setAxisTitle(QwtPlot.yRight, self.YRaxisTitle) 
     163        else: 
     164            self.setAxisTitle(QwtPlot.yRight, QwtText()) 
     165        #self.updateLayout() 
     166        self.repaint() 
     167 
     168    def enableGridXB(self, b): 
     169      #  self.gridCurve.enableX(b) 
     170        self.replot() 
     171 
     172    def enableGridYL(self, b): 
     173       # self.gridCurve.enableY(b) 
     174        self.replot() 
     175 
     176    def setGridColor(self, c): 
     177       # self.gridCurve.setPen(QPen(c)) 
     178        self.replot() 
     179 
     180    def setCanvasColor(self, c): 
     181        self.canvas.setBackgroundBrush(c) 
     182  
  • orange/OrangeWidgets/Visualize/OWScatterPlot.py

    r8042 r8272  
    160160        self.graph.discPalette = dlg.getDiscretePalette("discPalette") 
    161161        self.graph.setCanvasBackground(dlg.getColor("Canvas")) 
    162         self.graph.gridCurve.setPen(QPen(dlg.getColor("Grid"))) 
     162        # self.graph.gridCurve.setPen(QPen(dlg.getColor("Grid"))) 
     163        self.graph.palette.grid_style.color = dlg.getColor("Grid") 
    163164 
    164165        self.graph.enableGridXB(self.showGridlines) 
Note: See TracChangeset for help on using the changeset viewer.