From a8aba7163899e1e5f81cba041b371cf52e8801c7 Mon Sep 17 00:00:00 2001 From: punix <polunga40@unity-mail.de> Date: Wed, 7 May 2025 12:46:52 +0200 Subject: [PATCH] tooltips add x_offset: int = 65, y_offset: int = 40 as atribute for edit --- __pycache__/common_tools.cpython-312.pyc | Bin 33666 -> 33948 bytes __pycache__/wp_app_config.cpython-312.pyc | Bin 9435 -> 9435 bytes common_tools.py | 10 +++++++--- wirepy.py | 22 ++++++++++++++-------- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/__pycache__/common_tools.cpython-312.pyc b/__pycache__/common_tools.cpython-312.pyc index 70ccf6b5d5e3d5b11a7ea809e42816c53901815f..83b6bc0a5ec05ef93b94ea3e2a83b6102b98e0a4 100644 GIT binary patch delta 1034 zcmZuvTWC{35Z%4Gxw(1V#L~1HW9qiP8Z2s4T1Bk*rYcsY3K~C(cyCBW8oBqHmoY{u zn&JyPA6C>q5w(hzB8vFo<3q%+pkmC2=%?sMYY}`PIGeOSz=55ab7ppDXJ?Nd7cTY- z?&pf)ASjz!{LzRu?Cvt^6^>EH^Qg`djfAO6!h%Y}7CW&M)eTvrF|65D8!lNDA}-b5 zXAL`4kLu_X!%lUI>eM7n^x^h$TvS~ccm0P~kXKSdu&QL+7K`mOd-m^U0(><-!DVyl z^d^?<jzuDdX10eGHL=trXkG+w%^&`fJQ*&@lQDfY7TqJky8~YO7QP%<9uPC6TST%f z87m^|Z$#j|%L`0)LRWkN^*|x*g`dfKxEl{p8D7O_+VoSD5dAca#o1g*--<i+6P#)0 z-bwCN63{aw<QRkb3AQ9IAdVu=kx_}vXvm8vokd>&jlCFZ%Zo2%f6>QTcX1j+qfD3) zBhewy0eFy_L65_m)D;?qT>2&qCu?Eh!C5fJ>W9rrts{*`r*Te)Ea2Q&2OT@=;LgEn zS_8XX)rw^ZZ^MO>ejAK6)zpg_;Q~>`jO7BkB>st-Rh2wKV1KO_S~5PrRh3j54$ZFG zZ#ahJO8k(Nk@ot5rmErg1{-XNTR}>CX@FO2apr9iiUXF1uxBomq-an{S9L{W34@tY zjhU6vc9x``UPIGO_?Y=V^E!Vb{?)$b$Zg@SW7sj`$`QQ*nV?5M3u2Z{EkAC_nds?_ z#JcrZ%uMO0u{UVWuBGQ8kqxnP2-Dt)zq7!=lHC*42Kf2k;8}M4eDAHmwLn2>E68nm zT9obiZD)4%?|QAwE-15KD08p=6(4Cm%xL>rJXL?fZz5D?ejW*f_s5vd(CCBz)Q$G2 z+GO1uFpyj93tBoqti;3*jXZl5SDmPWZg`bzt?A`>3s(cY5^q8ugy~1>cOFBskBkWp zt2|muw$q)o*t&Sk;<2uwgT^S~_Uf#Pz1R3K^tAm^dtvF;3Q_dejg~Wu3qupmvK8ZH bX1rk}d1O7M_u=u;Vb3~B=Y1wzm!JC=HF+CH delta 769 zcmZuuUr1A76u;lS*ZXJp-Wg4^>o&UTLt93nP(rjYD@dWp>LC^((l_x>w7Q$l&CTf? zq$Fyc)WCY^MHCYfUwpKpdI+jPkVr&Nh0sH5^wLY6ujN|@zTY{&^PThKeCK;G#%FHv z&ew+F;LyB%m7NK?;=B;?s*Ix*k_fY0hzk<R1$jz>0@WcC@tvo9heG9SNl>K*RkC8x zL3OHzq>yN03zhI*qz=5-{*%`*ug7`6b5p(;4quCQ-DrPFK#YEamfoKp`vfXn6%n?L z#R8tfGYIz`6S!^_ZpK~kq(z1=eRc3vbP1GCLQX7)w{Z>5#Jog;p4c9^7xPw%b}P2p zw+TWWi^egEFiH3jvwXcgvP;N@xX<pYQE^<`Fumy1jrzl*;(NutVOAq`t{&_^&66qU zPk6`(Oef|^BOD!A=BWU`2WoHzx08wq)JYf|mlC1|Jlf}hfn*)r>2X1$qKjj4w+q^J zmnkLrIb2avnByLbOE?WP!ePsLg9j>7rYTc}s?<R>sy)`1lww6nN=lI5Uj~+<L1$_g zF_~J0F)DWu>dY!j_!4G>ixYn-ET%k;t>ehId<gI&^^45I`k-4d>`C}EXc?PYtm}G5 zxXliSqj4xtpCYqxIbBbtVIplx6KpSeSWY*~J99>DPN@YlRK6XrRt;GsFv)iM9M%1N zamll6wQLN_vMqG>3?>p~|33LZXBQ2%MT<Ya0E5E~x_y>aH6i#7cr$!x$2rEQnC>)# z8Q7hv3Up&K%jJ2sM9G)wB`3-K$ajwUg_@#Y^R3sv3Oo(uj<gmN@2<2L{#Fz`t9LWa Vgsj2Gk(JUWLiYaP7~0jS`3LxG&I14d diff --git a/__pycache__/wp_app_config.cpython-312.pyc b/__pycache__/wp_app_config.cpython-312.pyc index ed1738b3fe4f990281232bec949dd032e15152c1..65b6f49c2268fcd2564373ae183ea291ac33a552 100644 GIT binary patch delta 19 ZcmccZdE1lgG%qg~0}zB5Z{)hD0suXe1$h7f delta 19 ZcmccZdE1lgG%qg~0}x!%*vNHJ1pq)?1?~U< diff --git a/common_tools.py b/common_tools.py index e321658..b87fc1a 100755 --- a/common_tools.py +++ b/common_tools.py @@ -621,17 +621,21 @@ class Tooltip(): example: Tooltip(label, "Show tooltip on label") example: Tooltip(button, "Show tooltip on button") example: Tooltip(widget, "Text", state_var=tk.BooleanVar()) + example: Tooltip(widget, "Text", state_var=tk.BooleanVar(), x_offset=20, y_offset=10) info: label and button are parent widgets. NOTE: When using with state_var, pass the tk.BooleanVar object directly, NOT its value. For example: use state_var=my_bool_var, NOT state_var=my_bool_var.get() """ - def __init__(self, widget: Any, text: str, state_var: Optional[tk.BooleanVar] = None) -> None: + def __init__(self, widget: Any, text: str, state_var: Optional[tk.BooleanVar] = None, + x_offset: int = 65, y_offset: int = 40) -> None: """Tooltip Class""" self.widget: Any = widget self.text: str = text self.tooltip_window: Optional[Toplevel] = None self.state_var = state_var + self.x_offset = x_offset + self.y_offset = y_offset # Initial binding based on current state self.update_bindings() @@ -662,8 +666,8 @@ class Tooltip(): cy: int x, y, cx, cy = self.widget.bbox("insert") - x += self.widget.winfo_rootx() + 65 - y += self.widget.winfo_rooty() + 40 + x += self.widget.winfo_rootx() + self.x_offset + y += self.widget.winfo_rooty() + self.y_offset self.tooltip_window = tw = tk.Toplevel(self.widget) tw.wm_overrideredirect(True) diff --git a/wirepy.py b/wirepy.py index 6e6c784..9e7114d 100755 --- a/wirepy.py +++ b/wirepy.py @@ -266,9 +266,9 @@ class FrameWidgets(ttk.Frame): self.lb_rename.config(state="disable") if self.l_box.size() != 0: - Tooltip(self.lb_rename, Msg.TTIP["rename_tl"], self.tooltip_state) + Tooltip(self.lb_rename, Msg.TTIP["rename_tl"], self.tooltip_state, x_offset= -120, y_offset=-70) else: - Tooltip(self.lb_rename, Msg.TTIP["rename_tl_info"], self.tooltip_state) + Tooltip(self.lb_rename, Msg.TTIP["rename_tl_info"], self.tooltip_state, x_offset=-180, y_offset=-50) # Button Rename self.btn_rename = ttk.Button(self.lb_frame4, text=_("Rename"), state="disable", command=self.tl_rename, @@ -289,14 +289,14 @@ class FrameWidgets(ttk.Frame): self.wg_autostart.grid(column=0, row=0, pady=15, padx=15, sticky="nw") if self.l_box.size() >= 1 and len(self.l_box.curselection()) >= 1: - Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state) + Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state, x_offset=-10, y_offset=-40) if self.l_box.size() == 0: - Tooltip(self.wg_autostart, Msg.TTIP["autostart_info"], self.tooltip_state) + Tooltip(self.wg_autostart, Msg.TTIP["autostart_info"], self.tooltip_state, x_offset=30, y_offset=-50) else: - Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state) + Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state, x_offset=-10, y_offset=-40) self.on_off() @@ -326,15 +326,21 @@ class FrameWidgets(ttk.Frame): self.update_tooltip.set(_("Updates you have disabled")) # Clear the foreground color as requested self.update_foreground.set("") + # Set tooltip for the label + Tooltip(self.updates_lb, self.update_tooltip.get(), self.tooltip_state) elif res == "No Internet Connection!": self.update_label.set(_("No Server Connection!")) self.update_foreground.set("red") + # Set tooltip for "No Server Connection" + Tooltip(self.updates_lb, _("Could not connect to update server"), self.tooltip_state) elif res == "No Updates": self.update_label.set(_("No Updates")) self.update_tooltip.set(_("Congratulations! Wire-Py is up to date")) self.update_foreground.set("") + # Set tooltip for the label + Tooltip(self.updates_lb, self.update_tooltip.get(), self.tooltip_state) else: self.set_update.set(value=0) @@ -346,7 +352,7 @@ class FrameWidgets(ttk.Frame): # Create the update button self.update_btn = ttk.Menubutton(self.menu_frame, text=update_text) self.update_btn.grid(column=4, columnspan=3, row=0, padx=0) - Tooltip(self.update_btn, Msg.TTIP["download"], self.tooltip_state) + Tooltip(self.update_btn, _("Click to download new version"), self.tooltip_state) self.download = tk.Menu(self, relief="flat") self.update_btn.configure(menu=self.download, style="Toolbutton") @@ -579,7 +585,7 @@ class FrameWidgets(ttk.Frame): self.l_box.update() self.l_box.selection_set(0) - Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state) + Tooltip(self.wg_autostart, Msg.TTIP["autostart"], self.tooltip_state, x_offset=-10, y_offset=-40) Tooltip(self.btn_tr, Msg.TTIP["trash_tl"], self.tooltip_state) Tooltip(self.btn_exp, Msg.TTIP["export_tl"], self.tooltip_state) Tooltip(self.btn_rename, Msg.TTIP["rename_tl"], self.tooltip_state) @@ -645,7 +651,7 @@ class FrameWidgets(ttk.Frame): self.wg_autostart.configure(state="disabled") self.lb_rename.configure(state="disabled") Tooltip(self.wg_autostart, Msg.TTIP["autostart_info"] - , self.tooltip_state) + , self.tooltip_state, x_offset=30, y_offset=-50) Tooltip(self.btn_exp, Msg.TTIP["export_tl_info"], self.tooltip_state) Tooltip(self.btn_stst, Msg.TTIP["empty_list"], self.tooltip_state)