Changeset 8225:4ce052fafa6b in orange


Ignore:
Timestamp:
08/19/11 08:47:49 (3 years ago)
Author:
Noughmad <Noughmad@…>
Branch:
default
Convert:
c2b688b17513d1dc78f509153c67929b858d37eb
Message:

Prevent animation flickering on older PyQt versions

File:
1 edited

Legend:

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

    r8222 r8225  
    15371537            qDebug(repr(self.animate_points)) 
    15381538         
    1539     def animate(self, target, prop_name, end_val, duration = None): 
     1539    def animate(self, target, prop_name, end_val, duration = None, start_val = None): 
    15401540        for a in self._animations: 
    15411541            if a.state() == QPropertyAnimation.Stopped: 
     
    15431543        if self.animate_plot: 
    15441544            a = QPropertyAnimation(target, prop_name) 
    1545             a.setStartValue(target.property(prop_name)) 
    15461545            a.setEndValue(end_val) 
     1546            if start_val is not None: 
     1547                a.setStartValue(start_val) 
     1548            qDebug('Animating %s from %s to %s' % (prop_name, repr(a.startValue()), repr(a.endValue()))) 
    15471549            if duration: 
    15481550                a.setDuration(duration) 
     
    15761578        self.ensure_inside(rect, self.graph_area) 
    15771579        self.zoom_stack.append(self.zoom_rect) 
    1578         self.animate(self, 'zoom_rect', rect) 
     1580        self.animate(self, 'zoom_rect', rect, start_val = self.get_zoom_rect()) 
    15791581         
    15801582    def zoom_back(self): 
    15811583        if self.zoom_stack: 
    15821584            rect = self.zoom_stack.pop() 
    1583             self.animate(self, 'zoom_rect', rect) 
     1585            self.animate(self, 'zoom_rect', rect, start_val = self.get_zoom_rect()) 
    15841586 
    15851587    def reset_zoom(self): 
     
    16091611         
    16101612    def get_zoom_rect(self): 
    1611         return self._zoom_rect if self._zoom_rect else self.graph_area 
     1613        if self._zoom_rect: 
     1614            return self._zoom_rect 
     1615        else: 
     1616            return self.graph_area 
    16121617         
    16131618    def set_zoom_rect(self, rect): 
     1619    qDebug('Set zoom rect to ' + repr(rect)) 
    16141620        self._zoom_rect = rect 
    16151621        self._zoom_transform = self.transform_from_rects(rect, self.graph_area) 
Note: See TracChangeset for help on using the changeset viewer.