From 71ad5dd6829e2c983e06fff4e3e28cbbf27ea3db Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Thu, 23 Feb 2023 12:03:00 +0100 Subject: [PATCH] - nuova grafica per simulazione - introdotta possibilita' di muovere coordinate macchina in simulazione - introduzione nuova EgtTextBox2 - nuova grafica per ControllerInputPanel - nuovo componente che gestisce visibilita' macchina - gestita stop e uscita da simulazione su chiusura programma - --- Icarus/Constants/ConstIni.vb | 1 + .../ControllerInputPanelV.xaml | 10 +- .../DispositionPanel/DispositionPanelV.xaml | 8 +- Icarus/Icarus.vbproj | 27 +- .../MachineViewPanel/MachineViewPanelV.xaml | 22 ++ .../MachineViewPanelV.xaml.vb | 3 + Icarus/MachineViewPanel/MachineViewPanelVM.vb | 35 +++ Icarus/MachiningDb/MachiningDbV.xaml | 17 +- Icarus/MainWindow/MainWindowVM.vb | 4 + Icarus/Project/ProjectV.xaml | 1 + Icarus/Resources/Common/Cancel.png | Bin 0 -> 476 bytes Icarus/Resources/Common/Ok.png | Bin 0 -> 558 bytes Icarus/Resources/ProjectManager/SaveAs.png | Bin 391 -> 397 bytes Icarus/Resources/SimulationPanel/HeadMode.png | Bin 1153 -> 537 bytes Icarus/Resources/SimulationPanel/MachMode.png | Bin 1305 -> 576 bytes Icarus/Resources/SimulationPanel/Pause.png | Bin 394 -> 468 bytes Icarus/Resources/SimulationPanel/Play.png | Bin 549 -> 1085 bytes Icarus/Resources/SimulationPanel/PlayStep.png | Bin 550 -> 1100 bytes Icarus/Resources/SimulationPanel/Stop.png | Bin 412 -> 460 bytes Icarus/Resources/SimulationPanel/ToolMode.png | Bin 1026 -> 426 bytes Icarus/Resources/TopPanel/Offset.png | Bin 850 -> 924 bytes Icarus/Resources/TopPanel/StrandCount.png | Bin 357 -> 362 bytes Icarus/Resources/TopPanel/StrandH.png | Bin 396 -> 432 bytes Icarus/Resources/TopPanel/StrandW.png | Bin 408 -> 422 bytes Icarus/SimulationPanel/MySimulation.vb | 24 +- Icarus/SimulationPanel/SimulationPanelV.xaml | 237 ++++++++++-------- Icarus/SimulationPanel/SimulationPanelVM.vb | 140 +---------- Icarus/TopPanel/TopPanelVM.vb | 8 +- Icarus/Utility/Dictionary.xaml | 70 +++++- 29 files changed, 310 insertions(+), 297 deletions(-) create mode 100644 Icarus/MachineViewPanel/MachineViewPanelV.xaml create mode 100644 Icarus/MachineViewPanel/MachineViewPanelV.xaml.vb create mode 100644 Icarus/MachineViewPanel/MachineViewPanelVM.vb create mode 100644 Icarus/Resources/Common/Cancel.png create mode 100644 Icarus/Resources/Common/Ok.png diff --git a/Icarus/Constants/ConstIni.vb b/Icarus/Constants/ConstIni.vb index ad144a5..c3717ea 100644 --- a/Icarus/Constants/ConstIni.vb +++ b/Icarus/Constants/ConstIni.vb @@ -105,6 +105,7 @@ Public Module ConstIni 'Public Const S_SIMUL As String = "Simul" 'Public Const K_SLIDERX As String = "SliderX" 'Public Const K_SLIDERVAL As String = "SliderVal" + Public Const K_MACHVIEWMODE As String = "MachViewMode" Public Const S_PRINTING3D As String = "3dPrinting" Public Const K_3PRNBASEDIR As String = "BaseDir" diff --git a/Icarus/ControllerInputPanel/ControllerInputPanelV.xaml b/Icarus/ControllerInputPanel/ControllerInputPanelV.xaml index e3297ce..df3756a 100644 --- a/Icarus/ControllerInputPanel/ControllerInputPanelV.xaml +++ b/Icarus/ControllerInputPanel/ControllerInputPanelV.xaml @@ -25,7 +25,7 @@ Margin="2.5,0,2.5,0" Style="{StaticResource ControllerInput_TextBlock}"/> @@ -52,14 +52,14 @@ Visibility="{Binding ShowBtn_Visibility}" Content="{Binding ShowMsg}" Margin="2.5,0,2.5,0" - Style="{StaticResource EgtWPFLib5_InputButton}"/> + Style="{StaticResource RightPanel_Button}"/> diff --git a/Icarus/DispositionPanel/DispositionPanelV.xaml b/Icarus/DispositionPanel/DispositionPanelV.xaml index 6f85827..dddce66 100644 --- a/Icarus/DispositionPanel/DispositionPanelV.xaml +++ b/Icarus/DispositionPanel/DispositionPanelV.xaml @@ -53,10 +53,10 @@ - + diff --git a/Icarus/Icarus.vbproj b/Icarus/Icarus.vbproj index 5b4ffc5..fc3c553 100644 --- a/Icarus/Icarus.vbproj +++ b/Icarus/Icarus.vbproj @@ -118,10 +118,6 @@ ChooseMachineWndV.xaml - - ChooseReferenceWndV.xaml - - @@ -169,6 +165,10 @@ MachinePanelV.xaml + + MachineViewPanelV.xaml + + MachiningDbV.xaml @@ -322,10 +322,6 @@ MSBuild:Compile Designer - - Designer - MSBuild:Compile - MSBuild:Compile Designer @@ -347,8 +343,8 @@ Designer - MSBuild:Compile Designer + XamlIntelliSenseFileGenerator MSBuild:Compile @@ -362,6 +358,10 @@ MSBuild:Compile Designer + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -740,6 +740,15 @@ + + + + + + + + + IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR32.exe diff --git a/Icarus/MachineViewPanel/MachineViewPanelV.xaml b/Icarus/MachineViewPanel/MachineViewPanelV.xaml new file mode 100644 index 0000000..82dbd5d --- /dev/null +++ b/Icarus/MachineViewPanel/MachineViewPanelV.xaml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/Icarus/MachineViewPanel/MachineViewPanelV.xaml.vb b/Icarus/MachineViewPanel/MachineViewPanelV.xaml.vb new file mode 100644 index 0000000..eeb9d98 --- /dev/null +++ b/Icarus/MachineViewPanel/MachineViewPanelV.xaml.vb @@ -0,0 +1,3 @@ +Public Class MachineViewPanelV + +End Class diff --git a/Icarus/MachineViewPanel/MachineViewPanelVM.vb b/Icarus/MachineViewPanel/MachineViewPanelVM.vb new file mode 100644 index 0000000..356ec36 --- /dev/null +++ b/Icarus/MachineViewPanel/MachineViewPanelVM.vb @@ -0,0 +1,35 @@ +Imports EgtUILib +Imports EgtWPFLib5 + +Public Class MachineViewPanelVM + Inherits VMBase + + Private m_nSelMachView As MCH_LOOK + Public Property ghSelMachView As Integer + Get + Return m_nSelMachView - 1 + End Get + Set(value As Integer) + m_nSelMachView = value + 1 + If Not IsNothing(Map.refSimulationPanelVM) Then + Dim MySimul As SimulationVM = Map.refSimulationPanelVM.MySimul + MySimul.SetMachLook(m_nSelMachView) + ' aggiorno lo stato della macchina e la sua visualizzazione + EgtSetMachineLook(MySimul.GetMachLook()) + WriteMainPrivateProfileString(S_SIMUL, K_MACHVIEWMODE, m_nSelMachView) + End If + EgtDraw() + End Set + End Property + Friend Sub SetSelViewSlider(value As MCH_LOOK) + m_nSelMachView = value + NotifyPropertyChanged(NameOf(ghSelMachView)) + End Sub + + Sub New() + ' leggo vista macchina da ini e la imposto + Dim DefaultMachViewMode As Integer = GetMainPrivateProfileInt(S_SIMUL, K_MACHVIEWMODE, 3) + SetSelViewSlider(DefaultMachViewMode) + End Sub + +End Class diff --git a/Icarus/MachiningDb/MachiningDbV.xaml b/Icarus/MachiningDb/MachiningDbV.xaml index 49a1044..bbd0399 100644 --- a/Icarus/MachiningDb/MachiningDbV.xaml +++ b/Icarus/MachiningDb/MachiningDbV.xaml @@ -73,11 +73,12 @@ HorizontalAlignment="Stretch" Margin="2.5,0,2.5,0" Style="{StaticResource RightPanel_ComboBox}"/> - + diff --git a/Icarus/MainWindow/MainWindowVM.vb b/Icarus/MainWindow/MainWindowVM.vb index c0e9847..af2317d 100644 --- a/Icarus/MainWindow/MainWindowVM.vb +++ b/Icarus/MainWindow/MainWindowVM.vb @@ -274,6 +274,10 @@ Public Class MainWindowVM If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then Return End If + ' gestisco la chiusura della simulazione + If Map.refRightPanelVM.SelPanel = RightPanelVM.Panels.SIMULATION AndAlso Not IsNothing(Map.refSimulationPanelVM) Then + Map.refSimulationPanelVM.MySimul.ResetSimulation() + End If ' Gestisco eventuale file corrente modificato Dim bOk As Boolean = True 'bOk = ProjFileVM.VerifyProjectModification(Map.refProjManagerVM.CurrProj, ProjectType.PROJ) diff --git a/Icarus/Project/ProjectV.xaml b/Icarus/Project/ProjectV.xaml index b272969..1a0fe9c 100644 --- a/Icarus/Project/ProjectV.xaml +++ b/Icarus/Project/ProjectV.xaml @@ -96,6 +96,7 @@ + diff --git a/Icarus/Resources/Common/Cancel.png b/Icarus/Resources/Common/Cancel.png new file mode 100644 index 0000000000000000000000000000000000000000..5736bedfceb5990d1bf8b1c49689729b751834a5 GIT binary patch literal 476 zcmV<20VDp2P)>3yW zo1&~fasd|e*#H>WdF@IW&@-?SU=EPUxs|-5=DCe}13rOa4w!(}z?Hx@EmTof1~twB zbATpx%j`9JQC6G2VaGr%RNpWkkQ3Dx%oo&&N(~DE9Ym#qg@TTvw6GYE7b+GO3-U&V z!Ze^DlrKyRG7&YpbS0Lb>sAAbMs>jMfhBOK0jW^@jvY?|`2sGrAT>&0H^8fa4D7Zj zt9Q*iRgZua{Q4b>b=7vI8O2*FOMF0W6rVPa)OGvSm6(${L+oqaEQ7fHghv9H5cE z%{@6Ejf?IrTD}E^z79~IjLrEd;d~T=;?{Rk6D*XE9%F3bLxlz(z-acRqGg{j<35B` z+;WDYD5K6oU@nqnVB{mt*xvx6J^IH}LaHT!?U=E{BCwJ|%jTmfC=VBXUp?ANU|)4z$?{+vor3FMVDu*I`T=JU~x zfNE8R(%MHeO=#wM^#TcUeomQ+D##w#Dq?soANi_$$fFF;B}Z@vwmPbObP-Zb0}(4N ww6Usv9Hw$IrSi1(KPFp)x}>^4IHCmL7hCXO#lD@ literal 0 HcmV?d00001 diff --git a/Icarus/Resources/ProjectManager/SaveAs.png b/Icarus/Resources/ProjectManager/SaveAs.png index 91c00a321534129038e6731b5416f3ee7be4bb20..44dc18f5a6f3a1e682f7736207501c3f12d8f342 100644 GIT binary patch delta 349 zcmV-j0iyng1C0ZaIe$M%L_t(o3GJBC4T3NbhJTIkG6Eau1~Q5Z5E2$p7iercfNmme z;0U+@8(?Z$Q?cqQ7YelJm)za&>8$HIgr<3LL;x0gAvj9`Y(MO)@}jI&@FTkD&UEFsa0 zAbl!q^Yo+}0MnZ?02^1ROmMazz@4gVlNaSPj*96FwXq!@OFq&kQ`V^Uwf9awuhqKM z51*rp;7sQCG6K}WOc_Pd5~%V~Q)cHj=D4CtCR4ZPyeJ>F=L5>@+}h$(dd{kJLr|gm zrstw>1LTXSP*%;q9n_cLOhP3pWm>6iukWv!6~%UpMO0BOPk>H>{T2hdH_ z4HyA8&qidk5 z2C@}Y8nL*Gc~DaRXs9q}#Kx+0@$L)iPR+}l8lY@7K-uc2&2u3I@A8G*NVZVZzi;ve pC|l)oDh052$dc;8@O#lp0G>m3P)4Te`e*zTKniq#tO5g?_Z$Pe!02<=kaE^gM0(!dZ!d$?-Sgd73pAuc@h?c3i0f)< zr~;k5claqG)wHlt5h;T^-w1gbeOnj$@Tne*g-zf|Jz_AN(mN-Iq?$)!=B1wI!@_5p z=nF+CsaVmN00;9PTA3p^Me+r>jYP`gaF#HnpEAEL&r+u47<{YlVe)LonF;1u$|{)- z+b`vLvJiP8n&=BfLn;&@7rh9khMfbCIWnVnr>x>dMyx&H5;y~Hoc%RT2lv2!Da{KO z*S3gcBGS?CiHM9uWUz?d7**dA>&74yiZ>;94>JKvu>%Pnm!7iz`Ubf^9ELM2Y b>jB^caCj`reR^?I00000NkvXXu0mjfRAB8m literal 1153 zcmV-{1b+L8P)C|xBEQ!QbNe=?##~2t~P-%JDFrM`Q^QrmzN~~VvnZ|gcKkI z2mwNX5Fi8y0YZQfAOr{jLj6=|^#_QExMd{yUqf&QO|l!nPp1y^gi*+Oz#Sy3o~k_} z@=NQCk(4}PFztAPJ#aG^Cmj@#&AJ~(mH=$n(vc+$rj>R4V&x$bftw@RO*n1se9Qcf zdPkEv69~mdKU$w1uu$Rj+3N_d?oqGQlIMpstRWwz&!vn zBJxg~OxmhuzdNZ7NnH}0+3R)H#GOU!{-j407HiZ$1YpjpI}4zgKteKy(C>)#R6Q8A z>`273aTju1Lh#JuNF(~~8F0~OJoVXF5(s%XOFKS&6_Itl?e*CWv&2TIcbAA%oVr~A zI@{G_+|n5p*C6V^zmqh6fa_Px0$3A~Z!X9*eTFvYZKS7C2ePNYVibj&tR!QmE_#+7ygxZ zs&uSI>@Q;VOY%s|_YThNjsPeDSoSPsoz8M7%}PSEQjm(DU;!vaI5Ow-`Gbhf(NIzd zT5q(a5VYg&S|8!;5bwGhC9^4N0)nKlkxIu9Hc)R-LEN_6Bvl8kGn@v5Tmr3X3}5JN zMa!m|nLN zbiI*Q$gLG2cOwlK0X);PzL-)l@XsE;IMQJEy)WjgzN8&^&2(jmXt$s%#gbmf8(AIP zcw}1ceoKzwMC7G$sr4Es4zQWF6m%pUgpeFgsuG^!!CHNpL~=TdNohtB)}v0EVkBb= z&XVl&4PL=bkz5AwHmgIJr1oIO^8XLVIS0^sO8{;HxMp!YuJ4=B@`nJPSW)P%3=UqB z#TeDfuaN8qunAyICud$nUN;yN`3T^-E|nm8AHY$4cE|D`)&TrA0+NLkB=!@mLlaYU z1Hdbi3jlTuj2b{b+itXei&3$wI`B6D-s|<0h*YvVk8D<)%ARPF0C=p2BR#&e1GD=C zaG}N-q{#zWs6iI-gfgNJW*-@Swt)26K@}@s0&p6@V68*kc7#wi@kA$ zB1<_Ad^e}^{{(ACxx4gQ%iDPXt0J;u;*SyUVBUYz$t2orNrd=j*P|-syk{L*pGA7q zqwG8v7eI>#pPo82s3I-dxyDh2J)OdzIRk_MAwUQa0)zk|KnM^5ga9ExXe9jsc{#(0 Tfr@|=00000NkvXXu0mjfs?_<> diff --git a/Icarus/Resources/SimulationPanel/MachMode.png b/Icarus/Resources/SimulationPanel/MachMode.png index 5765f57433728e7f97d442ef6ecc608634d442d4..95954f61c02a42194e99b789b27f2cfd1a0ab7c1 100644 GIT binary patch literal 576 zcmV-G0>Ax*i)RS4G_O z4eabxM>ju0M;D>pItX?W1(7NaPDZZ&1F za0*K7n!>=mPIR3ux*gF>lk$$xFfhLx)Ek)WY=d zplUhWZbaRvMEpL{H}B|r8(7H*=1%>c11CwKI)XY@yCt}^ssc~I7`TiIrZ`Wv18tKa z*D`=|XU?HoMxU*cKt)DN)_p{csaXwyzVc)mpgo&RVe2U;1gNek4O7@XQyT57Op2AQ zrzZT47)Qp#A}Q|PpISzrtqKWcJEo$vtJywG!+ASR<0&&mT*ZSK`k+RsOzqPPd%R8gc_u0=uBWX!hEGo{E2aF)gTF$$`yCDus-Bd5S> zTA(HfQz{nu1HB zn*=Wr)Q`Oce@tCyu35B<$J}K?wpAga{DEG}Xt9}AQw{@__l{jM!T1a1-q$fIV^!<` O0000=IhOyiGyI0 zNhX^y`}2!<<3HEhk~CAR1Jk}MmcQzi7rgF5crXJ0C3Z^V+bZhTga55>JSKnbYX5O z0I{SfGXsg+2c1vID??JjB60>Y5;U+pTk$qQciu#3HhWqE~`* zti*PXV;&sQW#I997~>VnKX@+R8%`-E4yL89+B(j2g|6%^B7iF#%+IDwL8UeKkoVh$ zL$Ul4Hjo(mKrxXKH6VJLjFystyOJFrlJR|v7<@)teXf0g><5eIJt_!CLP2ZHEOXn7AA2i1wk_T^oHbM-%3$~y zpQl#)B3GR|%7Tm$J3MBUUyt;@9tqGpm6-Co2;RS?W(Tdgq^twLSqER>Fa9~PLhJd0 zFhTc3ZxxLD7wl8TzPpf#1}*N0;;mHot4bduB!S<5!JP8rlMV8-CGRr~X)b~zd(}@e zMYAueduUPyAKyyZ8`V7&iHO=3qKo`?qKPwv!6cJRGRY*9Omb-QUw{Dsym-kY%<)x< P00000NkvXXu0mjf;#gM{ diff --git a/Icarus/Resources/SimulationPanel/Pause.png b/Icarus/Resources/SimulationPanel/Pause.png index f7c517691d915b76f4d06dc501e82669004603e7..67323bc3fb95e1d2b096254f0bc6a070e591eaf6 100644 GIT binary patch literal 468 zcmeAS@N?(olHy`uVBq!ia0vp^9YEa9!3HGHz7cE(Qk(@Ik;M!Q+(IDCc8LIr2ChY+b<4{eW4}gF!`sNj`zm*<0Yl{oH(Grdi7>U*?^&OgMcn zRf9=UHf-MWirT%$C6==;mcRe}>Ar+_M#o>j-v2)L;Ggr~D=pXGy3MZ0*`gva$-#qZ plz}Y}c3Upz-gpueO1a5B@^_*IIS>D;uLDLCgQu&X%Q~loCIERkfnxvw literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^?I6s-1|)5sdx0d_lDyqr82*Fcg1yTp14TFsJR*x3 z82FBWFymBhK53vJdx@v7EBk#;Az@PspZD|Z7#JAEJzX3_DsH{KZOD7TfXDTqg;x6_ z?p=$tyX2W>UQ(UOeh7fHbf>#0Y?3M|q5 if#f5w<_4hOW~(s>@^fBY=M)7DH3m;tKbLh*2~7YNSa^g0 diff --git a/Icarus/Resources/SimulationPanel/Play.png b/Icarus/Resources/SimulationPanel/Play.png index 322e67eb2879211399599168af01ef0974860cc8..f96d44bad76075c12feed65e4a51942f59894748 100644 GIT binary patch delta 1064 zcmV+@1lRke1ic85B!3BTNLh0L01FZT01FZU(%pXi000B;NkllCe!&t*j$?8Dd2pwT|OY!Cz~IpG~IoXJJ;?c=sOJ zPp0!)&+k8X4}bV>9ImOGT0OFVBO<>!lIX7W`y3!qoR*h;K%y{hZ-RkDQLRo$`?fl9 zy|}(SD|sbFThfkW)n5_$xcUc@x>>-H0!ig8;Yfj`QWkNfKvFo%I8q=flm{FskYvu& z#M`lmycLnvOVAezejf9A9EV&X`M@~E_&m?bGIKMs2!DgrAlb7>Q}!SkSi~(DK+?0w z`*VO~N1pC;jO|uL&aW@eu5AAr`C@0EyG|IVxF0wk#>`C@IJOra2{?8a76~}|7Y+$H zh8G42m$KtqbeF*HruR52h5QpMlbdmrvOK+2F=`n zBWAsjfFpKKBH@IT)?0KZu0Mq%2W@n-{*}-pR)2@KeXSE5v3v3puHcASukZSTBUXbx z_6&{~?ezt4aQJT2XW_x&vr#Bg;P6!z6e)1{C@YE-IBZu0MG74Dsy5&R4m(w!dIN|4 zn$63CLvPI|?ZKfhHG6b`Lr>~<_W?)y)b0xgj&`a4_C7f3ryfNL9Q87TA_b1}nM08R zM}N7@qDX-wf96r7z>%-p4#mtmiWE4;ciTNSpIQG!HUr20xkZrz$MD>vNP(k&VNj&N zvAb|6QsCHLSQII6JS;ql6gchz#YW%&#nvL@0L6|X;s8a@BH;kVz#`xP#h!V_vFIL~ ze^v0an9L)NMR%kav}XaA0CbCE7PBHZluYD8Pvj zb!482CWxn;y#JnhZffVk24*gc1rWkH6qyGTpYk?8sK9}dU8La8($ksyEnWVfsGC>N zGgHLZzWa0Q;kV3u8V?$nun`Vx5;Q0{C{+Q!h-+`6}B?FmneryhG5u6f64IEFR z_Bc0Aa9e+K=DT_SS3hDBe|sgq>dlvq=ASis2ejlPB##JiEV9%4oqV~hU#aNc|1--b zyHC5&x9n}7>yxVK>^8Ig_{8eBzmj}1x#N$}#NW%_o}0Dp_nTtNjpuevpJBdm!>q42 zzu2BA*6_Xkb>WhTuGY}jt5kjo|I=NW zyQQ5zs($U=r0n!Db&d7PmPbc!Y`^8K5$=0iHf-~%z9+Z3Ed?j;_q`n}(51W6{PjM; zF5RVN#hgbwF5UiHt5KfA@oH(JT+7_#qb9sOf?ZBh>Zc?O16)3zP*i5)ikRV<`h16i zxAW%iMU3Hr2do6l~_PnbV#4yuxK3pP%3<4x4#vl8-1To_E)mH1t@|wt43p znfD8q9lqVNsaeYZyK&Nn)~Nme8s|Rdz54I3Ldzz%w~Z`45^Ee3@(q(VG&oF4eqQ0A zP z*!bSE=VnQf#cV&lpm<*4)UvOMb9x1jX0s&u|Cf7QV>UO%@`JBJnN7Rlk&iQ82MTx8 zxgO%+a9O`7k%eVZf0qFh(?#b{380TI%E~3LJ`9e9d8Ao4;zyMz`F?6?1-H zSu@RnBia2Pvto~JC2xy?&_^+jM3rZ%0*53z+a1oFugyxc6gYI^K$1es#EDBCI2JQ- zHww5p&SF;NVKreZvd&p@SF=Lr>SYm+Qs#qV85}JJBHEH1i4p-y0*4G#(iK_~1Nt1~ zfEI?o3tP{W%y!6O19LKqlSJPVo)!ZcFF}q(i*5c2ErE@(OqEiHEY{b4%-Z0qaHclw zMS|V@{kvZ+dmHzEl7W_3HJc*O8lET1J7NUbrtLez!1zBx5*SZcU7pCdvwb>g68m-+ Quy|nbboFyt=akR{0NpjwEC2ui literal 550 zcmeAS@N?(olHy`uVBq!ia0vp^?I6s-1|)5sdx0d_lDyqr82*Fcg1yTp14TFsJR*x3 z82FBWFymBhK53vJdx@v7EBk#Ob`DJ)ez9VpQH+~CT^vIyZoR#Gkn@m%NW(*ys_;D) z&DAd?N-boazZbCSyQ){*Te@gURMw}z<(id$J-AqBD=T@{>h?GkaPS>ev|wp}ARyD^ z4CHX4at|s3Wli=xyDolWdGwMgL0e|$+_``Lb#U;RV#BA4_Q&qfvJF#cWEQdj6UW|7 zx_)}0N86vU)^{@N-}YbMJ$Ffh%-lMgU*%1qD@{qTqvsvMzFA@D841SBDl zsUiFrO24FgJZN~5+k4wsUZsq$Qb82tZVwc1D4T3wA6co*%_8L8H%_bbP{L~I>4`VfHA^>rOhDZ)AuhD32C=O^ZoASowH0x&6hlt z__b`;-ucNr?O*>Ldi{CVz53cKtck^uYZU}0Ie0KBa<-_9AcooTt6WTp#c`zg{_V3l hVo4`i6LWh$vIeyCRAd=*tOrI9gQu&X%Q~loCIClKeb4{^ literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^?I6s-1|)5sdx0d_lDyqr82*Fcg1yTp14TFsJR*x3 z82FBWFymBhK53vJdx@v7EBk#eQBFD4N%7f^3=E8#o-U3d6}R5r-pJW%Aki9Fzfn9V z=7i~-bEYvTo;3=`hzlHPe|auaq2Q;-s*p*1@4l!x$aF9lD)1d?v=Cr_1mYlA5Mc)y z8>uMyfZGq>J3B`{FDiZz=?K;GapvA-7molnz1R6US4|A09oZn5c7o=kDJX1!IR)k} uf(jlnfRs8GPd&o5!xHKbe46WbF>IZ~&v|cxuK_R|89ZJ6T-G@yGywq9&4n=l diff --git a/Icarus/Resources/SimulationPanel/ToolMode.png b/Icarus/Resources/SimulationPanel/ToolMode.png index 199aadace6671cdcba0568977f1a03e162f1e0ae..d4331351596a915bd670b1d3900638781d7aee64 100644 GIT binary patch literal 426 zcmV;b0agBqP)geRd6iiA4olTZmrNFBrh zIJiz=GjlKP50X&GkL=71WEgUry^q|Jh@dn)7ssfQia?R1UV?Q?OTqLXq(%Vm0KNe% zk^6M~rw3rOS-F-VBCTw=a~*4)h%6%Vk@)|E`9&`xCUdhvM5ZH1`9ycpzXG@=3f?gM zv0?ucKBo+G=~LxL3W3&J-sbSo*XRL|$^qI#mu>WV_B zR58#>4GiCzDtWW?zk%7`F#8SP&#b(LewXm>)1$|kNshqpnpgTlZZ7KPP?fg|q7&Wl z<5eBqGGf0judfA5`EKUCG!cUlCAgwRMNVy6oh77{DA-B?+$@HhAy#GZvjgr%|( z7J^7f2t|+#rKp*XX=mEL7JV)^6A~8pPTii9oZQ|sH|d<;dCv2m_q}6)vBXNe{Xd^Hr7)RZGwpAcfH%2oX z0k#3>fseonpc5zo*EDwNPrmVALr6^MBybg&1A2kwz$*P+0PX>kW_BuL?=ENaYUoMYNTxq;9NOeq4)0N;UmZ3ASE>-8PxG&ZKOOt(au5W0X5TImR=0%eWI zZH)lbbUy)1nc2R)C?V2>BdK8-FfMh(trMu|^Bz6>8psWVSpM_6F9=F0@yw*gdu5K@ zQp5VZK&VRU^SZi1WpXM=l^#bUdzWmFqIda^jhO8D(ceE#)lh9BD&% zuYKO02$SD{hsh&_RzA{sA(Cel|9c2#X6`-BdjrKg{4ljYt0??*psjkT;!(^Y75UZgxR#YA!Jkm!ygn(7HdTJd=)VFGvs zyb}Z$ls0)tDQ^&N0h^RC#g*nyEYudq1)-6M410k4c`C1&yH|lbz<#NqralgQ)mTF+ z8B_{Bnl~i?T$B<9wDJ`loXQCZRp21-)ZM>iS$@x=W1*~mK-uKiL~1>)>lR=K za3N1cm1Yn(f!n|lWsRQ&V?yVIj!}#5{p#`la5Rxz!!*3K?3SqId@N=C2AwUQa w0)zk|KnM^5ga9Ex2oM5<03kpK5dO9O0G72F!tEu8asU7T07*qoM6N<$f=ffW?*IS* diff --git a/Icarus/Resources/TopPanel/Offset.png b/Icarus/Resources/TopPanel/Offset.png index 998f1b04e4d5469652ed9ee7db98e5d9032ad614..508de539c4a4da7af6da537b6dbe73fcf1fd21cc 100644 GIT binary patch delta 915 zcmV;E18n@#2Al^WiBL{Q4GJ0x0000DNk~Le0000p0000c2nGNE0BO3T0+AsYe@;n6 zK~z`?-C6CCn=laF%iRAs6@(6sR1iv_gQEck9}R>QU>%qSD1j1u9gq&(LEM2e>w6*s z^QA@n@ta}Hc%)^Yv|n01U9VSq6nuFYCPehSWKdZspNJwN3W(@sd$n5pA)*rzRdJFw zbAu<%3?yh{@EFT?I*wR2RYgy0hz?XO8*7JLZQAzuP>={E#2>gKs-;=wUf5PcZMo z`t!T?84ufSv!WSx!%47!f1Da}ZO}mfRfXoxWrU(nLMNE42qH4DbLSBX;0!NHuxoZk zRI6<%calt5C=X%x4z5j1V@&RpE*j6h2|J@O)MuBsvQW+{f~6S9OPo($%R=chPTeQo zubKlR-+ae^{(w_%~--0e+?gwxG#o|j>J4zp=PMtvH+pkUogp3($gjye3SDejlc!y=xYW5 zwpV|{geVTVLx7&T(|SWoMmO4+=>}0MK=Z)~A?R13Q`-7?Cp4q&d6qUdCcumI>Tq{% z{@HKS4wW+@4oDRm)hP3(NG47o=_#JFx_^Wl5WihSdRPyq@=NB$1R2T3osG|Wwwfv zDs&V`EFB%DqYJvbXM*juJ#pehk>E(9eas!tnd@^Oa&uS@QlR2X>b0dnfGWjj&X0&e^hz-x`2!2`;( zM^(0Y+(W5US&tb}DdF})?2hJjZUEE&{Jp46SmNZa%vYHdW# z8J6vozY!r-cT9YDyv;hUjV8W(HSyhcnT^&{sfaQP@{~#!)5?<! z^mYc|gG!D$vku9sd{!B`f4S$YWINK5qGx<=v~iwE<+y}7tkQE7{5J+!#x|ck#ho#| zVs4X>!@v__Z*+MqWh_iAR zxoJtQ`K+U5b_pet(UodlA{J18S3)^rqO*vHE`#iOmQJdzRBLi8e+n8P7Ar|q*d&bZ zwMScwm{AjbPzmI)=bG{or^?qgscxMLUKea{E;MgqnJ3lwYb!v;6M0a750v&=`}C3m zwe?IR_)FDI9P;9DnQCDw@&AgoDgJp<9d;09_!|Vb|S3e-851g_qZl0PeBZN<*^!4*-uX+mQmke@)Q~lAqqOEs}f{0C;KH z&IyT}GV9;q0D4+Ze0Nka-<|kwlK$UbJ;hrKG=17A)g}e83-UINlH!Fybsf^Dl@em_UUb22+*7L8AK&EiAqTj9jRWupUZ{fH T8tkO800000NkvXXu0mjfN~wmI diff --git a/Icarus/Resources/TopPanel/StrandCount.png b/Icarus/Resources/TopPanel/StrandCount.png index b87694d0791b25b7a9478ab27e78a3892ed21e98..52a425ca37a922baa9ec45d70a079e783e586991 100644 GIT binary patch delta 349 zcmV-j0iyop0_p-GiBL{Q4GJ0x0000DNk~Le0000p0000b2nGNE0Pil*tdSuYe;i3f zK~z|U?U~&Tf-n?DKTY3Vff3w5MsNfcXqt2ZnSemL03*18xB(+Df=+;G0xwz+Yg#T% z&ui(;y`eq*+x2~qP}m1k2>_<5A_0&P$Ym)V7qT;b%K&5mE+o@7^Hf!lav|II)-4XR z1Aw!sfpH;o0J;C1en(YB1K>2(e=#Tl1ZT4pKuRE&k&+Afu<6K#La5oyY7UbTz%W8? z|HOy_pvqbTu%6^|tnp{GY>qAhYXRt0wQ&*LgsKW>=8OWMN-Tydah;(G8_xeei@ED_ zyoH?AR8{vGq=F(33c4g vOy1uT<>LhaL~ZtsmJ4|`HNfqzy+F`PT&MY!UBxo2#&xAjKBt%i=ae4Y~^V02QT4A z`Re1|_1)23(=?EVy*NfvNkw^I;j@f46AvzM!5KW(U_w;;=Rl`f7Gkp_{xh za73yP7HeRyegD?GK1jaMKMn)<=+O&jQXZPTIM349fQ&#lC>yjB1YLAjStW_6 zDy2RvpOhCzmhQ{hxpQ*UG!07OwiuIBnHc=*^+LIvqYR6bAp>B+ms(C`<}vsO)iN>o z8GuI~Q@hk8GpT^ur6w||Kv6RHe=+!{E5&mWBJ&R51Hcx*3xJ(QnPWQ>gQx5)jdkjm zSrJS!xl)wOUEd9EJgafTIh&QSZX=UAWmsel;6M{H6`=>cj={f)P+w*$7FihUzQ>L6 zf5hNPpypUxnV~(i%e;90iLWm+lnqPfG5B2f&5AqyAOn3eO90fLJp=d}c`v@R`Q%tz zI%SM?dyU=mR5WvClF5~#WZJ`744x_}eW982X|u|;@(&@I*>eG!acxm~Y!;b18QXH5 zQAd}|MxzKshWE!0kJZCd@+Eznk;K7Rr&cEI&E$=ymZD^)f0|hW;1`!KTI0QeQ7r%f N002ovPDHLkV1j|Gw!#1a delta 383 zcmV-_0f7Fn1B?S9iBL{Q4GJ0x0000DNk~Le0000b0000c2nGNE07D8=t&t%Ze?Cb> zK~z|U?U>PR!ypib|5h2m8+3(i&}M^<&;<|{6J&uR6Bg(Q8NuD4BP1Jm16R05$;RAN{#F#o|l(W+Jv5SrDs>lWu=HSi(;&$Mi!gY9jqZAYiP*r dpJx^TegVPTo4ln@VMPD{002ovPDHLkV1h0juL=MF diff --git a/Icarus/Resources/TopPanel/StrandW.png b/Icarus/Resources/TopPanel/StrandW.png index a88756cfa2237875ef3bc5a7c333cb4a573884c5..5968c910940135b376ae225cd9f0256855a2dfcf 100644 GIT binary patch delta 409 zcmV;K0cQS~1EvEZiBL{Q4GJ0x0000DNk~Le0000p0000c2nGNE0BO3T0+AsYe^^OG zK~z`??U>5H)uC#M(_sB2Jr$$!4tR(hzbqRbc2rIY~XItZjemiaBwPe zs!&0wILtjTgeb!I_#)pWH`6p>Dcml`L}dh{GEz|)si=%pR7NT)Bb7zT+@;?1&h`N6 z^5tZ60MNIl8{-YXe$RMkUjY~Zf1dz81d3E#-x0v7HQiTONF@_Q>eh6JvUTR+oux$H z05p_P*mUX4j8a9Ik&~H`N`_L|cxUPLu5gh#R9x3ROZ||NY51&c_>#&?Yr5H));~0) zqB2rh{y1}vcXq|&P0c;1&)Ih^-q|hRlb%{b-0ibvyt9u{@oRpj2gcN%Z-0V%$}?Y7 z*EdN;a{Mj_U zvlV~Ug50j)nd$l7LnLrutm66JFWB{B12N`Nvbwu=k00000NkvXXu0mjf D<=(kH delta 395 zcmV;60d)SR1DFFLiBL{Q4GJ0x0000DNk~Le0000b0000c2nGNE07D8=t&t%Ze@aP2 zK~z`??U%t#!$1&4ABa1l0@4BL0GE&w(tu@fAxl=kaLQw5!`YmgYeI#ll?A)`F@zL@tnt=cVy|g!HLY$ocJ0#$o7^gGWudYE2U7I4 pCvo^~O`lU%T*`_|S(%;`@C{5-Y>B0No+khR002ovPDHLkV1je_t}g%p diff --git a/Icarus/SimulationPanel/MySimulation.vb b/Icarus/SimulationPanel/MySimulation.vb index 7308161..15b321c 100644 --- a/Icarus/SimulationPanel/MySimulation.vb +++ b/Icarus/SimulationPanel/MySimulation.vb @@ -26,8 +26,8 @@ Public Class MySimulation #Region "CONSTRUCTOR" Sub New() - SetPlayImagePath("/Resources/SimulTab/Play.png") - SetPauseImagePath("/Resources/SimulTab/Pause.png") + SetPlayImagePath("/Resources/SimulationPanel/Play.png") + SetPauseImagePath("/Resources/SimulationPanel/Pause.png") SetPauseMsg(EgtMsg(90561)) ' Pausa SetStopMsg(EgtMsg(90562)) ' Simulazione interrotta SetHomeMsg(EgtMsg(90564)) ' Home @@ -94,16 +94,16 @@ Public Class MySimulation End Sub Public Overrides Sub OnPostSetSimulationStatus(value As MCH_SIM_ST) - 'If OmagOFFICE.refMainWindowVM.MainWindowM.nUserLevel >= 10 AndAlso - ' (GetStatus() = MCH_SIM_ST.UI_PAUSE OrElse GetStatus() = MCH_SIM_ST.UI_STOP) Then - ' For Index = 0 To MachineAxisList.Count - 1 - ' MachineAxisList(Index).IsReadOnlyAxesValue = False - ' Next - 'Else - ' For Index = 0 To MachineAxisList.Count - 1 - ' MachineAxisList(Index).IsReadOnlyAxesValue = True - ' Next - 'End If + If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 AndAlso + (GetStatus() = MCH_SIM_ST.UI_PAUSE OrElse GetStatus() = MCH_SIM_ST.UI_STOP) Then + For Index = 0 To MachineAxisList.Count - 1 + MachineAxisList(Index).IsReadOnlyAxesValue = False + Next + Else + For Index = 0 To MachineAxisList.Count - 1 + MachineAxisList(Index).IsReadOnlyAxesValue = True + Next + End If End Sub #End Region ' METHODS diff --git a/Icarus/SimulationPanel/SimulationPanelV.xaml b/Icarus/SimulationPanel/SimulationPanelV.xaml index 0f07085..b4566e7 100644 --- a/Icarus/SimulationPanel/SimulationPanelV.xaml +++ b/Icarus/SimulationPanel/SimulationPanelV.xaml @@ -1,8 +1,25 @@ - - + + + + + + + + + + + + + @@ -10,119 +27,121 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + - - - - - - - - + + + - - - - - - - - + diff --git a/Icarus/SimulationPanel/SimulationPanelVM.vb b/Icarus/SimulationPanel/SimulationPanelVM.vb index bc7b974..221d7be 100644 --- a/Icarus/SimulationPanel/SimulationPanelVM.vb +++ b/Icarus/SimulationPanel/SimulationPanelVM.vb @@ -1,6 +1,4 @@ -Imports System.Collections.ObjectModel -Imports System.IO -Imports EgtUILib +Imports EgtUILib Imports EgtWPFLib5 Public Class SimulationPanelVM @@ -8,12 +6,6 @@ Public Class SimulationPanelVM #Region "FIELDS & PROPERTIES" - Public Enum MachViews As Integer - TOOL = 0 - HEAD = 1 - MACHINE = 2 - End Enum - Private m_dPrevAngVertDegView As Double Private m_dPrevAngHorizDegView As Double @@ -28,50 +20,9 @@ Public Class SimulationPanelVM End Set End Property - Private m_MachViewList As New List(Of String)({"Tool", "Head", "Machine"}) - Public ReadOnly Property MachViewList As List(Of String) - Get - Return m_MachViewList - End Get - End Property - - Private m_nSelMachView As MachViews - Public Property nSelMachView As Integer - Get - Return m_nSelMachView - End Get - Set(value As Integer) - m_nSelMachView = value - Select Case m_nSelMachView - Case MachViews.TOOL - ToolMode() - Case MachViews.HEAD - HeadMode() - Case MachViews.MACHINE - MachMode() - End Select - End Set - End Property - Friend Sub SetSelMachView(value As MachViews) - nSelMachView = value - NotifyPropertyChanged(NameOf(nSelMachView)) - End Sub ' Definizione comandi Private m_cmdOk As ICommand - Private m_cmdToolMode As ICommand - Private m_cmdHeadMode As ICommand - Private m_cmdMachMode As ICommand - -#Region "Messages" - - Public ReadOnly Property MachViewMsg As String - Get - Return "View" - End Get - End Property - -#End Region ' Messages #Region "ToolTip" @@ -101,8 +52,6 @@ Public Class SimulationPanelVM ' Creo riferimento a questa classe in OmagOFFICEMap Map.SetRefSimulationPanelVM(Me) MySimul = New MySimulation - ' leggo vista macchina da ini e la imposto - SetSelMachView(MachViews.MACHINE) End Sub #End Region ' CONSTRUCTOR @@ -242,93 +191,6 @@ Public Class SimulationPanelVM #End Region ' Ok -#Region "ToolModeCommand" - - ''' - ''' Returns a command that create a new tool. - ''' - Public ReadOnly Property ToolModeCommand As ICommand - Get - If m_cmdToolMode Is Nothing Then - m_cmdToolMode = New Command(AddressOf ToolMode) - End If - Return m_cmdToolMode - End Get - End Property - - ''' - ''' Creata the new tool. This method is invoked by the NewCommand. - ''' - Public Sub ToolMode() - ' aggiorno lo stato - If MySimul.GetMachLook() <> MCH_LOOK.TAB_TOOL Then - MySimul.SetMachLook(MCH_LOOK.TAB_TOOL) - End If - ' aggiorno lo stato della macchina e la sua visualizzazione - EgtSetMachineLook(MySimul.GetMachLook()) - EgtDraw() - End Sub - -#End Region ' ToolModeCommand - -#Region "HeadModeCommand" - - ''' - ''' Returns a command that create a new tool. - ''' - Public ReadOnly Property HeadModeCommand As ICommand - Get - If m_cmdHeadMode Is Nothing Then - m_cmdHeadMode = New Command(AddressOf HeadMode) - End If - Return m_cmdHeadMode - End Get - End Property - - ''' - ''' Creata the new tool. This method is invoked by the NewCommand. - ''' - Public Sub HeadMode() - ' aggiorno lo stato - If MySimul.GetMachLook() <> MCH_LOOK.TAB_HEAD Then - MySimul.SetMachLook(MCH_LOOK.TAB_HEAD) - End If - ' aggiorno lo stato della macchina e la sua visualizzazione - EgtSetMachineLook(MySimul.GetMachLook()) - EgtDraw() - End Sub - -#End Region ' HeadModeCommand - -#Region "MachModeCommand" - - ''' - ''' Returns a command that create a new tool. - ''' - Public ReadOnly Property MachModeCommand As ICommand - Get - If m_cmdMachMode Is Nothing Then - m_cmdMachMode = New Command(AddressOf MachMode) - End If - Return m_cmdMachMode - End Get - End Property - - ''' - ''' Creata the new tool. This method is invoked by the NewCommand. - ''' - Public Sub MachMode() - ' aggiorno lo stato - If MySimul.GetMachLook() <> MCH_LOOK.ALL Then - MySimul.SetMachLook(MCH_LOOK.ALL) - End If - ' aggiorno lo stato della macchina e la sua visualizzazione - EgtSetMachineLook(MySimul.GetMachLook()) - EgtDraw() - End Sub - -#End Region ' MachModeCommand - #End Region ' COMMANDS End Class diff --git a/Icarus/TopPanel/TopPanelVM.vb b/Icarus/TopPanel/TopPanelVM.vb index 1c9b75e..39aab57 100644 --- a/Icarus/TopPanel/TopPanelVM.vb +++ b/Icarus/TopPanel/TopPanelVM.vb @@ -616,11 +616,11 @@ Public Class TopPanelVM ' { 'X', EgtNumToString( EgtToUiUnits( dPosX), 1)}, ' { 'Y', EgtNumToString( EgtToUiUnits( dPosY), 1)}) - Dim ChooseReferenceWndVM As New ChooseReferenceWndVM - Dim ChooseReferenceWndV As New ChooseReferenceWndV(Application.Current.MainWindow, ChooseReferenceWndVM) - If Not ChooseReferenceWndV.ShowDialog() Then Return + 'Dim ChooseReferenceWndVM As New ChooseReferenceWndVM + 'Dim ChooseReferenceWndV As New ChooseReferenceWndV(Application.Current.MainWindow, ChooseReferenceWndVM) + 'If Not ChooseReferenceWndV.ShowDialog() Then Return - Dim gg = ChooseReferenceWndVM.SelReference + 'Dim gg = ChooseReferenceWndVM.SelReference '' Aggiungo il box del solido 'Dim nBoxId As Integer = EgtSurftmb(nAuxId, b3Solid, False, GDB_RT.GLOB) diff --git a/Icarus/Utility/Dictionary.xaml b/Icarus/Utility/Dictionary.xaml index db9e7f5..4885569 100644 --- a/Icarus/Utility/Dictionary.xaml +++ b/Icarus/Utility/Dictionary.xaml @@ -46,6 +46,7 @@ + @@ -768,7 +774,7 @@ - + - + + + @@ -800,6 +812,18 @@ + + + + + @@ -854,6 +886,13 @@ + + @@ -861,7 +900,13 @@ - + + + @@ -2949,9 +3003,9 @@ Visibility="Collapsed"/>