graphics/GraphicCommons.py
changeset 399 3b9e0b092298
parent 398 c215899298c7
child 407 0a324a874981
equal deleted inserted replaced
398:c215899298c7 399:3b9e0b092298
   810         dc.DrawRectangle(self.Pos.x - 2, self.Pos.y - 2, self.Size.width + 5, self.Size.height + 5)
   810         dc.DrawRectangle(self.Pos.x - 2, self.Pos.y - 2, self.Size.width + 5, self.Size.height + 5)
   811         dc.SetLogicalFunction(wx.COPY)
   811         dc.SetLogicalFunction(wx.COPY)
   812     
   812     
   813     # Draws the handles of this element if it is selected
   813     # Draws the handles of this element if it is selected
   814     def Draw(self, dc):
   814     def Draw(self, dc):
   815         if self.Highlighted:
   815         if not getattr(dc, "printing", False):
   816             self.DrawHighlightment(dc)
   816             if self.Highlighted:
   817         if self.Selected:
   817                 self.DrawHighlightment(dc)
   818             dc.SetPen(wx.BLACK_PEN)
   818             if self.Selected:
   819             dc.SetBrush(wx.BLACK_BRUSH)
   819                 dc.SetPen(wx.BLACK_PEN)
   820             dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
   820                 dc.SetBrush(wx.BLACK_BRUSH)
   821             dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2,
   821                 dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
   822                 self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
   822                 dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2,
   823             dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, 
   823                     self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
   824                 self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
   824                 dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, 
   825             dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, 
   825                     self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
   826                 self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE)
   826                 dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, 
   827             dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, 
   827                     self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE)
   828                 self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
   828                 dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2, 
   829             dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2, 
   829                     self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
   830                 self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
   830                 dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2, 
   831             dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
   831                     self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
   832             dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE)
   832                 dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
       
   833                 dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE)
   833 
   834 
   834 
   835 
   835 #-------------------------------------------------------------------------------
   836 #-------------------------------------------------------------------------------
   836 #                           Group of graphic elements
   837 #                           Group of graphic elements
   837 #-------------------------------------------------------------------------------
   838 #-------------------------------------------------------------------------------
  2608             dc.DrawCircle(self.Points[-1].x, self.Points[-1].y, POINT_RADIUS)
  2609             dc.DrawCircle(self.Points[-1].x, self.Points[-1].y, POINT_RADIUS)
  2609         # Draw the wire lines and the last point (it seems that DrawLines stop before the last point)
  2610         # Draw the wire lines and the last point (it seems that DrawLines stop before the last point)
  2610         dc.DrawLines(self.Points)
  2611         dc.DrawLines(self.Points)
  2611         dc.DrawPoint(self.Points[-1].x, self.Points[-1].y)
  2612         dc.DrawPoint(self.Points[-1].x, self.Points[-1].y)
  2612         # Draw the segment selected in red
  2613         # Draw the segment selected in red
  2613         if self.SelectedSegment is not None:
  2614         if not getattr(dc, "printing", False) and self.SelectedSegment is not None:
  2614             dc.SetPen(wx.RED_PEN)
  2615             dc.SetPen(wx.RED_PEN)
  2615             dc.DrawLine(self.Points[self.SelectedSegment].x, self.Points[self.SelectedSegment].y,
  2616             dc.DrawLine(self.Points[self.SelectedSegment].x, self.Points[self.SelectedSegment].y,
  2616                         self.Points[self.SelectedSegment + 1].x, self.Points[self.SelectedSegment + 1].y)
  2617                         self.Points[self.SelectedSegment + 1].x, self.Points[self.SelectedSegment + 1].y)
  2617             if self.SelectedSegment == len(self.Segments) - 1:
  2618             if self.SelectedSegment == len(self.Segments) - 1:
  2618                 dc.DrawPoint(self.Points[-1].x, self.Points[-1].y)
  2619                 dc.DrawPoint(self.Points[-1].x, self.Points[-1].y)