From 7b3621bb0c1f7714aa2c5b905016fdcc3458942a Mon Sep 17 00:00:00 2001 From: "tao.jin" Date: Thu, 27 Oct 2022 13:11:52 +0800 Subject: [PATCH] ENH: set 4 status of monitor extruder icon Change-Id: I2739c7079268409975a9bd6ed1efb6cf47868438 --- resources/images/monitor_extruder.png | Bin 1355 -> 0 bytes resources/images/monitor_extruder.svg | 28 ------------- .../images/monitor_extruder_empty_load.png | Bin 0 -> 2191 bytes .../images/monitor_extruder_empty_unload.png | Bin 0 -> 2157 bytes .../images/monitor_extruder_filled_load.png | Bin 0 -> 2210 bytes .../images/monitor_extruder_filled_unload.png | Bin 0 -> 2217 bytes resources/images/monitor_extruder_load.png | Bin 1524 -> 0 bytes resources/images/monitor_extruder_load.svg | 28 ------------- src/slic3r/GUI/DeviceManager.cpp | 2 + src/slic3r/GUI/DeviceManager.hpp | 7 ++++ src/slic3r/GUI/StatusPanel.cpp | 37 ++++++++++++------ src/slic3r/GUI/StatusPanel.hpp | 7 +++- 12 files changed, 40 insertions(+), 69 deletions(-) delete mode 100644 resources/images/monitor_extruder.png delete mode 100644 resources/images/monitor_extruder.svg create mode 100644 resources/images/monitor_extruder_empty_load.png create mode 100644 resources/images/monitor_extruder_empty_unload.png create mode 100644 resources/images/monitor_extruder_filled_load.png create mode 100644 resources/images/monitor_extruder_filled_unload.png delete mode 100644 resources/images/monitor_extruder_load.png delete mode 100644 resources/images/monitor_extruder_load.svg diff --git a/resources/images/monitor_extruder.png b/resources/images/monitor_extruder.png deleted file mode 100644 index 9376c3d8273ae15d6f880264d2c308b3414dbf3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1355 zcmXX_2~bm46ul7E2$f<%idtkV44_3VrU*hd2thVcw4)YVTCgf=DQ=7l%bJrTXvpeNFXfL3dZW3~Y1F$pm{BT$MDBbr9Y0m#V#V-8?RU`)a=406cONQUA~ zAlrn4EG9f;LYWD~f^noa7Rn>xQ6ykw5Qhv74nhS9DsUQ$#R7~DLb6aOga@I3F+f0r zS~6f;K@h1>C_qe8DwVj9zZJw0P)h|q+NA@Z%HePZ1_qE8YQlg|2QC$aR1l*h7{Ei! zFx*N^0Up_8NCO_FzrP;@`vg>bxDH2Ji$J9p5E_&7&EMQ(U1F!ez|{f~d^=1m+orKlJahl;92yFEQU z2uC1_(Ll~9Zfa_3ZfRhskE!BOD2awLEL z{5i5ho=A>5hMGJyG&C|YqEe|wM@PrU$6vpGtyZfw8qLJS#N_1U)YOz#tJUdrdcA&n zdU|GNW_EV=&6_uKb8~OszMY?+Hy8{H3k!>ji$6?(P;o;2a=$M$;_=FuvyLa#1|6|&LgNF_uIezlg z=`%T(Se&Bb(%bhc9&ovQfw->j5o(I0qf;iA54{?joLXA?$o;EEfa)_#*~Xx^UirCz zihcrnCY`b~s{J~r=ctnG@T{@;JD)i1#fn{i8RTg1{N6kaD-F)zO1hdZ`;5u>v$^?` z_tsjBJG)zM-?_b>9F?NY)@gp1Wav+*Wz9pwD!E=pYOvZEIpxz3NGb&Q_JRMewpknE z>MrkjNBOB-(y{l1pEJYDinzY-hb!q7DeEq9IZm4wQvLK&zotu@6$3Pn72d4&f-{oz z(CV>$M;0ExAh zcu|t(m;IZea-uMxfjx4mUs>H)lk(Iebh^7#LVb7IaQ-RjM*hS?L*PqI)nu8zh@AfN zYyvSiBt|2;`(*uWp4*-xBD+XDlF?uf+CNfPP7OK*m7GwY%Dzy4*7`%iFRMFSj@rKP zpC>)kZd!g)lv#5Bac?@L!D z>%GAtOUlj)3W)c>maTc#nN-Q`FPfXb#Hv? zTdA_O?%8Lxc37h=bAY^KLS?TZIY1d6(tRMvF43jTN%vvUQZjSg+=7 - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/resources/images/monitor_extruder_empty_load.png b/resources/images/monitor_extruder_empty_load.png new file mode 100644 index 0000000000000000000000000000000000000000..3428f33dc322d7dfad65a621948a199dc331e762 GIT binary patch literal 2191 zcmV;A2ypj_P))IGR|28iuTfnNIc57<8BY!~pM zHx&@tLw#s{=*0yR9Sx(X6en^3*Rhkpfo)N?DUu@hb0)vH6lF@0DUPB=kUV0=+1Z`> z&HH{c6w%j-O!mhJLq?z_Xb)sJ=pSd)g)=A2oojc*iREkNQn&x&1=9i{ zX?a%A_a-vN&)`}nQg?oJEwY(P+PqAD+j;#vzmasLA!wp1==ptFU9O5cJyc{#j@{c; zr+xo^LR2(VU6FKvXyHIxkT-2Nk2SEYI8kX#OqV(;x_6IgdYY)JQ)i9r$WGKPE@ zMbIos{-$zU+Nn%Iq1c(;#eGP#G<;g?M`;0CZWnD#))Jp zyCCYslQH_qlB_sRC{+z3Rmt(Pl-R^oqLi9ixnxOpqK1wWfMriYr<6D4&9qM4ESYN{#DM1W`*Z0y%<93m+Fz-mzMyiiQE2-Lxp9R3fzLpEe}+;ro{jdz8Vvwm?1hAeT$W+)8Wl*IAJr%s(Z zZZntVrcKaLsf?rquVP8#AfPy0qP>t6umCV$+sSdPZOeA=w0~p;%sMrCYpBq;PmLj4 zdZ}?OE-qHcb*F&F`+mB4^ClfTdi1jEx+gu~&#E1bXcC7ZMPXRGef#z=fBwcBTPI19 zrJ0$T+CadI@4r6_J>oc)PEzNvA){xjtF*qpzNyck-6p?S%-SpoZjX(R?}V{{=a*() zdu`#RzyQ6t0lM!5FSw$^@KRR-q6hQ}K!5**0kC2vZL_B)y|dnzPQLo;%qH;S2Ope6 zW3KlN2R>RT6teHV5Q7KMf1GUHz%u7QIC0{S8Sv8b@&hPps{7CfV8QcfKPZf%YyrJw zlsc|9xINeH^sq}|;QgYm#M1P|whoG`N$Btwy)PE_5p;7-NUt~I!OBm|uAg>SC&iwA zROw3$y3JOmwwSAw`9)B*6}Vzqb0G~zA@*yUTCE`CBr`$?X&3>dTbS%b+vPYgaI@8- z=6VZ0tuh}?;3ljVv*E9e<~o&2!@DkEU|^oOR&Qi3AyMS8e^y3EGV6C;ht^wdsyCY1 zJ%h8~R?6jF!FL62Vq%_*#X43QrB@~ok;{d^h7nGTcY?*^l@(f9eMTV`SjV%N>Y=Kb}Qww8FpFI6i;55}JnMxZC|Tszz#JTWzmSExr_Y`b#5KS3e661OHK$g$Prcn&d7kIu@@VDh zQ(CLncLfh1na>_Q&aApnaQoUuUto^A#%QeEr3arrq$kzY9l(Pbrio34dQ+SrA3}-6d9*bh_Z0VAZ-(7X_1YPi8B)0 z#GqtV2>38Gf1~h_de8dOkv&je^>^iINX|Ow#t={8jS6!)$gZYNvIpucA3JU2Ht z<#^6n?Bmbz0=f_1dh@OG+X3ePKL0L&XSer5NvF@gdG`92cmFnj0sR*@Zfj^?(UJc1 z`Sa&%)?35*`T1F)#IaVhc@bNgsZzOoj{D;2u%6Q(>`V R@}&R(002ovPDHLkV1lh@8?yia literal 0 HcmV?d00001 diff --git a/resources/images/monitor_extruder_empty_unload.png b/resources/images/monitor_extruder_empty_unload.png new file mode 100644 index 0000000000000000000000000000000000000000..c65c49e28fc7512110b0124213967ec279ffebc9 GIT binary patch literal 2157 zcmV-z2$J`SP)B z8^;wsGqbzAh?FRaimf+wFT{LNP2cdHlV~V-BaW!ZY!?0RBz+& za8Jq5Y){Yz(H+7${+5qVdoEMC0n3^fSLVcXm40m8#qk`DPdnP%B{y+1b=P=zOFa>G zDw5B%*%Nnh=t?(dQ%mDfBNF$D8-m&-77 z#?x^qt5m>66)e&-yWI@tF6A55p76bP81^e#v2E}+#%0#XdBtv~rc_lctU)F!X)G&g zAYp!);66Eu(~48dRNF{Z@dDcmbWkB#kB(OP2A9Wa6KT=WW~L+cG8k*xsFom+=9^Aw z24JnGNhQxy9Q~iNWO*+Q&Uml{If|Q)dBq;3g-rd6GTkH{zeAa~m!81X&aDq=6GbJA zbU~1&2qPRO?>xryN(Lgvv_AVT7@&#MmXh*F)mk74aN z+xM~g0m@;;Uc&|CC~m+CK_qpRwD>)l>=y{M-;rld=WlAw%tbE&{B}WSe~EjNUd-2raEiKAP_BezLW_qnJk~8RQ?t# z3axQU|1EkNdFmMya36_MEdVgk|4C? zE959nKGx`~(OU~&?WYleH>AgY&bbl5mVu0vAP+!F!N9%%Z6nfhHT7!n!^LIqnV)NB zEr^uZC<5`HdSmeh{mo@6H{e$bKYCIswOS~a7!|`QJ;<$F@%9WL$zWnmhNz(M)<>lq(!{+~j!`9z> zZv}qDSF*Hn_bW^R7|VHkIWQrEtB_Us>y1qSF}sOLR4^g&)J!2Di({j`3a+#n!CH?gEl)*ECq$us@1XJ zV}WJR(m(So{do-zVFm}3K zoYRrD{8(TGGnLCFXr0l{PIF|04uqfC-1=;vN=Mi9ktiXiIyFVx zY0IY8W}`t{pvL~Yq&skv3X+!*}S#s>ex&e3(RC+2Z3;aaVg~0F(;>3 zJ;%X-LK&2MwHf?AG)ekRR2F&SY0x3p+&xesgZE5i%VH4t7KlyD<4MKsi*opGx-wEDYXR(W(n~o=bYrVa9>QChIDW9B@c#4BzYiFxT$!f1`YFmox}6qnZ+-dz z`0$6C_c^T{%0uGl=>JW81A{Bg(l@|7OXwSx;xtBY-05qi^VFgW&5o(sN00000NkvXXu0mjfXG{ie literal 0 HcmV?d00001 diff --git a/resources/images/monitor_extruder_filled_load.png b/resources/images/monitor_extruder_filled_load.png new file mode 100644 index 0000000000000000000000000000000000000000..afac9053ced79f04126808be5d85ff1120181ab6 GIT binary patch literal 2210 zcmV;T2wnGyP)8 z99J3s&fIoqFZQ}g9HIhop|m(PG<8}DBoGE6ct8kV8lfs`6Crqjho&GQ@f7<3i5DP5 zLR?;Kg6KvDvlV_0B50QsLjs zo-@aL{_p(vGiL(4+en))EvOZABhVwIo;Y>>l(TQ;Z~D;kOM1qPoT6)Hy`7m+X?Uey z_3Ts@V~|+cXB6->T`S8gV*ZPd2t4_VI1MWYDQWM>kb9?iJ;CLwz!3tj7B!~kfkoK# z=l+5x`MQO_P-mneaP=|FV_6va?TU?*lp0(%vhKt08@0H91pyw$LFxs#64|N2t(3oq zvI8d!3f2{$B)`=VSLl-57uEhtUJK#WvR4JF5C`@EH)!n56;ESNdgo0oITFv^U*2PY zZj@uOKSTYnXyLXIso+*`+3d)d-l|5^2MwKJxvS+$G7&amK#sK(?xBHc6Z#E(wG8-{ubg zBd|g?vI<$xg7hr27>WMJIc*}`!muw;$qe#S4($RiCL>b!dzvN_HCkHpG%f??R@O;G4YR%6PuYGUV|IuWA6`Hi0PGzS&Cnd>;V~Zq-0?J1sbIOfGLw+u%jeMVtl` zYFP#|yLW{!aYO?li7^0&Gig*P5n_mLLS)Uihh8#VdT>&E=&|JVd=S~Rh>EeDw;59DOupltUWa=PKcsC_-nyhtJURf>6wuA`n~T^>w&Wt%5jxI*2G;r<*l zMwHMZEGspy9&D~{*WRdLbPB?rZ;|cAU?jKM(PGjwgS!UPK|Bbxf7|=QlaJU3HV*=* zzG|*;uc_;I&)|e068vNqo;xyUudFqy0#~Y0X8nqe{ z0^CY`7&TNX!EtsBpm|~2bB~XY|MDHdFJ8JdCX(dkR%!1ik)}>Re(2B(+rSO5Qs>E_ zV{H@2lX-_^rQ9WP{L39QL^OAJV&X&__`>q?ECC;H10ky6uiw zvRwB|>j+wJIvCrQReisS1!^Ty{nUndo8V6R$Ly|%h1#Ocv2D7w`vktRfL2OfQsY>n zM#)Cg=>&VROr&v6Q{70lPKxKnuECQ;p-S0}y_PpEoZrodj90HWjK=D;D0Z&lVxg<> z?8>EC+PjsCVa~(=VP4{bcpd*9svs<=bud~;M1|+hYI$4n*@GN>c=zz?1uv%He1Et}PymytnL2BkS$rbE^{dXL_^u2As zOfTN}6P~;F1E`Wsnu?7%wj`Ex;B04Rz*VeCsy+F}Pdoh_Z-uw<&9{DnLN0ISMX~H1 zJfckkOF^4*{Os-Dp&MGPUc+VQCfEgnS{;c}y@AJMZ`-or`&ldo*U&A^*IqLV=A`tF9e8Nby8@=Bj#WKe^)sf>D^*zcZXvgB-RH;(nknh)aKqo?r6k%_k7 z@PfWGb`&oi{4V^uZGe40V;r@kaQwBfw6y7xem1*pGr`HGQmvv9hQD6bPTUdgz)xxWT?1Jsk)fYqZ{hFr1AooDc9_J*fe3p;lv--7T56{wP|*`>E8~JN{0%)oSJT@ zch^(u{|vY>UJz6_2RNT6DvN$lBcxYBVb~6S^&f9+4vg#>MJ``NKWO#s+o;#p1?6bj z=C+a&K~tsr&s|+pvgHKh|J>nd%QLN@j#E2UZ`Kh;>rO!l<#gW9|F(5P7>8rcusOFA zGtcv;{fs}~Iu_J}lT?(x%zdu!Ol0qQs`t}vxp4OE>~Y6(HXoN|EN4!fI5EE!&BlP=n8_!?OPCLReI}v*EUnWUUKl{wHe_j{52b!IoEm2}8Ej3>z!z~OC kkDTQ3W5Hq)$07*qoM6N<$g2QSwX#fBK literal 0 HcmV?d00001 diff --git a/resources/images/monitor_extruder_filled_unload.png b/resources/images/monitor_extruder_filled_unload.png new file mode 100644 index 0000000000000000000000000000000000000000..51f83a0ee006595f1d2ec9c1f1ccb45f355d31a9 GIT binary patch literal 2217 zcmV;a2v+xrP)8 z99J3s&&-+2-h62;rl`P@Rz(RmO`E(R6%q2lO9k|$fT&esA@NEo1QJLnF%kkHflQwO z2{{BI9tbKD6{r$Yjg(igl{iWTNiejuO6=HP?`^JU`2MrR?ApnC&&s=1)jyh@nd6=R z`|tlhXG8REqfCEfBFjh+AAOSXgC~CWRp-d~hB|ibx7n;-IfrAmb)KD7CcMn0ogIB(T8wVqZ^Su1n@X^f?&jY zlinn%d)W=FmCN`L$>6~oQByVwYdTOL_9O8&&MT{KMhDD;*ErzF_T|Lp0S)x_W-KN= zTn8l!t~XZ1_yI4M$=hzj0$_H?C%RpUh|jBbY4B#xn#!Rl5eGv6dI>D>5M{-!j8ZZN zH#fVLN#N012@&rCJZ@TPgzKg?c<@M&918(f2e4BTGzM!pxE5mY;EqLdGY%~}#9Dh6 z0a$|y zML(x=y@sP&!>20;pXV4NoPr0>2WiH@MHaww1cgHgILt4y9x722qD;2>c$`Ed`VV$$ z%*#B_Q&`Iuk5Zb9Al|Nr4o!M7u5EkpK2L37dr`I)ra`r}Ag+YUPY{ZOk9JHGPH1O! z%6Z5%+sT;mWJ*Xi zAAqgtT_NM72yD3A9YT@8ykwK5L_nNj0r~pVg&b-K;EH76Lh~qw_BMe3M^-unpQFfV zpIbD6>(7!B1+vj@QrlROKEPqEjE(^KTWBVSQRTjeI4Dv!46|E0)uyCKe~>6=4MIGF z;G4uS(KO`LpU=@(U$&LX5{sjr{-|I1Y-@@P$-Ef|OJa@_p_G>Eqno+B2%lR+FuPI; z;8N()mT;`QqNRcwMzljy3!N);^N{MNqH82{2Fe@ z+W*#UHmO;!QxruV?+7Ub$QKIwkoSL6UJ|xF_r%eozkDG0;`Qrgk)|)VYrCHWOU*rT z?AVLDz%{T^uVEN0cRYYdmeA5PqB;K)SmZu*;rQg_Ob7VVwQKVLKGP2B!LKgzy5Ce{ z0RqHBoFpCVD2XpVIXO9}xh`J4dI|uqwF4LOdCY|SlZhc>goS9M%`A>TthvJ%UvB@4 zkJ7ncz)WmGr!x@8EXVm=3n9z41B}Zhn|i+~=ldP^F#V}}>TQEd^VjU2h+VnEn&n-# zwFd;wWbJUJaZ7CmA&!8!i*s>F(gY^Wp}5%EU7p*!%X$V+Q$>|(RY$IE@#|WvzOxVk zgkg&{Pyso(MoYz>(zB2trZ2qy{awIJmp7K_%*u}`9kn5FLhO|tg~be<{mdPVgDNPd^rJT}b^E#& zYWn66=^<#$B{hnZ{=uWTRTdrT&`|nw1YsOM__y7z0e7$9a9ys%b?TKWNu8v(cNTZmoK43m6h%hAOw*_=XpK4D zx>d}s;2hyR5OD5(apIHID}Ac)F{FH^16B45o`5lKPK;JBXo-UQYP5GwO4Tgca&UaOgKbDr4w+k^h{hh-E*Y--aww?19ERo_@ z>)2@xiSM(=sj^ko&4#U&2ai&5w}sduZS&khPhE{8cC=K&{4c3iZ(uhBn-h(UwHX&rj`d$&n=ZVBT9HFDCBZfL*?Q$;+oI@c-Z8A&Mq>Ubj^2)QMpEn z{k;yLYHj zZz;;zvMbsX6oOD0{pYTpDaCNoPVe!6L+zfiZ0j8MGs}&zK|$0C3T$!A6>^2&w?7cX zK{*V<3-@E@xX#(UmtSgMt2Jt8!T(vl=KjtEe=i72obRZG^B3pONK0~M3j!>`Hzz3aKX%{P4etRyOy-mtOb_-}klUFh4(!**GpY rqG%r7WMy=8{4B3ePf!2LgwKBgS*Sxm9q0WM00000NkvXXu0mjfG5IZ5 literal 0 HcmV?d00001 diff --git a/resources/images/monitor_extruder_load.png b/resources/images/monitor_extruder_load.png deleted file mode 100644 index 27f4f3c610b3a66ab471d2f215ae04a5be68b459..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1524 zcmVPx#1ZP1_K>z@;j|==^1pojAo=HSOR9HvNSzBlwMHv2OcK2M8oLo+>CSnOl!IC~G zDpo8jcTeTNb zo5UpNL`TyD34gQ}{5KXynpERRWAxxQ$Zys=U zd8JS3@_N|ti-VD0>!y{6Y=U2G$>YrLK%pZxJae3mK42u%n$O?H8DBPiED# zxQ6f@6nt_itz#0cx->5xxRHQI!I4C(F0GMZ&XcI;lNs8yQ2H*yfL%HO5x2o(Yl%g2 zb1oQe)P=>gP-GzsinX$Gevo1pJ_sF9T+MQRd-Yf%v7t|*f5$;u>JO?=wDX}x%zl8M;j8hQ>*N>7W3 zT$jYaW?C$`RFWl0bZjO*9WGEHmwG`5;N-M>7pS6g!`+VMHLO!=gx*%N<{&Ls8Ien_ zbhksgZ|b^l)unW5^J5Bq9HUL(G?lNB@C&rfZ6@x8WNYa!12PIy1m;!4g>Lko7LJ{B z2*T${>>u5a*yhuMTo%(KsNqIQR(?l!ehkm^7yGPQsK`Qxqm(R3Vr+A3<6T6!G_jXV zAuS39{Oc)7yT++Dv>;NO(M{dY>Y66C8Df z>d(^J?I(A?VSf!d@oV&c5y`VO@h)l?>DKj7&JKj~I5~jlv1lRx`j`@5YAgATcQ=LZ z9*F4jVxO>?hrEV4o_I+rTuZBouV@WpNhH@Ll1_FRpkGK&ojSESj^n4O+Q#jrxDw9v zw#aMe6&RUw4fBaLNi0@jkGy1}$p z9juixO6_6Af?*h9Zf;JK>nlZO!P(ha)M_=jbl&an??-QMFC2RHuU4!2T2^EdoSB(H zcXu}i1_sdC*@<(}75o`rMORlB1_uYx(b0kF>1i`M9b$ZZJo)<>fq(tb&=4q(@b;z8 zap>Zwn2&vZt<@=D@6e;z-Marpq+kRa&phg?o~aD#%GbH8q7t%6DT&&;6!%IiBcy5D$0Wj){p06pM8F zNI|L~-^^PW?echico$y0c{_?SZ>~1-@ReI0$ANV_bsqAr(@d~w;xl-s>FMb~OG}Gx zpQ&A>!y0gFaZtDU`sC!K-i4YWlOTgF!ni3j7&#n!3A&>F6<_S zLP4+dN|3sS*8>ai7RFqu7-PkPH;T0vq(uGF)K?v>MfG9M`Px5Ezm!&^d4Jd8K=wxuzG_S=R9fIHC%A#NrMn^|KqT}6Trr8WHZQHi( zps8OMO@oHSel*plAWt+M+fP0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index b1aec64ff..ed980e4cd 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -1443,6 +1443,7 @@ int MachineObject::command_axis_control(std::string axis, double unit, double va } else if (axis.compare("E") == 0) { sprintf(cmd, "M83 \nG0 %s%0.1f F%d\n", axis.c_str(), value * unit, speed); + extruder_axis_status = (value >= 0.0f)? LOAD : UNLOAD; } else { return -1; @@ -1634,6 +1635,7 @@ void MachineObject::reset() print_status = ""; last_mc_print_stage = -1; m_new_ver_list_exist = false; + extruder_axis_status = LOAD; subtask_ = nullptr; diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 732c20431..6ce1ad644 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -310,6 +310,13 @@ public: UpgradingFinished = 3 }; + enum ExtruderAxisStatus { + LOAD = 0, + UNLOAD =1, + STATUS_NUMS = 2 + }; + enum ExtruderAxisStatus extruder_axis_status = LOAD; + class ModuleVersionInfo { public: diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 20ae76446..7f40da205 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -179,8 +179,10 @@ void StatusBasePanel::init_bitmaps() m_thumbnail_placeholder = ScalableBitmap(this, "monitor_placeholder", 120); m_thumbnail_sdcard = ScalableBitmap(this, "monitor_sdcard_thumbnail", 120); //m_bitmap_camera = create_scaled_bitmap("monitor_camera", nullptr, 18); - m_bitmap_extruder = *cache.load_png("monitor_extruder", FromDIP(28), FromDIP(70), false, false); - m_bitmap_extruder_load = *cache.load_png("monitor_extruder_load", FromDIP(28), FromDIP(70), false, false); + m_bitmap_extruder_empty_load = *cache.load_png("monitor_extruder_empty_load", FromDIP(28), FromDIP(70), false, false); + m_bitmap_extruder_filled_load = *cache.load_png("monitor_extruder_filled_load", FromDIP(28), FromDIP(70), false, false); + m_bitmap_extruder_empty_unload = *cache.load_png("monitor_extruder_empty_unload", FromDIP(28), FromDIP(70), false, false); + m_bitmap_extruder_filled_unload = *cache.load_png("monitor_extruder_filled_unload", FromDIP(28), FromDIP(70), false, false); m_bitmap_sdcard_state_on = create_scaled_bitmap("sdcard_state_on", nullptr, 20); m_bitmap_sdcard_state_off = create_scaled_bitmap("sdcard_state_off", nullptr, 20); } @@ -916,7 +918,7 @@ wxBoxSizer *StatusBasePanel::create_extruder_control(wxWindow *parent) bSizer_e_ctrl->Add(m_bpButton_e_10, 0, wxALIGN_CENTER_HORIZONTAL, 0); bSizer_e_ctrl->Add(0, FromDIP(7), 0, 0, 0); - m_bitmap_extruder_img = new wxStaticBitmap(panel, wxID_ANY, m_bitmap_extruder, wxDefaultPosition, wxDefaultSize, 0); + m_bitmap_extruder_img = new wxStaticBitmap(panel, wxID_ANY, m_bitmap_extruder_empty_load, wxDefaultPosition, wxDefaultSize, 0); m_bitmap_extruder_img->SetMinSize(EXTRUDER_IMAGE_SIZE); bSizer_e_ctrl->Add(m_bitmap_extruder_img, 0, wxALIGN_CENTER_HORIZONTAL | wxTOP | wxBOTTOM, FromDIP(5)); @@ -1311,13 +1313,6 @@ void StatusPanel::update(MachineObject *obj) update_temp_ctrl(obj); update_misc_ctrl(obj); - if (obj && obj->is_filament_at_extruder()) { - m_bitmap_extruder_img->SetBitmap(m_bitmap_extruder_load); - } - else { - m_bitmap_extruder_img->SetBitmap(m_bitmap_extruder); - } - // BBS hide tasklist info // update_tasklist(obj); update_ams(obj); @@ -1550,6 +1545,9 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj) } } + // update extruder icon + update_extruder_status(obj); + // nozzle fan if (m_switch_nozzle_fan_timeout > 0) m_switch_nozzle_fan_timeout--; @@ -1582,6 +1580,23 @@ void StatusPanel::update_misc_ctrl(MachineObject *obj) } } +void StatusPanel::update_extruder_status(MachineObject* obj) +{ + if (!obj) return; + if (obj->is_filament_at_extruder()) { + if (obj->extruder_axis_status == MachineObject::ExtruderAxisStatus::LOAD) + m_bitmap_extruder_img->SetBitmap(m_bitmap_extruder_filled_load); + else + m_bitmap_extruder_img->SetBitmap(m_bitmap_extruder_filled_unload); + } + else { + if (obj->extruder_axis_status == MachineObject::ExtruderAxisStatus::LOAD) + m_bitmap_extruder_img->SetBitmap(m_bitmap_extruder_empty_load); + else + m_bitmap_extruder_img->SetBitmap(m_bitmap_extruder_empty_unload); + } +} + void StatusPanel::update_ams(MachineObject *obj) { // update obj in sub dlg @@ -2619,7 +2634,7 @@ void StatusPanel::msw_rescale() m_bpButton_xy->SetMinSize(AXIS_MIN_SIZE); m_bpButton_xy->SetSize(AXIS_MIN_SIZE); m_temp_extruder_line->SetSize(wxSize(FromDIP(1), -1)); - m_bitmap_extruder_img->SetBitmap(m_bitmap_extruder); + update_extruder_status(obj); m_bitmap_extruder_img->SetMinSize(EXTRUDER_IMAGE_SIZE); for (Button *btn : m_buttons) { btn->Rescale(); } diff --git a/src/slic3r/GUI/StatusPanel.hpp b/src/slic3r/GUI/StatusPanel.hpp index af182c785..6f47d4070 100644 --- a/src/slic3r/GUI/StatusPanel.hpp +++ b/src/slic3r/GUI/StatusPanel.hpp @@ -80,8 +80,10 @@ protected: ScalableBitmap m_bitmap_fan_off; ScalableBitmap m_bitmap_use_time; ScalableBitmap m_bitmap_use_weight; - wxBitmap m_bitmap_extruder; - wxBitmap m_bitmap_extruder_load; + wxBitmap m_bitmap_extruder_empty_load; + wxBitmap m_bitmap_extruder_filled_load; + wxBitmap m_bitmap_extruder_empty_unload; + wxBitmap m_bitmap_extruder_filled_unload; CameraRecordingStatus m_state_recording{CameraRecordingStatus::RECORDING_NONE}; CameraTimelapseStatus m_state_timelapse{CameraTimelapseStatus::TIMELAPSE_NONE}; @@ -340,6 +342,7 @@ protected: void update_temp_ctrl(MachineObject *obj); void update_misc_ctrl(MachineObject *obj); void update_ams(MachineObject* obj); + void update_extruder_status(MachineObject* obj); void update_cali(MachineObject* obj); void reset_printing_values();