SILENT KILLERPanel

Current Path: > > opt > alt > > python36 > lib64 > python3.6 > idlelib >


Operation   : Linux premium131.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
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/alt//python36/lib64/python3.6/idlelib/

NameTypeSizeLast ModifiedActions
Icons Directory - -
__pycache__ Directory - -
idle_test Directory - -
CREDITS.txt File 1866 bytes September 04 2021 03:49:41.
ChangeLog File 56360 bytes September 04 2021 03:49:41.
HISTORY.txt File 10312 bytes September 04 2021 03:49:41.
NEWS.txt File 39839 bytes September 04 2021 03:49:41.
NEWS2x.txt File 27172 bytes September 04 2021 03:49:41.
README.txt File 9592 bytes September 04 2021 03:49:41.
TODO.txt File 8478 bytes September 04 2021 03:49:41.
__init__.py File 396 bytes April 17 2024 17:19:35.
__main__.py File 159 bytes April 17 2024 17:19:35.
_pyclbr.py File 15199 bytes April 17 2024 17:19:35.
autocomplete.py File 9324 bytes April 17 2024 17:19:35.
autocomplete_w.py File 19829 bytes April 17 2024 17:19:35.
autoexpand.py File 3216 bytes April 17 2024 17:19:35.
browser.py File 8281 bytes April 17 2024 17:19:35.
calltip.py File 6067 bytes April 17 2024 17:19:35.
calltip_w.py File 7111 bytes April 17 2024 17:19:35.
codecontext.py File 10490 bytes April 17 2024 17:19:35.
colorizer.py File 11275 bytes April 17 2024 17:19:35.
config-extensions.def File 2266 bytes September 04 2021 03:49:41.
config-highlight.def File 2687 bytes September 04 2021 03:49:41.
config-keys.def File 10775 bytes September 04 2021 03:49:41.
config-main.def File 3128 bytes September 04 2021 03:49:41.
config.py File 38878 bytes April 17 2024 17:19:35.
config_key.py File 13408 bytes April 17 2024 17:19:35.
configdialog.py File 101057 bytes April 17 2024 17:19:35.
debugger.py File 19097 bytes April 17 2024 17:19:35.
debugger_r.py File 12140 bytes April 17 2024 17:19:35.
debugobj.py File 4055 bytes April 17 2024 17:19:35.
debugobj_r.py File 1082 bytes April 17 2024 17:19:35.
delegator.py File 1043 bytes April 17 2024 17:19:35.
dynoption.py File 2017 bytes April 17 2024 17:19:35.
editor.py File 67275 bytes April 17 2024 17:19:35.
extend.txt File 3642 bytes September 04 2021 03:49:41.
filelist.py File 3896 bytes April 17 2024 17:19:35.
grep.py File 6742 bytes April 17 2024 17:19:35.
help.html File 55114 bytes September 04 2021 03:49:41.
help.py File 11325 bytes April 17 2024 17:19:35.
help_about.py File 8981 bytes April 17 2024 17:19:35.
history.py File 4043 bytes April 17 2024 17:19:35.
hyperparser.py File 12882 bytes April 17 2024 17:19:35.
idle.py File 454 bytes April 17 2024 17:19:35.
idle.pyw File 570 bytes September 04 2021 03:49:41.
iomenu.py File 20734 bytes April 17 2024 17:19:35.
macosx.py File 9660 bytes April 17 2024 17:19:35.
mainmenu.py File 3703 bytes April 17 2024 17:19:35.
multicall.py File 18648 bytes April 17 2024 17:19:35.
outwin.py File 5808 bytes April 17 2024 17:19:35.
paragraph.py File 7167 bytes April 17 2024 17:19:35.
parenmatch.py File 7204 bytes April 17 2024 17:19:35.
pathbrowser.py File 3193 bytes April 17 2024 17:19:35.
percolator.py File 3130 bytes April 17 2024 17:19:35.
pyparse.py File 20118 bytes April 17 2024 17:19:35.
pyshell.py File 57728 bytes April 17 2024 17:19:35.
query.py File 12434 bytes April 17 2024 17:19:35.
redirector.py File 6875 bytes April 17 2024 17:19:35.
replace.py File 7502 bytes April 17 2024 17:19:35.
rpc.py File 21137 bytes April 17 2024 17:19:35.
rstrip.py File 868 bytes April 17 2024 17:19:35.
run.py File 17272 bytes April 17 2024 17:19:35.
runscript.py File 7841 bytes April 17 2024 17:19:35.
scrolledlist.py File 4458 bytes April 17 2024 17:19:35.
search.py File 3164 bytes April 17 2024 17:19:35.
searchbase.py File 7451 bytes April 17 2024 17:19:35.
searchengine.py File 7472 bytes April 17 2024 17:19:35.
squeezer.py File 13308 bytes April 17 2024 17:19:35.
stackviewer.py File 4454 bytes April 17 2024 17:19:35.
statusbar.py File 1441 bytes April 17 2024 17:19:35.
textview.py File 6121 bytes April 17 2024 17:19:35.
tooltip.py File 6486 bytes April 17 2024 17:19:35.
tree.py File 15089 bytes April 17 2024 17:19:35.
undo.py File 11047 bytes April 17 2024 17:19:35.
window.py File 2588 bytes April 17 2024 17:19:35.
zoomheight.py File 1340 bytes April 17 2024 17:19:35.
zzdummy.py File 961 bytes April 17 2024 17:19:35.

Reading File: //opt/alt//python36/lib64/python3.6/idlelib//textview.py

"""Simple text browser for IDLE

"""
from tkinter import Toplevel, Text, TclError,\
    HORIZONTAL, VERTICAL, N, S, E, W
from tkinter.ttk import Frame, Scrollbar, Button
from tkinter.messagebox import showerror

from idlelib.colorizer import color_config


class AutoHiddenScrollbar(Scrollbar):
    """A scrollbar that is automatically hidden when not needed.

    Only the grid geometry manager is supported.
    """
    def set(self, lo, hi):
        if float(lo) > 0.0 or float(hi) < 1.0:
            self.grid()
        else:
            self.grid_remove()
        super().set(lo, hi)

    def pack(self, **kwargs):
        raise TclError(f'{self.__class__.__name__} does not support "pack"')

    def place(self, **kwargs):
        raise TclError(f'{self.__class__.__name__} does not support "place"')


class TextFrame(Frame):
    "Display text with scrollbar."

    def __init__(self, parent, rawtext, wrap='word'):
        """Create a frame for Textview.

        parent - parent widget for this frame
        rawtext - text to display
        """
        super().__init__(parent)
        self['relief'] = 'sunken'
        self['height'] = 700

        self.text = text = Text(self, wrap=wrap, highlightthickness=0)
        color_config(text)
        text.grid(row=0, column=0, sticky=N+S+E+W)
        self.grid_rowconfigure(0, weight=1)
        self.grid_columnconfigure(0, weight=1)
        text.insert(0.0, rawtext)
        text['state'] = 'disabled'
        text.focus_set()

        # vertical scrollbar
        self.yscroll = yscroll = AutoHiddenScrollbar(self, orient=VERTICAL,
                                                     takefocus=False,
                                                     command=text.yview)
        text['yscrollcommand'] = yscroll.set
        yscroll.grid(row=0, column=1, sticky=N+S)

        if wrap == 'none':
            # horizontal scrollbar
            self.xscroll = xscroll = AutoHiddenScrollbar(self, orient=HORIZONTAL,
                                                         takefocus=False,
                                                         command=text.xview)
            text['xscrollcommand'] = xscroll.set
            xscroll.grid(row=1, column=0, sticky=E+W)


class ViewFrame(Frame):
    "Display TextFrame and Close button."
    def __init__(self, parent, text, wrap='word'):
        super().__init__(parent)
        self.parent = parent
        self.bind('<Return>', self.ok)
        self.bind('<Escape>', self.ok)
        self.textframe = TextFrame(self, text, wrap=wrap)
        self.button_ok = button_ok = Button(
                self, text='Close', command=self.ok, takefocus=False)
        self.textframe.pack(side='top', expand=True, fill='both')
        button_ok.pack(side='bottom')

    def ok(self, event=None):
        """Dismiss text viewer dialog."""
        self.parent.destroy()


class ViewWindow(Toplevel):
    "A simple text viewer dialog for IDLE."

    def __init__(self, parent, title, text, modal=True, wrap='word',
                 *, _htest=False, _utest=False):
        """Show the given text in a scrollable window with a 'close' button.

        If modal is left True, users cannot interact with other windows
        until the textview window is closed.

        parent - parent of this dialog
        title - string which is title of popup dialog
        text - text to display in dialog
        wrap - type of text wrapping to use ('word', 'char' or 'none')
        _htest - bool; change box location when running htest.
        _utest - bool; don't wait_window when running unittest.
        """
        super().__init__(parent)
        self['borderwidth'] = 5
        # Place dialog below parent if running htest.
        x = parent.winfo_rootx() + 10
        y = parent.winfo_rooty() + (10 if not _htest else 100)
        self.geometry(f'=750x500+{x}+{y}')

        self.title(title)
        self.viewframe = ViewFrame(self, text, wrap=wrap)
        self.protocol("WM_DELETE_WINDOW", self.ok)
        self.button_ok = button_ok = Button(self, text='Close',
                                            command=self.ok, takefocus=False)
        self.viewframe.pack(side='top', expand=True, fill='both')

        self.is_modal = modal
        if self.is_modal:
            self.transient(parent)
            self.grab_set()
            if not _utest:
                self.wait_window()

    def ok(self, event=None):
        """Dismiss text viewer dialog."""
        if self.is_modal:
            self.grab_release()
        self.destroy()


def view_text(parent, title, text, modal=True, wrap='word', _utest=False):
    """Create text viewer for given text.

    parent - parent of this dialog
    title - string which is the title of popup dialog
    text - text to display in this dialog
    wrap - type of text wrapping to use ('word', 'char' or 'none')
    modal - controls if users can interact with other windows while this
            dialog is displayed
    _utest - bool; controls wait_window on unittest
    """
    return ViewWindow(parent, title, text, modal, wrap=wrap, _utest=_utest)


def view_file(parent, title, filename, encoding, modal=True, wrap='word',
              _utest=False):
    """Create text viewer for text in filename.

    Return error message if file cannot be read.  Otherwise calls view_text
    with contents of the file.
    """
    try:
        with open(filename, 'r', encoding=encoding) as file:
            contents = file.read()
    except OSError:
        showerror(title='File Load Error',
                  message=f'Unable to load file {filename!r} .',
                  parent=parent)
    except UnicodeDecodeError as err:
        showerror(title='Unicode Decode Error',
                  message=str(err),
                  parent=parent)
    else:
        return view_text(parent, title, contents, modal, wrap=wrap,
                         _utest=_utest)
    return None


if __name__ == '__main__':
    from unittest import main
    main('idlelib.idle_test.test_textview', verbosity=2, exit=False)

    from idlelib.idle_test.htest import run
    run(ViewWindow)

SILENT KILLER Tool