Commit 427b8c7f authored by Serhiy Storchaka's avatar Serhiy Storchaka Committed by GitHub

[2.7] bpo-34936: Fix TclError in tkinter.Spinbox.selection_element(). (GH-9760) (GH-9957) (GH-9968)

(cherry picked from commit 1deea5e5).
(cherry picked from commit bd9c2ce7acaef45f23c2659b854fc9925096d040)
Co-authored-by: default avatarJuliette Monsel <j4321@users.noreply.github.com>
parent f125d788
...@@ -3582,7 +3582,7 @@ class Spinbox(Widget, XView): ...@@ -3582,7 +3582,7 @@ class Spinbox(Widget, XView):
select to commands. If the selection isn't currently in select to commands. If the selection isn't currently in
the spinbox, then a new selection is created to include the spinbox, then a new selection is created to include
the characters between index and the most recent selection the characters between index and the most recent selection
anchor point, inclusive. Returns an empty string. anchor point, inclusive.
""" """
return self.selection("adjust", index) return self.selection("adjust", index)
...@@ -3590,7 +3590,7 @@ class Spinbox(Widget, XView): ...@@ -3590,7 +3590,7 @@ class Spinbox(Widget, XView):
"""Clear the selection """Clear the selection
If the selection isn't in this widget then the If the selection isn't in this widget then the
command has no effect. Returns an empty string. command has no effect.
""" """
return self.selection("clear") return self.selection("clear")
...@@ -3598,9 +3598,9 @@ class Spinbox(Widget, XView): ...@@ -3598,9 +3598,9 @@ class Spinbox(Widget, XView):
"""Sets or gets the currently selected element. """Sets or gets the currently selected element.
If a spinbutton element is specified, it will be If a spinbutton element is specified, it will be
displayed depressed displayed depressed.
""" """
return self.selection("element", element) return self.tk.call(self._w, 'selection', 'element', element)
########################################################################### ###########################################################################
......
...@@ -471,6 +471,14 @@ class SpinboxTest(EntryTest, unittest.TestCase): ...@@ -471,6 +471,14 @@ class SpinboxTest(EntryTest, unittest.TestCase):
self.assertRaises(TypeError, widget.bbox) self.assertRaises(TypeError, widget.bbox)
self.assertRaises(TypeError, widget.bbox, 0, 1) self.assertRaises(TypeError, widget.bbox, 0, 1)
def test_selection_element(self):
widget = self.create()
self.assertEqual(widget.selection_element(), "none")
widget.selection_element("buttonup")
self.assertEqual(widget.selection_element(), "buttonup")
widget.selection_element("buttondown")
self.assertEqual(widget.selection_element(), "buttondown")
@add_standard_options(StandardOptionsTests) @add_standard_options(StandardOptionsTests)
class TextTest(AbstractWidgetTest, unittest.TestCase): class TextTest(AbstractWidgetTest, unittest.TestCase):
......
Fix ``TclError`` in ``tkinter.Spinbox.selection_element()``. Patch by
Juliette Monsel.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment