Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
aff0adab
Commit
aff0adab
authored
Jan 02, 2019
by
Terry Jan Reedy
Committed by
GitHub
Jan 02, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bpo-33987: IDLE - use ttk Frame for ttk widgets (GH-11395)
parent
e9a044ec
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
38 additions
and
28 deletions
+38
-28
Lib/idlelib/autocomplete_w.py
Lib/idlelib/autocomplete_w.py
+1
-1
Lib/idlelib/config_key.py
Lib/idlelib/config_key.py
+1
-1
Lib/idlelib/configdialog.py
Lib/idlelib/configdialog.py
+1
-1
Lib/idlelib/debugger.py
Lib/idlelib/debugger.py
+1
-1
Lib/idlelib/grep.py
Lib/idlelib/grep.py
+7
-4
Lib/idlelib/idle_test/test_searchbase.py
Lib/idlelib/idle_test/test_searchbase.py
+5
-3
Lib/idlelib/query.py
Lib/idlelib/query.py
+0
-1
Lib/idlelib/replace.py
Lib/idlelib/replace.py
+8
-6
Lib/idlelib/scrolledlist.py
Lib/idlelib/scrolledlist.py
+1
-1
Lib/idlelib/search.py
Lib/idlelib/search.py
+9
-6
Lib/idlelib/searchbase.py
Lib/idlelib/searchbase.py
+2
-2
Lib/idlelib/tree.py
Lib/idlelib/tree.py
+1
-1
Misc/NEWS.d/next/IDLE/2018-12-31-17-04-18.bpo-33987.fD92up.rst
...NEWS.d/next/IDLE/2018-12-31-17-04-18.bpo-33987.fD92up.rst
+1
-0
No files found.
Lib/idlelib/autocomplete_w.py
View file @
aff0adab
...
...
@@ -4,7 +4,7 @@ An auto-completion window for IDLE, used by the autocomplete extension
import
platform
from
tkinter
import
*
from
tkinter.ttk
import
Scrollbar
from
tkinter.ttk
import
Frame
,
Scrollbar
from
idlelib.autocomplete
import
COMPLETE_FILES
,
COMPLETE_ATTRIBUTES
from
idlelib.multicall
import
MC_SHIFT
...
...
Lib/idlelib/config_key.py
View file @
aff0adab
...
...
@@ -2,7 +2,7 @@
Dialog for building Tkinter accelerator key bindings
"""
from
tkinter
import
Toplevel
,
Listbox
,
Text
,
StringVar
,
TclError
from
tkinter.ttk
import
Button
,
Checkbutton
,
Entry
,
Frame
,
Label
,
Scrollbar
from
tkinter.ttk
import
Frame
,
Button
,
Checkbutton
,
Entry
,
Label
,
Scrollbar
from
tkinter
import
messagebox
import
string
import
sys
...
...
Lib/idlelib/configdialog.py
View file @
aff0adab
...
...
@@ -14,7 +14,7 @@ from tkinter import (Toplevel, Listbox, Text, Scale, Canvas,
TOP
,
BOTTOM
,
RIGHT
,
LEFT
,
SOLID
,
GROOVE
,
NONE
,
BOTH
,
X
,
Y
,
W
,
E
,
EW
,
NS
,
NSEW
,
NW
,
HORIZONTAL
,
VERTICAL
,
ANCHOR
,
ACTIVE
,
END
)
from
tkinter.ttk
import
(
Button
,
Checkbutton
,
Entry
,
Frame
,
Label
,
LabelFrame
,
from
tkinter.ttk
import
(
Frame
,
LabelFrame
,
Button
,
Checkbutton
,
Entry
,
Label
,
OptionMenu
,
Notebook
,
Radiobutton
,
Scrollbar
,
Style
)
import
tkinter.colorchooser
as
tkColorChooser
import
tkinter.font
as
tkFont
...
...
Lib/idlelib/debugger.py
View file @
aff0adab
...
...
@@ -2,7 +2,7 @@ import bdb
import
os
from
tkinter
import
*
from
tkinter.ttk
import
Scrollbar
from
tkinter.ttk
import
Frame
,
Scrollbar
from
idlelib
import
macosx
from
idlelib.scrolledlist
import
ScrolledList
...
...
Lib/idlelib/grep.py
View file @
aff0adab
...
...
@@ -8,7 +8,7 @@ import os
import
sys
from
tkinter
import
StringVar
,
BooleanVar
from
tkinter.ttk
import
Checkbutton
from
tkinter.ttk
import
Checkbutton
# Frame imported in ...Base
from
idlelib.searchbase
import
SearchDialogBase
from
idlelib
import
searchengine
...
...
@@ -173,15 +173,18 @@ class GrepDialog(SearchDialogBase):
def
_grep_dialog
(
parent
):
# htest #
from
tkinter
import
Toplevel
,
Text
,
SEL
,
END
from
tkinter.ttk
import
Button
from
tkinter.ttk
import
Frame
,
Button
from
idlelib.pyshell
import
PyShellFileList
top
=
Toplevel
(
parent
)
top
.
title
(
"Test GrepDialog"
)
x
,
y
=
map
(
int
,
parent
.
geometry
().
split
(
'+'
)[
1
:])
top
.
geometry
(
f"+
{
x
}
+
{
y
+
175
}
"
)
flist
=
PyShellFileList
(
top
)
text
=
Text
(
top
,
height
=
5
)
frame
=
Frame
(
top
)
frame
.
pack
()
text
=
Text
(
frame
,
height
=
5
)
text
.
pack
()
def
show_grep_dialog
():
...
...
@@ -189,7 +192,7 @@ def _grep_dialog(parent): # htest #
grep
(
text
,
flist
=
flist
)
text
.
tag_remove
(
SEL
,
"1.0"
,
END
)
button
=
Button
(
top
,
text
=
"Show GrepDialog"
,
command
=
show_grep_dialog
)
button
=
Button
(
frame
,
text
=
"Show GrepDialog"
,
command
=
show_grep_dialog
)
button
.
pack
()
if
__name__
==
"__main__"
:
...
...
Lib/idlelib/idle_test/test_searchbase.py
View file @
aff0adab
...
...
@@ -4,7 +4,8 @@
import
unittest
from
test.support
import
requires
from
tkinter
import
Tk
,
Frame
##, BooleanVar, StringVar
from
tkinter
import
Tk
from
tkinter.ttk
import
Frame
from
idlelib
import
searchengine
as
se
from
idlelib
import
searchbase
as
sdb
from
idlelib.idle_test.mock_idle
import
Func
...
...
@@ -97,11 +98,12 @@ class SearchDialogBaseTest(unittest.TestCase):
self
.
dialog
.
top
=
self
.
root
frame
,
label
=
self
.
dialog
.
make_frame
()
self
.
assertEqual
(
label
,
''
)
self
.
assertIsInstance
(
frame
,
Frame
)
self
.
assertEqual
(
str
(
type
(
frame
)),
"<class 'tkinter.ttk.Frame'>"
)
# self.assertIsInstance(frame, Frame) fails when test is run by
# test_idle not run from IDLE editor. See issue 33987 PR.
frame
,
label
=
self
.
dialog
.
make_frame
(
'testlabel'
)
self
.
assertEqual
(
label
[
'text'
],
'testlabel'
)
self
.
assertIsInstance
(
frame
,
Frame
)
def
btn_test_setup
(
self
,
meth
):
self
.
dialog
.
top
=
self
.
root
...
...
Lib/idlelib/query.py
View file @
aff0adab
"""
Dialogs that query users and verify the answer before accepting.
Use ttk widgets, limiting use to tcl/tk 8.5+, as in IDLE 3.6+.
Query is the generic base class for a popup dialog.
The user must either enter a valid answer or close the dialog.
...
...
Lib/idlelib/replace.py
View file @
aff0adab
...
...
@@ -205,12 +205,12 @@ class ReplaceDialog(SearchDialogBase):
def
_replace_dialog
(
parent
):
# htest #
from
tkinter
import
Toplevel
,
Text
,
END
,
SEL
from
tkinter.ttk
import
Button
from
tkinter.ttk
import
Frame
,
Button
box
=
Toplevel
(
parent
)
box
.
title
(
"Test ReplaceDialog"
)
top
=
Toplevel
(
parent
)
top
.
title
(
"Test ReplaceDialog"
)
x
,
y
=
map
(
int
,
parent
.
geometry
().
split
(
'+'
)[
1
:])
box
.
geometry
(
"+%d+%d"
%
(
x
,
y
+
175
))
top
.
geometry
(
"+%d+%d"
%
(
x
,
y
+
175
))
# mock undo delegator methods
def
undo_block_start
():
...
...
@@ -219,7 +219,9 @@ def _replace_dialog(parent): # htest #
def
undo_block_stop
():
pass
text
=
Text
(
box
,
inactiveselectbackground
=
'gray'
)
frame
=
Frame
(
top
)
frame
.
pack
()
text
=
Text
(
frame
,
inactiveselectbackground
=
'gray'
)
text
.
undo_block_start
=
undo_block_start
text
.
undo_block_stop
=
undo_block_stop
text
.
pack
()
...
...
@@ -231,7 +233,7 @@ def _replace_dialog(parent): # htest #
replace
(
text
)
text
.
tag_remove
(
SEL
,
"1.0"
,
END
)
button
=
Button
(
box
,
text
=
"Replace"
,
command
=
show_replace
)
button
=
Button
(
frame
,
text
=
"Replace"
,
command
=
show_replace
)
button
.
pack
()
if
__name__
==
'__main__'
:
...
...
Lib/idlelib/scrolledlist.py
View file @
aff0adab
from
tkinter
import
*
from
tkinter.ttk
import
Scrollbar
from
tkinter.ttk
import
Frame
,
Scrollbar
from
idlelib
import
macosx
...
...
Lib/idlelib/search.py
View file @
aff0adab
...
...
@@ -75,13 +75,16 @@ class SearchDialog(SearchDialogBase):
def
_search_dialog
(
parent
):
# htest #
"Display search test box."
from
tkinter
import
Toplevel
,
Text
from
tkinter.ttk
import
Button
from
tkinter.ttk
import
Frame
,
Button
box
=
Toplevel
(
parent
)
box
.
title
(
"Test SearchDialog"
)
top
=
Toplevel
(
parent
)
top
.
title
(
"Test SearchDialog"
)
x
,
y
=
map
(
int
,
parent
.
geometry
().
split
(
'+'
)[
1
:])
box
.
geometry
(
"+%d+%d"
%
(
x
,
y
+
175
))
text
=
Text
(
box
,
inactiveselectbackground
=
'gray'
)
top
.
geometry
(
"+%d+%d"
%
(
x
,
y
+
175
))
frame
=
Frame
(
top
)
frame
.
pack
()
text
=
Text
(
frame
,
inactiveselectbackground
=
'gray'
)
text
.
pack
()
text
.
insert
(
"insert"
,
"This is a sample string.
\
n
"
*
5
)
...
...
@@ -90,7 +93,7 @@ def _search_dialog(parent): # htest #
_setup
(
text
).
open
(
text
)
text
.
tag_remove
(
'sel'
,
'1.0'
,
'end'
)
button
=
Button
(
box
,
text
=
"Search (selection ignored)"
,
command
=
show_find
)
button
=
Button
(
frame
,
text
=
"Search (selection ignored)"
,
command
=
show_find
)
button
.
pack
()
if
__name__
==
'__main__'
:
...
...
Lib/idlelib/searchbase.py
View file @
aff0adab
'''Define SearchDialogBase used by Search, Replace, and Grep dialogs.'''
from
tkinter
import
Toplevel
,
Frame
from
tkinter.ttk
import
Entry
,
Label
,
Button
,
Checkbutton
,
Radiobutton
from
tkinter
import
Toplevel
from
tkinter.ttk
import
Frame
,
Entry
,
Label
,
Button
,
Checkbutton
,
Radiobutton
class
SearchDialogBase
:
...
...
Lib/idlelib/tree.py
View file @
aff0adab
...
...
@@ -17,7 +17,7 @@
import
os
from
tkinter
import
*
from
tkinter.ttk
import
Scrollbar
from
tkinter.ttk
import
Frame
,
Scrollbar
from
idlelib.config
import
idleConf
from
idlelib
import
zoomheight
...
...
Misc/NEWS.d/next/IDLE/2018-12-31-17-04-18.bpo-33987.fD92up.rst
0 → 100644
View file @
aff0adab
Use ttk Frame for ttk widgets.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment