summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2017-09-24 12:03:48 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2017-09-24 12:03:48 (GMT)
commite31eca45e548bf6f439d540f3751516acbc31689 (patch)
tree4a3cc480f1adc9fefa4aaecd9e4bbbbd81746be9
parent018e6b9f696311a65f47f33ea04b7baef3f3664f (diff)
downloadcpython-e31eca45e548bf6f439d540f3751516acbc31689.zip
cpython-e31eca45e548bf6f439d540f3751516acbc31689.tar.gz
cpython-e31eca45e548bf6f439d540f3751516acbc31689.tar.bz2
[3.6] bpo-27319, bpo-31508: Document deprecation in Treeview.selection(). (GH-3667) (#3719)
Defer removing old behavior to 3.8. Document new feature of selection_set() and friends. (cherry picked from commit 2fad10235460ac394cc8b869c41f47aba3d63594)
-rw-r--r--Doc/library/tkinter.ttk.rst24
-rw-r--r--Lib/tkinter/test/test_ttk/test_widgets.py2
-rw-r--r--Lib/tkinter/ttk.py4
3 files changed, 23 insertions, 7 deletions
diff --git a/Doc/library/tkinter.ttk.rst b/Doc/library/tkinter.ttk.rst
index 3dad182..927f7f3 100644
--- a/Doc/library/tkinter.ttk.rst
+++ b/Doc/library/tkinter.ttk.rst
@@ -1099,26 +1099,42 @@ ttk.Treeview
If *selop* is not specified, returns selected items. Otherwise, it will
act according to the following selection methods.
+ .. deprecated-removed:: 3.6 3.8
+ Using ``selection()`` for changing the selection state is deprecated.
+ Use the following selection methods instead.
- .. method:: selection_set(items)
+
+ .. method:: selection_set(*items)
*items* becomes the new selection.
+ .. versionchanged:: 3.6
+ *items* can be passed as separate arguments, not just as a single tuple.
+
- .. method:: selection_add(items)
+ .. method:: selection_add(*items)
Add *items* to the selection.
+ .. versionchanged:: 3.6
+ *items* can be passed as separate arguments, not just as a single tuple.
+
- .. method:: selection_remove(items)
+ .. method:: selection_remove(*items)
Remove *items* from the selection.
+ .. versionchanged:: 3.6
+ *items* can be passed as separate arguments, not just as a single tuple.
- .. method:: selection_toggle(items)
+
+ .. method:: selection_toggle(*items)
Toggle the selection state of each item in *items*.
+ .. versionchanged:: 3.6
+ *items* can be passed as separate arguments, not just as a single tuple.
+
.. method:: set(item, column=None, value=None)
diff --git a/Lib/tkinter/test/test_ttk/test_widgets.py b/Lib/tkinter/test/test_ttk/test_widgets.py
index 26766a8..ab0db28 100644
--- a/Lib/tkinter/test/test_ttk/test_widgets.py
+++ b/Lib/tkinter/test/test_ttk/test_widgets.py
@@ -1556,7 +1556,7 @@ class TreeviewTest(AbstractWidgetTest, unittest.TestCase):
self.tv.selection_toggle((c1, c3))
self.assertEqual(self.tv.selection(), (c3, item2))
- if sys.version_info >= (3, 7):
+ if sys.version_info >= (3, 8):
import warnings
warnings.warn(
'Deprecated API of Treeview.selection() should be removed')
diff --git a/Lib/tkinter/ttk.py b/Lib/tkinter/ttk.py
index 2a3e1ce..635b500 100644
--- a/Lib/tkinter/ttk.py
+++ b/Lib/tkinter/ttk.py
@@ -1404,13 +1404,13 @@ class Treeview(Widget, tkinter.XView, tkinter.YView):
import warnings
warnings.warn(
"The selop=None argument of selection() is deprecated "
- "and will be removed in Python 3.7",
+ "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.7, "
+ "and will be removed in Python 3.8, "
"use selection_%s() instead" % (selop,),
DeprecationWarning, 3)
else: