From af37c07d9ae8f60915cb5106bb1e9619b6b5d021 Mon Sep 17 00:00:00 2001 From: Stefanowicz Date: Mon, 28 May 2012 17:34:43 +0200 Subject: [PATCH] Fixed using configured background to XYButtons ZButtons and TempGauge --- pronterface.py | 4 ++-- xybuttons.py | 11 ++++++++--- zbuttons.py | 11 ++++++++--- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/pronterface.py b/pronterface.py index e880352..889bcc6 100755 --- a/pronterface.py +++ b/pronterface.py @@ -592,9 +592,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): szbuttons=wx.GridBagSizer() - self.xyb = XYButtons(self.panel, self.moveXY, self.homeButtonClicked, self.spacebarAction) + self.xyb = XYButtons(self.panel, self.moveXY, self.homeButtonClicked, self.spacebarAction, self.settings.bgcolor) szbuttons.Add(self.xyb,pos=(0,1),flag=wx.ALIGN_CENTER) - self.zb = ZButtons(self.panel, self.moveZ) + self.zb = ZButtons(self.panel, self.moveZ, self.settings.bgcolor) szbuttons.Add(self.zb,pos=(0,2),flag=wx.ALIGN_CENTER) #lls.Add(self.zb, pos=(2,6), span=(1,1), flag=wx.ALIGN_CENTER) wx.CallAfter(self.xyb.SetFocus) diff --git a/xybuttons.py b/xybuttons.py index 17df951..1ff5a86 100644 --- a/xybuttons.py +++ b/xybuttons.py @@ -47,7 +47,7 @@ class XYButtons(BufferedCanvas): center = (124, 121) spacer = 7 - def __init__(self, parent, moveCallback=None, cornerCallback=None, spacebarCallback=None, ID=-1): + def __init__(self, parent, moveCallback=None, cornerCallback=None, spacebarCallback=None, bgcolor="#FFFFFF", ID=-1): self.bg_bmp = wx.Image(imagefile("control_xy.png"),wx.BITMAP_TYPE_PNG).ConvertToBitmap() self.keypad_bmp = wx.Image(imagefile("arrow_keys.png"),wx.BITMAP_TYPE_PNG).ConvertToBitmap() self.keypad_idx = -1 @@ -61,6 +61,10 @@ class XYButtons(BufferedCanvas): # Remember the last clicked buttons, so we can repeat when spacebar pressed self.lastMove = None self.lastCorner = None + + self.bgcolor = wx.Colour() + self.bgcolor.SetFromName(bgcolor) + self.bgcolormask = wx.Colour(self.bgcolor.Red(), self.bgcolor.Green(), self.bgcolor.Blue(), 128) BufferedCanvas.__init__(self, parent, ID) self.SetSize(self.bg_bmp.GetSize()) @@ -220,6 +224,7 @@ class XYButtons(BufferedCanvas): def draw(self, dc, w, h): + dc.SetBackground(wx.Brush(self.bgcolor)) dc.Clear() gc = wx.GraphicsContext.Create(dc) @@ -254,8 +259,8 @@ class XYButtons(BufferedCanvas): r = kpos[2] gc.DrawEllipse(kpos[0]-r, kpos[1]-r, r*2, r*2) else: - gc.SetPen(wx.Pen(wx.Colour(255,255,255,0), 4)) - gc.SetBrush(wx.Brush(wx.Colour(255,255,255,128))) + gc.SetPen(wx.Pen(self.bgcolor, 0)) + gc.SetBrush(wx.Brush(self.bgcolormask)) gc.DrawRectangle(0, 0, w, h) diff --git a/zbuttons.py b/zbuttons.py index e7a288c..831408e 100644 --- a/zbuttons.py +++ b/zbuttons.py @@ -39,7 +39,7 @@ class ZButtons(BufferedCanvas): 3: None } - def __init__(self, parent, moveCallback=None, ID=-1): + def __init__(self, parent, moveCallback=None, bgcolor="#FFFFFF", ID=-1): self.bg_bmp = wx.Image(imagefile("control_z.png"),wx.BITMAP_TYPE_PNG).ConvertToBitmap() self.range = None self.direction = None @@ -49,6 +49,10 @@ class ZButtons(BufferedCanvas): # Remember the last clicked value, so we can repeat when spacebar pressed self.lastValue = None + self.bgcolor = wx.Colour() + self.bgcolor.SetFromName(bgcolor) + self.bgcolormask = wx.Colour(self.bgcolor.Red(), self.bgcolor.Green(), self.bgcolor.Blue(), 128) + BufferedCanvas.__init__(self, parent, ID) self.SetSize(wx.Size(59, 244)) @@ -102,6 +106,7 @@ class ZButtons(BufferedCanvas): return (self.lookupRange(abs(ydelta)), sign(ydelta)) def draw(self, dc, w, h): + dc.SetBackground(wx.Brush(self.bgcolor)) dc.Clear() gc = wx.GraphicsContext.Create(dc) if self.bg_bmp: @@ -123,8 +128,8 @@ class ZButtons(BufferedCanvas): 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.SetPen(wx.Pen(self.bgcolor, 0)) + gc.SetBrush(wx.Brush(self.bgcolormask)) gc.DrawRectangle(0, 0, w, h) ## ------ ##