From a25baf08203237fc2eeeb4b7ca720f7d47f8a666 Mon Sep 17 00:00:00 2001 From: John T Date: Wed, 27 Sep 2017 18:32:16 -0400 Subject: [PATCH] added desktop and some small additions and changes to shiftwm --- .vs/ProjectSettings.json | 3 + .vs/ShiftOS/v15/sqlite3/storage.ide | Bin 3395584 -> 3678208 bytes .vs/VSWorkspaceState.json | 6 + .vs/slnx.sqlite | Bin 0 -> 638976 bytes ShiftOS.Engine/ShiftOS.Engine.csproj | 6 + ShiftOS.Engine/Tools.cs | 32 ++ .../WindowManager/InfoboxTemplate.cs | 58 +-- ShiftOS.Engine/WindowManager/ShiftWM.cs | 80 +++- .../WindowManager/ShiftWindow.Designer.cs | 446 +++++++++--------- ShiftOS.Engine/WindowManager/ShiftWindow.cs | 126 +++-- ShiftOS.Engine/packages.config | 4 + ShiftOS.Main/Program.cs | 8 +- ShiftOS.Main/ShiftOS.Main.csproj | 9 + .../ShiftOS/Apps/ShiftDemo.Designer.cs | 59 ++- ShiftOS.Main/ShiftOS/Apps/ShiftDemo.cs | 10 +- .../ShiftOS/Apps/ShifterStuff/SelectColor.cs | 39 +- .../ShiftOS/Apps/ShifterStuff/Shifter.cs | 11 +- .../ShiftOS/Apps/TestForm.Designer.cs | 148 +++--- ShiftOS.Main/ShiftOS/Apps/TestForm.cs | 21 +- ShiftOS.Main/ShiftOS/Apps/TestForm.resx | 3 + ShiftOS.Main/ShiftOS/Desktop.Designer.cs | 111 +++++ ShiftOS.Main/ShiftOS/Desktop.cs | 61 +++ ShiftOS.Main/ShiftOS/Desktop.resx | 126 +++++ 23 files changed, 909 insertions(+), 458 deletions(-) create mode 100644 .vs/ProjectSettings.json create mode 100644 .vs/VSWorkspaceState.json create mode 100644 .vs/slnx.sqlite create mode 100644 ShiftOS.Engine/Tools.cs create mode 100644 ShiftOS.Engine/packages.config create mode 100644 ShiftOS.Main/ShiftOS/Desktop.Designer.cs create mode 100644 ShiftOS.Main/ShiftOS/Desktop.cs create mode 100644 ShiftOS.Main/ShiftOS/Desktop.resx diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 0000000..f8b4888 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/ShiftOS/v15/sqlite3/storage.ide b/.vs/ShiftOS/v15/sqlite3/storage.ide index 232bc17352cf037a58a3c2f4258a9bca836fb5cf..a7bcbbb7d45df4d645913ef9d4753f9b02518b03 100644 GIT binary patch delta 137490 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

)we`I0E%J`uhgo{FSmbme+!mDa%CsqZr; zHm3%nZ2#;Nj2oOcJ6CCWY6Fv$y)l9dK}a0}Ut3Hc3#Si9qY1hlcIN=rctMGl>)ve3 zDy=>JWKP?;PH^1!gCNVU1hEp}X6`<D#k0U1dhg_K;qZrRn^BOXOw`c@`Q%Q>TcY zDKuilmYj9(D!rpOxD=!l9)=D{5n~%veTGs1p;8)r?pvo<>1F*`R(o-my~b^1Y41TZ zh*Ak{h96Z{VsyLh<}PMC75Src-j{;JSO2UgMAHd(69{?y�!UiQu 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 n@^HGe3n}5CaE!F#avZ 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≧lZ@+&DycLL`Q=~R<&Zdo+{bm>X{g2oqzWjNp84es(%SFnT=WUe*~=DV z*t1yCTQ>GoeDO?dAv%=_FDxo4_&Ani2{}?$M#7PcVn86dybEdpt?ym}-=77Dt*z%p z61)$>Jejcn=bb^u2RZ-WS++CO5^a7E>ijh{K3;#h_Wd>As)<4szq+cv%I7QIRZ&rX z7)bul{mX7C(7LtV1{*Qqutl|m%VsE^#u$NeDs5&85IbmmW`@=Q;AH?VclNe-kU9X) zDNzWXZx?@W&xBJKcv$qo0jHyq5nLo@5F5L4C=F5bB_&wL zZb5_bVKsu_UOK4pJ|4L_R-pBA&*>+=pr(H_X7t{cwCL`0mUgmD`v3#mK$7|U zc?c6L-8H&zY4hWE9g5wvw?K>YKBr$tcr+PV!u)mQ8djSn-M5r1A>2I$TEX{OOWPX& zbFffrsD1}%z7!1h?gB0PYmitCEVQr-q^F!SNt{=7w78ZLHJuU?-zr;=6^`KEa6s_+S#o%ko??CRB~jwyTPN;lK>Ni%-6o}R zaUyNe2u09-So#7XbSK)R1OeM-|1W?M+SV)1iP{5=?_v2t&~*a$&?{|E5+(NKk-{kU zW$*Pn4f~Q@hXr?~M4{1>aJ1l@a+92Bu@VP}zzE&>vxma(L7!5a>4guR7pU0hX|6Gm z1|-02wY=)4WGSn*lpzlMe{psK_-U zP}m%czmc!lH~Tzkj5y(u3DwM_hidW-4pjIyO^qw(^2JGVf8h{{a$Mgx%;t`{-JtSS zh&Gs3DQW_Zod53&T?sXRt?AXqZ#B*~{ANRE{oCsPvF>>7f2{e-nvUw_s!vsQRsM9v ze=7gi@{?t64gDJs-}s+ZS)ipry7kjhi3d<(fJrX7lE?WFD0%Pf>cF0?9KbBLU>)#;fG?5^EU+x~D*kgq*c{wY7#|aiIQlN8`!aaGV=8(PS3D5@vq&c}2;d zy#d}{prt`3EbV%Fk}$)UqZ8o73u)pYP~&uzBr*@c=|ioANXh_QjuMH&74#c%V2tFn z?~g=~r%>t z_#?Qeze0K8JW68!#+1gXrI@>PnJ6fHtmN96sP`4#K>I`grcrE$o|?`i;b;d=qXARZ zMW}&nci}liHodXAM+yU_ph6iDICNlaHU_!v0*8$14GpY4g&D+pO26u+C`G6Z2`HzQ z78g_0i#{E!_x$OVIH@)fKhN${tj@x-h`Za0ZA8BvPhJQH$_SLm0#&mpA@~r2P^3H(5m8q2&?G^9g!dZl9P*~9mk)Ju|$fJPq zfC80>bpSqfBLI18Q)E+;E};~Bh)V-(Doi6lgCy6Y1i|(aiBi?BmYhIT8qh<9GYDv0 zznG!~C>)DVCfIzzwKf2khgJ#CnHBdHrV!uA#@0*Xytcx$;?rqYFs#Uki%DslLPgeg`bxqZ4D&JGNyW+>ne+P2$r9fO3 z-ryUTpvd6T^vb^Cb|7ME7i>WozJ_iWq+L#g8=Qv=w4RN@8jPvzS#2vi-r#fyXHNLt zyPYgStmNcGGJz*fYkz^(nR(6{(%s_@$FGD}z$p(shiDWi0hS(5Op!{A;Ey_*T!0uC zd2P{sO9|QD*F06Am1Fj2wFBMJEPN)MzQhNJjLq{{2?DNo(s1XF7CQT_^uAW^q1Dsg zLH@U|l|}C#OhlK!QXk*fidM!5_&c3RUWz6Tc6ZLscMtUTh3C5adZOLEI9e(Sw5Z8W zOS|X~VTylLW=edb|08S*!tlOg%stlLI2zy zh>6}wY!ZW|KUSK<;lc|zRFnE=e9GVr_L;%!rI{EhEFu#x=;si3Gf`TWvPv+2za$&k zra}_g7|LnKmix>Q@A*POqy)4H`$(n@XJ)8(Ae253odQpcov}T-+eemCPzEr=RJ-IO z*ilHJK*lWX@~9J0a50>tCuMQ-?cMJLQ7T1qIntg0opm`H5w0@Yq3)4wG`q8~fS5=0 zt64#i9W5~-0;X=o@}LVKR3b(_y}b}eQ2my+JGU$HPXWh^SP3M^1c@N;E?h#82lY?< zE|7{fQbnbN3b~PRM~bjo3(q60Zv6rZqEv`&1Wu50NBR&b!A!&wv4tf_`4NE#N>WaK z4$Up?DRRLP%^=3=LX2V5c5)ISz}%ZnrUPtpj6jLeG284aTtp<(`u>0-64(}y_#qN; z0%rinPOlc9>J24UdvU+3Z~>tn(!XAppe~X+kIa8D0G~*v1my_uk-|Kpn%vms;u#W| zcQ%|#fEhbIoW=sL0oH3@^3o{l>(7J^m&Zf3@2XvF`Ao}uTV858+45-f*Gabh=1jA1 z{{Q;jb>FJ{bls2FE!Q2dYpwli?I&tSYagijyP99G`M#QqHLt6=qxwq_J+NB+#_FEx z+N#f0eXuHD^>o#~s!-);D&JfAQsv3YM=QQw@u`Y;S7a)VRXkMwmGY03zoR@3@dxpy z$D8hHe6{hTjc;q5YaD27Z1{Y`FEqTRVWy#@p|YOUC?HsMEeQI#5G(F8puN|C_8tS; zyA5dXGN8TFfc6dp+7<)aW&_$L1KLId+6DvKdIQ=z1KL^x+8P7eY6IFT1KLUh+6n{O zas%2j1KN;2ZTY_$(0<#1_FoNXzhyxCO#|BhWkCB41KO_}(Ef`7?LQmPe$9aPs|K|H z(}4DW7|{Nc0qs`|X#dfG_8$yr|K5Q1?+j@F)`0fE8PI;pfc9?;X#d)P_EiJgzcQfx zvH|U18qj{pfc7s8XulW=mA_6eXLm)v{&y?-3}|}|XnPE3yA5c&3}`zIXgdsO_Z!f* z8_>2H(C#y!-K$Sq{sjYCquO2u-~BTKTBAB(2H(9|dGG(d)ff9C1DSosfc6g!X#c=~ z_V*2FKW#w!dj_=so!tN5A37dt2{(VKIo0$JO^L=oYn*HNxrV#yf1vJ#nlIOMRTrv0 zTGd_ovlYKz(Of=XRtWtyko*2wTdva*#fPjm-P>kvQ>-IG7 zd%vloGC|ndO8Ul=V%y0Bjx3zJPRsD_&uZselDgb`>*RT?1bvh4o5BloeLcur*>zgF z*C3-6z274|_;!rvv64C4++1~?mg()+Ppd^E!{Al}qBa$G8@?n;Fer_&>$D{Aw3XCV zX<{pw4~C_~BXOc6y4c(MI&UapCTE|YnZXeHnVIO^!ZL3LT$eEO-^>g$vgbN2-#cQB z>oRhle~R8Ph&kqE^$=yJ`ZT0-B;lY-iwaNzGo&lB+pkw+S4`#h=yruV zm6M_mG+xjWK1*J}ry9u~TqP z8&|w(#x-9mjrhv-as<51s?#0ulT*x#MD9uZXJwsk zDGunSg{1lMu2u3gW%CSsbdK~%vhZ>p@ig4}itb?W9SZD6Wt*MU>6WzkV&NJxy-VMB z^;j~U8BZKeC9i;Yqbzgjk+OMbx^6AJgsmS0|J|MX=T6)-UBD2w`DAJV51uj*vZeK- zQextx0AG4(II%Kva+;j~?+PVCEr*()X?kblA2)V1yiou9^{=gaZS9tt>Z-3*)l_`7 z{Ig{rC~E?u8~(GlUZ<6`2KDQaLAt0*(G<@a!UCCHu@?R`NR?Ljn^QZG}ymDW<$&fZ9CBv(hWP*oT%HKjC_pA~#EZ=cKfZAMW2Oo?d6XUX4vA>3C%76cyFpN?prw}W)3jJA0g6dr?b z#>6S8mlp#?I&ZO<6jN(X&-P%R3%#bfijUBflOv-&qu!C-Bks}By#wyPzOg>{khf>h z-9I$6cdT!$dt_*!+r8Fz(bU!@S4z_niZ2PQcT2ZC~?pHV3WS?!9n-X;GoYvHQ3YR z4G6t~fZ!$jvZb1orcIPs@}GZ$tPGHiT4d!4&(0*>y#u4&yZd*$y?sMocVBN$uX|{$ zr`tWWw|``8bazkh*l-UuNo7h?G?LhhW2ybmJx2Bfz@;0R-l#pu$Df@s_6&{;diM_Y zy1Vxdjk)`F5ASyG?jP9W9@;b5z1!Qpd$fP7mv())H?>)vF>hjjVNOV~*{P5;uP#o7 za|B&{&z>O8jbHP23(JE?Z5yLD?eM7Id%pblt*L9&`yXfb->-f@tCyv%k6rV=S1VLY zZb@COQr*YiqJH(SU-j6rE_6+zMb&J{ovBSKzk^BUsb)oRaP{3|>1%W@^qMS-SDJC9 zpR3YAflltQKU25J4XLYC`rFwnbd-aN<`)SGt8_m(>(^@%EOE>F<56g$>nZuPM_$m< z=&w&*sj?hqFBw)Y1QVF%DO8p-=B=;At@H_;ks0< zdJp}{`&ic`!cR$VU;hqD5F6)DFS9CtA$5hye{hNUsG{&MZ02cEVd>~z6|&|XoX78y{^|Fwn(4b`8luB-ZV z)pqB+<71Ui*nexc*d)l}KV*G3RR1R+_CIQRhw;CSLjb*?f09ipP5*0zy(h7%!mOQ2 zh;+v>X*{Cz*Dkf<+PF1Mr$}xnT_n56Vz6rtdgQC~;6O?f2Ag1)<1709LeU&6;k7=n z0p^1#O~~t}OM_@i>7Y3K_iIv{4@P#v|J(~h1KR&5L1{-ylj#~x*0LH@9SUcCbt$veG3&8Y zZB&=igs={??|)9N{#7S}GDwulBU0IWbWZp=IX0&>NvsKWKihc3A4-ZCZ)Deaq8I*?fq5)19|%ZA-rsB=@gI;H7p zdD+81DxH!EveZ;(|9(vxYikgZ7gW>D8ex~x*e%3GmB2Y(hqZBQl7*L5Wo1igT3Y={ z=Az0~X0Wm+xEf+jCWQfYX-X5&>SQ1JWGaO1(5$klD}8ijzg&}my0=$0%&;nY1n>aM zanD_GNwZHRrAcNrFP&l?hS(DEB+?N$jzmt>dchge!!p}YGk4xNrx1}^y ztj?uT);lJaKD4U)v+S1}xbF#d-%GiBpweFv{1RoYo?QF6r>C#S>n-+W762u8C#E{p zP3g`h=5!jk&=fRWjY0EIb-i5mF4q8^r@Jls_Oe?9?V$p(k{caJb*MLbn0+gAa=#D> zD85S7&9A&ripB;c4#;t>b42O;bx!!2H&5mVx}jfLuhc22FV(IxKgiw?VI3-JgqWGQ ziar-_^_?MBQtm4E02rNJYY2Z$4 zQLTGpk~vm%Qky&qTQzcaBHPKEOP~8Wz-!tPR1cLGY3aIDv&!$L)6Aiag1uII`l_y3 zDaCW+*JP>F6E84cbwm_Tp$<6B@3cN;V6FXMyDA^s6#!Gke?eUi7cYL%0v9cC(E|UU zvjBS?n0X%pyBC4ogTRg5!jC-I1C}M7wgm2LP+z)`gF|> zi28JM2V$JHBd~11a>O|do2RH1%cg+z+QvE zUX8$RLSU~#U@!J>)8;5t|28H5f2HAZL-o(AkGtOMYOZ>t^ViN>E9dOrv|n#~WyPN= zQr16M@34H-a+Nt?`nc&@;~apW(|?k6sl%#AXdCDULBYjS% z`K8ILQktMVLY4PqLF|X5DXQTDB{kvfdaw1dYtmE0gDojdAAN+q&G+hGcXr0W+PF0- z6>gdYmt;Y`ZIx+lO4I)yP1dtU(zTWwg^LzjvUD)516-3U9a7MYNK^CP$KLNp`#uuO zFU*&#hQil{o|D|^lPOK!JDhT|TJ0pw8iq)z4D-)E(0ZStTqAO9QEluFKUlR%4))V) z-U2Ptud5?Gpl$bP0vLtWure{$uA*9hHIhug^w;MhE(TLkSc(izPL7Z5nVi)ARd{B_ z)r5t#kdiczB7*7wB$g~}_u{+M65b-%o&_}njob+djcel|zDpT)1+4mFT$$43(}xkc zirSNf2ssqTB*eoJwdr^1J3+p_4729rQW}VlL_nxfyQIpjE2XKC-FNMN=0?W;o8BvY_Qa%<{3mCa7}48X$cx1x4+_R6pZXiY}i z`=q`-Wk~~CB~HEzq8Mv%ApjFrCR1YB$XeJLKdas1W+!geqQbM zQCD}?q5sBIfZX1-dfwi8cQujlQOAd(>!mCkF)0KCWtH0rr~Kr0m`}Cm`Dux84oOT+ z!Lt)Xkk>jYg{0UUMRb7i9nFCghi0afGD z>Mz|{@6x8!3kcakK4hn%@PLuq(bP#YPC7Yo+aJ6Oa#<(*F;R?caPXI0Vy)3Xl)95x ze4h7RF^+KPJrG`fs@j^mL*>2=c1-O&UBckaT4f1QM)OgaaKLRq+VCXXQj>(?VZIDc z1S0|Ha^z8rx7u>I3fIQe?S$(dzFZ;y+_PVn*YdfRnY1Bw8=*PMm*)C$fHIcNsapxl zan3By6$vOKx-E4JA-an*(Y0d%WfYrICkVxToG3Cz1Il=MQ#TWy0w*d7 z(~e-}+wA{l@3*BY{@(f?%XcjXbE9d&tQePL)clFl8gO z!F_b$<3)SuvUh(^O4Cu_yyVjH_BOJiF1wNGl%~qQdFdwpH=_DlRu038=LOs~&%$q` zIeVy^qwH31O=%+Vn?ap{@$_*1hUDtE%J=|R^Wl`;+#RX7I!P%$H+^pIeEZzWZt!3# zMsDz0J#X;*JuxYz3B7NIUS#?_v6VNk$ZNL2x3B05YtNc@q%>K0{RZi(w|xGdX=h3k zjNc5tw+sJF@xHgRcj}syCg;8x+W2yzyT13WjNP%6CfvSxsgnb{66e{*UV@TKto;`3 zNNL*do0Idr?~8Gymw4bxpUToTDNPi9^J(UD#j{vNi-$NQzbVZo<7^v*k%TNks)Z8L zIR-&}?cB0zz=vKIisRMm7eV8}>4+*`1Sx`IK+Vi3T#)WEinrm=kyX>C-+a2B^;C17 ztOH?JP2A)>n`h;^F)_Zdifz_4Nb=THkSyE791NoFvQ}b&g^m2i-si%{i{9npr=1*4 z&5)aO>3DM+d8tcoLrhJR+qjAUZLGdA-q-^p*V4MZt`h1zk(wem+W%a+QO1Y2+6kce z87lSvUH0gOssDcsT=?Rjix#+Ofr}QnXn~6sxM+d@-&;Vd=VYnLvzQQABLZt+$D02a zf&D82`xgZE&j{?F5ZFH=uzx^ce~-Za4uSnG0{cG*>~9d*Un8*pjlljF0{bfj_CFEW zUm~!-Kwy84!2S$@{V4+b69o1d1op=W?2i!GA0n_nKw!U*z`n>|NZFqhQ~agWl|2Fe?2xMQ zvGQxRQ~?~-2ZXo`Kh>&Zi$7H2;9boNot#Q*y1Q=nV6ZCV4OKey5uBX@RE}8ZIj-e~ zUGX5VW}&l6F;?@xmPR9zv9u=g>s~s}8cQj^kMnt_t2;B1x4nuNv+S;C(wcOz8&vKX z<8~MPuGR4WM((t{)~4)U?@nu~!|o;VIdiY8Mv<}i&JrQ8IJ$L`a&>vH$Slikrm zglYX-U75;Yrh^aNqIKsEh%3KXbB#TXNfQ3)O{Pnd6@W z_j#e__>y~`N@-fx$_)Qpx##mX!$XSl*;Fz)ZpQx*w5n3S9`)-0ap zmSa=8@`23n0#mF^HCc&fAf1(EQ)&{e{{Q2Knp>+sQ*CqI zRP~Va+sG(dWAYJbOA!+Nr^8_e=z0`iLr#w2f}yi!9fhL zl5S6Hn#Z-tllqZnCEK0W1d3~uVP0efXdB@dqT;+5@=IY+mgo;yIrpcpR%fGH$mirV zcqzqs(dUan*{>Lj#)5uPm2zhv8J@HzVO*OG>P(!~)a_|awV2~rKHJo+WCzlkcyVoV zk+*s0plgv74GD`I8yMTunq+Zpa#nBVtj6w0YbwRHN#-sl&vpf&BcsUJtZe(zn%r=0 zGQr!xiAX@43P!}hMrI6m`Z6-rP3y~>)zBU3O9^4_!$JR&J)jzAmSMEt`n&}+R_{6?};PkW@gNok(C}{XX z%v-hAv?i@yo8-0$9$6TVK<5c5>N#=n2=u~NRddhwdY{$3us*E`u5-+b(%hDCh?7_c zZF5@FNUsHPZBAQXjij<~ktK=w?eeBIxpVH`)%d9d93?jDUDc$^InH02b&E-}4u$%( zrdG~u|v0W(CmPuLDpy9mez#7 zYm;~Ief^`s1u+CZNJM<4F|CP!a}NVW#fU%1JW;i#o5+!X-wLHhtD*v&34F0ce1`Su z*QXl^Rc@KP+BiK7A~EbF8}uOw8XFN-l6C2NLh>Nr_b9^dCu&O95su86Qs-w@3JcSb z;M5|kEt}KZ2v5#ik`Oq)FJsN&jz=BaDi`cuuy3`!u;R&zE^F5EeanFPC8nR4#*D8r{1QG;_>*i)YZ`1E z7m6UbVaNgJgnH~{9YAeqO^Hn(u4C%ShLvkeT9aVoxK&W>I+6$kr6XzxkdPRz?qt*{V;XeXf_~;j ztv$V$%x~OsLts)9yzJ>)+FC*lQ;6( zCyY&uc6+<~dOSBA*~d^R1+G|4>y4u;mbwMQLPP+skox2qldkI0ngCpFlH0~hVJpNS zv4-`bZ%J!9aJB3*o6mMq3P^!z=0jj>S`#tj=u-7F|gb%&*Z7O@EliUK!P)jl^OVJ~tL|pmbh)+t$9(h4#q1%|&RLwX}^Z`f!l*K721lfzM1GGM^ zDW7p%+6hgVL0L&Qq%}b_juX5;Cd6mlQxLaAu+&7+xU=-nhyrsQs4lH(q;Z@zRa>5v zroybxdrNwl>^_(qt3TUWQ{~9YuRT4)dw1lYi3Q_w7!+lo`WHey)6=YEJJN%MEVoQ2 zKgg!VL|+2D{1Ig8X=8eTu;mt2FJ{YX)RuHVp~>z1KMFD_Ay86)Lq|9)#5@aYN)Hvs z`5aY4hJ(f-L(L;K_tqS#X{!Ex^<&kqua>L#S8s9s%JCw{F-KeFpDVvo`KHQ+$^(^k z_TSh)Z->5q_A&b=+s|#Ew7uLmW4q3FNyQH;K2)(>@q&uJ3cK|wvuu5r^^ElvYnRnv zdBXCD?qgx}xeC$W3^#Do{0KtTH@Za6g>mFYLV#EVm=Dw;`|x z5ZG}9_8Degupf;unh=oJpx;Y zz-~iew<56DBCuN!*v$y+H3;n02<#>V_9_JSN(8nRfxQBOy&QqP41v8AfxQHQtwCT9 zBd~`M*c%bp{Rr$n1a=gG-HpKRLSU~m7>vuNZkAqImRk|my#;|ifxzC3z#d0nk0G!V z2<%Y=_9g`O2m)J;z`79FDg@Svz&a4vN(9!9z}gVl3Ix`Qz*-R4el7q1DMQVP>i4So z{~v;rx#0Mqqo&et|FHcMo4?|d6<1m%%VU-n^Zll;nYJ5KhNsSP=zfm;I@yxe6zVxg z&?jbt5!#E5F;>-_)}-Y*=GrQuG==E_NV;c_2Q;QNk$8?_3pI{9laQ6*8ms@UIjzaV z^R}m=L@33A31(MzV_MUS=WI`PctT1Ot34ain)o}%*o8ViiLxW(TeK~$$-Hw6p(`wp zND*dldt+MDdFTARX?-2*^KMCN67QU6&O<_29G!tQW%dbaTUt|j=lsmW!rjb)zxK2y z@y;>TUm2D+Mx^Wk3cg{2CI21eYmKG3MJuPWX?49!v9S6%E)RIwH zP1=^$B+jLiJ1x@k+I&HR*TG1684V7&7WnT$|IH3_Ry~YK)YrvOoX2 zw59^jF`+_v{$rRlua5L#-Z=mY$5AN+(vwHD35q?Rvo3vzu;rH6r?L%6{#n+yzBzr6 zaO760pmG#K{zOQCGYBJ5E&qR?q2~7L_g7cDW~x43b%itN_@rZN<(&P?_BPwy6`!rR z)Ec&Y3C{ngP2V;R8Xq$J#IUdIh@ae=);f~bCdYYYuR=we7-TOGY))&O;j$b&E4QZ{DCdUJzS{JD3C9u!E4e5FE7IMq^j|z!6No`_% z;M>x3geAAkZ>4}unJ-u=)~6GMBDZqD2vmXN#^lztOh|H@gP_I^W5&94oG|3JasfkJ z#&35zMmUCf&E(-=Bp4QC|4c~mEykc!bq3w%>J;J3tL_-ChM610P0p8+JomfH-Vw1dIT0L|$LA<1pmwXp^uP3bTp%I}yRi9>=Y zGy}#=SX2mVa$oexH3Dj8nZqfAS}5pnaU%dhzPSHYfA+! z{{Lnr{{Oz}%U#i`uU2(B?{<8`VXZu9f5`T2TWiIA)_=G5SeDH{Ht#mQ%J?(mUc;Nq zPX8DFpUKS`+CX@e*RE6+v4 zamZ4irVQ;A%x#ZULYMh9&yW_u{6sF}P<4vi8P{iMCtz*^G_KA=%1MK@=U_vIbpGYn zq5(PzL=sU{&GxnoZSc#@U8As6S_-fZ$)*hL=F9KZ0gCAI_m&Lp+{$KA6!IZEJNIEHLE}vFQy^cV{$#+S(*HO^hO=D<=h{ts63$rYy&p&x9BWjE0l| zG4m02b4C+ztxa+}DJU#im*#D0O?;JOzM9fRRe9X36t7Kdx~a9veY_^%m=p>nqO3l@ zZD~#9l%ow5f@%UXvs+SAC*>GzCh>6G>$2hc|8=VWt?x4LFR%W$k3s$a!?gO}EUWeZ zSD3dbJpt7E|Bou&0JQpl<1i^$@sGE2MfqfMM`+pGFS0k_wA+Qf4u*(SS%MsX@ zA+To<*q0!%e}llj7=c|xV6zBp27yf@uqg!g0R%RQz`h89y&r*nAp(0J0(&n4dk+G8 zHv+qWz|JGEa|mn#ft3;1I073(U{4{iQ3O^(U?T`@7=aBTu(Js4T?p(F0vkkNXAszF z1a=C66%p6~0_#U$eF&_8z`g*1J&C~HiNM~0!2VwZ_B9CX-y*QDL||Wmz`hiLeGq}o zBd|F{{r{U0*Zl_s_U{qcHzBZZL}338fqer4`+5ZSbqMTh5!gut_I3pJHU#!!?}#CP zPmkYnp?XK0*5dy!R`UNpQ0;I{R=wT%SLY$eTOIbwWA?Y&jkco|Z?*of^(M-G$yFM7KjmS$DpsU(R&C=yej+?=6OMcgN>kRMZ0 z*^;@Icdl>2uG;p1b++oxY#~g!mCz)j0Z?%9Lo`|nE1Q@Eb{DfXvzc(_mg$eoyQ<4v zLl|-^o{|@%VqC3~VGR3qWv(V1xv412F#%*|{BjV~W{yYvxL|olW)tDdZLuomi;Gnz zyE0etw(cd0V%bFVebgnOee@o8YGm%hiT*gX=R_5U$+PSy#BS zE(7(M%ej*zdsXIU3d;HaO2ZosH8)nj!u1_jdsWQ&sPhWPOy#>PjrQZVw^sbIV$AxG zRdPeci(YtWUouLj`{HX6^0n z>0@Q>%}~7`?oNU-Tle%co4Pwg^?x|-w~E|GD+6SJ+0fk?ss^MtXD_pzw`Zs}&@8XS zur*%9A=dG{Jwv5}^rp-_GCUco9u(Ba%BrR{M(wsILnVZCn(7Mj))>}Z87d{jZLeN3 znk7)W#_(;;P)#B3t{Qb}M(9bmW%_t;B}+`JbPiyhA-XcXgsVQo04puso9Q8ZP85>OmVFr538BmGG1MW1SSExE7Ps(kN__pYG&xjY$trVo#IPgHxa}T+5Nb^8IP_5 z*xNI-kuYCR#!YDJv&ao>C^*@Z>C%;TZ_mbT-Ki^U@4!Y_dovw`wLWL3jSOoo{=e5y zGhY1=od4^pW}TmKUheQ$ez4MPzr*%!o3-KuX!)5fH=EyVHkghZA2Iyau(#X+0G>J8 z;+FR!s=2(O=UPlDe`8&ZJQ>>NmiHc;IOo-#mzXuFJwqGb@($NRkfzYlZaO%{B5vH8 z;okF>EJ$iZ31ipB4DET#O;EI$D(isl%+PkXyn~89XmbP=u^+Wl4+vf2#BO13dWo8R&tuc~EPX?A32|6AT$QeP+`Vux#6<^Wl_xrIK+B(TDk z)v|4w8+GK08>|hP8wl5%IG;HYdf>vYkJ49W|ZxPsM5ZE6gus=ay zpGIJRgup(DzIe3j+HH0(-G{gmyN)P`x9*s>T108)}YLzs~gw*Y#B| zc0T3oa-=Gstn}DlWc#MAtKxp^SFD>YA@e89wWgr)!$zy&czOK4?B9?MK;>Tz6%t@C|PpmvUxx>$PR5{tfRK+iXw_sg6_T zmJTf$?gBU@9yl8m0s*MxW3_5~h6>>Dj$IR-Cd`oS%uo#+-boA!OLWr#Z-$ED@Qzo^ zK>cn!4q`KYF&qp;l)mq*1EMoSrEz%McseFRM}2gn2-V2pJ${Smvf8#i<0meDUC82M z?~NHBAp^Zz}Dn#0wvcKyKBTlIkR+s^HdWaU>Y+wJ$*{@vCN`hWjw zZMWQS{<^u{bdT{%#umdpW#|2k{WIB`rK&T$3mPG73AaAgXQ|B0Va{1VK$Y=PCcCm! zP=@#N6oqy}P!fpT`*&oio(%67rI;_Pbvv?DS4JPUxB=Ugp)xbPn^J1FWwmNchHA}l zQ-C9$7Nw;dW^dAvp`tUqx2Txra~&C~JHvgH1|zfB8K5n54_PXCAE%-PwyYzyEpxYy zTybxILuQe1`6CpV$3yOT>G%H(o<`iMe z+pVHh0Bqn8-J6LL!n`x;Asm|k9rcZcGP*Moq0KugtI-zx{zOdhFUmpo+1H(k=ruM- zqDN9Osbj-Q0EqfJtqj{fERK7u33^VUh+q1OcEN^GD%2kYE z4BMQg{bqSL9w%g3XNB!q+H6*rmuv%G-DF3Www~qf22gEFD6<;4BYPQn#dKkdoWMG= zm+Hz^iUmMNh1Is6>?MRP?~so=5`+~M6;{Tb*&4!_`<`JM&e@PD6qmr6%}Tc?TTSSm z;v5=?D_jE`+go>LT{;|Hf5cJEpJy*OpHVFE9=m0 z%{mBA{sB1UC@asfmMKH5uu^BLz3f)C>rAzWovKY|s$N#A?b!-KmG{;bBCy!FMr+op zn_UT6M!Ra~|A?XHNcG>je&f2K>J`qPJD=ysSAMUu-=4KSW!qlyfb~ghza?k>nz_xi zX#AYgwFdIa`b1a=DoyBUGK27$dAf!&0_UWLG3 ziNIcgz+R5PUWUM4iojliz}6tJ)d;K$fvrMdod~Q0fvrSf?Fg(5fvrGbw<54s1lEGU znh{tN0&7HI4eVIU|01w|MPUDe!2TJ5{SyNFM+Ei{>{#nC0y~7j_9L)82&@-@btAA{ z2y80?+rr-e&pL{@?rsEj1cALCfqgy#`#c187Xo`70=pA|-NBBv{2qb*9RmAX1omR@ zNUi_h1?nAX-KNF=PbvNX-URXgqgC&yayq9RpK{bzM(v-oUu%n3e4%2KRkXa#{8#e< z)60yH8=DNL%H#Toe zRYn=(Jl&Ngayv^lUI~e1Y<-H2WpQ2zK_?aPsjGd#B<5&ff0pX+%=5khzYy{#LV_&C zqL9ljMj@Xr&fb8*lci!j+>$V;<;#e(`mEctRFa2VAnR<#tYinWM2aW5$a`D}i9k>S z8Jk6MLjz-bmb(fMHFG(0R%5%fRE39I2GlB)ebNFe;g&4b-{BU1fg~+W&Q;A1WX@%6 z$v&TC2kOL>IhC~~`#gP_GH0?jXLk{%+(MhBPoH&|)@QFHM7gC7_4-6Hs%DXS=7l+y z4NqHkCn3o#7vpY83TwME;j^D!tLj7uQY$okZ`W`_vLabD}| zyy%;e*sH7SvxD5tDEg+P*t`&9t*B0J%?{{bMxWqkZoJZ!?I#R*$EdX|Y-~DxN4Agf z<#zreO`?kVvcBsb*BuY0&> zSa6GdJ$@Q$KO{xOdt8pXx`uJ6Za%gc6&rTcH7GwNi_@MtA(RkgF)$wShY|tx*GHAf zEan&Elaq9#NRl_tkr;gx`gsa*@!pZh;^>j%$@VO5HG4a6zEaGu&dTeIq%yMZEbTb! z=S?;&!Qoe$l40swuL_}z@O4?za(2nco3P>|f%Qa@DUXY>xnMjYgkUc*7Zlek`zYhz zo24CSC4KpyBYnDz_O2}HLJKOjoL@r4>~q0@NRG!Fw0mEccBVb0^9|q(zavZg)83~C zZ#tuF(CSxYX{%cA1!X@Hje4L~c`CS;yR~dMH)n4qOX$P}~kKXrA7DL1`X|LB@Yf4l0ZEgec39 zlN$HL$zN8nsImuuUBEsON}Cj?tFjHCpPPUWhs3?Xkht>eF7kl`LR^NQ9!|(0np6BC z&lnUyPb-B|{&<4|zR%^juk4v^&rXnM#ytR`%$4+&J;yvV1`!v+>h;Zf}eNYAl&cN>MK|+?hLtG^b=X)ICo!J8#Vb~MuFliJ89yT;<^ki=& z_U6`CrFcLW(Z@_1?(7YEjS`Smh=e2|fEp!Q{D0I?bFlhluJ5}%RWavhoHdSPm9Mq` zr+vuwl8WzF3|ari@{DD~{3_EgOk>7Z8h&aREp`AHl8sr~ahBUAXe1^d5dzSeVZD-~ zvUR^LOB>DJdOY~v>{8I$sXkUMy+2~T*k5`OWVgD=gTrIOhnUNCF>TFKiPsZ+nTCQ9QI;gc z2yM$!byv<4|5Qkl0wB|b;M$y}s;-=;QaFI4=KS6)m2;K&K7W5O<`0RngwF?E5W%(Y zhcE&AY}J{i%C0B%qs>mYCrjmB!@TIyP4GO(UO{M9mgo=ISr2BX$tHN7KWiEQU`*gE zo7TFsRP!~cGj(=zcV?;NE4MLC$HYp!g`MtDmP)=Z@-}f%oML0c!<(fFu(Nt|XE%6P zmMXz=kI)twoSpALmP*1VcpDkAWyC4iU<5WcJho@4JnXc-%$bdSvHqVXC0Jj^UYBBh z2!TC=z$Ovc2N2kM5!fXJb`F7kAp(0J0vkbK7ZKP61a=;Q^&_xx1U81io z5ZDt4?9B-5aRl}l0vkeLClJ`92<%M=>=6X^FamoBfjx-89zbAkL||_~V8;>I{Rr$n z1U8MprV!ZE2<(dx*!vOKdl1;W5!eI*DDE+epc1U84j zW)av70=pN1-Gji6A+Q&FN2vAx)(h1;BCN&#V}_brtKaJSwQGOX8=Sv!UJw2MpQ`Mz zOSVtgF0Z)D`Vp(s5;T9tyx9~tK4xq*#7g4-$bTf=xfSUdPPxjE6*wzP(IcTmT>0OK zPfExhc|l$!C2^I6!R8zlpWzmh2|!>&7N?{TNIfz8a*~ZXC-J*;3&j$mkfq5^vnfYq zXKv!3D0x%?=eRC9(iPydW4tk*4}EN0P=qk=QsLffi6PfAnkHKQ+Mxix1a zgL4npr_MeuJ98@%Gn^(S|4b|xm%~t=1R2dB_c6Vm2yvM~yK+=yhMQa8FGl1TBqp=v zdY18R&RNI+;5LmG^JO0gZ809Z{{pW4G;K&Pe!j3k_4gYBw5E5XRJ$rfmFrat1~@p(rdGLFB%8vo9ocxdm5uYn_VXBYtT11BoR2VGceZO-mkMILh_{c4zM+ zq`4&w5E}=A)6-&XIwk}}SrLV29~bS}dkJTLX^;!!5m?})sOQANBL{*$PawoN!!>5_ zA!NC2YPFnAhy^3Ei(9jI6Pld!;gsxjTs~ZHc9Br!oVpc1m4IU6ji+uc5Zc^kGi@Lg z(`J9k8ng5IjN5Z41eLC8+WG&ThMI}$cUL=Iw^x0js@i$d@c~D5<+S~u>@M5MiuYAi zTko`d$l@}eG`+`EVVpF)6M5u6Z}4PCj%wL(%ZpdUA7GM=&IJ9@pnn!~9&gD}K^tz_ zyb4=2?Q|O2C$JCJwj9;5;kM;fm@3ts6SKi^7-QA;996O5wt5w~3Uk183eiuXBS)2N zxDHswu!o^K0?D>DMO` z1iey@XwwyDxHjaddJR{rj)tUlyBC$NS;^MiX5M=()vAT&pzITCNA4OzmFxRY&NV00 zGcShi)jF~rQx7!kY}<012wSd;)`-#z^oZIEl$~p1?kd8S+bKpFvao@T3W)NErrec; zCO4NixV#qYCT8FiyPhIg*$mK}t0g?S`4S7es-S;8P0KQ(ow+LrQErD8C^&*}m%6D^ zh5%~2(v-WL_w!fiDm>$Y!2UYb=Pn~WZ{+2R8=DyI_ICI6cy2hdkIgmImAjOXv+{$stnHC9q)BGDo@%!V0Xg# z|3ej*Sf?$Yuv~7QHhsiYW1Ka7>bxE3pZ$fBEjik&mfs;e5{GaN6d~f?ueu!VR6EXV z(o#EzKo9M;`~H>=2iRKEMzvf|fG0%XZmn-0`$W*5qwQ+By=KbuRvRgUoCL1xWLu7Q zuI0K{y;*6@huy2TR@p*@?F0+6hsv zGwC5AERN1V`!3A%RG(|pT=jeXnl@~zjB-1m7cA**}XAGMPIp%%?LPmv179?M-^VV%}CH#7H7(a9F=tC7T*Pq z*do@R9My3R^IFbfV;>9)vVSHd_!eWZ%b!7SIeT+d(^cZmS`AMV#&93F{6s47$}L3! zBz81oD~g5FF;$?FIYpr{M`d2Q%?3;@^~)C2)*Kai<+k>3u)M|r2k{feDnrd9HTTvW zscEYIef4A2udkM?_g8Om{mSto$1z7+<)16RQu(IJg~|h!b@t!bKW~4HJ!;=%`?>9t zwwK#xY}eT?srUh82`pE9wH95O!W_=e-{u18%D zyF#w(T~|~+Q}xlR2de^AL&mDA0IUB1(QD%C2<+1c?BfXRzap^zhQNLif&B^s`zQkY z7y|nx1ooo{?B@{Je@0+Gi@?4cf&CN$`$+`$6A0|b5!jC*updTXKZL-35P|&w0{eah z_I(KKdlA_8Ah7R3VE++;eJ29@4g~h?2<+Ps*ta6EZ$V%mL15pE!2SaQ`}YX!n-JJH zBCvmlzbz6ODPH3Iu81om$c*oP6=|AWB35`ldM0{ia> z>=Ov=R}t8ML14d(zRE&q4(=-u9mYX!>r~(f+r>VRc z72~R3j5%%JlcS0|+nK-&JH&V7c)j%xFbikb-0yE%TRl`!ESbqIV!5d%@e)CmOaMTn4?-c z{Afb>Oes3XWXxTgqry4dGGSyfj>tZ2%$?*NBA-|c`y@y_n?iJlf&?-3A(p2gTebYt#z?lje!7$uy?-Zrl(cN?L}Ek{Dh zenfBo>T|aep4@UI6rM^^Jp0gW$=yOo@_UJZF9#e&l_GV;XIn>$W;b4x`iO4!wShr}r??cv-pLR*g{ zY2~F;?*c?+{V@?n%8Z2A9t`9r2>FB#VhgXPK59=F_%ktJ+lVF}^7g?8m=gIjLL$P&gNOdZE$U-su{bK5wtSFwbzw`a%? z?bl*awf7dHr%_*yHoE1u-jom@=-Vi7+WA%=-n~5=ciVRurc1fIob!8+xlKI zPBu8advmlOu0FIkIJ#SMb7W=bwzn>^Hv1`{H<#eO@1snkkj|fofNV(&Um?FeCllJ- z>dVfi9Tp=Ac1ySB;)F7{^iE0{8hZtzh@$?^T#QiVR^&^mhSY{GN=GVo%eLoE5xU%Z z`V{CYjnq-i61#FyLYDi^D5RaZa19>XbCPbxC1)%4kDj6O!GYbAr@dSCIRfJaGdl9LiK{*?29%;hvLjD>xaz|;CSr6`dh@iCt3Jnq znCO?Gy9>xIN)ke=Xjh)}c3m>-;$=_^Q(@Qb7h_>*PK5odjN55>^R(IPtll@kKE?Lu zY42Bkd^@VuL&0!R9_a7y9l#K$En)R0?j7hI>SHI~m#1Q_`Z!5eEZ)~Wj4*g#o@%!0 z&D-1EgRpmRo=UjtGaatjyQd#v?w-7Z|K6v_3BN*n0AcK&JQaB5xMN$DwHIM)Z=TA% z>Ns<&li(2hJmSq$^;f+~BgRK}o(jSS^;sjuh(Cx7*YxG7Dy&Wup8)mqzE~nYgWFJf z@>CsGpHqP}Cm=1|o~JUg+`_Oh{{I%k(+0=e^{(|_y#v8&_5X&appr=pI%-lgJN1hyW5-Gsny zMPM&OV6Q=7uSQ@U2y86^dj$e}IXl++zwFqG8U(f)fpsCURS2vTfwdv96$q>qfwds8 zW(3xRz#0))13T9GR|NJi2<)E`*gqk#e?(yafWZD9f&Co<`&$I|e-PN;Ah5qiVE-F| z{VxReSM1mdJ3H3;p9t(P5!hcKus=s&e}=&R6oLH-0{aXC`(p(5M+oc>5!fFfu-`{u zzsHWPXh2}MA+TEz*v$y+RS4{r2<)W@>?InOX|GIb&Y7^JZvzvS^lf0m{u_et;|MJ2 z2f@UF^wna*l0INeSkh;L2}}A+Fkwl*E+*`k5H=&d$e6B6dR;JKNv{hgEa?Nrge85z zn6RV|7!#KCPGiE7-W*I=L~o9YO0E8Xr=jL(^=n+eaqWft|7V=fcRX16-O6rz+V-Ta zvtr)*S!=E31?IP#{$kp1e1+lrhMnr+JK2=yuERo-Gr)(A&|vc9sSXQoZ&Fcu4$51% zJx@hhc;`eGF~$`(c=J@Ag|~yhh;l%LI6flXurp6}T6kwi7LjImi+1O!VhithL?9+i zPYb>fv>aB-{^FkL;1rt(t~XC*TX>HP5R{&U0@|n$5wU4!U3n_t!aK9Gm^Ayq@Z_6F z_?7nzr{$hO^YNHcgvQReJKsnc^B&41Pfn5QK&Qb8yY1PR#Rw9foiokndDVGP}C z^`xuKXY6#F^ILQpx2kp7iFV~T6QaDAG+!to;)iWV{u;uUcffjuFS~U+@>lD~7CUI0 z@|y_Tn>bIlif!4g+LOPE@Z_GKm5?Rq0{|LIp!|YVQ0~ZIsnb}{Di#v3LuaM|}F9%l@_>jX=7 z<*5`4@0m`5mUz>o9E14@BwO+$WW4aMbkg{;GwsS#X%^m=4JSf!P!^Of9SCjP?RhH7 z!rP6aALBf`IY3FQE2n3*OExTnq z^8lP>mH-JI_xbb0$QRqL|bwJX1!5aqp(R|2;i@dbGZU)~Gb3SV~X zcI4eUvPBMBE&dPn|3{$z-)~%FaQ^?L^LmK?KT~;~{UO`;Y&{h(vVPOrWx3z{6?3C$ z&iDo6mS@)i0M5I#r7G|9ZcL2Bj+^~Sw&!VIRo)Sln5di}Du3G&y6m=X&mSc-yAEWL6MM2T ze-j~ln6r}~1_HZHJ^3SqCU18}6uRX=#T+`I+Lb>{81vpe6*FeHa9942u6(frw1ZPp>fxwq>_!SAMTvV^&FS)co-XcV|^##wx8QRX?wYC#&(_Ul8PTxe5hi%;sq6b z6?W@W)^}OY)I7mn(O*^NeA@XwXT~|{>~>ll-&n63flg@!&*EzlwJ}6{l&Q{xXpb^s ziB>8TmT09iVV_3a8_|Jfx-QXyWx|pgLMAM!A!Ndm8bT)QcM*0VwVzDaCAFVSSW^4R zgeA3~OjuI;$%G}fpG;U%W6XplHO5R>Qa8+mC3VA0SW-94ge7&uOjuGk%z`zU*vFZP z^c7&bF6k@4f;E!<6--#tgMbN3dJr&SNe==hEa^eOge5%)n6RV=0TY(=AYj6h9t2ES z(u05rOL`D6VMz}HCM@Yez=S0|2w1Qt4`Qsl5!fySwiAKvKw#Su*fs>V6@hI*V4D%x zCIq$-fhBeNOk;=iMqyi-B?4V1K2elvpgip3BPnAx% z^PNe^ij*%dp5)0>wG-Z+Syf61szH=i4-1G21$RD3JhQyBVpkaZgc$qlwmm;X2=gvZ zPzi6Oae_BLO(^s3_OL=39S-s2rwD0XhO(rnc;Q~Yj=V@1^A0+yW)8|?7%{bV<^zN+ z@028!Ew;@=Yu-=ja^FWN^4}P(TW{V+sOs{%ZLC>IS6(2b`LA?fUqYIF8t%%!Ku^Bt z>8vY%QdhoG420_u(?fUuPQsUWD;RZp5LU!X*~f%Ce+S{reJ?Ssh`mGgk_5SH?1cOB zlY}sDSqSa0vC*fO(RT-Gg-R?Y5D&rmGl3rUB7aT zRK3jk182V@TlrLFzdd7n+}2QW%K9;@1N#5H%WNzA|I%%AJ*!^i&{$8ElxVa$cXvO_PB!W2<_T=v& ze0g``fHsg*iID0yLZ4dN^LG>0ylZPVP_N#YUnFF??HEYsV>uRPpV8X$3p&|!1MbWky{D?ed7I;%m4B+-YtPxfWoxYnS>Iy$gJsP8Qqwn0n~b921I(xY3kFPf zF4MNF+$Lb~6T((3DykiM60$5IX0+|gwD~HxqeTf_IKvaaP&6{l*0+7vGU>m{PvE|o zvXBS_CD6BD6k~J2ctQw8W8z#8qj=i4Ok1*Y^LVat1Gq5t_GQ|fmHSvxvH%pJR_s{u zF4I1(+$L&j>VO!P;z1euykSXqEz>rw+$QQW(zu+V=P%c43(Jy?mnXH1uTQbFEY1rd zNWFliQ52yaxrE5T7+k)Btc~-$Z^18w{E3htOR*?){TE?2iN`T*3c8msC)BxlTB!BQ zsI%{%I+rgaoVhQOE1cQs4lQ3w=q~ae9Yw3n#)gM?`4YmN`wUplo!#Kumum=V?ki0Z zY3OdqPPuKlno#EEBml3hCK;l}77z`Y+Lm4Va_z;~wMt*Eh;~e^%TB_T+X=RG46vKE zaoItra`O}R`b06RI*vW_!W`RPzhk+Q(B$TDxm%LL+Kvsq6gMv0c^h?wE#}$Vc+;GZ zL1tcD0s#Q#XRn<9D-E57nj5Mgc74}XUlnp5c0A*F7=Bd#=jFj=O%<#8k;8`O8tXux zzk8t9KkV)nd%W(x0soL&=;`;l`}#!RP_M7Af66b6M`Vc02IH_(6z_34>gpOswSLzJ zf)Q~fHXU!+QFpuYbNJ2nhy-~pQ$cb-Req9)#DyubQyaw^1Y+iq9p1riZx{Thr}#H< zIS>l^iojwlCdFcKK#0jZqA@8Pl~>^EW%^eB9T2C0(T=e_yN~bNdF<%O=$@6|%|It~ z=xrR6qKk7v(e-2E6h!NwTl$X4hS439lSg6_^otDF?F~X|PF>r=&_Mg-f}^_JJ|QqB$bv`t&x9!NS&(5=2bDh3x>M4VfS%ty z784+-JFV*jI0Rx``(;_D_mT|E6GWDAuM~sKY&{>zE#Z*v-w%t+sd5ql(U+Jmn!MG2 z?|^W1Xk{u@L^*{}a5}Q1-&?e_NKp`#fX1=z6{M7qcSydwCMU;~%T7*CD4E-bCp>$g zEn7sLqgJr71S|)lyxt;FSPtrLR-K)76SCs}oSf|G_6|-?Dr=@1rJkHTCc*-9Op-#d zh)l==Xd2XwM1&9&pvCErVaP(1{fEZAI8TSxU#S2M1;e$dp zm}lo8eHZ4n9Rr^3?v>k+h1fLQ1*`!vA-1^k^MpJ#1m*yJg~HEZA&iPKSzYPKs<$|< z6v+AGt748So0ga#XpKRK-f1P);gL@dnUfGch7gwL7 z_J!+QxERHJ(SyYoRJIGpK{OMd5Uk%JadL7b8dVmS$;kr}I8T%Z9gddm2)b_89?ULf zW8k5N9g*c&5Vq1_Juro`m%5`%-D$y7xJ&fQg$;w_i!K(aC-xRzJaN!;lU~IuzJ;! z`zpR(V7XDf-p+A@p~l+Z?;9NS_j%pJgZ*&5-d;akuYbzjFAjP8r@Z|={R2JY@iB2q z0No*Y&0=yQO3bP4Vgt%+e{3--Dy9Mb78sfVu>E~YS1)TCq3+YqHyFCD1HSI5?g8(R z+t=4OlpJTVIyw4-^l}*qLqW74B!df=|&xh1Im&cfae*R`oKc zHgFk*#?YB-)z44kKCgUq?-?~g!H_hve0DAv5J|MV{2rcnX0ys6zLD!FOoq=~qh270 zynyoA(KA=8pS_Rev*318ohX6wTe$AbCiN;3{wmrHT*ZC^B$tn7%nqEnQvIx-<*VuX zpnU0$GqvgmXIVZN2ET;j%mJs8n!J6(88yynNLI3ZTA3xG9)yhHvu640&s?rDna5v? z&bT+8Q3HX7q?7d;MFa9ILL+A`RS7L_;9``~{xfR4%#gIQUW7iJv*+x`AbPqoX;_jw+Ch9%exKBsS@ zI1sin;ytI;3O&Qp;paI0!m7Icv|6BNSi0!~G2YO4Uu9IS82PHxYJHwzsr~{{o(Rmw zSC$6PnB<=YhcEne(xmn zQ)zs##?kYD;)~wAr;_#4#s^(j4LzWEjQjhIcI7MS<&{7;{jSx1<}yC$bnbpYao*P7 zZZs+%l_8;T0)j|U?`j{QL_I4oo7MQz{TDEBUG;TRACE prompt 4 + true pdbonly @@ -30,6 +31,9 @@ 4 + + ..\packages\Magick.NET-Q16-AnyCPU.7.0.7.300\lib\net40\Magick.NET-Q16-AnyCPU.dll + @@ -48,6 +52,7 @@ True Resources.resx + UserControl @@ -75,6 +80,7 @@ + diff --git a/ShiftOS.Engine/Tools.cs b/ShiftOS.Engine/Tools.cs new file mode 100644 index 0000000..eca7b59 --- /dev/null +++ b/ShiftOS.Engine/Tools.cs @@ -0,0 +1,32 @@ +using System; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; +using System.Runtime.InteropServices; +using ImageMagick; + +namespace ShiftOS.Engine +{ + ///

+ /// Random class full of unassorted [but also uncategorizable] tools. + /// + public static class Tools + { + public static Random Rnd = new Random(); + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public extern static bool DestroyIcon(IntPtr handle); + + public static Icon ToIcon(this Bitmap bm) + { + Icon tempicon = Icon.FromHandle(bm.GetHicon()); + + Icon newIcon = tempicon.Clone() as Icon; + + //for some reason this exists + DestroyIcon(tempicon.Handle); + + return newIcon; + } + } +} diff --git a/ShiftOS.Engine/WindowManager/InfoboxTemplate.cs b/ShiftOS.Engine/WindowManager/InfoboxTemplate.cs index c1921a6..a5be129 100644 --- a/ShiftOS.Engine/WindowManager/InfoboxTemplate.cs +++ b/ShiftOS.Engine/WindowManager/InfoboxTemplate.cs @@ -1,11 +1,5 @@ using System; -using System.Collections.Generic; -using System.ComponentModel; using System.Drawing; -using System.Data; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; using System.Media; using System.IO; @@ -14,38 +8,39 @@ namespace ShiftOS.Engine.WindowManager { public partial class InfoboxTemplate : UserControl { - Stream str; - public int buttonChoice; - public int buttonSelected; - public InfoboxTemplate(buttonType type) + Stream _str; + private int _buttonChoice; + private int _buttonSelected; + public InfoboxTemplate(ButtonType type) { InitializeComponent(); switch (type) { - case buttonType.OK: + case ButtonType.Ok: btnOpt1.Text = "OK"; btnOpt2.Hide(); btnOpt1.Location = new Point(109, 134); - buttonChoice = 1; + _buttonChoice = 1; break; - case buttonType.OKCancel: + case ButtonType.OkCancel: btnOpt1.Text = "OK"; btnOpt2.Text = "Cancel"; - buttonChoice = 2; + _buttonChoice = 2; break; - case buttonType.YesNo: + case ButtonType.YesNo: btnOpt1.Text = "Yes"; btnOpt2.Text = "No"; - buttonChoice = 3; + _buttonChoice = 3; break; } } - public enum buttonType + + public enum ButtonType { YesNo, - OKCancel, - OK + OkCancel, + Ok } private void btnOpt1_Click(object sender, EventArgs e) @@ -53,12 +48,12 @@ namespace ShiftOS.Engine.WindowManager switch (btnOpt1.Text) { case "OK": - buttonSelected = 1; - ParentForm.Close(); + _buttonSelected = 1; + ParentForm?.Close(); break; case "Yes": - buttonSelected = 2; - ParentForm.Close(); + _buttonSelected = 2; + ParentForm?.Close(); break; } } @@ -68,27 +63,26 @@ namespace ShiftOS.Engine.WindowManager switch (btnOpt2.Text) { case "No": - buttonSelected = 3; + _buttonSelected = 3; break; case "Cancel": - buttonSelected = 4; + _buttonSelected = 4; break; } } + public void Play() { - str = Properties.Resources.infobox; - SoundPlayer sp = new SoundPlayer(str); + _str = Properties.Resources.infobox; + SoundPlayer sp = new SoundPlayer(_str); sp.Play(); sp.Stream.Position = 0; } - private void InfoboxTemplate_Load(object sender, EventArgs e) - { - Play(); - } + private void InfoboxTemplate_Load(object sender, EventArgs e) + => Play(); - private void changeSize_Tick(object sender, EventArgs e) + private void changeSize_Tick(object sender, EventArgs e) { this.Height += label1.Height; this.Width += label1.Width; diff --git a/ShiftOS.Engine/WindowManager/ShiftWM.cs b/ShiftOS.Engine/WindowManager/ShiftWM.cs index 38537c7..539d469 100644 --- a/ShiftOS.Engine/WindowManager/ShiftWM.cs +++ b/ShiftOS.Engine/WindowManager/ShiftWM.cs @@ -1,41 +1,81 @@ -using System.Drawing; +using System; +using System.Collections.ObjectModel; +using System.Diagnostics; +using System.Drawing; +using System.Linq; using System.Windows.Forms; using static ShiftOS.Engine.WindowManager.InfoboxTemplate; namespace ShiftOS.Engine.WindowManager { - public class ShiftWM + public static class ShiftWM { - public ShiftWindow Init(UserControl content, string title, Image icon, bool ShowAsInfobox = false, bool resize = true) + public static ObservableCollection Windows { get; } = new ObservableCollection(); + + public static ShiftWindow GetShiftWindow(this UserControl control) + { + return Windows.First(p => (uint) control.Tag == p.Id); + } + + public static ShiftWindow Init(UserControl content, string title, Icon icon, bool showAsInfobox = false, bool resize = true) { // Setup Window - ShiftWindow app = new ShiftWindow(); - app.Text = title; - app.Title.Text = title; - app.Width = content.Width + app.left.Width + app.right.Width; + ShiftWindow app = new ShiftWindow + { + Text = title, + Title = {Text = title} + }; + + app.Width = content.Width + app.left.Width + app.right.Width; app.Height = content.Height + app.bottom.Height + app.top.Height; // Icon Setup - if (icon == null) - { - app.programIcon.Hide(); - app.programIcon.Image = Properties.Resources.nullIcon; - app.Title.Location = new Point(2, 7); - } - else app.programIcon.Image = icon; + if (icon == null) + { + app.programIcon.Hide(); + app.programIcon.Image = Properties.Resources.nullIcon; + app.Title.Location = new Point(2, 7); + } - // Setup UC - content.Parent = app.programContent; + else + { + app.programIcon.Image = icon.ToBitmap(); + app.Icon = icon; + } + + // Setup UC + content.Parent = app.programContent; content.BringToFront(); content.Dock = DockStyle.Fill; app.Show(); + + content.Tag = app.SetId(); + + Debug.WriteLine($"usercontrol: {content.Tag} window: {app.Id}"); + + app.Closed += (sender, args) => + { + Windows.Remove((ShiftWindow) sender); + }; + + Windows.Add(app); + + if (content is IShiftWindowExtensions extensions) + { + extensions.OnLoaded(app); + } + return app; } - public InfoboxTemplate StartInfoboxSession(string title, string body, buttonType type) + + public static InfoboxTemplate StartInfoboxSession(string title, string body, ButtonType type) { - InfoboxTemplate info = new InfoboxTemplate(type); - info.label1.Text = body; - Init(info, title, Properties.Resources.iconInfoBox_fw, true, false); + InfoboxTemplate info = new InfoboxTemplate(type) + { + label1 = { Text = body } + }; + + Init(info, title, Properties.Resources.iconInfoBox_fw.ToIcon(), true, false); return info; } } diff --git a/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs b/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs index f7443d6..1e0f105 100644 --- a/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs +++ b/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs @@ -28,220 +28,238 @@ /// private void InitializeComponent() { - this.program = new System.Windows.Forms.Panel(); - this.programContent = new System.Windows.Forms.Panel(); - this.bottomleftcorner = new System.Windows.Forms.Panel(); - this.toprightcorner = new System.Windows.Forms.Panel(); - this.bottomrightcorner = new System.Windows.Forms.Panel(); - this.topleftcorner = new System.Windows.Forms.Panel(); - this.bottom = new System.Windows.Forms.Panel(); - this.top = new System.Windows.Forms.Panel(); - this.programIcon = new System.Windows.Forms.PictureBox(); - this.maximizebutton = new System.Windows.Forms.PictureBox(); - this.minimizebutton = new System.Windows.Forms.PictureBox(); - this.Title = new System.Windows.Forms.Label(); - this.closebutton = new System.Windows.Forms.PictureBox(); - this.right = new System.Windows.Forms.Panel(); - this.left = new System.Windows.Forms.Panel(); - this.program.SuspendLayout(); - this.top.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.programIcon)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.maximizebutton)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.minimizebutton)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.closebutton)).BeginInit(); - this.SuspendLayout(); - // - // program - // - this.program.BackColor = System.Drawing.Color.White; - this.program.Controls.Add(this.programContent); - this.program.Controls.Add(this.bottomleftcorner); - this.program.Controls.Add(this.toprightcorner); - this.program.Controls.Add(this.bottomrightcorner); - this.program.Controls.Add(this.topleftcorner); - this.program.Controls.Add(this.bottom); - this.program.Controls.Add(this.top); - this.program.Controls.Add(this.right); - this.program.Controls.Add(this.left); - this.program.Dock = System.Windows.Forms.DockStyle.Fill; - this.program.Location = new System.Drawing.Point(0, 0); - this.program.Name = "program"; - this.program.Size = new System.Drawing.Size(284, 261); - this.program.TabIndex = 11; - // - // programContent - // - this.programContent.Dock = System.Windows.Forms.DockStyle.Fill; - this.programContent.Location = new System.Drawing.Point(4, 30); - this.programContent.Name = "programContent"; - this.programContent.Size = new System.Drawing.Size(276, 227); - this.programContent.TabIndex = 11; - // - // bottomleftcorner - // - this.bottomleftcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.bottomleftcorner.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.bottomleftcorner.Location = new System.Drawing.Point(0, 257); - this.bottomleftcorner.Name = "bottomleftcorner"; - this.bottomleftcorner.Size = new System.Drawing.Size(5, 4); - this.bottomleftcorner.TabIndex = 10; - // - // toprightcorner - // - this.toprightcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.toprightcorner.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.toprightcorner.Location = new System.Drawing.Point(278, 0); - this.toprightcorner.Name = "toprightcorner"; - this.toprightcorner.Size = new System.Drawing.Size(6, 30); - this.toprightcorner.TabIndex = 9; - // - // bottomrightcorner - // - this.bottomrightcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.bottomrightcorner.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.bottomrightcorner.Cursor = System.Windows.Forms.Cursors.SizeNWSE; - this.bottomrightcorner.Location = new System.Drawing.Point(280, 257); - this.bottomrightcorner.Name = "bottomrightcorner"; - this.bottomrightcorner.Size = new System.Drawing.Size(4, 4); - this.bottomrightcorner.TabIndex = 4; - // - // topleftcorner - // - this.topleftcorner.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.topleftcorner.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; - this.topleftcorner.Location = new System.Drawing.Point(0, 0); - this.topleftcorner.Name = "topleftcorner"; - this.topleftcorner.Size = new System.Drawing.Size(7, 30); - this.topleftcorner.TabIndex = 8; - // - // bottom - // - this.bottom.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.bottom.Cursor = System.Windows.Forms.Cursors.SizeNS; - this.bottom.Dock = System.Windows.Forms.DockStyle.Bottom; - this.bottom.Location = new System.Drawing.Point(4, 257); - this.bottom.Name = "bottom"; - this.bottom.Size = new System.Drawing.Size(276, 4); - this.bottom.TabIndex = 3; - // - // top - // - this.top.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.top.Controls.Add(this.programIcon); - this.top.Controls.Add(this.maximizebutton); - this.top.Controls.Add(this.minimizebutton); - this.top.Controls.Add(this.Title); - this.top.Controls.Add(this.closebutton); - this.top.Dock = System.Windows.Forms.DockStyle.Top; - this.top.ForeColor = System.Drawing.SystemColors.ControlText; - this.top.Location = new System.Drawing.Point(4, 0); - this.top.Name = "top"; - this.top.Size = new System.Drawing.Size(276, 30); - this.top.TabIndex = 0; - this.top.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Programtopbar_drag); - // - // programIcon - // - this.programIcon.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.programIcon.ErrorImage = null; - this.programIcon.InitialImage = null; - this.programIcon.Location = new System.Drawing.Point(6, 7); - this.programIcon.Name = "programIcon"; - this.programIcon.Size = new System.Drawing.Size(16, 16); - this.programIcon.TabIndex = 7; - this.programIcon.TabStop = false; - // - // maximizebutton - // - this.maximizebutton.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.maximizebutton.BackColor = System.Drawing.Color.Black; - this.maximizebutton.Location = new System.Drawing.Point(230, 4); - this.maximizebutton.Name = "maximizebutton"; - this.maximizebutton.Size = new System.Drawing.Size(21, 21); - this.maximizebutton.TabIndex = 6; - this.maximizebutton.TabStop = false; - this.maximizebutton.MouseDown += new System.Windows.Forms.MouseEventHandler(this.maximizebutton_MouseDown); - this.maximizebutton.MouseEnter += new System.EventHandler(this.maximizebutton_MouseEnter); - this.maximizebutton.MouseLeave += new System.EventHandler(this.maximizebutton_MouseLeave); - this.maximizebutton.MouseUp += new System.Windows.Forms.MouseEventHandler(this.maximizebutton_MouseUp); - // - // minimizebutton - // - this.minimizebutton.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.minimizebutton.BackColor = System.Drawing.Color.Black; - this.minimizebutton.Location = new System.Drawing.Point(207, 4); - this.minimizebutton.Name = "minimizebutton"; - this.minimizebutton.Size = new System.Drawing.Size(21, 21); - this.minimizebutton.TabIndex = 5; - this.minimizebutton.TabStop = false; - this.minimizebutton.MouseDown += new System.Windows.Forms.MouseEventHandler(this.minimizebutton_MouseDown); - this.minimizebutton.MouseEnter += new System.EventHandler(this.minimizebutton_MouseEnter); - this.minimizebutton.MouseLeave += new System.EventHandler(this.minimizebutton_MouseLeave); - this.minimizebutton.MouseUp += new System.Windows.Forms.MouseEventHandler(this.minimizebutton_MouseUp); - // - // Title - // - this.Title.AutoSize = true; - this.Title.BackColor = System.Drawing.Color.Transparent; - this.Title.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.Title.ForeColor = System.Drawing.Color.White; - this.Title.Location = new System.Drawing.Point(25, 8); - this.Title.Name = "Title"; - this.Title.Size = new System.Drawing.Size(98, 13); - this.Title.TabIndex = 3; - this.Title.Text = "Application Title"; - this.Title.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Programtopbar_drag); - // - // closebutton - // - this.closebutton.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.closebutton.BackColor = System.Drawing.Color.Black; - this.closebutton.Location = new System.Drawing.Point(253, 4); - this.closebutton.Name = "closebutton"; - this.closebutton.Size = new System.Drawing.Size(21, 21); - this.closebutton.TabIndex = 4; - this.closebutton.TabStop = false; - this.closebutton.Click += new System.EventHandler(this.closebutton_Click); - this.closebutton.MouseDown += new System.Windows.Forms.MouseEventHandler(this.closebutton_MouseDown); - this.closebutton.MouseEnter += new System.EventHandler(this.closebutton_MouseEnter); - this.closebutton.MouseLeave += new System.EventHandler(this.closebutton_MouseLeave); - this.closebutton.MouseUp += new System.Windows.Forms.MouseEventHandler(this.closebutton_MouseUp); - // - // right - // - this.right.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.right.Cursor = System.Windows.Forms.Cursors.SizeWE; - this.right.Dock = System.Windows.Forms.DockStyle.Right; - this.right.Location = new System.Drawing.Point(280, 0); - this.right.Name = "right"; - this.right.Size = new System.Drawing.Size(4, 261); - this.right.TabIndex = 2; - // - // left - // - this.left.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); - this.left.Dock = System.Windows.Forms.DockStyle.Left; - this.left.Location = new System.Drawing.Point(0, 0); - this.left.Name = "left"; - this.left.Size = new System.Drawing.Size(4, 261); - this.left.TabIndex = 1; - // - // ShiftWindow - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(284, 261); - this.Controls.Add(this.program); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; - this.Name = "ShiftWindow"; - this.program.ResumeLayout(false); - this.top.ResumeLayout(false); - this.top.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.programIcon)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.maximizebutton)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.minimizebutton)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.closebutton)).EndInit(); - this.ResumeLayout(false); + this.program = new System.Windows.Forms.Panel(); + this.programContent = new System.Windows.Forms.Panel(); + this.bottomleftcorner = new System.Windows.Forms.Panel(); + this.toprightcorner = new System.Windows.Forms.Panel(); + this.bottomrightcorner = new System.Windows.Forms.Panel(); + this.topleftcorner = new System.Windows.Forms.Panel(); + this.bottom = new System.Windows.Forms.Panel(); + this.top = new System.Windows.Forms.Panel(); + this.programIcon = new System.Windows.Forms.PictureBox(); + this.maximizebutton = new System.Windows.Forms.PictureBox(); + this.minimizebutton = new System.Windows.Forms.PictureBox(); + this.Title = new System.Windows.Forms.Label(); + this.closebutton = new System.Windows.Forms.PictureBox(); + this.right = new System.Windows.Forms.Panel(); + this.left = new System.Windows.Forms.Panel(); + this.program.SuspendLayout(); + this.top.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.programIcon)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.maximizebutton)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.minimizebutton)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.closebutton)).BeginInit(); + this.SuspendLayout(); + // + // program + // + this.program.BackColor = System.Drawing.Color.White; + this.program.Controls.Add(this.programContent); + this.program.Controls.Add(this.bottomleftcorner); + this.program.Controls.Add(this.toprightcorner); + this.program.Controls.Add(this.bottomrightcorner); + this.program.Controls.Add(this.topleftcorner); + this.program.Controls.Add(this.bottom); + this.program.Controls.Add(this.top); + this.program.Controls.Add(this.right); + this.program.Controls.Add(this.left); + this.program.Dock = System.Windows.Forms.DockStyle.Fill; + this.program.Location = new System.Drawing.Point(0, 0); + this.program.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.program.Name = "program"; + this.program.Size = new System.Drawing.Size(426, 402); + this.program.TabIndex = 11; + // + // programContent + // + this.programContent.Dock = System.Windows.Forms.DockStyle.Fill; + this.programContent.Location = new System.Drawing.Point(6, 46); + this.programContent.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.programContent.Name = "programContent"; + this.programContent.Size = new System.Drawing.Size(414, 350); + this.programContent.TabIndex = 11; + // + // bottomleftcorner + // + this.bottomleftcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.bottomleftcorner.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.bottomleftcorner.Location = new System.Drawing.Point(0, 395); + this.bottomleftcorner.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.bottomleftcorner.Name = "bottomleftcorner"; + this.bottomleftcorner.Size = new System.Drawing.Size(8, 6); + this.bottomleftcorner.TabIndex = 10; + // + // toprightcorner + // + this.toprightcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.toprightcorner.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.toprightcorner.Location = new System.Drawing.Point(417, 0); + this.toprightcorner.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.toprightcorner.Name = "toprightcorner"; + this.toprightcorner.Size = new System.Drawing.Size(9, 46); + this.toprightcorner.TabIndex = 9; + // + // bottomrightcorner + // + this.bottomrightcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.bottomrightcorner.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.bottomrightcorner.Cursor = System.Windows.Forms.Cursors.SizeNWSE; + this.bottomrightcorner.Location = new System.Drawing.Point(420, 395); + this.bottomrightcorner.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.bottomrightcorner.Name = "bottomrightcorner"; + this.bottomrightcorner.Size = new System.Drawing.Size(6, 6); + this.bottomrightcorner.TabIndex = 4; + // + // topleftcorner + // + this.topleftcorner.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.topleftcorner.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; + this.topleftcorner.Location = new System.Drawing.Point(0, 0); + this.topleftcorner.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.topleftcorner.Name = "topleftcorner"; + this.topleftcorner.Size = new System.Drawing.Size(10, 46); + this.topleftcorner.TabIndex = 8; + // + // bottom + // + this.bottom.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.bottom.Cursor = System.Windows.Forms.Cursors.SizeNS; + this.bottom.Dock = System.Windows.Forms.DockStyle.Bottom; + this.bottom.Location = new System.Drawing.Point(6, 396); + this.bottom.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.bottom.Name = "bottom"; + this.bottom.Size = new System.Drawing.Size(414, 6); + this.bottom.TabIndex = 3; + // + // top + // + this.top.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.top.Controls.Add(this.programIcon); + this.top.Controls.Add(this.maximizebutton); + this.top.Controls.Add(this.minimizebutton); + this.top.Controls.Add(this.Title); + this.top.Controls.Add(this.closebutton); + this.top.Dock = System.Windows.Forms.DockStyle.Top; + this.top.ForeColor = System.Drawing.SystemColors.ControlText; + this.top.Location = new System.Drawing.Point(6, 0); + this.top.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.top.Name = "top"; + this.top.Size = new System.Drawing.Size(414, 46); + this.top.TabIndex = 0; + this.top.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Programtopbar_drag); + // + // programIcon + // + this.programIcon.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.programIcon.ErrorImage = null; + this.programIcon.InitialImage = null; + this.programIcon.Location = new System.Drawing.Point(9, 11); + this.programIcon.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.programIcon.Name = "programIcon"; + this.programIcon.Size = new System.Drawing.Size(24, 25); + this.programIcon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.programIcon.TabIndex = 7; + this.programIcon.TabStop = false; + // + // maximizebutton + // + this.maximizebutton.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.maximizebutton.BackColor = System.Drawing.Color.Black; + this.maximizebutton.Location = new System.Drawing.Point(345, 6); + this.maximizebutton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.maximizebutton.Name = "maximizebutton"; + this.maximizebutton.Size = new System.Drawing.Size(32, 32); + this.maximizebutton.TabIndex = 6; + this.maximizebutton.TabStop = false; + this.maximizebutton.MouseDown += new System.Windows.Forms.MouseEventHandler(this.maximizebutton_MouseDown); + this.maximizebutton.MouseEnter += new System.EventHandler(this.maximizebutton_MouseEnter); + this.maximizebutton.MouseLeave += new System.EventHandler(this.maximizebutton_MouseLeave); + this.maximizebutton.MouseUp += new System.Windows.Forms.MouseEventHandler(this.maximizebutton_MouseUp); + // + // minimizebutton + // + this.minimizebutton.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.minimizebutton.BackColor = System.Drawing.Color.Black; + this.minimizebutton.Location = new System.Drawing.Point(310, 6); + this.minimizebutton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.minimizebutton.Name = "minimizebutton"; + this.minimizebutton.Size = new System.Drawing.Size(32, 32); + this.minimizebutton.TabIndex = 5; + this.minimizebutton.TabStop = false; + this.minimizebutton.MouseDown += new System.Windows.Forms.MouseEventHandler(this.minimizebutton_MouseDown); + this.minimizebutton.MouseEnter += new System.EventHandler(this.minimizebutton_MouseEnter); + this.minimizebutton.MouseLeave += new System.EventHandler(this.minimizebutton_MouseLeave); + this.minimizebutton.MouseUp += new System.Windows.Forms.MouseEventHandler(this.minimizebutton_MouseUp); + // + // Title + // + this.Title.AutoSize = true; + this.Title.BackColor = System.Drawing.Color.Transparent; + this.Title.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Title.ForeColor = System.Drawing.Color.White; + this.Title.Location = new System.Drawing.Point(38, 12); + this.Title.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.Title.Name = "Title"; + this.Title.Size = new System.Drawing.Size(149, 21); + this.Title.TabIndex = 3; + this.Title.Text = "Application Title"; + this.Title.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Programtopbar_drag); + // + // closebutton + // + this.closebutton.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.closebutton.BackColor = System.Drawing.Color.Black; + this.closebutton.Location = new System.Drawing.Point(380, 6); + this.closebutton.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.closebutton.Name = "closebutton"; + this.closebutton.Size = new System.Drawing.Size(32, 32); + this.closebutton.TabIndex = 4; + this.closebutton.TabStop = false; + this.closebutton.Click += new System.EventHandler(this.closebutton_Click); + this.closebutton.MouseDown += new System.Windows.Forms.MouseEventHandler(this.closebutton_MouseDown); + this.closebutton.MouseEnter += new System.EventHandler(this.closebutton_MouseEnter); + this.closebutton.MouseLeave += new System.EventHandler(this.closebutton_MouseLeave); + this.closebutton.MouseUp += new System.Windows.Forms.MouseEventHandler(this.closebutton_MouseUp); + // + // right + // + this.right.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.right.Cursor = System.Windows.Forms.Cursors.SizeWE; + this.right.Dock = System.Windows.Forms.DockStyle.Right; + this.right.Location = new System.Drawing.Point(420, 0); + this.right.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.right.Name = "right"; + this.right.Size = new System.Drawing.Size(6, 402); + this.right.TabIndex = 2; + // + // left + // + this.left.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.left.Dock = System.Windows.Forms.DockStyle.Left; + this.left.Location = new System.Drawing.Point(0, 0); + this.left.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.left.Name = "left"; + this.left.Size = new System.Drawing.Size(6, 402); + this.left.TabIndex = 1; + // + // ShiftWindow + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(426, 402); + this.Controls.Add(this.program); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "ShiftWindow"; + this.Text = "c"; + this.program.ResumeLayout(false); + this.top.ResumeLayout(false); + this.top.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.programIcon)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.maximizebutton)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.minimizebutton)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.closebutton)).EndInit(); + this.ResumeLayout(false); } diff --git a/ShiftOS.Engine/WindowManager/ShiftWindow.cs b/ShiftOS.Engine/WindowManager/ShiftWindow.cs index 45aec7c..a41786a 100644 --- a/ShiftOS.Engine/WindowManager/ShiftWindow.cs +++ b/ShiftOS.Engine/WindowManager/ShiftWindow.cs @@ -1,11 +1,6 @@ using System; -using System.Collections.Generic; -using System.ComponentModel; using System.Drawing; -using System.Data; using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; using System.Runtime.InteropServices; @@ -13,91 +8,86 @@ namespace ShiftOS.Engine.WindowManager { public partial class ShiftWindow : Form { - public ShiftWindow() + public uint Id { get; private set; } + + public UserControl ChildControl { get; set; } + + public ShiftWindow() { InitializeComponent(); } - public const int WM_NCLBUTTONDOWN = 0xA1; - public const int HT_CAPTION = 0x2; + + public uint SetId() + { + do + { + Id = (uint)Tools.Rnd.Next(100000, 999999); + } + while (ShiftWM.Windows.FirstOrDefault(w => w.Id == Id) != null); + + return Id; + } + + private const int WM_NCLBUTTONDOWN = 0xA1; + private const int HT_CAPTION = 0x2; [DllImportAttribute("user32.dll")] - public static extern int SendMessage(IntPtr hWnd, + private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); + [DllImportAttribute("user32.dll")] - public static extern bool ReleaseCapture(); + private static extern bool ReleaseCapture(); private void Programtopbar_drag(object sender, MouseEventArgs e) { - if (e.Button == MouseButtons.Left) - { - ReleaseCapture(); - SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); - } + if (e.Button != MouseButtons.Left) return; + + ReleaseCapture(); + SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); } - private void closebutton_Click(object sender, EventArgs e) - { - this.Close(); - } + private void closebutton_Click(object sender, EventArgs e) + => this.Close(); - private void closebutton_MouseEnter(object sender, EventArgs e) - { - closebutton.BackColor = Color.Gray; - } + private void closebutton_MouseEnter(object sender, EventArgs e) + => closebutton.BackColor = Color.Gray; - private void closebutton_MouseLeave(object sender, EventArgs e) - { - closebutton.BackColor = Color.Black; - } + private void closebutton_MouseLeave(object sender, EventArgs e) + => closebutton.BackColor = Color.Black; - private void maximizebutton_MouseEnter(object sender, EventArgs e) - { - maximizebutton.BackColor = Color.Gray; - } + private void maximizebutton_MouseEnter(object sender, EventArgs e) + => maximizebutton.BackColor = Color.Gray; - private void maximizebutton_MouseLeave(object sender, EventArgs e) - { - maximizebutton.BackColor = Color.Black; - } + private void maximizebutton_MouseLeave(object sender, EventArgs e) + => maximizebutton.BackColor = Color.Black; - private void minimizebutton_MouseEnter(object sender, EventArgs e) - { - minimizebutton.BackColor = Color.Gray; - } + private void minimizebutton_MouseEnter(object sender, EventArgs e) + => minimizebutton.BackColor = Color.Gray; - private void minimizebutton_MouseLeave(object sender, EventArgs e) - { - minimizebutton.BackColor = Color.Black; - } + private void minimizebutton_MouseLeave(object sender, EventArgs e) + => minimizebutton.BackColor = Color.Black; - private void closebutton_MouseDown(object sender, MouseEventArgs e) - { - closebutton.BackColor = Color.Black; - } + private void closebutton_MouseDown(object sender, MouseEventArgs e) + => closebutton.BackColor = Color.Black; - private void maximizebutton_MouseDown(object sender, MouseEventArgs e) - { - maximizebutton.BackColor = Color.Black; - } + private void maximizebutton_MouseDown(object sender, MouseEventArgs e) + => maximizebutton.BackColor = Color.Black; - private void minimizebutton_MouseDown(object sender, MouseEventArgs e) - { - minimizebutton.BackColor = Color.Black; - } + private void minimizebutton_MouseDown(object sender, MouseEventArgs e) + => minimizebutton.BackColor = Color.Black; - private void minimizebutton_MouseUp(object sender, MouseEventArgs e) - { - minimizebutton.BackColor = Color.Gray; - } + private void minimizebutton_MouseUp(object sender, MouseEventArgs e) + => minimizebutton.BackColor = Color.Gray; - private void maximizebutton_MouseUp(object sender, MouseEventArgs e) - { - maximizebutton.BackColor = Color.Gray; - } + private void maximizebutton_MouseUp(object sender, MouseEventArgs e) + => maximizebutton.BackColor = Color.Gray; - private void closebutton_MouseUp(object sender, MouseEventArgs e) - { - closebutton.BackColor = Color.Gray; - } - } + private void closebutton_MouseUp(object sender, MouseEventArgs e) + => closebutton.BackColor = Color.Gray; + } + + public interface IShiftWindowExtensions + { + void OnLoaded(ShiftWindow window); + } } diff --git a/ShiftOS.Engine/packages.config b/ShiftOS.Engine/packages.config new file mode 100644 index 0000000..d376894 --- /dev/null +++ b/ShiftOS.Engine/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/ShiftOS.Main/Program.cs b/ShiftOS.Main/Program.cs index 5464d8e..10277b0 100644 --- a/ShiftOS.Main/Program.cs +++ b/ShiftOS.Main/Program.cs @@ -1,8 +1,7 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; +using ShiftOS.Main.ShiftOS; namespace ShiftOS.Main { @@ -16,7 +15,10 @@ namespace ShiftOS.Main { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new TestForm()); + + Parallel.Invoke( + () => Application.Run(new TestForm()), + () => Application.Run(new Desktop())); } } } diff --git a/ShiftOS.Main/ShiftOS.Main.csproj b/ShiftOS.Main/ShiftOS.Main.csproj index 18e842f..c814c14 100644 --- a/ShiftOS.Main/ShiftOS.Main.csproj +++ b/ShiftOS.Main/ShiftOS.Main.csproj @@ -76,6 +76,12 @@ TestForm.cs + + Form + + + Desktop.cs + HijackScreen.cs @@ -101,6 +107,9 @@ TestForm.cs + + Desktop.cs + SettingsSingleFileGenerator Settings.Designer.cs diff --git a/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.Designer.cs b/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.Designer.cs index 5c3a0de..7fd37f0 100644 --- a/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.Designer.cs +++ b/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.Designer.cs @@ -28,32 +28,47 @@ /// private void InitializeComponent() { - this.label1 = new System.Windows.Forms.Label(); - this.SuspendLayout(); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(18, 16); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(35, 13); - this.label1.TabIndex = 0; - this.label1.Text = "label1"; - // - // ShiftDemo - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.label1); - this.Name = "ShiftDemo"; - this.Size = new System.Drawing.Size(300, 300); - this.ResumeLayout(false); - this.PerformLayout(); + this.label1 = new System.Windows.Forms.Label(); + this.icon = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.icon)).BeginInit(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(27, 25); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(51, 20); + this.label1.TabIndex = 0; + this.label1.Text = "label1"; + // + // icon + // + this.icon.Location = new System.Drawing.Point(31, 61); + this.icon.Name = "icon"; + this.icon.Size = new System.Drawing.Size(300, 300); + this.icon.TabIndex = 1; + this.icon.TabStop = false; + // + // ShiftDemo + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.icon); + this.Controls.Add(this.label1); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "ShiftDemo"; + this.Size = new System.Drawing.Size(450, 462); + ((System.ComponentModel.ISupportInitialize)(this.icon)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } #endregion public System.Windows.Forms.Label label1; - } + private System.Windows.Forms.PictureBox icon; + } } diff --git a/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.cs b/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.cs index 1f400c8..11fc160 100644 --- a/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.cs +++ b/ShiftOS.Main/ShiftOS/Apps/ShiftDemo.cs @@ -7,14 +7,20 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using ShiftOS.Engine.WindowManager; namespace ShiftOS.Main { - public partial class ShiftDemo : UserControl + public partial class ShiftDemo : UserControl, IShiftWindowExtensions { public ShiftDemo() { InitializeComponent(); } - } + + public void OnLoaded(ShiftWindow window) + { + icon.Image = this.GetShiftWindow().Icon.ToBitmap(); + } + } } diff --git a/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/SelectColor.cs b/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/SelectColor.cs index 9062947..697e22e 100644 --- a/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/SelectColor.cs +++ b/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/SelectColor.cs @@ -1,11 +1,5 @@ using System; -using System.Collections.Generic; -using System.ComponentModel; using System.Drawing; -using System.Data; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; using ShiftOS.Engine.WindowManager; @@ -13,11 +7,10 @@ namespace ShiftOS.Main.ShiftOS.Apps { public partial class SelectColor : UserControl { - ShiftWM shiftWM = new ShiftWM(); - Color finalColor; - int colorType1; - int colorType2; - int colorType3; + Color _finalColor; + int _colorType1; + int _colorType2; + int _colorType3; public SelectColor() { InitializeComponent(); @@ -28,31 +21,31 @@ namespace ShiftOS.Main.ShiftOS.Apps { try { - colorType1 = Convert.ToInt32(textBox1.Text); - colorType2 = Convert.ToInt32(textBox2.Text); - colorType3 = Convert.ToInt32(textBox3.Text); + _colorType1 = Convert.ToInt32(textBox1.Text); + _colorType2 = Convert.ToInt32(textBox2.Text); + _colorType3 = Convert.ToInt32(textBox3.Text); } - catch(Exception ex) + catch(FormatException ex) { - shiftWM.StartInfoboxSession("Error!", "Failed to parse integer. Error:\n" + ex, InfoboxTemplate.buttonType.OK); + ShiftWM.StartInfoboxSession("Error!", "Failed to parse integer. Error:\n" + ex, InfoboxTemplate.ButtonType.Ok); } - if (colorType1 > 255 || colorType2 > 255 || colorType3 > 255) + if (_colorType1 > 255 || _colorType2 > 255 || _colorType3 > 255) { - shiftWM.StartInfoboxSession("Error!", "A value cannot be greater than 255!", InfoboxTemplate.buttonType.OK); + ShiftWM.StartInfoboxSession("Error!", "A value cannot be greater than 255!", InfoboxTemplate.ButtonType.Ok); } else { try { ShiftWindow sw = new ShiftWindow(); - finalColor = Color.FromArgb(colorType1, colorType2, colorType3); - this.BackColor = finalColor; - shiftWM.StartInfoboxSession("Success!", "Changed color to:\n" + colorType1.ToString() + ", " + colorType2.ToString() + ", " + colorType3.ToString() + ".", InfoboxTemplate.buttonType.OK); + _finalColor = Color.FromArgb(_colorType1, _colorType2, _colorType3); + BackColor = _finalColor; + ShiftWM.StartInfoboxSession("Success!", "Changed color to:\n" + _colorType1.ToString() + ", " + _colorType2.ToString() + ", " + _colorType3.ToString() + ".", InfoboxTemplate.ButtonType.Ok); } - catch (Exception ex) + catch (Exception) { - shiftWM.StartInfoboxSession("Error!", "An error occured while setting the color.", InfoboxTemplate.buttonType.OK); + ShiftWM.StartInfoboxSession("Error!", "An error occured while setting the color.", InfoboxTemplate.ButtonType.Ok); } } } diff --git a/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/Shifter.cs b/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/Shifter.cs index 74b2079..098920f 100644 --- a/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/Shifter.cs +++ b/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/Shifter.cs @@ -1,12 +1,6 @@ using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; +using ShiftOS.Engine; using ShiftOS.Engine.WindowManager; namespace ShiftOS.Main.ShiftOS.Apps @@ -14,7 +8,6 @@ namespace ShiftOS.Main.ShiftOS.Apps public partial class Shifter : UserControl { public int colorType; //This is a check to see what option was chosen. - ShiftWM wm = new ShiftWM(); public Shifter() { InitializeComponent(); @@ -23,7 +16,7 @@ namespace ShiftOS.Main.ShiftOS.Apps private void button1_Click(object sender, EventArgs e) { colorType = 1; - wm.Init(new SelectColor(), "Select a color", Properties.Resources.iconColourPicker_fw); + ShiftWM.Init(new SelectColor(), "Select a color", Properties.Resources.iconColourPicker_fw.ToIcon()); } } } diff --git a/ShiftOS.Main/ShiftOS/Apps/TestForm.Designer.cs b/ShiftOS.Main/ShiftOS/Apps/TestForm.Designer.cs index 7049a7e..50bcb58 100644 --- a/ShiftOS.Main/ShiftOS/Apps/TestForm.Designer.cs +++ b/ShiftOS.Main/ShiftOS/Apps/TestForm.Designer.cs @@ -28,61 +28,95 @@ /// private void InitializeComponent() { - this.textBox1 = new System.Windows.Forms.TextBox(); - this.textBox2 = new System.Windows.Forms.TextBox(); - this.button1 = new System.Windows.Forms.Button(); - this.button2 = new System.Windows.Forms.Button(); - this.SuspendLayout(); - // - // textBox1 - // - this.textBox1.Location = new System.Drawing.Point(12, 13); - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(260, 20); - this.textBox1.TabIndex = 0; - this.textBox1.Text = "Title"; - // - // textBox2 - // - this.textBox2.Location = new System.Drawing.Point(12, 39); - this.textBox2.Name = "textBox2"; - this.textBox2.Size = new System.Drawing.Size(260, 20); - this.textBox2.TabIndex = 1; - this.textBox2.Text = "Contents"; - // - // button1 - // - this.button1.Location = new System.Drawing.Point(12, 65); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(128, 23); - this.button1.TabIndex = 2; - this.button1.Text = "Create Window"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.Button1_Click); - // - // button2 - // - this.button2.Location = new System.Drawing.Point(146, 65); - this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(126, 23); - this.button2.TabIndex = 4; - this.button2.Text = "Test Shifter"; - this.button2.UseVisualStyleBackColor = true; - this.button2.Click += new System.EventHandler(this.button2_Click); - // - // TestForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(284, 100); - this.Controls.Add(this.button2); - this.Controls.Add(this.button1); - this.Controls.Add(this.textBox2); - this.Controls.Add(this.textBox1); - this.Name = "TestForm"; - this.Text = "TestForm"; - this.ResumeLayout(false); - this.PerformLayout(); + this.components = new System.ComponentModel.Container(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.systemIconsBindingSource = new System.Windows.Forms.BindingSource(this.components); + ((System.ComponentModel.ISupportInitialize)(this.systemIconsBindingSource)).BeginInit(); + this.SuspendLayout(); + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(18, 20); + this.textBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(388, 26); + this.textBox1.TabIndex = 0; + this.textBox1.Text = "Title"; + // + // textBox2 + // + this.textBox2.Location = new System.Drawing.Point(18, 60); + this.textBox2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(388, 26); + this.textBox2.TabIndex = 1; + this.textBox2.Text = "Contents"; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(13, 149); + this.button1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(192, 35); + this.button1.TabIndex = 2; + this.button1.Text = "Create Window"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.Button1_Click); + // + // button2 + // + this.button2.Location = new System.Drawing.Point(217, 149); + this.button2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(189, 35); + this.button2.TabIndex = 4; + this.button2.Text = "Test Shifter"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // comboBox1 + // + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Items.AddRange(new object[] { + "Application", + "Asterisk", + "Error", + "Exclamation", + "Hand", + "Information", + "Question", + "Shield", + "Warning", + "WinLogo"}); + this.comboBox1.Location = new System.Drawing.Point(18, 104); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(388, 28); + this.comboBox1.TabIndex = 5; + // + // systemIconsBindingSource + // + this.systemIconsBindingSource.DataSource = typeof(System.Drawing.SystemIcons); + // + // TestForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(426, 198); + this.Controls.Add(this.comboBox1); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.textBox2); + this.Controls.Add(this.textBox1); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "TestForm"; + this.Text = "TestForm"; + ((System.ComponentModel.ISupportInitialize)(this.systemIconsBindingSource)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } @@ -92,5 +126,7 @@ private System.Windows.Forms.TextBox textBox2; private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; - } + private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.BindingSource systemIconsBindingSource; + } } \ No newline at end of file diff --git a/ShiftOS.Main/ShiftOS/Apps/TestForm.cs b/ShiftOS.Main/ShiftOS/Apps/TestForm.cs index e2b5bf7..1fd3b18 100644 --- a/ShiftOS.Main/ShiftOS/Apps/TestForm.cs +++ b/ShiftOS.Main/ShiftOS/Apps/TestForm.cs @@ -1,5 +1,8 @@ using System; +using System.Drawing; +using System.Linq; using System.Windows.Forms; +using ShiftOS.Engine; using ShiftOS.Engine.WindowManager; using ShiftOS.Main.ShiftOS.Apps; @@ -7,8 +10,6 @@ namespace ShiftOS.Main { public partial class TestForm : Form { - public ShiftWM shiftWM = new ShiftWM(); - public TestForm() { InitializeComponent(); @@ -16,14 +17,16 @@ namespace ShiftOS.Main private void Button1_Click(object sender, EventArgs e) { - ShiftDemo demo = new ShiftDemo(); - demo.label1.Text = textBox2.Text; - shiftWM.Init(demo, textBox1.Text, null); - shiftWM.StartInfoboxSession(textBox1.Text, textBox2.Text, InfoboxTemplate.buttonType.OK); + ShiftDemo demo = new ShiftDemo {label1 = {Text = textBox2.Text}}; + + var item = typeof(SystemIcons).GetProperties() + .First(p => p.Name == comboBox1.SelectedItem as string); + + ShiftWM.Init(demo, textBox1.Text, (item.GetMethod.Invoke(null, new object[0]) as Icon)); + ShiftWM.StartInfoboxSession(textBox1.Text, textBox2.Text, InfoboxTemplate.ButtonType.Ok); } - private void button2_Click(object sender, EventArgs e) - { - shiftWM.Init(new Shifter(), "Shifter", Properties.Resources.iconShifter); } + private void button2_Click(object sender, EventArgs e) + => ShiftWM.Init(new Shifter(), "Shifter", Properties.Resources.iconShifter.ToIcon()); } } diff --git a/ShiftOS.Main/ShiftOS/Apps/TestForm.resx b/ShiftOS.Main/ShiftOS/Apps/TestForm.resx index 1af7de1..6dba9d3 100644 --- a/ShiftOS.Main/ShiftOS/Apps/TestForm.resx +++ b/ShiftOS.Main/ShiftOS/Apps/TestForm.resx @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file diff --git a/ShiftOS.Main/ShiftOS/Desktop.Designer.cs b/ShiftOS.Main/ShiftOS/Desktop.Designer.cs new file mode 100644 index 0000000..dac30c6 --- /dev/null +++ b/ShiftOS.Main/ShiftOS/Desktop.Designer.cs @@ -0,0 +1,111 @@ +namespace ShiftOS.Main.ShiftOS +{ + partial class Desktop + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.listView1 = new System.Windows.Forms.ListView(); + this.taskbar = new System.Windows.Forms.ToolStrip(); + this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton(); + this.taskbarClock = new System.Windows.Forms.ToolStripLabel(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.taskbar.SuspendLayout(); + this.SuspendLayout(); + // + // listView1 + // + this.listView1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.listView1.Dock = System.Windows.Forms.DockStyle.Fill; + this.listView1.Location = new System.Drawing.Point(0, 0); + this.listView1.Name = "listView1"; + this.listView1.Size = new System.Drawing.Size(1962, 1236); + this.listView1.TabIndex = 0; + this.listView1.UseCompatibleStateImageBehavior = false; + // + // taskbar + // + this.taskbar.Dock = System.Windows.Forms.DockStyle.Bottom; + this.taskbar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.taskbar.ImageScalingSize = new System.Drawing.Size(24, 24); + this.taskbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripDropDownButton1, + this.taskbarClock}); + this.taskbar.Location = new System.Drawing.Point(0, 1204); + this.taskbar.Name = "taskbar"; + this.taskbar.Size = new System.Drawing.Size(1962, 32); + this.taskbar.TabIndex = 1; + this.taskbar.Text = "toolStrip1"; + // + // toolStripDropDownButton1 + // + this.toolStripDropDownButton1.Image = global::ShiftOS.Main.Properties.Resources.iconWebBrowser; + this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; + this.toolStripDropDownButton1.Size = new System.Drawing.Size(131, 29); + this.toolStripDropDownButton1.Tag = ((uint)(0u)); + this.toolStripDropDownButton1.Text = "Programs"; + // + // taskbarClock + // + this.taskbarClock.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.taskbarClock.Image = global::ShiftOS.Main.Properties.Resources.iconClock; + this.taskbarClock.Name = "taskbarClock"; + this.taskbarClock.Size = new System.Drawing.Size(70, 29); + this.taskbarClock.Tag = ((uint)(0u)); + this.taskbarClock.Text = "0:00"; + // + // timer1 + // + this.timer1.Interval = 1000; + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // Desktop + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1962, 1236); + this.Controls.Add(this.taskbar); + this.Controls.Add(this.listView1); + this.Name = "Desktop"; + this.Text = "Desktop"; + this.taskbar.ResumeLayout(false); + this.taskbar.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ListView listView1; + private System.Windows.Forms.ToolStrip taskbar; + private System.Windows.Forms.ToolStripDropDownButton toolStripDropDownButton1; + private System.Windows.Forms.ToolStripLabel taskbarClock; + private System.Windows.Forms.Timer timer1; + } +} \ No newline at end of file diff --git a/ShiftOS.Main/ShiftOS/Desktop.cs b/ShiftOS.Main/ShiftOS/Desktop.cs new file mode 100644 index 0000000..494222a --- /dev/null +++ b/ShiftOS.Main/ShiftOS/Desktop.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using ShiftOS.Engine.WindowManager; + +namespace ShiftOS.Main.ShiftOS +{ + public partial class Desktop : Form + { + public Desktop() + { + InitializeComponent(); + + timer1.Start(); + + this.Closed += (sender, args) => + { + Application.Exit(); + }; + + #region Disgusting taskbar code + + ShiftWM.Windows.CollectionChanged += (sender, args) => + { + args.NewItems?.OfType().ToList().ForEach(window => + { + taskbar.Invoke(new Action(() => + { + taskbar.Items.Add(new ToolStripButton + { + Text = window.Title.Text, + Image = window.Icon.ToBitmap(), + Tag = window.Id + }); + })); + }); + + args.OldItems?.OfType().ToList().ForEach(window => + { + taskbar.Invoke(new Action(() => + { + var tbRemovalList = taskbar.Items.OfType().Where(i => (uint) i.Tag == window.Id); + + tbRemovalList.ToList().ForEach(p => taskbar.Items.Remove(p)); + })); + }); + }; + + #endregion + } + + private void timer1_Tick(object sender, EventArgs e) => + taskbarClock.Text = $"{DateTime.Now:t}"; + } +} diff --git a/ShiftOS.Main/ShiftOS/Desktop.resx b/ShiftOS.Main/ShiftOS/Desktop.resx new file mode 100644 index 0000000..1ea96dc --- /dev/null +++ b/ShiftOS.Main/ShiftOS/Desktop.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 159, 17 + + \ No newline at end of file