From 9915e39a94ea1e97feb3d3426d3709098be1a014 Mon Sep 17 00:00:00 2001 From: Edvard Rejthar Date: Tue, 3 Sep 2024 16:00:49 +0200 Subject: [PATCH] fix is_yes gui enter button --- README.md | 6 +++--- asset/hello-with-statement-tui.avif | Bin 0 -> 2252 bytes asset/hello-with-statement-tui.webp | Bin 2048 -> 0 bytes mininterface/GuiInterface.py | 6 ++++-- mininterface/TextualInterface.py | 3 --- pyproject.toml | 2 +- 6 files changed, 8 insertions(+), 9 deletions(-) create mode 100644 asset/hello-with-statement-tui.avif delete mode 100644 asset/hello-with-statement-tui.webp diff --git a/README.md b/README.md index 4f19464..9eb9393 100644 --- a/README.md +++ b/README.md @@ -52,12 +52,12 @@ Check out several useful methods to handle user dialogues. Here we bound the int ```python with run(Env) as m: - print(f"Your important number is {m}") + print(f"Your important number is {m.env.important_number}") boolean = m.is_yes("Is that alright?") ``` ![Small window with the text 'Your important number'](asset/hello-with-statement.webp "With statement to redirect the output") -![The same in terminal'](asset/hello-with-statement-tui.webp "With statement in TUI fallback") +![The same in terminal'](asset/hello-with-statement-tui.avif "With statement in TUI fallback") # Contents - [Mininterface – GUI, TUI, CLI and config](#mininterface-gui-tui-cli-and-config) @@ -95,7 +95,7 @@ The config variables needed by your program are kept in cozy dataclasses. Write Install with a single command from [PyPi](https://pypi.org/project/mininterface/). -```python3 +```bash pip install mininterface ``` diff --git a/asset/hello-with-statement-tui.avif b/asset/hello-with-statement-tui.avif new file mode 100644 index 0000000000000000000000000000000000000000..b27d9a27e0960dc5d33ef668b49494b9fec429d0 GIT binary patch literal 2252 zcmZutc|4SR7azMei5bfvAz7+dMlrTxkjTC#WK4s{onee6OT<+)dw!qiEZ=j^^ZkAf1Ok!v4h|=vLji9HXq<=#yw&jl z8mzgEN zjw$}mxIXV9{PQ4+1OWdX89VbZu)zLaix7~ltr4+C}(LC_=7Az?KHXbk*~HnomiI4&UoiPSU)p2d7$l=NrsJ2 zVs^7?1~Y!jM63Afn4wq=g|zmN*D=gK#4{YF)1C4ya}|?Zb&r7~bKSNuqYh_MjG&VD zwqt<|CsST$z3|lw@e1a#3mt~;`ttxhktzVR7Oet*U7W0Y6Knszv$dNsw%qr#f z4c$JoELZ*K-ZhJTDdwJx+_JweD^=m68v+O`H{-I*9vjae(TD=1&Znwry2O0_nS0-_ zQk%}U)iq5bvR^SLbr+rrdigD%n>sY+(EOmUqc+}+eU^Sa_(7lpIgsQKdKqy+Wbwd{ zZ>r~xB_xhEMC9-_Y9ER(uHzLney+uXEO)Phn}pOq`#K&aW36ZL4p;V|L6Y+q^l&)0c$Q zp&c^TT*`mcB_Uk6YM8FvvasAMQf#bC?s8QrGh>W@>FAa^!@XJV-KYY}-q|xMBmJtaWGrAFUXOy1q$@RQ`d#+!%q>*= z$R7hvt<4JLci5(e!`~tT#Ge!yPMzC5@6DQK(`D<%L`$N~PqDF4kpNR^`xNpg=c%WGBmR0Mu<&BFEgp}PH zhC5znu!E*&x|uJBS`(UX?s>g%C(qPYyEjhq^vN3{8yP&&TH8vo$O^lIa*wggk0;r) zZv}Ea;(O8%u_Mk>UDouKb^V_;&9uOm|JZk1rBozb%U=K0t!(SflZa-0b(P|`m8FKB z+3yRX5!@Y;ujtY7gR_6}b&3#Ye2$DnT33nLp52bscoyt!pUarW!3L0qA>QT>?Prcy z^QJ|s^DOwioxcP`otDzflfcP-3OdMhVtCfh1U|5pp9ODaULIFDjQyrW6O5}YA%)5j zk8OwftoVw5cm!ka>z+2y=&vg9Qpw&pThg}Y_Nl4zX7*8pwAH1tst6ZrWz>X{zl)Fj zi&^`n&mF}R+{-P0e|Ll;M1dtEIe6FmJzLPYz89x#g@ih{<@J+XHE(FqC>C|9vBu^R zCD&!-v9c;H=@0fnM$LRzLVF4}`DR*Hp1fD)*A#FQJKxf>0_@FMlcqW+qe_C?Yq%EW zQdI0x*0sNj@!#-T?##G0{JrQuCkyjXragOy=yWe_vfsH&KN#8Kb7OxaM6FFv^|t+l(6rOmwihg+f`3;V0^lwiW`ubTzsDHzVLwtd&K$c-o+h-bk zLUE4&K!sW4grapVEETG@%F27@*5cIU(xl`Q<-F)>+1E(hdPm>vl)lSiM6whzoct1g z3Ta|JQoHHmDG%PR8zN>x6xTG z4NE@OSV;afR5xIW+i-0oKsJQ;ti05^D z)DY%=$NEz}M_z1uXyls(Ui(%#Wt%4CaZvi%`{nq-q;=@W8q-e?V=eMwdL`}Ui3K=? ga*dcbnZ?X9cXf4|Ii*7 z4q>V6!ElG@5t^JFNd0&6%4|}u*ysvusyouJgGTVUpHM^U2z@j(*xDNt0WJ0yG%Or$ zm`#l&zp-HZ9TPIqbEpO5U6^1x<+@FJbm5}$K__|2SMnU$ zvbgD%7Y4T!)o5ED%N=pGKiIYv>?EJ(&qGP(i;}!Hj2YC7A=Fqx^B0eE@Rhdb!oS3k z2teoDT`b<~f~2rVT?LA6``aOMwR}+*wOp5WWK}!y0~q^%?uhJU;$05qoyav_w3Xr} z`1Pm#GO$r}TQQaLlS3K{LK}P3d%fHqeY2ZkS3oXvufi??)GAuUlg7wIa8B7RB zl3vaqTZJaR5S<2%a%L#H%dbfF9U8mNJ>mUq??JkH7@JgGW)zzELUbB6$(W++Fr?QP z$x<8u0RH}@M93}#f{x_~-~a)g0000000000004nZ{9O&IJ1F%&bYOUNjmHazV6;B0AdeekSJ$6CApT5 zI-z@xmjmk)bLQ^{4zD?6hdaL8VxeA+Og>ZG=hmz4sE(9Js)7LOEV3eRFp)CPI;jiL=&!Y`q!qPXg(Xd@^g|VKt^^1jr!0PuNx=YV!t zxG3uiwp5_TD}pd)VZ*Sdcg8R;uWxJMEGXrDWdPl6kwEd8Q2gpi;Tv%4`sR7-FoLs8 zI_QB`;Df>dk|DH0|9J?=OKtQX06K;?7Nga_eMO#(2ICZ>$}wn>5-5NG0040)EhLl= z<}IkT+0h0gJFie*?T3YfJ`)YDH>QXc-HRvTeLD*5o*o0^k8T;g zWq_8$J$d8?KJwd!$wKE-vL*E=_lm@VlM#RqcS{@W6Y1 zTb?laAD3!)UqH@lrR>9Uv;mf*IwsDd&#zw|+A(`==*m6&4pGM;z@;ZQ*%wL(tK#d+ z`$Y-N7)<-2qMgKu>`-fRDI>RdQIXZv7pGexHzVm}?W;45?cCHp3V@H+zCjj?9l~Zu z;$Yc^Y~zr{y3Db)8Mj;+niy21VhIykbYdnt7Z^d$Q!SBFX$Js)yl!*-&lff~6v{Fy z+)qnvS1w?*fxA^F6Hjpvs45Q5n5nG-{WSd`HJvUYTQ+Dd9APv0zM;$g@Y1qZQp%=$ z;yoSw_^CeAwpc04#5|MLTCYHbFjFrXV41L1lOqdb4I@1yz;WGw?cs=c$?zS%89%86AV-^QYzXE3i!d7E40 zBbnO4XzOb*gQ(U5Zo<#-mHNVetBd&yT@WjM-`)oiTX_GiRwk}*%uQV1n3}o2F*S33 eVru66>CWfbs", lambda _: button.invoke()) + if i == focused-1: + b = button + button.bind("", lambda _: b.invoke()) button.pack(side=LEFT, padx=10) self.frame.winfo_children()[focused].focus_set() return self.mainloop() diff --git a/mininterface/TextualInterface.py b/mininterface/TextualInterface.py index a6e9eb8..b34fc36 100644 --- a/mininterface/TextualInterface.py +++ b/mininterface/TextualInterface.py @@ -20,9 +20,6 @@ from .Redirectable import Redirectable from .TextInterface import TextInterface -# TODO with statement hello world example image is wrong (Textual already redirects the output as GuiInterface does) - - @dataclass class DummyWrapper: """ Value wrapped, since I do not know how to get it from textual app. diff --git a/pyproject.toml b/pyproject.toml index ad75102..d06662d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "mininterface" -version = "0.4.4rc3" +version = "0.4.4rc4" description = "A minimal access to GUI, TUI, CLI and config" authors = ["Edvard Rejthar "] license = "GPL-3.0-or-later"