From e5e8983427b18034a233ffa3ddc37d0a5f43e3d7 Mon Sep 17 00:00:00 2001 From: jbernardis Date: Mon, 25 May 2015 23:24:51 -0400 Subject: [PATCH] Configtool: make tooltips for radio buttons work on Linux. The problem was, applying tooltips to the radio buttons directly showed no effect on Linux. While this is likely a bug in wxPython, we can't change this behaviour. The solution is to also apply these help texts to the surrounding StaticBox. This works, even for the radio buttons. This solves issue #149. --- config/printer.mendel.h | 2 +- config/printer.wolfstrap.h | 2 +- configtool/accelerationpage.py | 2 +- configtool/mechanicalpage.py | 2 +- configtool/page.py | 7 ++++++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/config/printer.mendel.h b/config/printer.mendel.h index 12a05a8..87a26c1 100644 --- a/config/printer.mendel.h +++ b/config/printer.mendel.h @@ -5,7 +5,7 @@ * * \***************************************************************************/ -/** \def KINEMATICS +/** \def KINEMATICS_STRAIGHT KINEMATICS_COREXY This defines the type of kinematics your printer uses. That's essential! Valid values (see dda_kinematics.h): diff --git a/config/printer.wolfstrap.h b/config/printer.wolfstrap.h index c7fc358..3e4c2d3 100644 --- a/config/printer.wolfstrap.h +++ b/config/printer.wolfstrap.h @@ -5,7 +5,7 @@ * * \***************************************************************************/ -/** \def KINEMATICS +/** \def KINEMATICS_STRAIGHT KINEMATICS_COREXY This defines the type of kinematics your printer uses. That's essential! Valid values (see dda_kinematics.h): diff --git a/configtool/accelerationpage.py b/configtool/accelerationpage.py index 13d7d43..8f6b86c 100644 --- a/configtool/accelerationpage.py +++ b/configtool/accelerationpage.py @@ -30,7 +30,7 @@ class AccelerationPage(wx.Panel, Page): sbox.AddSpacer((5, 5)) style = wx.RB_GROUP for k in self.accTypeKeys: - rb = self.addRadioButton(k, style, self.onAccTypeSelect) + rb = self.addRadioButton(k, style, self.onAccTypeSelect, b) style = 0 sbox.Add(rb, 1, wx.LEFT + wx.RIGHT, 16) diff --git a/configtool/mechanicalpage.py b/configtool/mechanicalpage.py index 2cb64a0..3aa1942 100644 --- a/configtool/mechanicalpage.py +++ b/configtool/mechanicalpage.py @@ -113,7 +113,7 @@ class MechanicalPage(wx.Panel, Page): sbox.AddSpacer((5, 5)) style = wx.RB_GROUP for k in self.kinematicsKeys: - rb = self.addRadioButton(k, style, self.onKinematicsSelect) + rb = self.addRadioButton(k, style, self.onKinematicsSelect, b) style = 0 sbox.Add(rb, 1, wx.LEFT + wx.RIGHT, 16) diff --git a/configtool/page.py b/configtool/page.py index d520fb1..1fd8d31 100644 --- a/configtool/page.py +++ b/configtool/page.py @@ -12,6 +12,7 @@ class Page: self.textControls = {} self.checkBoxes = {} self.radioButtons = {} + self.radioButtonBoxes = {} self.choices = {} self.font = font @@ -54,11 +55,13 @@ class Page: return cb - def addRadioButton(self, name, style, validator): + def addRadioButton(self, name, style, validator, sbox = None): rb = wx.RadioButton(self, wx.ID_ANY, self.labels[name], style = style) rb.SetFont(self.font) self.Bind(wx.EVT_RADIOBUTTON, validator, rb) self.radioButtons[name] = rb + if sbox is not None: + self.radioButtonBoxes[name] = sbox return rb @@ -195,6 +198,8 @@ class Page: for k in self.radioButtons.keys(): if k in ht.keys(): self.radioButtons[k].SetToolTipString(ht[k]) + if k in self.radioButtonBoxes.keys(): + self.radioButtonBoxes[k].SetToolTipString(ht[k]) for k in self.choices.keys(): if k in ht.keys():