Changeset 8481:a06f331c01fd in orange


Ignore:
Timestamp:
07/27/11 13:58:08 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
85251fa177ebcad418acb8a82a04e0ef8c8bee04
Message:

Add a configuration option to turn off all animations

Location:
orange/OrangeWidgets
Files:
4 edited

Legend:

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

    r8466 r8481  
    119119         
    120120        g = self.graph.gui 
    121         g.add_widgets([g.ShowLegend, g.ShowFilledSymbols, g.ShowGridLines, g.Antialiasing], box4) 
     121        g.add_widgets([g.ShowLegend, g.ShowFilledSymbols, g.ShowGridLines, g.UseAnimations, g.Antialiasing], box4) 
    122122         
    123123        box5 = OWGUI.widgetBox(box4, orientation = "horizontal") 
  • orange/OrangeWidgets/plot/owlegend.py

    r8459 r8481  
    133133             
    134134    def set_pos_animated(self, pos): 
    135         if (self.pos() - pos).manhattanLength() < 6: 
     135        if (self.pos() - pos).manhattanLength() < 6 or not self.graph.use_animations: 
    136136            self.setPos(pos) 
    137137        else: 
  • orange/OrangeWidgets/plot/owplot.py

    r8480 r8481  
    158158        self._transform_cache = {} 
    159159        self.block_update = False 
     160         
     161        self.use_animations = True 
     162        self._animations = [] 
    160163         
    161164        ## Mouse event handlers 
     
    716719            else: 
    717720                return False 
    718             self.zoom_factor_animation = QPropertyAnimation(self, 'zoom_factor') 
    719             self.zoom_factor_animation.setStartValue(float(self._zoom_factor)) 
    720             self.zoom_factor_animation.setEndValue(float(end_zoom_factor)) 
    721             self.zoom_factor_animation.start(QPropertyAnimation.DeleteWhenStopped) 
     721            self.animate(self, 'zoom_factor', float(end_zoom_factor)) 
    722722            return True 
    723723             
     
    995995            orientation = Qt.Horizontal if rect.top() or rect.bottom() else Qt.Vertical 
    996996            self._legend.set_orientation(orientation, pos) 
    997             self._legend_animation = QPropertyAnimation(self, 'legend_margin') 
    998             self._legend_animation.setStartValue(self._legend_margin) 
    999             self._legend_animation.setEndValue(rect) 
    1000             self._legend_animation.setDuration(100) 
    1001             self._legend_animation.start(QPropertyAnimation.DeleteWhenStopped) 
     997            self.animate(self, 'legend_margin', rect, duration=100) 
    1002998 
    1003999    @pyqtProperty(QRectF) 
     
    10291025        self.setRenderHint(QPainter.Antialiasing, self.use_antialiasing) 
    10301026        orangeplot.Point.clear_cache() 
     1027         
     1028    def update_animations(self): 
     1029        use_animations = self.use_animations 
     1030         
     1031    def animate(self, target, prop_name, end_val, duration = None): 
     1032        for a in self._animations: 
     1033            if a.state() == QPropertyAnimation.Stopped: 
     1034                self._animations.remove(a) 
     1035        if self.use_animations: 
     1036            a = QPropertyAnimation(target, prop_name) 
     1037            a.setStartValue(target.property(prop_name)) 
     1038            a.setEndValue(end_val) 
     1039            if duration: 
     1040                a.setDuration(duration) 
     1041            self._animations.append(a) 
     1042            a.start(QPropertyAnimation.KeepWhenStopped) 
     1043        else: 
     1044            target.setProperty(prop_name, end_val) 
  • orange/OrangeWidgets/plot/owplotgui.py

    r8466 r8481  
    1111    PointSize = 5 
    1212    AlphaValue = 6 
     13    UseAnimations = 7 
    1314         
    1415    def _get_callback(self, name): 
     
    2930    def grid_lines_check_box(self, widget): 
    3031        self._check_box(widget, 'show_grid', 'Show gridlines', 'update_grid') 
    31          
     32     
     33    def animations_check_box(self, widget): 
     34        self._check_box(widget, 'use_animations', 'Use animations', 'update_animations') 
     35     
    3236    def _slider(self, widget, value, label, min_value, max_value, step, cb_name): 
    3337        OWGUI.hSlider(widget, self._plot, value, label=label, minValue=min_value, maxValue=max_value, step=step, callback=self._get_callback(cb_name)) 
     
    4852        ShowGridLines : grid_lines_check_box, 
    4953        PointSize : point_size_slider, 
    50         AlphaValue : alpha_value_slider 
     54        AlphaValue : alpha_value_slider, 
     55        UseAnimations : animations_check_box 
    5156        } 
    5257         
Note: See TracChangeset for help on using the changeset viewer.