1 """Define the menu contents, hotkeys, and event bindings.
3 There is additional configuration information in the EditorWindow class (and
4 subclasses): the menus are created there based on the menu_specs (class)
5 variable, and menus not created are silently skipped in the code here. This
6 makes it possible, for example, to define a Debug menu which is only present in
7 the PythonShell window, and a Format menu which is only present in the Editor
12 from configHandler
import idleConf
16 # underscore prefixes character to underscore
18 ('_New Window', '<<open-new-window>>'),
19 ('_Open...', '<<open-window-from-file>>'),
20 ('Open _Module...', '<<open-module>>'),
21 ('Class _Browser', '<<open-class-browser>>'),
22 ('_Path Browser', '<<open-path-browser>>'),
24 ('_Save', '<<save-window>>'),
25 ('Save _As...', '<<save-window-as-file>>'),
26 ('Save Cop_y As...', '<<save-copy-of-window-as-file>>'),
28 ('Prin_t Window', '<<print-window>>'),
30 ('_Close', '<<close-window>>'),
31 ('E_xit', '<<close-all-windows>>'),
34 ('_Undo', '<<undo>>'),
35 ('_Redo', '<<redo>>'),
38 ('_Copy', '<<copy>>'),
39 ('_Paste', '<<paste>>'),
40 ('Select _All', '<<select-all>>'),
42 ('_Find...', '<<find>>'),
43 ('Find A_gain', '<<find-again>>'),
44 ('Find _Selection', '<<find-selection>>'),
45 ('Find in Files...', '<<find-in-files>>'),
46 ('R_eplace...', '<<replace>>'),
47 ('Go to _Line', '<<goto-line>>'),
50 ('_Indent Region', '<<indent-region>>'),
51 ('_Dedent Region', '<<dedent-region>>'),
52 ('Comment _Out Region', '<<comment-region>>'),
53 ('U_ncomment Region', '<<uncomment-region>>'),
54 ('Tabify Region', '<<tabify-region>>'),
55 ('Untabify Region', '<<untabify-region>>'),
56 ('Toggle Tabs', '<<toggle-tabs>>'),
57 ('New Indent Width', '<<change-indentwidth>>'),
60 ('Python Shell', '<<open-python-shell>>'),
63 ('_View Last Restart', '<<view-restart>>'),
64 ('_Restart Shell', '<<restart-shell>>'),
67 ('_Go to File/Line', '<<goto-file-line>>'),
68 ('!_Debugger', '<<toggle-debugger>>'),
69 ('_Stack Viewer', '<<open-stack-viewer>>'),
70 ('!_Auto-open Stack Viewer', '<<toggle-jit-stack-viewer>>'),
73 ('_Configure IDLE...', '<<open-config-dialog>>'),
77 ('_About IDLE', '<<about-idle>>'),
79 ('_IDLE Help', '<<help>>'),
80 ('Python _Docs', '<<python-docs>>'),
84 if macosxSupport
.runningAsOSXApp():
85 # Running as a proper MacOS application bundle. This block restructures
86 # the menus a little to make them conform better to the HIG.
88 quitItem
= menudefs
[0][1][-1]
89 closeItem
= menudefs
[0][1][-2]
91 # Remove the last 3 items of the file menu: a separator, close window and
92 # quit. Close window will be reinserted just above the save item, where
93 # it should be according to the HIG. Quit is in the application menu.
94 del menudefs
[0][1][-3:]
95 menudefs
[0][1].insert(6, closeItem
)
97 # Remove the 'About' entry from the help menu, it is in the application
99 del menudefs
[-1][1][0:2]
103 ('About IDLE', '<<about-idle>>'),
105 ('_Preferences....', '<<open-config-dialog>>'),
109 default_keydefs
= idleConf
.GetCurrentKeySet()