From 7c310d7bfd0da9f8c1e2f263a23625fc10514f02 Mon Sep 17 00:00:00 2001 From: Duane Johnson Date: Fri, 11 Nov 2011 10:22:31 -0600 Subject: [PATCH] Shrunk XY and Z controls. Added Home buttons. Added enable/disable. --- images/control_xy.png | Bin 59925 -> 63228 bytes images/control_z.png | Bin 10968 -> 8659 bytes pronterface.py | 45 +++---- xybuttons.py | 299 +++++++++++++++++++++++++++--------------- zbuttons.py | 57 +++++--- 5 files changed, 252 insertions(+), 149 deletions(-) diff --git a/images/control_xy.png b/images/control_xy.png index 51c1fbd4e31c0c24d931436f86f9953a238b5055..12dcda777658f4576ba5975ef7892abff2739f26 100644 GIT binary patch literal 63228 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 Vg|z7D-~#{v002ovPDHLkV1n9U8*%^u literal 59925 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 P00000NkvXXu0mjfOG{OF diff --git a/images/control_z.png b/images/control_z.png index 0dc6cb71d1497442febcf9d755f1ad9100ca97fe..56553d70701537461cb75ce02742a2fb4ac1e4b4 100644 GIT binary patch literal 8659 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 0: - if evt.GetKeyCode() == wx.WXK_TAB: - self.setKeypadIndex(self.rotateKeypadIndex()) - elif evt.GetKeyCode() == wx.WXK_UP: - self.quadrant = 1 - elif evt.GetKeyCode() == wx.WXK_DOWN: - self.quadrant = 3 - elif evt.GetKeyCode() == wx.WXK_LEFT: - self.quadrant = 2 - elif evt.GetKeyCode() == wx.WXK_RIGHT: - self.quadrant = 0 - else: - evt.Skip() - return - - if self.moveCallback: - self.concentric = self.keypad_idx - x, y = self.getMovement() - self.moveCallback(x, y) - + def disable(self): + self.enabled = False - def rotateKeypadIndex(self): + def enable(self): + self.enabled = True + + def distanceToLine(self, pos, x1, y1, x2, y2): + xlen = x2 - x1 + ylen = y2 - y1 + pxlen = x1 - pos.x + pylen = y1 - pos.y + return abs(xlen*pylen-ylen*pxlen)/math.sqrt(xlen**2+ylen**2) + + def distanceToPoint(self, x1, y1, x2, y2): + return math.sqrt((x1-x2)**2 + (y1-y2)**2) + + def cycleKeypadIndex(self): idx = self.keypad_idx + 1 if idx > 2: idx = 0 return idx @@ -75,7 +69,6 @@ class XYButtons(BufferedCanvas): def setKeypadIndex(self, idx): self.keypad_idx = idx self.update() - # self.keypad_bmp.Move(XYButtons.keypad_positions[self.keypad_idx]) def getMovement(self): xdir = [1, 0, -1, 0][self.quadrant] @@ -84,12 +77,12 @@ class XYButtons(BufferedCanvas): return (magnitude * xdir, magnitude * ydir) def lookupConcentric(self, radius): - idx = -1 - for r in XYButtons.concentric_circle_radii: + idx = 0 + for r in XYButtons.concentric_circle_radii[1:]: if radius < r: return idx idx += 1 - return None + return len(XYButtons.concentric_circle_radii) def getQuadrantConcentricFromPosition(self, pos): rel_x = pos[0] - XYButtons.center[0] @@ -109,57 +102,12 @@ class XYButtons(BufferedCanvas): def mouseOverKeypad(self, mpos): for idx, kpos in XYButtons.keypad_positions.items(): - rect = wx.Rect(kpos[0], kpos[1], self.keypad_bmp.GetWidth(), self.keypad_bmp.GetHeight()) - if rect.Contains(mpos): + radius = self.distanceToPoint(mpos[0], mpos[1], kpos[0], kpos[1]) + if radius < 9: return idx return None - - def OnMotion(self, event): - oldq, oldc = self.quadrant, self.concentric - - mpos = event.GetPosition() - idx = self.mouseOverKeypad(mpos) - self.quadrant = None - self.concentric = None - if idx == None: - center = wx.Point(XYButtons.center[0], XYButtons.center[1]) - riseDist = self.distanceToLine(mpos, center.x-1, center.y-1, center.x+1, center.y+1) - fallDist = self.distanceToLine(mpos, center.x-1, center.y+1, center.x+1, center.y-1) - if riseDist > 10 and fallDist > 10: - self.quadrant, self.concentric = self.getQuadrantConcentricFromPosition(mpos) - - if oldq != self.quadrant or oldc != self.concentric: - self.update() - - def OnLeftDown(self, event): - # Take focus when clicked so that arrow keys can control movement - self.SetFocus() - - mpos = event.GetPosition() - - idx = self.mouseOverKeypad(mpos) - if idx == None: - self.quadrant, self.concentric = self.getQuadrantConcentricFromPosition(mpos) - if self.quadrant != None and self.concentric != None: - x, y = self.getMovement() - if self.moveCallback: - self.moveCallback(x, y) - else: - if self.keypad_idx == idx: - self.setKeypadIndex(-1) - else: - self.setKeypadIndex(idx) - - def OnLeaveWindow(self, evt): - self.quadrant = None - self.concentric = None - self.update() def drawPartialPie(self, gc, center, r1, r2, angle1, angle2): - parts = 64 - angle_dist = angle2 - angle1 - angle_inc = angle_dist / parts - p1 = wx.Point(center.x + r1*math.cos(angle1), center.y + r1*math.sin(angle1)) path = gc.CreatePath() @@ -169,13 +117,6 @@ class XYButtons(BufferedCanvas): path.AddLineToPoint(p1.x, p1.y) gc.DrawPath(path) - def distanceToLine(self, pos, x1, y1, x2, y2): - xlen = x2 - x1 - ylen = y2 - y1 - pxlen = x1 - pos.x - pylen = y1 - pos.y - return abs(xlen*pylen-ylen*pxlen)/math.sqrt(xlen**2+ylen**2) - def highlightQuadrant(self, gc, quadrant, concentric): assert(quadrant >= 0 and quadrant <= 3) assert(concentric >= 0 and concentric <= 3) @@ -201,22 +142,170 @@ class XYButtons(BufferedCanvas): r2 = XYButtons.concentric_circle_radii[concentric+1] self.drawPartialPie(gc, center, r1-inner_ring_radius, r2-inner_ring_radius, a1+fudge, a2-fudge) + + def drawCorner(self, gc, x, y, angle=0.0): + w, h = XYButtons.corner_size + + gc.PushState() + gc.Translate(x, y) + gc.Rotate(angle) + path = gc.CreatePath() + path.MoveToPoint(-w/2, -h/2) + path.AddLineToPoint(w/2, -h/2) + path.AddLineToPoint(w/2, -h/2+h/3) + path.AddLineToPoint(-w/2+w/3, h/2) + path.AddLineToPoint(-w/2, h/2) + path.AddLineToPoint(-w/2, -h/2) + gc.DrawPath(path) + gc.PopState() + + def highlightCorner(self, gc, corner=0): + w, h = XYButtons.corner_size + cx, cy = XYButtons.center + ww, wh = self.GetSizeTuple() + + inset = 10 + if corner == 0: + x, y = (cx - ww/2 + inset, cy - wh/2 + inset) + self.drawCorner(gc, x+w/2, y+h/2, 0) + elif corner == 1: + x, y = (cx + ww/2 - inset, cy - wh/2 + inset) + self.drawCorner(gc, x-w/2, y+h/2, math.pi/2) + elif corner == 2: + x, y = (cx + ww/2 - inset, cy + wh/2 - inset) + self.drawCorner(gc, x-w/2, y-h/2, math.pi) + elif corner == 3: + x, y = (cx - ww/2 + inset, cy + wh/2 - inset) + self.drawCorner(gc, x+w/2, y-h/2, math.pi*3/2) + def draw(self, dc, w, h): dc.Clear() gc = wx.GraphicsContext.Create(dc) center = wx.Point(XYButtons.center[0], XYButtons.center[1]) - - gc.DrawBitmap(self.bg_bmp, 0, 0, self.bg_bmp.GetWidth(), self.bg_bmp.GetHeight()) - - if self.quadrant != None and self.concentric != None: + w, h = (self.bg_bmp.GetWidth(), self.bg_bmp.GetHeight()) + gc.DrawBitmap(self.bg_bmp, 0, 0, w, h) + + if self.enabled: + # Brush and pen for grey overlay when mouse hovers over gc.SetPen(wx.Pen(wx.Colour(100,100,100,172), 4)) gc.SetBrush(wx.Brush(wx.Colour(0,0,0,128))) - self.highlightQuadrant(gc, self.quadrant, self.concentric) - + + if self.concentric != None: + if self.concentric < len(XYButtons.concentric_circle_radii): + if self.quadrant != None: + self.highlightQuadrant(gc, self.quadrant, self.concentric) + elif self.corner != None: + self.highlightCorner(gc, self.corner) + + if self.keypad_idx >= 0: + pos = XYButtons.keypad_positions[self.keypad_idx] + pos = (pos[0] - w/2 - 3, pos[1] - h/2 - 3) + gc.DrawBitmap(self.keypad_bmp, pos[0], pos[1], w, h) + else: + gc.SetPen(wx.Pen(wx.Colour(255,255,255,0), 4)) + gc.SetBrush(wx.Brush(wx.Colour(255,255,255,128))) + gc.DrawRectangle(0, 0, w, h) + + # Used to check exact position of keypad dots, should we ever resize the bg image + # for idx, kpos in XYButtons.keypad_positions.items(): + # dc.DrawCircle(kpos[0], kpos[1], 6) + + ## ------ ## + ## Events ## + ## ------ ## + + def OnTopLevelKey(self, evt): + # Let user press escape on any control, and return focus here + if evt.GetKeyCode() == wx.WXK_ESCAPE: + self.SetFocus() + evt.Skip() + + def OnKey(self, evt): + if not self.enabled: + return if self.keypad_idx >= 0: - pos = XYButtons.keypad_positions[self.keypad_idx] - gc.DrawBitmap(self.keypad_bmp, pos[0], pos[1], self.keypad_bmp.GetWidth(), self.keypad_bmp.GetHeight()) + if evt.GetKeyCode() == wx.WXK_TAB: + self.setKeypadIndex(self.cycleKeypadIndex()) + elif evt.GetKeyCode() == wx.WXK_UP: + self.quadrant = 1 + elif evt.GetKeyCode() == wx.WXK_DOWN: + self.quadrant = 3 + elif evt.GetKeyCode() == wx.WXK_LEFT: + self.quadrant = 2 + elif evt.GetKeyCode() == wx.WXK_RIGHT: + self.quadrant = 0 + else: + evt.Skip() + return + + if self.moveCallback: + self.concentric = self.keypad_idx + x, y = self.getMovement() + self.moveCallback(x, y) + + def OnMotion(self, event): + if not self.enabled: + return - return True + oldq, oldc = self.quadrant, self.concentric + + mpos = event.GetPosition() + idx = self.mouseOverKeypad(mpos) + self.quadrant = None + self.concentric = None + if idx == None: + center = wx.Point(XYButtons.center[0], XYButtons.center[1]) + riseDist = self.distanceToLine(mpos, center.x-1, center.y-1, center.x+1, center.y+1) + fallDist = self.distanceToLine(mpos, center.x-1, center.y+1, center.x+1, center.y-1) + self.quadrant, self.concentric = self.getQuadrantConcentricFromPosition(mpos) + + # If mouse hovers in space between quadrants, don't commit to a quadrant + if riseDist <= XYButtons.spacer or fallDist <= XYButtons.spacer: + self.quadrant = None + + cx, cy = XYButtons.center + if mpos.x < cx and mpos.y < cy: + self.corner = 0 + if mpos.x >= cx and mpos.y < cy: + self.corner = 1 + if mpos.x >= cx and mpos.y >= cy: + self.corner = 2 + if mpos.x < cx and mpos.y >= cy: + self.corner = 3 + + if oldq != self.quadrant or oldc != self.concentric: + self.update() + + def OnLeftDown(self, event): + if not self.enabled: + return + + # Take focus when clicked so that arrow keys can control movement + self.SetFocus() + + mpos = event.GetPosition() + + idx = self.mouseOverKeypad(mpos) + if idx == None: + self.quadrant, self.concentric = self.getQuadrantConcentricFromPosition(mpos) + if self.concentric != None: + if self.concentric < len(XYButtons.concentric_circle_radii): + if self.quadrant != None: + x, y = self.getMovement() + if self.moveCallback: + self.moveCallback(x, y) + elif self.corner != None: + if self.cornerCallback: + self.cornerCallback(self.corner) + else: + if self.keypad_idx == idx: + self.setKeypadIndex(-1) + else: + self.setKeypadIndex(idx) + + def OnLeaveWindow(self, evt): + self.quadrant = None + self.concentric = None + self.update() \ No newline at end of file diff --git a/zbuttons.py b/zbuttons.py index fa4ac42..39e2181 100644 --- a/zbuttons.py +++ b/zbuttons.py @@ -10,8 +10,8 @@ def sign(n): else: return 0 class ZButtons(BufferedCanvas): - button_ydistances = [8, 30, 56, 84, 118] - center = (32, 146) + button_ydistances = [7, 30, 55, 83, 112] + center = (30, 118) def __init__(self, parent, moveCallback=None, ID=-1): self.bg_bmp = wx.Image(imagefile("control_z.png"),wx.BITMAP_TYPE_PNG).ConvertToBitmap() @@ -19,10 +19,11 @@ class ZButtons(BufferedCanvas): self.direction = None self.orderOfMagnitudeIdx = 0 # 0 means '1', 1 means '10', 2 means '100', etc. self.moveCallback = moveCallback + self.enabled = False BufferedCanvas.__init__(self, parent, ID) - self.SetSize(wx.Size(87, 295)) + self.SetSize(wx.Size(59, 244)) # Set up mouse and keyboard event capture self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown) @@ -30,6 +31,12 @@ class ZButtons(BufferedCanvas): self.Bind(wx.EVT_MOTION, self.OnMotion) self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow) + def disable(self): + self.enabled = False + + def enable(self): + self.enabled = True + def lookupRange(self, ydist): idx = -1 for d in ZButtons.button_ydistances: @@ -44,7 +51,7 @@ class ZButtons(BufferedCanvas): fudge = 11 x = 0 + fudge - w = 72 - fudge*2 + w = 59 - fudge*2 if rng >= 0: k = 1 if dir > 0 else 0 y = ZButtons.center[1] - (dir * ZButtons.button_ydistances[rng+k]) @@ -57,7 +64,32 @@ class ZButtons(BufferedCanvas): ydelta = ZButtons.center[1] - pos[1] return (self.lookupRange(abs(ydelta)), sign(ydelta)) + def draw(self, dc, w, h): + dc.Clear() + gc = wx.GraphicsContext.Create(dc) + w, h = (self.bg_bmp.GetWidth(), self.bg_bmp.GetHeight()) + + gc.DrawBitmap(self.bg_bmp, 0, 0, w, h) + + if self.enabled: + gc.SetPen(wx.Pen(wx.Colour(100,100,100,172), 4)) + gc.SetBrush(wx.Brush(wx.Colour(0,0,0,128))) + + if self.range != None and self.direction != None: + self.highlight(gc, self.range, self.direction) + else: + gc.SetPen(wx.Pen(wx.Colour(255,255,255,0), 4)) + gc.SetBrush(wx.Brush(wx.Colour(255,255,255,128))) + gc.DrawRectangle(0, 0, w, h) + + ## ------ ## + ## Events ## + ## ------ ## + def OnMotion(self, event): + if not self.enabled: + return + oldr, oldd = self.range, self.direction mpos = event.GetPosition() @@ -67,6 +99,9 @@ class ZButtons(BufferedCanvas): self.update() def OnLeftDown(self, event): + if not self.enabled: + return + mpos = event.GetPosition() r, d = self.getRangeDir(mpos) if r >= 0: @@ -78,17 +113,3 @@ class ZButtons(BufferedCanvas): self.range = None self.direction = None self.update() - - def draw(self, dc, w, h): - dc.Clear() - gc = wx.GraphicsContext.Create(dc) - - gc.SetPen(wx.Pen(wx.Colour(100,100,100,172), 4)) - gc.SetBrush(wx.Brush(wx.Colour(0,0,0,128))) - - gc.DrawBitmap(self.bg_bmp, 0, 0, self.bg_bmp.GetWidth(), self.bg_bmp.GetHeight()) - - if self.range != None and self.direction != None: - self.highlight(gc, self.range, self.direction) - - return True