[3.8] bpo-31508: Remove support of arguments in tkinter.ttk.Treeview.selection. (GH-3651)

It was deprecated in 3.6.
This commit is contained in:
Serhiy Storchaka 2018-02-01 18:49:21 +02:00 committed by GitHub
parent 12e7cd8a51
commit 97f1ca1673
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 18 additions and 48 deletions

View file

@ -1556,27 +1556,6 @@ class TreeviewTest(AbstractWidgetTest, unittest.TestCase):
self.tv.selection_toggle((c1, c3))
self.assertEqual(self.tv.selection(), (c3, item2))
if sys.version_info >= (3, 8):
import warnings
warnings.warn(
'Deprecated API of Treeview.selection() should be removed')
self.tv.selection_set()
self.assertEqual(self.tv.selection(), ())
with self.assertWarns(DeprecationWarning):
self.tv.selection('set', (c1, item2))
self.assertEqual(self.tv.selection(), (c1, item2))
with self.assertWarns(DeprecationWarning):
self.tv.selection('add', (c1, item1))
self.assertEqual(self.tv.selection(), (item1, c1, item2))
with self.assertWarns(DeprecationWarning):
self.tv.selection('remove', (item1, c3))
self.assertEqual(self.tv.selection(), (c1, item2))
with self.assertWarns(DeprecationWarning):
self.tv.selection('toggle', (c1, c3))
self.assertEqual(self.tv.selection(), (c3, item2))
with self.assertWarns(DeprecationWarning):
selection = self.tv.selection(None)
self.assertEqual(selection, (c3, item2))
def test_set(self):
self.tv['columns'] = ['A', 'B']

View file

@ -28,8 +28,6 @@ __all__ = ["Button", "Checkbutton", "Combobox", "Entry", "Frame", "Label",
import tkinter
from tkinter import _flatten, _join, _stringify, _splitdict
_sentinel = object()
# Verify if Tk is new enough to not need the Tile package
_REQUIRE_TILE = True if tkinter.TkVersion < 8.5 else False
@ -1396,26 +1394,9 @@ class Treeview(Widget, tkinter.XView, tkinter.YView):
self.tk.call(self._w, "see", item)
def selection(self, selop=_sentinel, items=None):
def selection(self):
"""Returns the tuple of selected items."""
if selop is _sentinel:
selop = None
elif selop is None:
import warnings
warnings.warn(
"The selop=None argument of selection() is deprecated "
"and will be removed in Python 3.8",
DeprecationWarning, 3)
elif selop in ('set', 'add', 'remove', 'toggle'):
import warnings
warnings.warn(
"The selop argument of selection() is deprecated "
"and will be removed in Python 3.8, "
"use selection_%s() instead" % (selop,),
DeprecationWarning, 3)
else:
raise TypeError('Unsupported operation')
return self.tk.splitlist(self.tk.call(self._w, "selection", selop, items))
return self.tk.splitlist(self.tk.call(self._w, "selection"))
def _selection(self, selop, items):