From fe5fbe90398f9c28c74a66c9eb4b433854973384 Mon Sep 17 00:00:00 2001 From: Ankush Jadhav Date: Sat, 17 Apr 2021 11:55:12 +0530 Subject: [PATCH 1/2] Fix Form does not render HintTexts for more than one item --- widget/form.go | 2 +- widget/form_test.go | 23 +++++++++++++++++++++++ widget/testdata/form/hints_rendered.png | Bin 0 -> 3155 bytes 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 widget/testdata/form/hints_rendered.png diff --git a/widget/form.go b/widget/form.go index 7ca8628f7d..4911756fe2 100644 --- a/widget/form.go +++ b/widget/form.go @@ -69,7 +69,7 @@ func (f *Form) AppendItem(item *FormItem) { f.Items = append(f.Items, item) if f.itemGrid != nil { f.itemGrid.Add(f.createLabel(item.Text)) - f.itemGrid.Add(item.Widget) + f.itemGrid.Add(f.createInput(item)) f.setUpValidation(item.Widget, len(f.Items)-1) } diff --git a/widget/form_test.go b/widget/form_test.go index 5404320cae..e024c910a0 100644 --- a/widget/form_test.go +++ b/widget/form_test.go @@ -300,3 +300,26 @@ func TestForm_Disable_Validation(t *testing.T) { test.AssertImageMatches(t, "form/disable_validation_disabled_valid.png", w.Canvas().Capture()) } + +func TestForm_HintsRendered(t *testing.T) { + f := NewForm() + + fi1 := NewFormItem("Form Item 1", NewEntry()) + fi1.HintText = "HT1" + f.AppendItem(fi1) + + fi2 := NewFormItem("Form Item 2", NewEntry()) + fi2.HintText = "HT2" + + f.AppendItem(fi2) + + fi3 := NewFormItem("Form Item 3", NewEntry()) + fi3.HintText = "HT3" + + f.AppendItem(fi3) + + w := test.NewWindow(f) + defer w.Close() + + test.AssertImageMatches(t, "form/hints_rendered.png", w.Canvas().Capture()) +} diff --git a/widget/testdata/form/hints_rendered.png b/widget/testdata/form/hints_rendered.png new file mode 100644 index 0000000000000000000000000000000000000000..a62a2137d251dd2250c1a937a5f3bbf7a63303e6 GIT binary patch literal 3155 zcmZ`+2{=@H8LYsCp{n_XY?aJfY?f0x%}poaXi<=Q ztnDuvLoX^U^CZ$hf?=rm#7B#`)K@pcX|r9NiE`G3wOsmE*qpE5Jom|QNl|fOvv>Ht z(ut~$@BXnv8*@VbsN$7lwIKtJc(snp!3uQT5A7ZwF*ZyKPnFj{MJ}kST8fuJe=fKY zxUsceRi*yrg|(7i#JZ|N^XTGwM8nwFn0>&0X&vJS^!VM+ zjqXh%1Oh=e!V`_oZF8HNp0=;^=bld0RZKHWOiT<94>wY@jEagfHh!C3P*_l)2}(wn z-=c;r_VpdvJk2;4%#(<3di?ltHyBY!YG^xUNrRe$qcVFMx zEWZX*v9|X1D%R{3{M^Nh7hm1H7`?S3!ye1<%+jk;)e_ywU`WGOXIX_zp4Ij1_}QTsJzj>2J?DrKOPvsoYL){~n$p@~tMf@l+rNMA4+jfX^$UUTU+a{ ze~!ERfXj8RcYq?1>KYpRBqWAdEF;C98ei6=8R;Xu{Ed{9lzN8G=IZRN$d$BCkIm6k z{Zk>IcL_Ac$H&X5OA-prPO90^NV^wSJP?;><{L7xVgEx zyZ4Oq`M5%+wzjsZm}QYQZhWf0m}j}4{qp5YCH`M#Vh0I^xWAQctL~OPqgWu3g_jJj z*^fOv91t2BIw|O$c1IxgJDQlAyXr9bV{eC&ZD)D`V6bZa+mz*r~Rx=H}+??34LDAz#-Qo0^)O zR0r8?3r>S^dE#<4V#jr3D=O0+g-ZYJyyPBXiTLLg6%V$bGI@_p&eZ1Vt4(?ki+jB^ z0VLguSd4FT3#fPCR|!4^b{Q3g?;MsCm6eqRIK*>|r_49l=l1{(J-!1OP>LdJvM;L! zn69Crp)TlVNkc;emFl3Bmf7i%)wv3Y&$U|p#SxEr!}RoYEeNE;OV6*X5UilE@S947RYnVVh2jbm?{lsMO&yVIFK^r?8|RyvnN3YjdU<4vVQrH*d8CPtl!R4SFu6^KnQ@_V*#O)=Z+1@6T8kmYFnpOEp5Wx zaJ@zYaY(9SnG^Ye^S>E)#s{06k}^DUY!Tf*D?G1Zkl-q#4*$-+QaiFpo?QU@)S1~O zsA4wu#`zGhw_<$&PT{QX4@}bn#w9d<_3-iWadCNGS6A2AsJ}$x z4kjPK4~Kdh8HuoLxtD`C__MVf^%y|*0ns+X?>to@YGFUs;doYLT~*cBjDUN`;7^c% zKHwxoayCw_Y>fu}H;b>L(&{HE|DOFnCE-GT|J2mzb+;~-2TS;ofpzJd0B`jLlld_* zyBayfoSbjXV`5?=aLDDAlT?>#!`G#b0d#mW>fO@j7O-Ke$@%%GRg!LhbAok=AtQv- z*HWx)Z1gt99${-K&!0EBRN{hzh2d*jCESe6OtW%fzWyuNvx=J+9T<}%!XFkSuhTX9 zIMF+$1JmLP@Ml%W6M@edSoo_9O(O?RAZl5TDAei#{QyY^8}SB|d$4~2SMLBwMO<85 zeSLjrXD6f^f(Bl{Fx%^eBtmnD#2s#;{9DTm_Y&@j1lDX>aq%>d_lvSJyD_@aNqZoWUy&goPx;S%a%*D@67mHSQ=hrQ4VgcJcuO0|U`G=ZqzaBDZqj#1Fof~=V)c+ zLi)%L(|e8cql0q!kmvh~NIqJurST41IYMdb;ua zlTqmp3-@0grLa|US}+DBT=5go#iSn-mqejR@`~QVz7lrC0kJNxI*6FPfbNySi}!wfqNXGl`pv;`}@I~nqwxG7_~>lAPyWNL&kEQ2}4{s*X%Xx#t+ literal 0 HcmV?d00001 From 55ccd8c534368baeb34b94a129ddb9a9db58e328 Mon Sep 17 00:00:00 2001 From: Ankush Jadhav Date: Sat, 17 Apr 2021 12:07:34 +0530 Subject: [PATCH 2/2] fixed breaking test --- widget/form_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/widget/form_test.go b/widget/form_test.go index e024c910a0..086b00baf6 100644 --- a/widget/form_test.go +++ b/widget/form_test.go @@ -302,6 +302,10 @@ func TestForm_Disable_Validation(t *testing.T) { } func TestForm_HintsRendered(t *testing.T) { + app := test.NewApp() + defer test.NewApp() + app.Settings().SetTheme(theme.LightTheme()) + f := NewForm() fi1 := NewFormItem("Form Item 1", NewEntry())