graphics/RubberBand.py
changeset 1784 64beb9e9c749
parent 1782 5b6ad7a7fd9d
child 1831 56b48961cc68
--- a/graphics/RubberBand.py	Mon Aug 21 20:17:19 2017 +0000
+++ b/graphics/RubberBand.py	Mon Aug 21 23:22:58 2017 +0300
@@ -26,28 +26,29 @@
 
 from graphics.GraphicCommons import GetScaledEventPosition
 
-#-------------------------------------------------------------------------------
+
+# -------------------------------------------------------------------------------
 #                               Viewer RubberBand
-#-------------------------------------------------------------------------------
+# -------------------------------------------------------------------------------
 
-"""
-Class that implements a rubberband for graphic Viewers
-"""
 
 class RubberBand:
-    
+    """
+    Class that implements a rubberband for graphic Viewers
+    """
+
     def __init__(self, viewer):
         """
         Constructor
         @param viewer: Viewer on which rubberband must be drawn
         """
         self.Viewer = viewer
-        
+
         # wx.Panel on which rubberband will be drawn
         self.DrawingSurface = viewer.Editor
-        
+
         self.Reset()
-    
+
     def Reset(self):
         """
         Initialize internal attributes of rubberband
@@ -55,14 +56,14 @@
         self.StartPoint = None
         self.CurrentBBox = None
         self.LastBBox = None
-    
+
     def IsShown(self):
         """
         Indicate if rubberband is drawn on viewer
         @return: True if rubberband is drawn
         """
-        return self.CurrentBBox != None
-    
+        return self.CurrentBBox is not None
+
     def GetCurrentExtent(self):
         """
         Return the rubberband bounding box
@@ -73,7 +74,7 @@
         if self.IsShown():
             return self.CurrentBBox
         return self.LastBBox
-    
+
     def OnLeftDown(self, event, dc, scaling):
         """
         Called when left mouse is pressed on Viewer. Starts to edit a new
@@ -85,16 +86,16 @@
         # Save the point where mouse was pressed in Viewer unit, position may
         # be modified by scroll and zoom applied on viewer
         self.StartPoint = GetScaledEventPosition(event, dc, scaling)
-        
+
         # Initialize rubberband bounding box
         self.CurrentBBox = wx.Rect(self.StartPoint.x, self.StartPoint.y, 0, 0)
-        
+
         # Change viewer mouse cursor to reflect a rubberband bounding box is
         # edited
         self.DrawingSurface.SetCursor(wx.StockCursor(wx.CURSOR_CROSS))
-        
+
         self.Redraw()
-    
+
     def OnMotion(self, event, dc, scaling):
         """
         Called when mouse is dragging over Viewer. Update the current edited
@@ -106,19 +107,19 @@
         # Get mouse position in Viewer unit, position may be modified by scroll
         # and zoom applied on viewer
         pos = GetScaledEventPosition(event, dc, scaling)
-        
+
         # Save the last bounding box drawn for erasing it later
         self.LastBBox = wx.Rect(0, 0, 0, 0)
         self.LastBBox.Union(self.CurrentBBox)
-        
-        # Calculate new position and size of the box 
+
+        # Calculate new position and size of the box
         self.CurrentBBox.x = min(pos.x, self.StartPoint.x)
         self.CurrentBBox.y = min(pos.y, self.StartPoint.y)
         self.CurrentBBox.width = abs(pos.x - self.StartPoint.x) + 1
         self.CurrentBBox.height = abs(pos.y - self.StartPoint.y) + 1
-        
+
         self.Redraw()
-    
+
     def OnLeftUp(self, event, dc, scaling):
         """
         Called when mouse is release from Viewer. Erase the current edited
@@ -129,16 +130,16 @@
         """
         # Change viewer mouse cursor to default
         self.DrawingSurface.SetCursor(wx.NullCursor)
-        
+
         # Save the last edited bounding box
         self.LastBBox = self.CurrentBBox
         self.CurrentBBox = None
-        
+
         self.Redraw()
-    
+
     def DrawBoundingBoxes(self, bboxes, dc=None):
         """
-        Draw a list of bounding box on Viewer in the order given using XOR 
+        Draw a list of bounding box on Viewer in the order given using XOR
         logical function
         @param bboxes: List of bounding boxes to draw on viewer
         @param dc: Device Context of Viewer (default None)
@@ -146,38 +147,38 @@
         # Get viewer Device Context if not given
         if dc is None:
             dc = self.Viewer.GetLogicalDC()
-        
+
         # Save current viewer scale factors before resetting them in order to
         # avoid rubberband pen to be scaled
         scalex, scaley = dc.GetUserScale()
         dc.SetUserScale(1, 1)
-        
+
         # Set DC drawing style
         dc.SetPen(wx.Pen(wx.WHITE, style=wx.DOT))
         dc.SetBrush(wx.TRANSPARENT_BRUSH)
         dc.SetLogicalFunction(wx.XOR)
-        
+
         # Draw the bounding boxes using viewer scale factor
         for bbox in bboxes:
             if bbox is not None:
                 dc.DrawRectangle(
-                    bbox.x * scalex, bbox.y * scaley, 
+                    bbox.x * scalex, bbox.y * scaley,
                     bbox.width * scalex, bbox.height * scaley)
-        
+
         dc.SetLogicalFunction(wx.COPY)
-        
+
         # Restore Viewer scale factor
         dc.SetUserScale(scalex, scaley)
-    
-    def Redraw(self, dc = None):
+
+    def Redraw(self, dc=None):
         """
         Redraw rubberband on Viewer
         @param dc: Device Context of Viewer (default None)
         """
         # Erase last bbox and draw current bbox
         self.DrawBoundingBoxes([self.LastBBox, self.CurrentBBox], dc)
-    
-    def Erase(self, dc = None):
+
+    def Erase(self, dc=None):
         """
         Erase rubberband from Viewer
         @param dc: Device Context of Viewer (default None)
@@ -185,7 +186,7 @@
         # Erase last bbox
         self.DrawBoundingBoxes([self.LastBBox], dc)
 
-    def Draw(self, dc = None):
+    def Draw(self, dc=None):
         """
         Draw rubberband on Viewer
         @param dc: Device Context of Viewer (default None)