From 95158559376819e6daf0f78ff912841f0778196a Mon Sep 17 00:00:00 2001 From: Luis Riverea Date: Mon, 23 Jun 2025 21:31:57 -0500 Subject: [PATCH 1/6] Improve buttons sizes --- .../UI/Images/caret-left-default.png | Bin 138 -> 364 bytes .../UI/Images/caret-left-disabled.png | Bin 173 -> 386 bytes .../UI/Images/caret-right-default.png | Bin 145 -> 303 bytes .../UI/Images/caret-right-disabled.png | Bin 392 -> 319 bytes .../UI/Images/check-disabled.png | Bin 234 -> 400 bytes src/DynamoCoreWpf/UI/Images/check.png | Bin 185 -> 397 bytes src/DynamoCoreWpf/UI/Images/whiteclosetab.png | Bin 307 -> 410 bytes .../NodeAutoCompleteBarViewModel.cs | 41 +++--------- .../Views/NodeAutoCompleteBarView.xaml | 62 +++++++++++++----- 9 files changed, 56 insertions(+), 47 deletions(-) diff --git a/src/DynamoCoreWpf/UI/Images/caret-left-default.png b/src/DynamoCoreWpf/UI/Images/caret-left-default.png index 64e43258894008da47793e1656314918e2d33d77..c6ad9b3f4157d68084b8b43e825fadc15fd2651d 100644 GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k&H|6fVjv9yj0`Q6;vf!Vage(c z14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>U-fix45^rtoT4DO;lZRIpPqKJ3kwII{Qv*|;~hJ9&VP9I!`Ij0 z_6l3S*|T&o+}vSW^ZT2wz={mf4&EhyD=I4V9+n6N6tVLnEWM;=;n*L(gJ%uq{xM*7&TZuKwIFrz_Cp&ySCbyPKO2^PVtawaVqcV5Yu6 z@qR&;fSA}nmLQf89;3TlF3dmQy_gkX!#m{hABw l-Dh$FYAsVl{)(%WGb{`9vvRq1U?tFS22WQ%mvv4FO#lnpF7p5Y diff --git a/src/DynamoCoreWpf/UI/Images/caret-left-disabled.png b/src/DynamoCoreWpf/UI/Images/caret-left-disabled.png index 58e6af99ae584f0a959596cd4a7b692ae7d76113..fb67ea838e0c0b0dc8ef2fcb51ef713f0602abd5 100644 GIT binary patch literal 386 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k&H|6fVjv9yj0`Q6;vf!Vage(c z14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>zxH%-45^rtoT4DO;lZRChRJR0%F4-{+}z$VMMa;C_eiCko%Qtl z|NsBDIz0Pd|NmbnL*^Z+hA!sDuJFbi4!878O}`5HsWXbYGl=Rku4J`Rx3IOXW%sjh zxWf~&N9M#I_7ItQ)240XoL&47s4Zu~nc4g6|KIEMHSB7eZ(m=war5Tgj5C)Vm~hj$ z_?eITg30?HUYRg``uEINS62Et996iywxL2jV6yctH4*>x^z{0duU{8GeD>@f^OL4I zJBt7P`MIvMv(tV<7DMBrMT_1C_|9&ONncQZrtyp89I1p^YQD3c@P3)BX|SbF;WQ(| Y#ICq!`!+ZI1A3dm)78&qol`;+0RKXkHvj+t literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr*{ICvD_Cpuod&aDr>l z0R>6c&Zfo*3C0?eT$MP!Jg~^LJUR8R{{Ea}*A!YdoUJ+#*I~FS>h;Id3%b2EcU?7| z{g9=w?A%g+wvfVf2}h1XVPx#=}AOER47xGkTFXGK@f%COLaGU-F5y08(W(|nn1MBCSc`Hv9p1Bril{)`$K9SqveZ19&9){eing0^8&ySz?+CnNcv(1Gpkf}*)xwx z#+_e^F^*D7uOy%Ax<1=B7f*^Y4y&qKk^Cy<`vyFmRt*%U&0qik002ovPDHLkV1oaN BeFOji literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`5uPrNAr*{o`@Oji7;v~86@Ic} zuVYcN_`hjpPSYEOc4sc+KhkG6w(v diff --git a/src/DynamoCoreWpf/UI/Images/caret-right-disabled.png b/src/DynamoCoreWpf/UI/Images/caret-right-disabled.png index dc59a967c1c88de08cef1e8c2a6cb18c93d06de2..0c20e4dfc6e51b6329c7ee897bf08e0c382318cf 100644 GIT binary patch literal 319 zcmV-F0l@x=P)Px#`AI}UR47xG(6LIyKoADte4KSWd*lTjnu^FB zfGrU@>1P@QX`1c^K`;lf58x^c!^__`eVfShdI(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew4N!t9$=lt9;eUJonf*W>dx@v7EBi}k5m8>nw!F|P zppdVpi(`n!`Q(HJ`ZG>;X&!4i^YgupH}CqU`tSc&F4j(TdFmIO9+bRmW*PT#CLdKF zo(P7|@-lf1Fa7tmALjBAH!#?s(9X12heMut{~##YA0+6D$z1_m=DAD=|gkei>9nO2Eg!wZ(^QlJJ6 zxD6$lxv9k^iMa*1_3Rg{S_RZ24APSeRBlyLS&+(*nVXoNs$YSpWb4 diff --git a/src/DynamoCoreWpf/UI/Images/check-disabled.png b/src/DynamoCoreWpf/UI/Images/check-disabled.png index 4a39265b1cf4dabb37b227a485013541d0454f10..321dbc44c57fe2ad9ac13a295ca1a7ade6d7b014 100644 GIT binary patch literal 400 zcmV;B0dM|^P)Px$N=ZaPR5(xVl)FmAKoo}mNhMZ_g2*D`qM){7;Tw3tH_$T7tz5>0N%1JJNJEm$k0x}IF47Wwf6va02lxVQp(p(z!B^PKp#MEtv&QS@1c|BFbsQ+ z<2*LOY6{adT`c#XNu^5uGWeuA(T~5<)PXVa9QsBiD8Bnik?)m*Y6zv)0}K zSmFdCx)egV09FBf063{Cp9ZasO_C&=MNzPVwMs&*o4-<6Uea2#B8G0a)vU28lL78{ up6Ay@bWxqNw$G%~ru+o`2ey^GJ^l%P+L9H7Aot|}0000q(?{S2##P!a09uJaMKCu1|A9FfKK2DbpsuRGZ65R*hE|V?`YCr@{-5P z`#wlO=rDZ1+=;7Kh*v!WEug zQc6unpp>etwGSag(Fb$R_w5T-P2;`CgpdNN21%Lcxfz2~zJ39~69_73&AW;rxFcvu k&=}ksDdhn~7qnzjUi64;(YllVIsgCw07*qoM6N<$g29|(djJ3c diff --git a/src/DynamoCoreWpf/UI/Images/check.png b/src/DynamoCoreWpf/UI/Images/check.png index fde3098a266f54bd2a06b1a7cb1b9b3e99c49b1a..047bbf797a6107a068f9817f47f30853c3fb5d86 100644 GIT binary patch literal 397 zcmV;80doF{P)Px$M@d9MR5(xVl+8-RKoo_~g(OJQp^Ac(B4SZcx8lM#@CV;Om%fGz-^Q&w7giB< zsgIHnGD$4Wy*iSV*fd5$7cQLb%>Cw^d+rQj&Wq;E!`}i1L9o>Ab^{`k!f9)TVHmDh zmi5HUZ=UC!6Vcc}TLGgeS|y@;06PFi01iCQdu;{GVJ`p%0N$DTP$~7$%5ogXeGz%A zgH;szzQ5==&Y+NA9;qZr)|uJZ+%PspYrPM^^uh%&CZaRfb+6Mj-O94ezzuA~%tuP8VcmoHma^7*?=!Jm0Lyv7 z6@Uu>JtLHvPs++?K`UdErs-yuWk$hTsi2bPuM`%CwAMW$8j8qvQ_pHcncgso+qQip rBA4YkYx+!Dy_BDz|G=h}H}8J{Ac%|=er+r900000NkvXXu0mjfBs8+L literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4W2HJAr*{IC+rn$P~d63IO~w0 zMB_x6gS;gob6W&u4hri0c-^7Ts#=tBa`$P~f}fMh1sCZHUKDXMIA^IFb#%k`e=Y+2 zKUqKTzVULruM kRK>RiVh5fY-&rW9+cW9u{#hb%K({b>y85}Sb4q9e0PEjKEC2ui diff --git a/src/DynamoCoreWpf/UI/Images/whiteclosetab.png b/src/DynamoCoreWpf/UI/Images/whiteclosetab.png index 7b0a6aea0b88bf5680462e2f66bc3af3a6389192..fcc4b46a8e1abc0491228dc90694fb811f1e0684 100644 GIT binary patch literal 410 zcmV;L0cHM)P)Px$R7pfZR5(wyls!+wFc5~{^LX~o$}d74SQtP^2&gDUAPN&3Vk$yV3J4hZ*g7Ei zPw*3b&UnaDBBfOlmnz&Coge%4Jr1GeqLz91UtpGH%c{D<%%gcu9zy5?_+;jvqJQdy zBGLmeCZa=TzG;Gn5RO#!3c#MV_Ms9OKYH&6L^K4jW37Fzf{MsCfG1Twan4BGLiy0iauV`o<~e(e405 zP^<{<)xlyzQX3K3ih}}RRJH4zdubY066n3(Afnd@QPoZ7-21}7Jo2Neo*HA8RP`9Z z?n06Cq1=|$2q6qrbFVb%WM{zsbL}6{56$NdN!<07*qoM6N<$ Eg62@NumAu6 literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&K$e=6bp~hFA#R zo#@DSNI}4r(>p(T``(814c50S)WS{UF1X&Eb>X}3vPP!1wUhRoF);o=y{Y*BRwoW~ z3GaH>yN7w62mKG8EOD>vqd;}1{D&63cd3@lot(eRHtuv)3;(oDfA$R}r_QZnE97p^ zR_NmhdH;}=-NNbiB#CXwlhw;VT}{>B_ApJD?R`Lv)+^x`o%(5WTxT(d==&sDq#nAj Zx8}^Vy>n_9(^5bV_H^}gS?83{1OP8bV5k59 diff --git a/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs b/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs index 3a181c1b07d..b0d915289b5 100644 --- a/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs +++ b/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs @@ -146,9 +146,8 @@ internal IEnumerable DropdownResults RaisePropertyChanged(nameof(NthofTotal)); RaisePropertyChanged(nameof(ResultsLoaded)); RaisePropertyChanged(nameof(SwitchIsEnabled)); - RaisePropertyChanged(nameof(ConfirmSource)); - RaisePropertyChanged(nameof(PreviousSource)); - RaisePropertyChanged(nameof(NextSource)); + RaisePropertyChanged(nameof(HasPrevious)); + RaisePropertyChanged(nameof(HasNext)); RaisePropertyChanged(nameof(FilteredView)); } } @@ -257,8 +256,8 @@ public int SelectedIndex RaisePropertyChanged(nameof(SelectedIndex)); RaisePropertyChanged(nameof(NthofTotal)); - RaisePropertyChanged(nameof(PreviousSource)); - RaisePropertyChanged(nameof(NextSource)); + RaisePropertyChanged(nameof(HasPrevious)); + RaisePropertyChanged(nameof(HasNext)); } } } @@ -296,35 +295,15 @@ internal void ToggleUndoRedoLocked(bool toggle = true) } /// - /// Bitmap Source for left caret + /// Boolean, true if its possible to select a previous autocomplete option /// - public string PreviousSource - { - get - { - return selectedIndex == 0 ? "/DynamoCoreWpf;component/UI/Images/caret-left-disabled.png" : "/DynamoCoreWpf;component/UI/Images/caret-left-default.png"; - } - } - /// - /// Bitmap Source for right caret - /// - public string NextSource - { - get - { - return selectedIndex >= ClusterResultsCount - 1 ? "/DynamoCoreWpf;component/UI/Images/caret-right-disabled.png" : "/DynamoCoreWpf;component/UI/Images/caret-right-default.png"; - } - } + public bool HasPrevious => selectedIndex > 0; + /// - /// Bitmap Source for confirmation checkmark + /// Boolean, true if its possible to select a next autocomplete option /// - public string ConfirmSource - { - get - { - return ResultsLoaded ? "/DynamoCoreWpf;component/UI/Images/check.png" : "/DynamoCoreWpf;component/UI/Images/check-disabled.png"; - } - } + public bool HasNext => selectedIndex < ClusterResultsCount - 1; + /// /// Language agnostic way of showing current result ordinal /// diff --git a/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml b/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml index 3bd714d40c0..cfdff153c1f 100644 --- a/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml +++ b/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml @@ -269,12 +269,22 @@ Background="Transparent" CornerRadius="2" /> + Stretch="UniformToFill" > + + + + + Stretch="UniformToFill" > + + + + + Stretch="UniformToFill" > + + + + From ab18ec9c65794eab23ff5b0cbab83d031efcdcfb Mon Sep 17 00:00:00 2001 From: john pierson Date: Tue, 24 Jun 2025 07:46:50 -0600 Subject: [PATCH 2/6] Update NodeAutoCompleteBarView.xaml --- .../Views/NodeAutoCompleteBarView.xaml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml b/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml index cfdff153c1f..9bae944e266 100644 --- a/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml +++ b/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml @@ -13,7 +13,7 @@ Background="Transparent" ShowInTaskbar="False" ResizeMode="NoResize" - Width="600" + Width="620" Height="45" PreviewKeyDown="OnAutoCompleteKeyDown" > @@ -83,9 +83,9 @@ - - + + @@ -267,7 +267,8 @@ + CornerRadius="2" + Width="36"/> + CornerRadius="2" + Width="36"/> + CornerRadius="2" + Width="36"/> + CornerRadius="2" + Width="36"/> Date: Tue, 24 Jun 2025 07:52:47 -0600 Subject: [PATCH 3/6] Update NodeAutoCompleteBarView.xaml --- .../Views/NodeAutoCompleteBarView.xaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml b/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml index 9bae944e266..cdc1609587e 100644 --- a/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml +++ b/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml @@ -13,7 +13,7 @@ Background="Transparent" ShowInTaskbar="False" ResizeMode="NoResize" - Width="620" + Width="640" Height="45" PreviewKeyDown="OnAutoCompleteKeyDown" > From 9607ae6ce8cf8a9f1b2eee3cfa40dc68bd2d60aa Mon Sep 17 00:00:00 2001 From: Luis Riverea Date: Tue, 24 Jun 2025 09:51:59 -0500 Subject: [PATCH 4/6] make view conditional --- .../NodeAutoCompleteViewExtension.cs | 7 ++- .../Views/NodeAutoCompleteBarView.xaml | 45 +------------------ 2 files changed, 7 insertions(+), 45 deletions(-) diff --git a/src/NodeAutoCompleteViewExtension/NodeAutoCompleteViewExtension.cs b/src/NodeAutoCompleteViewExtension/NodeAutoCompleteViewExtension.cs index 3b78e1e38d2..4a5af1e98e3 100644 --- a/src/NodeAutoCompleteViewExtension/NodeAutoCompleteViewExtension.cs +++ b/src/NodeAutoCompleteViewExtension/NodeAutoCompleteViewExtension.cs @@ -111,7 +111,10 @@ internal void AddToSidebar() internal void ShowViewExtension() { AddToSidebar(); - this.nodeAutocompleteMenuItem.IsChecked = true; + if (this.nodeAutocompleteMenuItem != null) + { + this.nodeAutocompleteMenuItem.IsChecked = true; + } } public override void Loaded(ViewLoadedParams viewLoadedParams) @@ -125,6 +128,7 @@ public override void Loaded(ViewLoadedParams viewLoadedParams) nodeAutoCompleteViewModel = new NodeAutoCompletePanelViewModel(viewLoadedParams.DynamoWindow, dynamoViewModel); // Adding a button in view menu to refresh and show manually +#if DEBUG nodeAutocompleteMenuItem = new MenuItem { Header = "Show NodeAutocomplete view extension", IsCheckable = true, IsChecked = false }; nodeAutocompleteMenuItem.Click += (sender, args) => { @@ -140,6 +144,7 @@ public override void Loaded(ViewLoadedParams viewLoadedParams) } }; viewLoadedParams.AddExtensionMenuItem(nodeAutocompleteMenuItem); +#endif } WorkspaceView.RequesNodeAutoCompleteBar += OnNodeAutoCompleteBarRequested; diff --git a/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml b/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml index cdc1609587e..092d329c53d 100644 --- a/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml +++ b/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml @@ -13,7 +13,7 @@ Background="Transparent" ShowInTaskbar="False" ResizeMode="NoResize" - Width="640" + Width="620" Height="45" PreviewKeyDown="OnAutoCompleteKeyDown" > @@ -88,7 +88,6 @@ - From 5bdcf7bc59026178ae0ef9f1c9765821b7689d6d Mon Sep 17 00:00:00 2001 From: Luis Riverea Date: Tue, 24 Jun 2025 10:21:21 -0500 Subject: [PATCH 5/6] adapt single layout --- .../Views/NodeAutoCompleteBarView.xaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml b/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml index 092d329c53d..9ba120a1d44 100644 --- a/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml +++ b/src/NodeAutoCompleteViewExtension/Views/NodeAutoCompleteBarView.xaml @@ -13,15 +13,15 @@ Background="Transparent" ShowInTaskbar="False" ResizeMode="NoResize" - Width="620" Height="45" PreviewKeyDown="OnAutoCompleteKeyDown" > From 551ea236ea71d2426d4954a409953d3f60fe3c1b Mon Sep 17 00:00:00 2001 From: Luis Riverea Date: Tue, 24 Jun 2025 10:41:13 -0500 Subject: [PATCH 6/6] set invalid selected index while view loads --- .../ViewModels/NodeAutoCompleteBarViewModel.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs b/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs index b0d915289b5..9a1cb5a117d 100644 --- a/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs +++ b/src/NodeAutoCompleteViewExtension/ViewModels/NodeAutoCompleteBarViewModel.cs @@ -945,6 +945,7 @@ internal void PopulateAutoComplete() //this should run on the UI thread, so thread safety is not a concern LastRequestGuid = Guid.NewGuid(); var myRequest = LastRequestGuid; + SelectedIndex = -1; //start a background thread to make the http request Task.Run(() =>