GRAYBYTE WORDPRESS FILE MANAGER7303

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
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/python36/lib64/python3.6/idlelib/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/python36/lib64/python3.6/idlelib//tooltip.py
"""Tools for displaying tool-tips.

This includes:
 * an abstract base-class for different kinds of tooltips
 * a simple text-only Tooltip class
"""
from tkinter import *


class TooltipBase(object):
    """abstract base class for tooltips"""

    def __init__(self, anchor_widget):
        """Create a tooltip.

        anchor_widget: the widget next to which the tooltip will be shown

        Note that a widget will only be shown when showtip() is called.
        """
        self.anchor_widget = anchor_widget
        self.tipwindow = None

    def __del__(self):
        self.hidetip()

    def showtip(self):
        """display the tooltip"""
        if self.tipwindow:
            return
        self.tipwindow = tw = Toplevel(self.anchor_widget)
        # show no border on the top level window
        tw.wm_overrideredirect(1)
        try:
            # This command is only needed and available on Tk >= 8.4.0 for OSX.
            # Without it, call tips intrude on the typing process by grabbing
            # the focus.
            tw.tk.call("::tk::unsupported::MacWindowStyle", "style", tw._w,
                       "help", "noActivates")
        except TclError:
            pass

        self.position_window()
        self.showcontents()
        self.tipwindow.update_idletasks()  # Needed on MacOS -- see #34275.
        self.tipwindow.lift()  # work around bug in Tk 8.5.18+ (issue #24570)

    def position_window(self):
        """(re)-set the tooltip's screen position"""
        x, y = self.get_position()
        root_x = self.anchor_widget.winfo_rootx() + x
        root_y = self.anchor_widget.winfo_rooty() + y
        self.tipwindow.wm_geometry("+%d+%d" % (root_x, root_y))

    def get_position(self):
        """choose a screen position for the tooltip"""
        # The tip window must be completely outside the anchor widget;
        # otherwise when the mouse enters the tip window we get
        # a leave event and it disappears, and then we get an enter
        # event and it reappears, and so on forever :-(
        #
        # Note: This is a simplistic implementation; sub-classes will likely
        # want to override this.
        return 20, self.anchor_widget.winfo_height() + 1

    def showcontents(self):
        """content display hook for sub-classes"""
        # See ToolTip for an example
        raise NotImplementedError

    def hidetip(self):
        """hide the tooltip"""
        # Note: This is called by __del__, so careful when overriding/extending
        tw = self.tipwindow
        self.tipwindow = None
        if tw:
            try:
                tw.destroy()
            except TclError:
                pass


class OnHoverTooltipBase(TooltipBase):
    """abstract base class for tooltips, with delayed on-hover display"""

    def __init__(self, anchor_widget, hover_delay=1000):
        """Create a tooltip with a mouse hover delay.

        anchor_widget: the widget next to which the tooltip will be shown
        hover_delay: time to delay before showing the tooltip, in milliseconds

        Note that a widget will only be shown when showtip() is called,
        e.g. after hovering over the anchor widget with the mouse for enough
        time.
        """
        super(OnHoverTooltipBase, self).__init__(anchor_widget)
        self.hover_delay = hover_delay

        self._after_id = None
        self._id1 = self.anchor_widget.bind("<Enter>", self._show_event)
        self._id2 = self.anchor_widget.bind("<Leave>", self._hide_event)
        self._id3 = self.anchor_widget.bind("<Button>", self._hide_event)

    def __del__(self):
        try:
            self.anchor_widget.unbind("<Enter>", self._id1)
            self.anchor_widget.unbind("<Leave>", self._id2)
            self.anchor_widget.unbind("<Button>", self._id3)
        except TclError:
            pass
        super(OnHoverTooltipBase, self).__del__()

    def _show_event(self, event=None):
        """event handler to display the tooltip"""
        if self.hover_delay:
            self.schedule()
        else:
            self.showtip()

    def _hide_event(self, event=None):
        """event handler to hide the tooltip"""
        self.hidetip()

    def schedule(self):
        """schedule the future display of the tooltip"""
        self.unschedule()
        self._after_id = self.anchor_widget.after(self.hover_delay,
                                                  self.showtip)

    def unschedule(self):
        """cancel the future display of the tooltip"""
        after_id = self._after_id
        self._after_id = None
        if after_id:
            self.anchor_widget.after_cancel(after_id)

    def hidetip(self):
        """hide the tooltip"""
        try:
            self.unschedule()
        except TclError:
            pass
        super(OnHoverTooltipBase, self).hidetip()


class Hovertip(OnHoverTooltipBase):
    "A tooltip that pops up when a mouse hovers over an anchor widget."
    def __init__(self, anchor_widget, text, hover_delay=1000):
        """Create a text tooltip with a mouse hover delay.

        anchor_widget: the widget next to which the tooltip will be shown
        hover_delay: time to delay before showing the tooltip, in milliseconds

        Note that a widget will only be shown when showtip() is called,
        e.g. after hovering over the anchor widget with the mouse for enough
        time.
        """
        super(Hovertip, self).__init__(anchor_widget, hover_delay=hover_delay)
        self.text = text

    def showcontents(self):
        label = Label(self.tipwindow, text=self.text, justify=LEFT,
                      background="#ffffe0", relief=SOLID, borderwidth=1)
        label.pack()


def _tooltip(parent):  # htest #
    top = Toplevel(parent)
    top.title("Test tooltip")
    x, y = map(int, parent.geometry().split('+')[1:])
    top.geometry("+%d+%d" % (x, y + 150))
    label = Label(top, text="Place your mouse over buttons")
    label.pack()
    button1 = Button(top, text="Button 1 -- 1/2 second hover delay")
    button1.pack()
    Hovertip(button1, "This is tooltip text for button1.", hover_delay=500)
    button2 = Button(top, text="Button 2 -- no hover delay")
    button2.pack()
    Hovertip(button2, "This is tooltip\ntext for button2.", hover_delay=None)


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

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

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 20 2024 08:31:55
root / linksafe
0755
Icons
--
May 20 2024 08:31:54
root / linksafe
0755
__pycache__
--
May 20 2024 08:31:54
root / linksafe
0755
idle_test
--
May 20 2024 08:31:55
root / linksafe
0755
CREDITS.txt
1.822 KB
September 04 2021 03:49:41
root / linksafe
0644
ChangeLog
55.039 KB
September 04 2021 03:49:41
root / linksafe
0644
HISTORY.txt
10.07 KB
September 04 2021 03:49:41
root / linksafe
0644
NEWS.txt
38.905 KB
September 04 2021 03:49:41
root / linksafe
0644
NEWS2x.txt
26.535 KB
September 04 2021 03:49:41
root / linksafe
0644
README.txt
9.367 KB
September 04 2021 03:49:41
root / linksafe
0644
TODO.txt
8.279 KB
September 04 2021 03:49:41
root / linksafe
0644
__init__.py
0.387 KB
April 17 2024 17:19:35
root / linksafe
0644
__main__.py
0.155 KB
April 17 2024 17:19:35
root / linksafe
0644
_pyclbr.py
14.843 KB
April 17 2024 17:19:35
root / linksafe
0644
autocomplete.py
9.105 KB
April 17 2024 17:19:35
root / linksafe
0644
autocomplete_w.py
19.364 KB
April 17 2024 17:19:35
root / linksafe
0644
autoexpand.py
3.141 KB
April 17 2024 17:19:35
root / linksafe
0644
browser.py
8.087 KB
April 17 2024 17:19:35
root / linksafe
0644
calltip.py
5.925 KB
April 17 2024 17:19:35
root / linksafe
0644
calltip_w.py
6.944 KB
April 17 2024 17:19:35
root / linksafe
0644
codecontext.py
10.244 KB
April 17 2024 17:19:35
root / linksafe
0644
colorizer.py
11.011 KB
April 17 2024 17:19:35
root / linksafe
0644
config-extensions.def
2.213 KB
September 04 2021 03:49:41
root / linksafe
0644
config-highlight.def
2.624 KB
September 04 2021 03:49:41
root / linksafe
0644
config-keys.def
10.522 KB
September 04 2021 03:49:41
root / linksafe
0644
config-main.def
3.055 KB
September 04 2021 03:49:41
root / linksafe
0644
config.py
37.967 KB
April 17 2024 17:19:35
root / linksafe
0644
config_key.py
13.094 KB
April 17 2024 17:19:35
root / linksafe
0644
configdialog.py
98.688 KB
April 17 2024 17:19:35
root / linksafe
0644
debugger.py
18.649 KB
April 17 2024 17:19:35
root / linksafe
0644
debugger_r.py
11.855 KB
April 17 2024 17:19:35
root / linksafe
0644
debugobj.py
3.96 KB
April 17 2024 17:19:35
root / linksafe
0644
debugobj_r.py
1.057 KB
April 17 2024 17:19:35
root / linksafe
0644
delegator.py
1.019 KB
April 17 2024 17:19:35
root / linksafe
0644
dynoption.py
1.97 KB
April 17 2024 17:19:35
root / linksafe
0644
editor.py
65.698 KB
April 17 2024 17:19:35
root / linksafe
0644
extend.txt
3.557 KB
September 04 2021 03:49:41
root / linksafe
0644
filelist.py
3.805 KB
April 17 2024 17:19:35
root / linksafe
0644
grep.py
6.584 KB
April 17 2024 17:19:35
root / linksafe
0644
help.html
53.822 KB
September 04 2021 03:49:41
root / linksafe
0644
help.py
11.06 KB
April 17 2024 17:19:35
root / linksafe
0644
help_about.py
8.771 KB
April 17 2024 17:19:35
root / linksafe
0644
history.py
3.948 KB
April 17 2024 17:19:35
root / linksafe
0644
hyperparser.py
12.58 KB
April 17 2024 17:19:35
root / linksafe
0644
idle.py
0.443 KB
April 17 2024 17:19:35
root / linksafe
0644
idle.pyw
0.557 KB
September 04 2021 03:49:41
root / linksafe
0644
iomenu.py
20.248 KB
April 17 2024 17:19:35
root / linksafe
0644
macosx.py
9.434 KB
April 17 2024 17:19:35
root / linksafe
0644
mainmenu.py
3.616 KB
April 17 2024 17:19:35
root / linksafe
0644
multicall.py
18.211 KB
April 17 2024 17:19:35
root / linksafe
0644
outwin.py
5.672 KB
April 17 2024 17:19:35
root / linksafe
0644
paragraph.py
6.999 KB
April 17 2024 17:19:35
root / linksafe
0644
parenmatch.py
7.035 KB
April 17 2024 17:19:35
root / linksafe
0644
pathbrowser.py
3.118 KB
April 17 2024 17:19:35
root / linksafe
0644
percolator.py
3.057 KB
April 17 2024 17:19:35
root / linksafe
0644
pyparse.py
19.646 KB
April 17 2024 17:19:35
root / linksafe
0644
pyshell.py
56.375 KB
April 17 2024 17:19:35
root / linksafe
0755
query.py
12.143 KB
April 17 2024 17:19:35
root / linksafe
0644
redirector.py
6.714 KB
April 17 2024 17:19:35
root / linksafe
0644
replace.py
7.326 KB
April 17 2024 17:19:35
root / linksafe
0644
rpc.py
20.642 KB
April 17 2024 17:19:35
root / linksafe
0644
rstrip.py
0.848 KB
April 17 2024 17:19:35
root / linksafe
0644
run.py
16.867 KB
April 17 2024 17:19:35
root / linksafe
0644
runscript.py
7.657 KB
April 17 2024 17:19:35
root / linksafe
0644
scrolledlist.py
4.354 KB
April 17 2024 17:19:35
root / linksafe
0644
search.py
3.09 KB
April 17 2024 17:19:35
root / linksafe
0644
searchbase.py
7.276 KB
April 17 2024 17:19:35
root / linksafe
0644
searchengine.py
7.297 KB
April 17 2024 17:19:35
root / linksafe
0644
squeezer.py
12.996 KB
April 17 2024 17:19:35
root / linksafe
0644
stackviewer.py
4.35 KB
April 17 2024 17:19:35
root / linksafe
0644
statusbar.py
1.407 KB
April 17 2024 17:19:35
root / linksafe
0644
textview.py
5.978 KB
April 17 2024 17:19:35
root / linksafe
0644
tooltip.py
6.334 KB
April 17 2024 17:19:35
root / linksafe
0644
tree.py
14.735 KB
April 17 2024 17:19:35
root / linksafe
0644
undo.py
10.788 KB
April 17 2024 17:19:35
root / linksafe
0644
window.py
2.527 KB
April 17 2024 17:19:35
root / linksafe
0644
zoomheight.py
1.309 KB
April 17 2024 17:19:35
root / linksafe
0644
zzdummy.py
0.938 KB
April 17 2024 17:19:35
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF