From a55ce75e2e206959b378038cf60e7d5900f2c845 Mon Sep 17 00:00:00 2001 From: mschill Date: Fri, 20 Jun 2025 14:33:58 -0400 Subject: [PATCH] C2025-023 Bringing branch up to date to resolve merge conflicts --- PROMS/Formats/Formats.csproj | 8 + PROMS/Formats/fmtall/BASEall.xml | Bin 93418 -> 96090 bytes PROMS/Formats/fmtall/BNPP1Newall.xml | Bin 230068 -> 243444 bytes PROMS/Formats/fmtall/BNPP1all.xml | Bin 184796 -> 184806 bytes PROMS/Formats/fmtall/BNPP2all.xml | Bin 198526 -> 199004 bytes PROMS/Formats/fmtall/BNPPalrall.xml | Bin 236750 -> 236928 bytes PROMS/Formats/fmtall/BNPPbckall.xml | Bin 163138 -> 163138 bytes PROMS/Formats/fmtall/CATDEVall.xml | Bin 24166 -> 24166 bytes PROMS/Formats/fmtall/PROMSDemo1all.xml | Bin 0 -> 99538 bytes PROMS/Formats/fmtall/PROMSDemo2all.xml | Bin 0 -> 83234 bytes PROMS/Formats/fmtall/PROMSDemoALRall.xml | Bin 0 -> 104584 bytes PROMS/Formats/fmtall/PROMSDemoBCKall.xml | Bin 0 -> 54878 bytes PROMS/Formats/fmtall/SHEAall.xml | Bin 77134 -> 79016 bytes PROMS/Formats/fmtall/SHEall.xml | Bin 77130 -> 78994 bytes PROMS/Formats/fmtall/TUECall.xml | Bin 75302 -> 124082 bytes PROMS/Formats/fmtall/WEP2all.xml | Bin 79150 -> 79944 bytes PROMS/Formats/fmtall/WEPBCKall.xml | Bin 56940 -> 57728 bytes PROMS/Formats/fmtall/WEPSAM2all.xml | Bin 76028 -> 76816 bytes PROMS/Formats/frmFormatCopy.Designer.cs | 17 + PROMS/Formats/frmFormatCopy.cs | 12 +- PROMS/Formats/genmacall/BNPP1.svg | Bin 25556 -> 25598 bytes PROMS/Formats/genmacall/BNPP1new.svg | Bin 52496 -> 52496 bytes PROMS/Formats/genmacall/BNPP2.svg | Bin 36814 -> 36856 bytes PROMS/Formats/genmacall/BNPPalr.svg | Bin 13518 -> 14898 bytes PROMS/Formats/genmacall/BNPPbck.svg | Bin 3934 -> 3976 bytes PROMS/Formats/genmacall/PROMSDemo1.svg | Bin 0 -> 23242 bytes PROMS/Formats/genmacall/PROMSDemo2.svg | Bin 0 -> 11716 bytes PROMS/Formats/genmacall/PROMSDemoALR.svg | Bin 0 -> 7086 bytes PROMS/Formats/genmacall/PROMSDemoBCK.svg | Bin 0 -> 6990 bytes PROMS/Formats/genmacall/tuec.svg | Bin 20576 -> 28778 bytes .../LibSource/ctlXMLEditLib/ctlXMLEdit.cs | 50 +- .../DlgPrintProcedure.cs | 7 +- .../VEPROMS User Interface/VEPROMS_UI.csproj | 9 + .../dlgExportImportEP.cs | 50 ++ .../dlgMSWordMessage.Designer.cs | 100 +++ .../dlgMSWordMessage.cs | 45 ++ .../dlgMSWordMessage.resx | 120 ++++ .../frmPDFStatusForm.cs | 14 +- .../frmSysOptions.Designer.cs | 556 +++++++++-------- PROMS/VEPROMS User Interface/frmSysOptions.cs | 7 +- .../VEPROMS User Interface/frmSysOptions.resx | 2 +- .../frmVEPROMS.Designer.cs | 89 ++- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 42 +- PROMS/VEPROMS User Interface/frmVEPROMS.resx | 18 +- .../VEPROMS.CSLA.Library/Extension/ItemExt.cs | 111 ++-- .../VEPROMS.CSLA.Library/Format/DocStyles.cs | 26 + .../VEPROMS.CSLA.Library/Format/PageStyles.cs | 10 + .../Minimal/UserSettings.cs | 31 +- .../Volian.Controls.Library/DisplayHistory.cs | 6 +- .../DisplayTabControl.cs | 33 +- PROMS/Volian.Controls.Library/DisplayTags.cs | 27 +- PROMS/Volian.Controls.Library/EditItem.cs | 7 +- PROMS/Volian.Controls.Library/ImageItem.cs | 5 +- .../Volian.Controls.Library/StepTabRibbon.cs | 4 +- PROMS/Volian.Controls.Library/vlnTreeView.cs | 587 ++++++++++-------- .../Volian.Print.Library/VlnSvgPageHelper.cs | 27 +- PROMS/Volian.Print.Library/vlnParagraph.cs | 23 +- PROMS/Volian.Print.Library/vlnTab.cs | 5 +- 58 files changed, 1360 insertions(+), 688 deletions(-) create mode 100644 PROMS/Formats/fmtall/PROMSDemo1all.xml create mode 100644 PROMS/Formats/fmtall/PROMSDemo2all.xml create mode 100644 PROMS/Formats/fmtall/PROMSDemoALRall.xml create mode 100644 PROMS/Formats/fmtall/PROMSDemoBCKall.xml create mode 100644 PROMS/Formats/genmacall/PROMSDemo1.svg create mode 100644 PROMS/Formats/genmacall/PROMSDemo2.svg create mode 100644 PROMS/Formats/genmacall/PROMSDemoALR.svg create mode 100644 PROMS/Formats/genmacall/PROMSDemoBCK.svg create mode 100644 PROMS/VEPROMS User Interface/dlgExportImportEP.cs create mode 100644 PROMS/VEPROMS User Interface/dlgMSWordMessage.Designer.cs create mode 100644 PROMS/VEPROMS User Interface/dlgMSWordMessage.cs create mode 100644 PROMS/VEPROMS User Interface/dlgMSWordMessage.resx diff --git a/PROMS/Formats/Formats.csproj b/PROMS/Formats/Formats.csproj index 8ca8ceeb..e950a1ee 100644 --- a/PROMS/Formats/Formats.csproj +++ b/PROMS/Formats/Formats.csproj @@ -288,6 +288,10 @@ + + + + @@ -505,6 +509,10 @@ + + + + diff --git a/PROMS/Formats/fmtall/BASEall.xml b/PROMS/Formats/fmtall/BASEall.xml index acf7b62d08c4ead24a3901b4703a3a87e77612de..8ca3756eb07244f11ea212a94c792a3cf220be2f 100644 GIT binary patch delta 890 zcmZuvO;1xn6ul!UfhyQyi>0U;8W%Ru#U&pmU$ZhO9b^DHc@ zbeF05Rp+YRrM3>S?@b$DZfP}XzX}YGQ;~9%B~591i1jMvX_iuCQ--FI(R2%Iitb}K ziQF8%SAezMy&z{uo6T``Ocl+OZgt#T>{M;MuoUh+OA&yRpe=x62+S>%vq06)*y z)-5+>2&WcZWXjdi&zrT_o(F2gybY=zGdQNY zD;j>}Av^1?(xrpQMgt9(oPV+@WXg!=T>r$!j5LQ6n+A~UATPBye?=<6wHVkP;0nk( zO=F5pmJ*!IRuBjz1yU(oz}Etu(ArS1k&$z!`8W}`!?NqNrZb?7;Z7bLuFtNNDDZha z-u|s=WT(KOQ8GvK_~Q}Xx)sqDM{rPm5?~7e>DK~S;PUb_ATDFSI~gKQ#LMi=f>wk# z$~I(YTtR}6c0`s94w*aga+0hQ&{aZDGI)()6L1=!9L4wNtGXD9oumH`*u1OMYF-*e zgjPB6ArqR* zR*Y}5o~-ht0sqOi25~eBXhOh;$6L}c#&+YE(YOCI2(o%bTeIAYj@qQw;|DZB1;)!Wzdmz{rAvcX^G=l^f#V^xZ^9A(dQ zgQLuTfQnT-*F9t@d5Nc`))R4myzKd~$4(y+wl?t-W5 zeF?YpqGFcEqR-*3Xb1DbgPiU@kF&UG2R}ZR;7{)uUKr~-B;j%bD|S>F=Y{UmI7^w; zI>@*6zU9*KaPh_Yc-m;^6CFuj=$*q=#a!*-bAi61h>pfY|0*Bjrbt4BtZFav57bdy z!QFLByrvz(m13LnEv#z0B}wPQ9SZLVdidDPozpqvjhrFna|XR@ktInAe)h2h#B_E) zQ%C}i>1>)AL;)qvet;uhwhewXSQg(&$>UO^1lcHShD@A&4yTrAx1__lM&^U7OZ2*w zf?yv@fxJxLgt-CM&Qc@}=l-N;7=8!&FZjrrb%a{>=-Jp%d2poM4=?qJo@i@B(-~2;c8M+zXS)rf8d&{)boLwo{NSfv;sSG~rPb9ESC=y_y_VJ|-_dq>Wrc>Y%(|fTn>pAjAb9E~4cCiw0LPJz12B$s zHir^fr6ExL=;H&c^ipy3M}bDR;u~nXMZyiXpr?vNto?s_rOGwMd0c$Gyo(0Y+wG! zuk?$C{0L+3#{S1`^~`!ltMjfW8hEqR3U5!~1#x_U$@wvzop-xr{KrCu$z|G;e{hgZ Vxr7{7z0I&kWr6&)z3j98{{YK{Mlk>Y delta 623 zcmezJmTyZd-vSXcBFcl_H6?nO!8$p>VlCO>do02DD{FrVCLmpu7}QxA}53glgs z6rL>SB{jK0&SLUC=XpR;GY0d`jV@;yflPCtgFpr>a4Q1xfT06ce#fI|@*MXtu!sdX z0OCB-SdAGBA@ZB=cxW+#xggEL&2nDta$bzv<-C|YwoHEz#B4Qv!9OOK?K3i%SMf}5 z_|2p;eG@mc1hXlF<@82T=EKt`@Gz@@c^mnd&8I&QVAh!~AjGUN{enD@XcJ&oVm4S{ls*MBu&FYVVwPhxm>wv_{1`|n$}wA_TB$a@ftQ(O`ad~l pt?dg+nZsD87nn12;4kRQvRKuk}L>dYt^maq9Wl}V>6rq^fwU66HgJ^6mf?QgIc=p`d z0>M8Z%C?}O2pWn$rUs{orjA!I+J5ih_dMt2eX99CYW{<&sN*>!5`4*EPsX%3oh)45 zW)Tt-JTIZ2$sDfPnn4d&Qdp9PHr{>zk_j!!(HtJwn@2>NTC`#1A%(QG7}Etj3X7=% zEPj??uv)})JKwl0Vn}#RikdvLF``8E+av=eoGQMv6|2yW=i96Bb$mrPG}kfZrPb7A zas#@It37<1xS;M}*qhQ04*6{%z`1!0^36d=ZELozcMtvvI*(n189qWEuUy=BXwkuL nw?pS_89@=FQ^u=0mBGJ;`T~M%RWL?l83X(|L8P&^h5hYcslIJ} delta 361 zcmaF1nETFR?uHh|EldxB7>%Ys3}UKfHefKCo*2xOJiR85NpAX;U?zd-MwLuL)21=8 zOxFu#IyU`42vY>JA%ofUk5ie1K|)`c%^57GxuojHZ`GGT8wwwAj8ql1Z8o#F`Fd9iKiYnn?q!<9IaFZJ>^$ z(M;AL9XVjdzOhW~5XC^&`RQu$Og3PxK;H4`Itfe?%%%*M)Bh(j9iGmW$fN@18749{ zPgihZQkZ@#kx2|6U diff --git a/PROMS/Formats/fmtall/BNPP2all.xml b/PROMS/Formats/fmtall/BNPP2all.xml index bd86f5449289fbc107d29fad6e70ca9921f34501..44e5776885634668ca497557c74a0ceb46c4a554 100644 GIT binary patch delta 1160 zcmb7@KWI~76vf{=FRfBSz%)ZBA%;>g#L_15X&Q}MG**W~k~WR0HnH|~sDmgXLS5{T zK}4)J;t{D^(LvD`3V~AkXDtX~adW7r@6jpJHWAePcNX?g~^aRH8JuhljtC$PWx z!XU!*PUi*8N+~`* z$f2vOS;|$$(?gH(&r}M%GL=joKFO`#jD741I?I|y_HNq7WxSsbONQ^~C5P7Vzg0yW zIrNyKdi-uKUximzE8GnK^NHV@|ME*{2e~jLi?d+J;>bQ!L++|cW_%qhCZ?Ys{cse= s-Fw5Yzrj|$%hKegEXCh$C0TU+&)GhoQvRsk!*zOhaIEz38os~$1u(T|DF6Tf delta 782 zcmaKqze^i&7{>3OYsDc*t5QV55hRGT5-+D-zD+e;DL4ty!x&99cd-cwtzupK1BVVS zEnHU&NOq=w#r+=FbB94W*^|w}6MC=LC0L5v%ja$u5dNiWkOi6)_xQU2YdK z9U&@yTELK=;kQLR;8B2%$g#TO!EES$QG8rZc1y@M;jc=qlY_@lk>cwm**5gt+Ntp2cB+}7n&Psq}v!X4>tq4bH znP^USML1zaTTb5-n6k7T&FQKl(X430ad=uqO1HyT>!DSXi#)6AcequPpABz*XlJQ7-IyNZGQ%C ziHnk0J!V&pVcmyj*%%)ou5APx$oQ37CRv`#$WV) zJm);mIp;nvw?8lreQ2EAQzTw~4UB68>&dJ@{?fChRwx@CR!@4w!Or+)#)ilLdY0R{XqdRNH&GeA~2X z<8z8)$41*p{9{WuTFnJGyH3T))B+r_@6WU|cPu5IXvxPy$Bj&txfbotIlUUj@9fKz z#1?33m^tSV-rcfWapQ1H9`-i}u)=)={cRaawYGCNP>6HxkF=c{ZD-t2DuQ`D1!r2y z@mIB1@!*tOLRB0}D@@zL`q(};i09I(aKvE5`S#V=-62L!8{w2lWuf}_QJ0~`K3tq1siaHGCp#p^Do}q~s-yY-CT%kgc};O$(1%vy zYcPUGf5U9t4Sh)Ejm5QhU|YlU)RD+wCvZ#DlvsP}8R7Itw0Npx9m}ARw9)&EX=-cO zi`SY8v?=`27oc+oP32y^*tnZstC7|VV@_7mqbM#7KD#b}KW*yOhO%+}vpCZ{1J(L~ z5~K#F48_{>o}OuWUBR7gHVkc0@y3>mL{Sz@I@isuBQ)?fTIZo|5Okw;l=h@uRZUN} zgcJ;Q%AS+85!~BZir3p!O5mc2%E9ZM19-IKDWW9jSH2@}XHSGu&h+)p3T455tYT&r zWEnKW6;o??-br8AOTI28?CavCt)McG=sL!Ci9i_?(&X0&B^@@3;4xkz=8y1PF_aEj zidzh~LXOBP2Zsn=;1*#V<;TT*IqX!NNsdB_M+{fOW^wN zY0kVf&J~B7TmvPdBL$MmA1jI;KA`-rF}_xh{tp3?$X^yNiTq{ZV)FZF7HneJ47H2; ze#!(T+S#2VsCj_4E8~3aQurjYmjg?pdO5I|Xus$-gNaPwgc<4==^mfpCNdtHqX*M{ zb%L9h!Y9$a99R;M1& delta 2819 zcmdT^ZA_C_6u$4hrGRMpYM~&OidBl%(!OnJE6Avzd}AqdZe}qh6Gewg2y@#%oF@B2 zoO+yh*`^dFlPEvxa2B0GHkWK!j6t_0OZdaKWLp*!(U|?*cJAAj7SS#HwJc5A_uQWI zoaa2xx$nTInmgAt;ax>MR7%yWs)(O-kVax8Z;*|ogvi82Z1`&=Zz?fHAgS_UtZ2ze zx|CO+pj!C4XfS&_*-H+PUF0Bn9djE=9Sp11K~3dS@LN=%b!a6QJY3(J=_4(qm2Ah1 zHYLlKvT=nY)*;%_xuBmNhKh9{djk+`Qt{Dgng{pOE5Ki(j{+7%0XxWM5iq?jt>Nu;W;>N)np4{60#s^ zxNOy7-eFeyB)6QwTVik14-w`X*qg0CTwS4fva zMNVqsMk>0KYyAAt_cRASFKc=N$vsa3k%V3u{iGN1gfsn!=4Ku;&xk*sLF*QSc#`Ri zA8*(#NnU6#*$M-xdbpjw6ig~D99mJw?AR?jogRt|y-M6!t~(zxNbzU5QXH7CS);Cz z>~Oa&A1Am&{(_lvZ;Sgr}I=~dXy z2}9XKF+1DzO)k=S%6Y4z(2mvC3?r!}NqsZs`x0Zk zGjzLR3k?1>hv0@+!)ywA7i=g!`b1|LZ-hfx)!9-L{F-Kr4X;-QW-_tkVid%NFe)@; za}U&c^g`-z*~^HRyhk!dP84!DGkHF7cDJe(w^a{)wr+%VK&QMH?zuK(CeMqDkNY6@ z5G?L}%%wo>fx)VZOmC7bGOk)2?#GSOajI^R>U9t-Q!S)h>rau1H?~nV8HI4aHV9|a zG|0lMRM@=F^N#~m53^g0@YSX~uvPdGvs>(%Gs(l~_@}n?K){kGIPR{Wf=8x2+#V!8 z?rVrh%!$+zu170^O(S@DJIkZ4mM8 z3pJnhn_%Zwk7N_q6n3`vfx-WxauqIH_rR>b8}7B`jqhx?NVsF-triNHdG8!e%Po(+ zbgRiSvV^3I&yfd#w;u$g$b$eaZ4xT*ho@*KpT0oVeBcb#;=0H@+sA6T?Oj^J!v)O5 z13%LoKDCxPd1#2fe|m`S;Bqt5@+=FJ#nBXV6Ay1MXPbF=n4aRn6sG4{o0(R!@y-yP z;TkntD>?XyQJTwx<*b6+ZX)(nIYXWw&?0Ue#xFxXtK!FsSq=AJr*8>Hg-E7?A2u={ zw~bOWpB$mpsE{M_=LlUcv~qBK`jRhcMj))r;f4$JHa7J+StXx7LoGbyVl_&l2`y2yNAO!*eKi(6v%}+S)PURN6l8AkIU|ck&&Wri zCh6L!_PWR)lXU7ON#-~8>`2_)cN9w_Xla$CSQ$Yp)l%HX{d}y5jR_sMu!G`xAlbnP zI+!L2z31Zo?B_Q|XjJF&CN{$rJ!czPi{cg@F(qH|$HwmzvvAy`U<>Pui~bXzXk{Ly z1l=l*8jMdfy#Er_$IYk|^`}o?#eEHoQPToz)Z#y@@TX;=E0#pjVtbOSlAW3FWLCV2 ztDT&lY|MPRda*-^niu%gBsIs(;b;!tpcTv<33=IQO2lGjJ<|W$tRJ{>oT{EZ#h!N3w5V;}@EGn~0_?_g{V#@6Y%?BRZ0g(BkIDgrJqp-S7qqS7K@;^0hm zgifCwXsJA*X=udP4K!6Gyv*L|+NjQW!V_WUo2(>e#$gSYCebX`F_ICjIwIN)91%5? z((49hWsWr1=Wz>_Jilq-!{k>jBw60(my383Zng2mAB}LTzfx`>vb6-=#dliak)O@fQ4vrpg)=-}im=nJ@b7C}V%0wM&& zr4{L>Zc=;z!O_8?gLrP@_J8Mo=jWdB%pT9|({t+{59?BilE-t!QwoD>U6FTwHD&-p=A1q({$c?P%D?nCyp~5TugwW+alT+<;nozBeMLFOj zR{QuYgEPQ0H%4aiM3*stKcRYtAsr-WN-dJ=Wl#Upp~i@-RW<%j;g-Zbx3s^D8a-y{ OS;}0vQ2b`t+5Q8PBUMZQ diff --git a/PROMS/Formats/fmtall/CATDEVall.xml b/PROMS/Formats/fmtall/CATDEVall.xml index 891b720ef81d2564f7897c1151c8b027bcded4de..4dae90af50c6710bc5c6a32a73a0654e1b3748d5 100644 GIT binary patch delta 39 tcmaF1hw<4S#tlmxm`xZACimM*Pmc5aw0VnT4?D9VgBeI*bDSrKC;&vM4uSvx delta 39 scmaF1hw<4S#tlmxCbPJnm>l3Bx4Fx48~fx1zF^MeE=R4+0bXJv0BmUxg8%>k diff --git a/PROMS/Formats/fmtall/PROMSDemo1all.xml b/PROMS/Formats/fmtall/PROMSDemo1all.xml new file mode 100644 index 0000000000000000000000000000000000000000..fdd07f1021a4a0e2cc5d7f6bacf6d1a68a5b6f0d GIT binary patch literal 99538 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≺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 F{|DZa#sL5T literal 0 HcmV?d00001 diff --git a/PROMS/Formats/fmtall/PROMSDemo2all.xml b/PROMS/Formats/fmtall/PROMSDemo2all.xml new file mode 100644 index 0000000000000000000000000000000000000000..a5d4598ca7619e54d21934896fdc3304dd3bdd36 GIT binary patch literal 83234 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 UDnZusQ0G#!9Yg1`0!e80|B_lORR910 literal 0 HcmV?d00001 diff --git a/PROMS/Formats/fmtall/PROMSDemoALRall.xml b/PROMS/Formats/fmtall/PROMSDemoALRall.xml new file mode 100644 index 0000000000000000000000000000000000000000..824969a13c4c041e04be348975d2132d35d95720 GIT binary patch literal 104584 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 literal 0 HcmV?d00001 diff --git a/PROMS/Formats/fmtall/PROMSDemoBCKall.xml b/PROMS/Formats/fmtall/PROMSDemoBCKall.xml new file mode 100644 index 0000000000000000000000000000000000000000..f9e76fb907ad03bf48ba24a271e145e2d87689e4 GIT binary patch literal 54878 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 delta 39 xcmV+?0NDSi=>*Q&1hD2QlTe5TlTbiFv#=@-F_WN31Oq$(FOv-&8?&}z^3hPg5A*;4 diff --git a/PROMS/Formats/fmtall/SHEall.xml b/PROMS/Formats/fmtall/SHEall.xml index b2d912dae16c071e45e1741d6785f783d2ca6c32..868f873779d2f3480620a38365a444f3d7c225c1 100644 GIT binary patch delta 857 zcmah{O;1x%5Iu#)7^{)cVvq)MTcMT@ZHpn%@Rf97&?q9P8;MDIJcRISp*+7>6!-^yVJE1@wllXvgDxifR_Id{H%3s--JcR%#YZjX`o z+1c8szHq4aaUh+I7&J`Y&U7cPBgx1Eyv7<_jPvgfR$8&fzm*u9>PGK_gt8!7^jT>#SmB1C6 zUdP8Wvkk%bT6Hz{3deB|CA?%t84e1(oQp-~lu%@z!)VFkrZG?CEN)VD zrP!Kgp3jpyT!FrlQCR|bhZ&1DLn#@axilrD7{R(kU(tgq73dZJUr+$gVjBd6uTk=w zq-#)^U^{K)P|*VYrxs$xUZdWAo{Hp7D5a5M*6=m#`^0jomc3T_nu^(NB&nMj?1~4E zlfeYe;S5U}CZR;MdA6iF-G07#nj%xTB$>Z(G)tMmyY zZzA3DWam^cUqT+Cl6)TM;F`F6iR-?J$5moGi~lAO4JeHv!vWE!T$7!)XszY()WKgt CXSd-1 delta 39 xcmV+?0NDSM=>*E!1hBLzlQ2FGli()=lMp}>li(%bvnnenFq4oU1hXt+X3|bZ5AFZ} diff --git a/PROMS/Formats/fmtall/TUECall.xml b/PROMS/Formats/fmtall/TUECall.xml index c8bce8ef70724b3c55cd5fad116cc3a7ae5e4c1e..b6297644dd216a5d660c7c067895b62449285c58 100644 GIT binary patch delta 3886 zcmcImdrVVT7(ZWM6a*0}(DLe~JQM|OOAEq)m4{5-1QpQ4O)L{|i%6+rgy0Nr#=V#U zKlNshD7t0YKTh;6vTVbtbJ-&f#5i5t;ySaCJYD0v;N?A2q#~Rp^%tc?9(X)ZoV&5HI zVg|D^6HPB?n`zEc`fs2meCKb*JI*kvKQdQsD4+#4vU;|OCT^y`Qkq^(@0)RXQv}Wy zQgCI{bjc}%2ZFz}B_&gd&J2}bHj87aEENYV$+~9xT)@)UQ>cHW*c%wW%GFL7(m#@ZhSr7}rkn9M2+7gZ)VHakn%~bj`e{|=>NUxZ8E5ILj z#2L_$HUk8yB&`oXK%+h0ubDl9D0hGlt+K zLNp$|bG?Z0!=5nQo?|syL?1t_Ho>PQT3Kk}_P5x2VnQB&~_*4e@d#T@L| zr$KXw3ft;yschl9_5aU*Td+P~C0#uH8h}me`$`R1|3e{~zwXDL_sn?Zxqhj5SEG`)(Gp3A9D_?` zVdqN;vwZWLLt09)R!03>O3woNw3wB!VvO4vW8mu9W&PytlKaid$MD#*-Pmzyg_;f$ zxgw*%+YDuFEA`<}!)zgc)`{O~Ku6dHZtL*;?ntSwwPD<{$$Q7%)#33Ip_uZ_HQei2 zf{ueKy!c}zIuD*5A`3tFP)_|AOJh~|iz6MEooE=1Gk6S6L{G-Q6_S(BhRB^M`&R9@Rjc_|0^fjVB+{c!f!q+;0SdbpGRX zz})t5Df*McYHG@XeSO&WMKpH2mV&Y3x#7>9uWIq?QL~iNdqRVqsKRTWog_ckOx{W@ zt1ljn0fU&OhZLoSrAd8<4|=IwrJ1U)vasH>ny3!>KqsT>d?ss@pz8+~5(9A`-OYe+ zX$kkD*}JM*Hi}H_nA#&J@Cre*PaWFH=e4jvcFvxcz0MhFqPxN7bNTSbr5U_4g^3GF zmn@fmpJelnUx`=GSgG*uw_@pFP8WCh!-HM(qM$}G*?RE$!&=F7>pT!s>0+M>ju6@A z!KLU5V(YR*K|F{70R50E{tA#5<-Pg2SdDy&jlS}wV*3Vz=up5DN=n$S4Kd)-V(#|= zVp{;jhIm7#gsq^M$fNWdiXRP90b-95u8S>NP~|ny_xz&6F9hX-SA$g)1)Jm>6F;E& zZK<5%VlhRGKvx2OWhiEa^pwv_@t6*D(@Lno8u@^2z#XMw>IG~bvx}z#AxfRegGlVt z!V$4G2nxls)J|Q?qChoepl$a=HF1PVQMXQm3^(UL!Ikm&SxB-WL_S7Hnld0+Iq|Ou zm>bLkd9+%TWq5s|meg9(m1Tm4`&K_CdS0te^l0ILtcTJ{LcN~=G2)FNiYKy?I9~yW z?xxx&EdPhXs41*n)D+*sJ@)Pn1v^+om%;pd4?iDxG#vG@)&&s10hl=$3UT9vf_&=F=l5VPr-mSgrSI`bn{mQS)R#jA~_}>kYd@a zpsT|?xsF?Ca-1>WWCu64$r*|wlN*d$Ca*FPntZ`Y2FT~xEMU~cG`WGDW%2<-6`&vs zSn!<50mjK6;#ejp^sr5yWhOCso-xPdbB;2TZF)E+A9IwLEC5spk>{GsV=gect=wsI zgZVwT&3RKSqNY!(VU(Nhv4T-(^Nn{u*e5H5>1qZ^1GaN) XVf@BE`N>X!=^3*a1*W$>VblQt8I5O1 diff --git a/PROMS/Formats/fmtall/WEP2all.xml b/PROMS/Formats/fmtall/WEP2all.xml index 8f5e5743cba63d2909835827a03dd17c44159199..880a7aa56e21979ff7fd536793b0fe18916a2b74 100644 GIT binary patch delta 188 zcmZ4Yisi%ymJP3RCV#M%n>@)|NYIlZkD-hqlc5-hlNfRsQYW7_RGlp6!83VUy3*uH z1`?ACETksy$&i~YmB}@kB~x$mBQBxI8!YT5uXEvIRGR!ZGj;NjR1s4Qa~KpDJb-4V zGh_f+J`AZqTT+4MD=-8zlmJ-;K$gbj|0_fpH7763k(`_mrZV|~rQGC#G@i);;eL~^ VO%$5^z>15NlK}`fKg{tx0RRS{JL3QV delta 14 WcmX@{fo0t*mJP3RHnSACoB#kky$6y2 diff --git a/PROMS/Formats/fmtall/WEPBCKall.xml b/PROMS/Formats/fmtall/WEPBCKall.xml index 7ffb858a3ca438a797b368c0119c4c77275c7bd0..76e45fd4052c4125ed2a436b20f88582c3b413f3 100644 GIT binary patch delta 190 zcmaE}hq>V}^9H8$$qTe(7%e7$)D#xa-WshREwV6Aguu8Su$8mE)V@nmH@LM ugAq_p5lq8$m@pVIn1MtYjV2$oah)6>ECjaWnvek4&X+<^nau&hEdc;{Xf-GR delta 183 zcmex&obk$W#trZICQC?&Ozz`Wn5@As#cIl6#9%PFQ9P58b24L$GOG!gpD(05nMoiB zBF1dOU_7}|KoKZs%wRJ4qpb7f4`O_9^(G7!lkZ1Mqq zKA@Pz%pXtYZrVY1bCP#HiO%7n?nS6m+WHO(u6tf9~`Q$*+{K*^aBqkR`@i7|%`Fmv* z!SqAf;K>`rSYUFj#taq=CX@He%0pQjRYH;EEEz1Iav&D6oC$*=gAq_pkc%@_sIfMLX%5$gdm2Q0Sy5f29)|(j3#By fUIF|5s3CG~cYKcs&mQI5jUw diff --git a/PROMS/Formats/genmacall/BNPPalr.svg b/PROMS/Formats/genmacall/BNPPalr.svg index c81be361816570d0a31d6c5cab6e57e1ce762fde..7baaf58d6a42e61e6a342023e0a043e51a1727be 100644 GIT binary patch delta 171 zcmX??xv6A>gwSLkeZI-BI2p2Joy@T&EyXP zN{mL6Hwp$%4&YN`G?|%{pcKNCB&Nq8OeBq5H;5<&u#^NhqM`)KiP JUM8&}2>?|aH^l$| delta 61 zcmV-D0K)&Wbk1q87!s4Z7I?F;93BLdP#cPqupDrc?ji=0P#g}k@)E8Ck`f4$x)uzbCgriF5KJc9F^Rm=q?*a7wY7G8i!!OlD*YpS+J-XtDyc3bP4=(PTj`MOGjU zl&R+q1c?H9#tbHt|8pxcgJ^`P34;Yll+k2zEq5?fzuDx!+{%n*lNEVjBIc79@+dQ# bGnhejicL1*6#(1h&Z`I&58Zr#_XHyV;D9Hd diff --git a/PROMS/Formats/genmacall/PROMSDemo1.svg b/PROMS/Formats/genmacall/PROMSDemo1.svg new file mode 100644 index 0000000000000000000000000000000000000000..50f21e01065199f584678a79e6d36c89d537810f GIT binary patch literal 23242 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 TT6?7>p4C%0%B}Aft6u*DAt;8V literal 0 HcmV?d00001 diff --git a/PROMS/Formats/genmacall/PROMSDemoALR.svg b/PROMS/Formats/genmacall/PROMSDemoALR.svg new file mode 100644 index 0000000000000000000000000000000000000000..c5ae1d771a3af3a0eca9c9aea4663339604017fa GIT binary patch literal 7086 zcmeHMTTdE66h5yu>3`VzTtIH34b><$u}Lq+HhrfGXjCME7uxi%xBb33d)V1!L01;* zLqmk!nKLurxz0JqKfjx@Eq8Ju=Mu<`bmU5gaw?b7m$$MiWhu%Uegn+(5kuI%u|KOJ2$gY04{%732VWUCIF8r&v9bHlD`V={?qWF>{4e+Zfl=0;~w6 z2&?0}x!5r^(M zbZ?|2zvTKDl*DWt3^CdRl}e@$N=k!xM&Rg;l<>KApCZ1iSWSL<7$sVMN?5}^D7#yn ze2kSRZkG+b_1*XhPBu&`?X}6=4W2q!xr?3e+`2XF#J{>UAnyR*JZm+?9AKo0Q^?g3 z#t!6AKFde>g7J44y}&*y3+mwlR83%v=&89CjFD@iC7xYq*7jd%dq6T>#$Wysm=>UERfb)DZXU17#nSTrtEsw4gJ*bM8B6+Bp4eYPOJ&Fs+uz z18}GsC1)k@rf({%IHy(6N3%*n%ewQpRe1-nV&WkOHFpZFnRZx!UAG}y@}o36;DEMz zo}iMq78-&1FmKOuvG{DS`ICmq-wxiD1sqpiR)DFwySfV?*nI39zS zdu+kFXlVn-Ik};BIuar7V2+kHf;<>IMsu;#qp5e=RoO|GQZe*8LU}XJkfsvSkSFC( zM^FG2BxQ>QM)6b_Yp@oJni{dpnrCA)ihqaE zq+}RpN z3wpe5WJ8#=UCl2IUnF6}R}G{1Q{k&2Z&6I?67=USYf*_V17TFvsK)2rnEMWQGOzq^ zH)lRC+2Rf}4TX`3#WT&!;69;~x3 zo%UE0e{$7d_ByQ*<_KD+@n&O9lLxvFz{YxXl(Ba7WtAr$b|ToHU{yQ-D((Gbt!v}* z%1@VHQJ)QfFdH7)wbnhVzx?nV0t@><){$EbSDt!2fTj2Dk<|Q~M{gs)2ea?${Y7t| zD8Ej2oR(RiPIsK59MSqU7Kh5HVbn&<-!)rU%-^kx^pO6jbw{&wlgh~Z>{em~txqc8 zJbGVg-O6-yet#q0t!z1bv+Ml=vK!0G$N~G-`X29DmczR~X+JjpJh~gL)LboTYre+x zdA60Y_kQgnGrQuv&DejA-$e1gC8f7D>G`GWOZ_~FYXkiptK_K*YJxpm9a|no>rW_xf{Pl3>hxf!<4~ntXNrgwC;fzV zn|jc+uS9eC`%8MX^&`Xd?b32QS#)53Y&wID_nQl0ls0YF+<#pBZnIG=rp5VvO>(9G HN!pUXycORt literal 0 HcmV?d00001 diff --git a/PROMS/Formats/genmacall/PROMSDemoBCK.svg b/PROMS/Formats/genmacall/PROMSDemoBCK.svg new file mode 100644 index 0000000000000000000000000000000000000000..4b0b8281a9b39fe3c4786b7e6d8391b4b17dd18a GIT binary patch literal 6990 zcmd5>TTc@~6h6-;{)g3P>1|uu5`-X-;0qcd#@BKuU?r5R#=ow9-<+P#?#%WA_Chvp zmzlFO-?@Hg*1vyNWnCWRyIe{lcXBM((vx%fAzgVdZ>1_Fso*!kOjiyueuUYsoVwXt zxselDg48l()@4mz%PU!xHyB%z&sgh+T;YC>w{N6_r$?;x5$~U1<{G-cV64zMc z5ZGx8N;P1$6nEl(?Bj}cY&dKstf-QqrpwZTy-UzT=TCrwzUK~IXxzoFT(yUt8JidQ zn{x+{p=KA+>{4K5=0nX%m2(y=|20$3mT_ zt=m)3hFCmq=5J}>-$f(Oqbas@US`pVv)NIEx9YNtxuZxmZe|k;Veb098KYzaW=ZO@ zBwwS_Ty}=pTLbp_=dQ*#IpiTzkH}~qi&msMMi>>WAmlGH&k~+GsEDjHDn$mnbzDPk zNn{r*-v{rIVSn~(PZevjI_$|l*zB{bsfK2fno-H&EQ*a~)N|&ZRoB@^h~c;D-W1xd z>8vmhTW+9_*hdHO3Dz&es^4JOZ8x?pTk;F_|4M$#7mV#;hEjWYCYu@Z(DGr-hc+D- z`8DJOquadjl43t*q8fa~K8DQAno<;1HRLkA>REgCaTR(Y#xULw6^FXg&xV)e2a7$+ zniO^?YqGbtu4uM3D9i}UlwIV={vdBYp{LuI4dmA@vSw>!-o&w0N8GfaReeNkvCq?v zP&J=rWHIYU^={;`an*pC-O6~0`f0Vz^Irqm(!|`b{$+-Yg>4} z0{Uy<=edhL$0(kP^Nrn@q1QU@?QZ>f6@Ji;(fUU(^M5_0G6>H~#kMZSYn_VXCAR!I zs1A?h@p_qQ;kB5E>w{&-4lFxac2IJB6)}y-Vfq|a4@M&MAY`q^Oe==>q1i<9B=#No z*fM-r&tUUf(+&Bwy*4?*YCo4P7sx$oWy=MVm>0%6qQzoCt(f+$Ivk@(EDobt$uMTM zn60nl49$Lj+Hu|-$KX7*lC|4?-quRbGhi`~v;GX{@rKKH^3{C4KMjj^?a=d`meBKxcNw;pb_31p@L~JU5%_g&Brj4zV zt!D0|C3phf7{@pF literal 0 HcmV?d00001 diff --git a/PROMS/Formats/genmacall/tuec.svg b/PROMS/Formats/genmacall/tuec.svg index 2d212c485f682dc41aeb5dc48760b3fabfa13f71..2ea957eb209aa4271b6e430e5c3635fca92a8eaa 100644 GIT binary patch delta 881 zcmcIiO-~bH5PmjGyOee}4a-UhBrR+ZNnGgeT4)cD0Ae(hQf$5XksgRKX_Swe2!upp z!odq!$D4`z1B{V0B*c^P7ofiYub#Y`cyQi#7cidSz+vBgX6BulXXbs5-YY+kluvgJ z{U)wq0F%(sfdnm@CVkL8DhUd7i%RM%M)kpN`lG&baB2Dwm8Qxp88PqgmV%eizLM_hWduusqDyA(Gf*XgrYDnM+`mAi8y`x(5* z_M**(c98;mCYh7IQC3cZex&;I=dUC9Y+s&La`a6d_FaS(&&ndo{-4LF!>mIcgwqtI zbv(;ymuNQHwFQF*C0F&}$*p{er!6r}kyTZQY6(r{C}_{v6|7>3b=|}xJY}3$p+K diff --git a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs index 57a279a3..e181526c 100644 --- a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs +++ b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs @@ -276,8 +276,10 @@ namespace ctlXMLEditLib bool imagechild; //whether this field is a subchild of an image string imagename; //if subchild of image, name of image parent (for save) string imagedate; //if this was filename, save the date/time stamp + string name; //name of element + string parenthtid; //name of parent element in hashtable for PC items public TextBoxAttrTag(bool reqd, string ptn, RadioButton rd, bool img, - string imgname, string imgdate) + string imgname, string imgdate, string elemname) { this.req_msg = null; this.required = reqd; @@ -286,6 +288,12 @@ namespace ctlXMLEditLib this.imagechild = img; this.imagename = imgname; this.imagedate = imgdate; + this.name = elemname; + + if (name.Contains("_PCCHILD")) + this.parenthtid = name.Substring(0, name.IndexOf("_PCCHILD")); + else + this.parenthtid = null; } public void SetPattern(string pattern) {this.pattern = pattern;} public void SetRequired(bool req) {this.required = req;} @@ -298,6 +306,10 @@ namespace ctlXMLEditLib public string GetImageName { get {return imagename;}} public string GetImageDate { get {return imagedate;}} public void SetImageDate(string imgdate) {this.imagedate = imgdate;} + public string GetName { get { return name; } } + public void SetName(string elemname) { this.name = elemname; } + public string GetParentHTId { get { return parenthtid; } } + public void SetParentHTId(string id) { this.parenthtid = id; } } public ctlXMLEdit(VlnXmlElement myelem, XmlSchema myschema, ArrayList reqfields, ArrayList fldsWithApplic, string [] pckids) @@ -928,7 +940,7 @@ namespace ctlXMLEditLib // initialization. if (mytextbox.Tag == null) { - TextBoxAttrTag tag = new TextBoxAttrTag(false, pattern, radio, img, (img?imgname:null), null); + TextBoxAttrTag tag = new TextBoxAttrTag(false, pattern, radio, img, (img?imgname:null), null, mytextbox.Name); mytextbox.Tag = (object) tag; } return getannot; @@ -1136,6 +1148,7 @@ namespace ctlXMLEditLib mytextbox = new TextBox(); mytextbox.Location = new Point(screenx+indent, screeny); string tFieldName = (pcChildIdx == 0) ? CvtUserFldToFld(element.Name) : CvtUserFldToFld(pcChildFldName); + mytextbox.Name = tFieldName; myHT.Add(tFieldName, mytextbox); tabindx++; Controls.Add(mytextbox); @@ -1192,14 +1205,39 @@ namespace ctlXMLEditLib // C2021-026 Event handler for Parent/Child child textbox // if the textbox text is same as parent, then or nothing is entered in the textbox // then use the parent value and set the text color to gray + // B2025-028 RO Editor - Parent Child Applicability - Default Values + // Were always setting to the Group parent value instead of individual parent values + // When leaving the textbox private void txtBox_Leave(object sender, EventArgs e) { TextBox tb = sender as TextBox; string dfTxt = ""; - string parName = pcGrpBox.Name.Substring(5); - object o = myHT[parName]; - if (o != null) - dfTxt = (o as TextBox).Text; // set to use the parent's value (default) + try + { + string parentid = ((TextBoxAttrTag)tb.Tag).GetParentHTId; + if (!string.IsNullOrEmpty(parentid)) + { + object o = myHT[parentid]; + if (o != null) + dfTxt = (o as TextBox).Text; // set to use the parent's value (default) + } + else + { + + string parName = pcGrpBox.Name.Substring(5); + object o = myHT[parName]; + if (o != null) + dfTxt = (o as TextBox).Text; // set to use the parent's value (default) + } + } + catch + { + string parName = pcGrpBox.Name.Substring(5); + object o = myHT[parName]; + if (o != null) + dfTxt = (o as TextBox).Text; // set to use the parent's value (default) + } + if (dosaveflag) mysavexml = true; if (tb.Text.Length == 0 || tb.Text == dfTxt) { diff --git a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs index c01b1339..f38f9188 100644 --- a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs +++ b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs @@ -418,7 +418,12 @@ namespace VEPROMS //txbPDFLocation.Text = _PDFPath; BuildPDFFileName(); ProcedureConfig pc = _MyProcedure.MyConfig as ProcedureConfig; - if(SelectedSlave > 0) pc.SelectedSlave = SelectedSlave; + // C2025-033 set which Child procedure is being printed used for PageStyle items + VlnSvgPageHelper.PrintingChild = SelectedSlave; + if (SelectedSlave > 0) + { + pc.SelectedSlave = SelectedSlave; + } if (pc != null) { //C2021-062 use the save rev number for all procedures if set, or just use the rev number in the current procedure config diff --git a/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj b/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj index 7183693a..856bf9c4 100644 --- a/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj +++ b/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj @@ -164,6 +164,12 @@ dlgCheckedOutProcedure.cs + + Form + + + dlgMSWordMessage.cs + Form @@ -331,6 +337,9 @@ Designer AboutVEPROMS.cs + + dlgMSWordMessage.cs + dlgCheckOpenTabs.cs diff --git a/PROMS/VEPROMS User Interface/dlgExportImportEP.cs b/PROMS/VEPROMS User Interface/dlgExportImportEP.cs new file mode 100644 index 00000000..f6c466be --- /dev/null +++ b/PROMS/VEPROMS User Interface/dlgExportImportEP.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using VEPROMS.CSLA.Library; + +namespace VEPROMS +{ + //C2025-024 Electronic Procedures - Phase 2 (PROMS XML output) + //class inherits from normal import/export form + //then adds additional functionality + public partial class dlgExportImportEP : dlgExportImport + { + private readonly AnnotationTypeInfo _AnnotationType; + + public dlgExportImportEP(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, folderInfo, myFrmVEPROMS, (E_UCFImportOptions) 0) + { + _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); + _ExportBothConvertedandNot = true; + DocReplace = new Dictionary(); + FormClosed += OnClose; + Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {folderInfo.Name}"; + } + + public dlgExportImportEP(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, docVersionInfo, myFrmVEPROMS, (E_UCFImportOptions)0) + { + _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); + _ExportBothConvertedandNot = true; + DocReplace = new Dictionary(); + FormClosed += OnClose; + Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {docVersionInfo.Name} of {docVersionInfo.MyFolder.Name}"; + } + public dlgExportImportEP(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, procedureInfo, myFrmVEPROMS, (E_UCFImportOptions)0) + { + _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); + _ExportBothConvertedandNot = true; + DocReplace = new Dictionary(); + FormClosed += OnClose; + Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {procedureInfo.DisplayNumber}"; + } + private void OnClose(object sender, EventArgs e) + { + DocReplace.Clear(); + DocReplace = null; + } + + + } +} diff --git a/PROMS/VEPROMS User Interface/dlgMSWordMessage.Designer.cs b/PROMS/VEPROMS User Interface/dlgMSWordMessage.Designer.cs new file mode 100644 index 00000000..55b16316 --- /dev/null +++ b/PROMS/VEPROMS User Interface/dlgMSWordMessage.Designer.cs @@ -0,0 +1,100 @@ + +namespace VEPROMS +{ + partial class dlgMSWordMessage + { + ///

+ /// 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.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.cbRemember = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.btnOpenTabs = new DevComponents.DotNetBar.ButtonX(); + this.SuspendLayout(); + // + // labelX1 + // + // + // + // + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelX1.Location = new System.Drawing.Point(20, 12); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(520, 78); + this.labelX1.TabIndex = 0; + this.labelX1.Text = "The _______________ will be opened in MS Word.\r\n\r\nYou can make modifications and " + + "copy it into a PROMS Word section."; + this.labelX1.WordWrap = true; + // + // cbRemember + // + // + // + // + this.cbRemember.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbRemember.Location = new System.Drawing.Point(12, 96); + this.cbRemember.Name = "cbRemember"; + this.cbRemember.Size = new System.Drawing.Size(566, 55); + this.cbRemember.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.cbRemember.TabIndex = 1; + this.cbRemember.Text = "Check this box to not be prompted in the future when generating summaries that wi" + + "ll be opened in MS Word. \r\n\nNote that these settings can be adjusted at any time" + + " from the OPTIONS menu for PROMS."; + // + // btnOpenTabs + // + this.btnOpenTabs.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.btnOpenTabs.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.btnOpenTabs.DialogResult = System.Windows.Forms.DialogResult.Yes; + this.btnOpenTabs.Location = new System.Drawing.Point(490, 126); + this.btnOpenTabs.Name = "btnOpenTabs"; + this.btnOpenTabs.Size = new System.Drawing.Size(64, 25); + this.btnOpenTabs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnOpenTabs.TabIndex = 2; + this.btnOpenTabs.Text = "OK"; + this.btnOpenTabs.Click += new System.EventHandler(this.btnTabs_Click); + // + // dlgMSWordMessage + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(567, 163); + this.ControlBox = false; + this.Controls.Add(this.btnOpenTabs); + this.Controls.Add(this.cbRemember); + this.Controls.Add(this.labelX1); + this.Name = "dlgMSWordMessage"; + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.CheckBoxX cbRemember; + private DevComponents.DotNetBar.ButtonX btnOpenTabs; + } +} \ No newline at end of file diff --git a/PROMS/VEPROMS User Interface/dlgMSWordMessage.cs b/PROMS/VEPROMS User Interface/dlgMSWordMessage.cs new file mode 100644 index 00000000..5f26d7f7 --- /dev/null +++ b/PROMS/VEPROMS User Interface/dlgMSWordMessage.cs @@ -0,0 +1,45 @@ +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 VEPROMS.CSLA.Library; +using Volian.Base.Library; + +namespace VEPROMS +{ + public partial class dlgMSWordMessage : Form + { + //C2025-013 - Allow not continuously generate message that opening Summaries in MS Word + //typeofitem will be: Continuous Action/Time Critical Action + public dlgMSWordMessage(string typeofitem) + { + InitializeComponent(); + Text = $"{typeofitem} Summary"; + labelX1.Text = $"The {typeofitem} Summary will be opened in MS Word.\n\nYou can make modifications and copy it into a PROMS Word section."; + } + + public bool ShouldDisplay() + { + UserSettings usersettings = new UserSettings(VlnSettings.UserID); + return usersettings.UserSetting_MSWord_Summary_Prompt; + } + + private void btnTabs_Click(object sender, EventArgs e) + { + //if checkbox was checked in form, then update User Settings in database + if (cbRemember.Checked) + { + UserSettings usersettings = new UserSettings(VlnSettings.UserID); + usersettings.SetUserSetting_MSWord_Summary_Prompt(false); + } + + this.Close(); + } + + } +} diff --git a/PROMS/VEPROMS User Interface/dlgMSWordMessage.resx b/PROMS/VEPROMS User Interface/dlgMSWordMessage.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/PROMS/VEPROMS User Interface/dlgMSWordMessage.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs index 9ef8319b..a2088150 100644 --- a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs +++ b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs @@ -395,8 +395,11 @@ namespace VEPROMS // this will display the generated Continuous Action Summary in MS Word (starting a new instance of MS Word outside of PROMS) if (MyPromsPrinter.MyContActSummary != null) { - string instructions = "The Continuous Action Summary will be opened in MS Word.\n\nYou can make modifications and copy it into a PROMS Word section."; - MessageBox.Show(instructions, "Continuous Action Summary"); + //C2025-013 - Allow not continuously generate message that opening Summaries in MS Word + using (dlgMSWordMessage msg = new dlgMSWordMessage("Continuous Action")) + { + if (msg.ShouldDisplay()) msg.ShowDialog(); + } // The ContActSummaryDelay is a switch that can be added to the PROMS.exe shortcut // ex: VEPROMS.EXE /ContActSummaryDelay=2.5 will delay it 2 1/2 seconds @@ -410,8 +413,11 @@ namespace VEPROMS // F2022-024 this will display the generated Time Critical Action Summary in MS Word (starting a new instance of MS Word outside of PROMS) if (MyPromsPrinter.MyTimeCriticalActSummary != null) { - string instructions = "The Time Critical Action Summary will be opened in MS Word.\n\nYou can make modifications and copy it into a PROMS Word section."; - MessageBox.Show(instructions, "Time Critical Action Summary"); + //C2025-013 - Allow not continuously generate message that opening Summaries in MS Word + using (dlgMSWordMessage msg = new dlgMSWordMessage("Time Critical Action")) + { + if (msg.ShouldDisplay()) msg.ShowDialog(); + } // The ContActSummaryDelay is a switch that can be added to the PROMS.exe shortcut // ex: VEPROMS.EXE /ContActSummaryDelay=2.5 will delay it 2 1/2 seconds diff --git a/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs b/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs index 7dbea98c..d86ed122 100644 --- a/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs @@ -42,12 +42,11 @@ namespace VEPROMS this.btnGeneral = new DevComponents.DotNetBar.ButtonX(); this.tcSysOpts = new DevComponents.DotNetBar.TabControl(); this.tabControlPanel3 = new DevComponents.DotNetBar.TabControlPanel(); - //this.grPanUCFImpOpt = new DevComponents.DotNetBar.Controls.GroupPanel(); // C2024-041 remove from Options panel in V button. - this.cbUCFLForSetOnly = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbUCFLUseAll = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbUCFLOnlyImport = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbUCFLNotUsed = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbUCFIgnore = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.gpOpenTabs = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.cbOTRemember = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbOTAutoOpen = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.gpShwRplWords = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.cbShwRplWrdsColor = new DevComponents.DotNetBar.Controls.CheckBoxX(); this.gpVisioPath = new DevComponents.DotNetBar.Controls.GroupPanel(); this.txbxVisioPath = new DevComponents.DotNetBar.Controls.TextBoxX(); this.gpSeparateWindows = new DevComponents.DotNetBar.Controls.GroupPanel(); @@ -74,19 +73,22 @@ namespace VEPROMS this.tiGeneral = new DevComponents.DotNetBar.TabItem(this.components); this.tabControlPanel2 = new DevComponents.DotNetBar.TabControlPanel(); this.tiStUpMsg = new DevComponents.DotNetBar.TabItem(this.components); + this.cbUCFLForSetOnly = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbUCFLUseAll = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbUCFLOnlyImport = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbUCFLNotUsed = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbUCFIgnore = new DevComponents.DotNetBar.Controls.CheckBoxX(); this.btnReset = new DevComponents.DotNetBar.ButtonX(); this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip(); - this.cbOTRemember = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbShwRplWrdsColor = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbOTAutoOpen = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.gpOpenTabs = new DevComponents.DotNetBar.Controls.GroupPanel(); - this.gpShwRplWords = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.cbMSWordPrompt = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.gpMSWordSum = new DevComponents.DotNetBar.Controls.GroupPanel(); this.gpSystemColor.SuspendLayout(); this.panButtons.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.tcSysOpts)).BeginInit(); this.tcSysOpts.SuspendLayout(); this.tabControlPanel3.SuspendLayout(); - //this.grPanUCFImpOpt.SuspendLayout(); // C2024-041 remove from Options panel in V button. + this.gpOpenTabs.SuspendLayout(); + this.gpShwRplWords.SuspendLayout(); this.gpVisioPath.SuspendLayout(); this.gpSeparateWindows.SuspendLayout(); this.gpEnhancedDocs.SuspendLayout(); @@ -96,16 +98,15 @@ namespace VEPROMS this.gpAnnotationSettings.SuspendLayout(); this.gpTransRangeColor.SuspendLayout(); this.gpPropPageStyle.SuspendLayout(); - this.gpOpenTabs.SuspendLayout(); - this.gpShwRplWords.SuspendLayout(); + this.gpMSWordSum.SuspendLayout(); this.SuspendLayout(); // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.btnCancel.Location = new System.Drawing.Point(616, 492); - this.btnCancel.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnCancel.Location = new System.Drawing.Point(616, 591); + this.btnCancel.Margin = new System.Windows.Forms.Padding(2); this.btnCancel.Name = "btnCancel"; this.btnCancel.Size = new System.Drawing.Size(56, 19); this.btnCancel.TabIndex = 0; @@ -115,8 +116,8 @@ namespace VEPROMS // btnOK // this.btnOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnOK.Location = new System.Drawing.Point(542, 492); - this.btnOK.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnOK.Location = new System.Drawing.Point(542, 591); + this.btnOK.Margin = new System.Windows.Forms.Padding(2); this.btnOK.Name = "btnOK"; this.btnOK.Size = new System.Drawing.Size(56, 19); this.btnOK.TabIndex = 1; @@ -133,7 +134,7 @@ namespace VEPROMS this.gpSystemColor.Controls.Add(this.cbRibonBlue); this.gpSystemColor.DisabledBackColor = System.Drawing.Color.Empty; this.gpSystemColor.Location = new System.Drawing.Point(39, 13); - this.gpSystemColor.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpSystemColor.Margin = new System.Windows.Forms.Padding(2); this.gpSystemColor.Name = "gpSystemColor"; this.gpSystemColor.Size = new System.Drawing.Size(82, 97); // @@ -176,7 +177,7 @@ namespace VEPROMS this.cbRibonBlack.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbRibonBlack.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbRibonBlack.Location = new System.Drawing.Point(7, 54); - this.cbRibonBlack.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbRibonBlack.Margin = new System.Windows.Forms.Padding(2); this.cbRibonBlack.Name = "cbRibonBlack"; this.cbRibonBlack.Size = new System.Drawing.Size(67, 19); this.cbRibonBlack.TabIndex = 2; @@ -192,7 +193,7 @@ namespace VEPROMS this.cbRibonSilver.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbRibonSilver.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbRibonSilver.Location = new System.Drawing.Point(7, 30); - this.cbRibonSilver.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbRibonSilver.Margin = new System.Windows.Forms.Padding(2); this.cbRibonSilver.Name = "cbRibonSilver"; this.cbRibonSilver.Size = new System.Drawing.Size(67, 19); this.cbRibonSilver.TabIndex = 1; @@ -208,7 +209,7 @@ namespace VEPROMS this.cbRibonBlue.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbRibonBlue.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbRibonBlue.Location = new System.Drawing.Point(7, 6); - this.cbRibonBlue.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbRibonBlue.Margin = new System.Windows.Forms.Padding(2); this.cbRibonBlue.Name = "cbRibonBlue"; this.cbRibonBlue.Size = new System.Drawing.Size(67, 19); this.cbRibonBlue.TabIndex = 0; @@ -223,7 +224,7 @@ namespace VEPROMS this.panButtons.Controls.Add(this.btnGeneral); this.panButtons.DisabledBackColor = System.Drawing.Color.Empty; this.panButtons.Location = new System.Drawing.Point(14, 14); - this.panButtons.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.panButtons.Margin = new System.Windows.Forms.Padding(2); this.panButtons.Name = "panButtons"; this.panButtons.Size = new System.Drawing.Size(168, 460); this.panButtons.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -244,7 +245,7 @@ namespace VEPROMS this.btnIntrFaceStngs.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.btnIntrFaceStngs.Dock = System.Windows.Forms.DockStyle.Top; this.btnIntrFaceStngs.Location = new System.Drawing.Point(0, 38); - this.btnIntrFaceStngs.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnIntrFaceStngs.Margin = new System.Windows.Forms.Padding(2); this.btnIntrFaceStngs.Name = "btnIntrFaceStngs"; this.btnIntrFaceStngs.Size = new System.Drawing.Size(168, 19); this.btnIntrFaceStngs.TabIndex = 2; @@ -257,7 +258,7 @@ namespace VEPROMS this.btnStartMsg.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.btnStartMsg.Dock = System.Windows.Forms.DockStyle.Top; this.btnStartMsg.Location = new System.Drawing.Point(0, 19); - this.btnStartMsg.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnStartMsg.Margin = new System.Windows.Forms.Padding(2); this.btnStartMsg.Name = "btnStartMsg"; this.btnStartMsg.Size = new System.Drawing.Size(168, 19); this.btnStartMsg.TabIndex = 1; @@ -271,7 +272,7 @@ namespace VEPROMS this.btnGeneral.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.btnGeneral.Dock = System.Windows.Forms.DockStyle.Top; this.btnGeneral.Location = new System.Drawing.Point(0, 0); - this.btnGeneral.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnGeneral.Margin = new System.Windows.Forms.Padding(2); this.btnGeneral.Name = "btnGeneral"; this.btnGeneral.Size = new System.Drawing.Size(168, 19); this.btnGeneral.TabIndex = 0; @@ -287,11 +288,11 @@ namespace VEPROMS this.tcSysOpts.Controls.Add(this.tabControlPanel1); this.tcSysOpts.Controls.Add(this.tabControlPanel2); this.tcSysOpts.Location = new System.Drawing.Point(27, 17); - this.tcSysOpts.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tcSysOpts.Margin = new System.Windows.Forms.Padding(2); this.tcSysOpts.Name = "tcSysOpts"; this.tcSysOpts.SelectedTabFont = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold); this.tcSysOpts.SelectedTabIndex = 2; - this.tcSysOpts.Size = new System.Drawing.Size(645, 457); + this.tcSysOpts.Size = new System.Drawing.Size(645, 555); this.tcSysOpts.TabIndex = 3; this.tcSysOpts.TabLayoutType = DevComponents.DotNetBar.eTabLayoutType.FixedWithNavigationBox; this.tcSysOpts.Tabs.Add(this.tiGeneral); @@ -303,9 +304,9 @@ namespace VEPROMS // // tabControlPanel3 // + this.tabControlPanel3.Controls.Add(this.gpMSWordSum); this.tabControlPanel3.Controls.Add(this.gpOpenTabs); this.tabControlPanel3.Controls.Add(this.gpShwRplWords); - //this.tabControlPanel3.Controls.Add(this.grPanUCFImpOpt); // C2024-041 remove from Options panel in V button. this.tabControlPanel3.Controls.Add(this.gpVisioPath); this.tabControlPanel3.Controls.Add(this.gpSeparateWindows); this.tabControlPanel3.Controls.Add(this.gpEnhancedDocs); @@ -319,10 +320,10 @@ namespace VEPROMS this.tabControlPanel3.DisabledBackColor = System.Drawing.Color.Empty; this.tabControlPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControlPanel3.Location = new System.Drawing.Point(0, 27); - this.tabControlPanel3.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tabControlPanel3.Margin = new System.Windows.Forms.Padding(2); this.tabControlPanel3.Name = "tabControlPanel3"; this.tabControlPanel3.Padding = new System.Windows.Forms.Padding(1); - this.tabControlPanel3.Size = new System.Drawing.Size(645, 430); + this.tabControlPanel3.Size = new System.Drawing.Size(645, 528); this.tabControlPanel3.Style.BackColor1.Color = System.Drawing.SystemColors.Control; this.tabControlPanel3.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; this.tabControlPanel3.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right) @@ -332,132 +333,136 @@ namespace VEPROMS this.tabControlPanel3.TabItem = this.tiIntrFaceStngs; this.tabControlPanel3.ThemeAware = true; // - // grPanUCFImpOpt + // gpOpenTabs // - // C2024-041 remove from Options panel in V button. - /*this.grPanUCFImpOpt.CanvasColor = System.Drawing.SystemColors.Control; - this.grPanUCFImpOpt.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; // C2024-041 remove from Options panel in V button. - this.grPanUCFImpOpt.Controls.Add(this.cbUCFLForSetOnly); // C2024-041 remove from Options panel in V button. - this.grPanUCFImpOpt.Controls.Add(this.cbUCFLUseAll); // C2024-041 remove from Options panel in V button. - this.grPanUCFImpOpt.Controls.Add(this.cbUCFLOnlyImport); - this.grPanUCFImpOpt.Controls.Add(this.cbUCFLNotUsed); - this.grPanUCFImpOpt.Controls.Add(this.cbUCFIgnore); - this.grPanUCFImpOpt.DisabledBackColor = System.Drawing.Color.Empty; - this.grPanUCFImpOpt.Location = new System.Drawing.Point(313, 12); - this.grPanUCFImpOpt.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.grPanUCFImpOpt.Name = "grPanUCFImpOpt"; - this.grPanUCFImpOpt.Size = new System.Drawing.Size(146, 138); + this.gpOpenTabs.BackColor = System.Drawing.Color.Transparent; + this.gpOpenTabs.CanvasColor = System.Drawing.SystemColors.Control; + this.gpOpenTabs.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.gpOpenTabs.Controls.Add(this.cbOTRemember); + this.gpOpenTabs.Controls.Add(this.cbOTAutoOpen); + this.gpOpenTabs.DisabledBackColor = System.Drawing.Color.Empty; + this.gpOpenTabs.Location = new System.Drawing.Point(462, 252); + this.gpOpenTabs.Margin = new System.Windows.Forms.Padding(2); + this.gpOpenTabs.Name = "gpOpenTabs"; + this.gpOpenTabs.Size = new System.Drawing.Size(139, 81); // // // - this.grPanUCFImpOpt.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.grPanUCFImpOpt.Style.BackColorGradientAngle = 90; - this.grPanUCFImpOpt.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.grPanUCFImpOpt.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.grPanUCFImpOpt.Style.BorderBottomWidth = 1; - this.grPanUCFImpOpt.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.grPanUCFImpOpt.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.grPanUCFImpOpt.Style.BorderLeftWidth = 1; - this.grPanUCFImpOpt.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.grPanUCFImpOpt.Style.BorderRightWidth = 1; - this.grPanUCFImpOpt.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.grPanUCFImpOpt.Style.BorderTopWidth = 1; - this.grPanUCFImpOpt.Style.CornerDiameter = 4; - this.grPanUCFImpOpt.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; - this.grPanUCFImpOpt.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; - this.grPanUCFImpOpt.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.grPanUCFImpOpt.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + this.gpOpenTabs.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.gpOpenTabs.Style.BackColorGradientAngle = 90; + this.gpOpenTabs.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.gpOpenTabs.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpOpenTabs.Style.BorderBottomWidth = 1; + this.gpOpenTabs.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.gpOpenTabs.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpOpenTabs.Style.BorderLeftWidth = 1; + this.gpOpenTabs.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpOpenTabs.Style.BorderRightWidth = 1; + this.gpOpenTabs.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpOpenTabs.Style.BorderTopWidth = 1; + this.gpOpenTabs.Style.CornerDiameter = 4; + this.gpOpenTabs.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.gpOpenTabs.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.gpOpenTabs.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.gpOpenTabs.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; // // // - this.grPanUCFImpOpt.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.gpOpenTabs.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.grPanUCFImpOpt.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.grPanUCFImpOpt.TabIndex = 12; - this.grPanUCFImpOpt.Text = "UCF Import Options"; - */ // C2024-041 remove from Options panel in V button. + this.gpOpenTabs.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.gpOpenTabs.TabIndex = 13; + this.gpOpenTabs.Text = "Open Tabs"; // - // cbUCFLForSetOnly - // - this.cbUCFLForSetOnly.BackColor = System.Drawing.Color.Transparent; + // cbOTRemember // // // - this.cbUCFLForSetOnly.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbUCFLForSetOnly.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.cbUCFLForSetOnly.Location = new System.Drawing.Point(2, 89); - this.cbUCFLForSetOnly.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.cbUCFLForSetOnly.Name = "cbUCFLForSetOnly"; - this.cbUCFLForSetOnly.Size = new System.Drawing.Size(105, 19); - this.cbUCFLForSetOnly.TabIndex = 5; - this.cbUCFLForSetOnly.Text = "Load For Set Only"; - this.cbUCFLForSetOnly.CheckedChanged += new System.EventHandler(this.cbUCFLForSetOnly_CheckedChanged); // - // cbUCFLUseAll + this.cbOTRemember.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbOTRemember.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbOTRemember.Location = new System.Drawing.Point(8, 5); + this.cbOTRemember.Margin = new System.Windows.Forms.Padding(2); + this.cbOTRemember.Name = "cbOTRemember"; + this.cbOTRemember.Size = new System.Drawing.Size(119, 19); + this.cbOTRemember.TabIndex = 9; + this.cbOTRemember.Text = "Remember Setting"; + this.cbOTRemember.CheckedChanged += new System.EventHandler(this.cbOTRemember_CheckedChanged); // - this.cbUCFLUseAll.BackColor = System.Drawing.Color.Transparent; + // cbOTAutoOpen // // // - this.cbUCFLUseAll.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbUCFLUseAll.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.cbUCFLUseAll.Location = new System.Drawing.Point(2, 67); - this.cbUCFLUseAll.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.cbUCFLUseAll.Name = "cbUCFLUseAll"; - this.cbUCFLUseAll.Size = new System.Drawing.Size(105, 19); - this.cbUCFLUseAll.TabIndex = 4; - this.cbUCFLUseAll.Text = "Load Use All"; - this.cbUCFLUseAll.CheckedChanged += new System.EventHandler(this.cbUCFLUseAll_CheckedChanged); // - // cbUCFLOnlyImport + this.cbOTAutoOpen.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbOTAutoOpen.Enabled = false; + this.cbOTAutoOpen.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbOTAutoOpen.Location = new System.Drawing.Point(8, 28); + this.cbOTAutoOpen.Margin = new System.Windows.Forms.Padding(2); + this.cbOTAutoOpen.Name = "cbOTAutoOpen"; + this.cbOTAutoOpen.Size = new System.Drawing.Size(92, 19); + this.cbOTAutoOpen.TabIndex = 10; + this.cbOTAutoOpen.Text = "Auto Open"; + this.cbOTAutoOpen.Visible = false; // - this.cbUCFLOnlyImport.BackColor = System.Drawing.Color.Transparent; + // gpShwRplWords + // + this.gpShwRplWords.BackColor = System.Drawing.Color.Transparent; + this.gpShwRplWords.CanvasColor = System.Drawing.SystemColors.Control; + this.gpShwRplWords.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.gpShwRplWords.Controls.Add(this.cbShwRplWrdsColor); + this.gpShwRplWords.DisabledBackColor = System.Drawing.Color.Empty; + this.gpShwRplWords.Location = new System.Drawing.Point(462, 165); + this.gpShwRplWords.Margin = new System.Windows.Forms.Padding(2); + this.gpShwRplWords.Name = "gpShwRplWords"; + this.gpShwRplWords.Size = new System.Drawing.Size(139, 72); // // // - this.cbUCFLOnlyImport.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbUCFLOnlyImport.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.cbUCFLOnlyImport.Location = new System.Drawing.Point(2, 46); - this.cbUCFLOnlyImport.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.cbUCFLOnlyImport.Name = "cbUCFLOnlyImport"; - this.cbUCFLOnlyImport.Size = new System.Drawing.Size(105, 19); - this.cbUCFLOnlyImport.TabIndex = 3; - this.cbUCFLOnlyImport.Text = "Load Only Imported"; - this.cbUCFLOnlyImport.CheckedChanged += new System.EventHandler(this.cbUCFLOnlyImport_CheckedChanged); - // - // cbUCFLNotUsed - // - this.cbUCFLNotUsed.BackColor = System.Drawing.Color.Transparent; + this.gpShwRplWords.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.gpShwRplWords.Style.BackColorGradientAngle = 90; + this.gpShwRplWords.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.gpShwRplWords.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderBottomWidth = 1; + this.gpShwRplWords.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.gpShwRplWords.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderLeftWidth = 1; + this.gpShwRplWords.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderRightWidth = 1; + this.gpShwRplWords.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderTopWidth = 1; + this.gpShwRplWords.Style.CornerDiameter = 4; + this.gpShwRplWords.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.gpShwRplWords.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.gpShwRplWords.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.gpShwRplWords.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; // // // - this.cbUCFLNotUsed.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbUCFLNotUsed.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.cbUCFLNotUsed.Location = new System.Drawing.Point(2, 24); - this.cbUCFLNotUsed.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.cbUCFLNotUsed.Name = "cbUCFLNotUsed"; - this.cbUCFLNotUsed.Size = new System.Drawing.Size(88, 19); - this.cbUCFLNotUsed.TabIndex = 2; - this.cbUCFLNotUsed.Text = "Load Not Used"; - this.cbUCFLNotUsed.CheckedChanged += new System.EventHandler(this.cbUCFLNotUsed_CheckedChanged); - // - // cbUCFIgnore - // - this.cbUCFIgnore.BackColor = System.Drawing.Color.Transparent; + this.gpShwRplWords.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.cbUCFIgnore.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbUCFIgnore.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.cbUCFIgnore.Location = new System.Drawing.Point(2, 2); - this.cbUCFIgnore.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.cbUCFIgnore.Name = "cbUCFIgnore"; - this.cbUCFIgnore.Size = new System.Drawing.Size(67, 19); - this.cbUCFIgnore.TabIndex = 1; - this.cbUCFIgnore.Text = "Ignore"; - this.cbUCFIgnore.CheckedChanged += new System.EventHandler(this.cbUCFIgnore_CheckedChanged); + this.gpShwRplWords.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.gpShwRplWords.TabIndex = 13; + this.gpShwRplWords.Text = "Replace Words"; + // + // cbShwRplWrdsColor + // + // + // + // + this.cbShwRplWrdsColor.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbShwRplWrdsColor.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbShwRplWrdsColor.Location = new System.Drawing.Point(8, 5); + this.cbShwRplWrdsColor.Margin = new System.Windows.Forms.Padding(2); + this.cbShwRplWrdsColor.Name = "cbShwRplWrdsColor"; + this.cbShwRplWrdsColor.Size = new System.Drawing.Size(119, 19); + this.cbShwRplWrdsColor.TabIndex = 9; + this.cbShwRplWrdsColor.Text = "Color Replace Words"; + this.cbShwRplWrdsColor.CheckedChanged += new System.EventHandler(this.cbShwRplWrdsColor_CheckedChanged); // // gpVisioPath // @@ -466,8 +471,8 @@ namespace VEPROMS this.gpVisioPath.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.gpVisioPath.Controls.Add(this.txbxVisioPath); this.gpVisioPath.DisabledBackColor = System.Drawing.Color.Empty; - this.gpVisioPath.Location = new System.Drawing.Point(25, 347); - this.gpVisioPath.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpVisioPath.Location = new System.Drawing.Point(25, 432); + this.gpVisioPath.Margin = new System.Windows.Forms.Padding(2); this.gpVisioPath.Name = "gpVisioPath"; this.gpVisioPath.Size = new System.Drawing.Size(285, 69); // @@ -529,7 +534,7 @@ namespace VEPROMS this.gpSeparateWindows.Controls.Add(this.cbSeparateWindows); this.gpSeparateWindows.DisabledBackColor = System.Drawing.Color.Empty; this.gpSeparateWindows.Location = new System.Drawing.Point(313, 252); - this.gpSeparateWindows.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpSeparateWindows.Margin = new System.Windows.Forms.Padding(2); this.gpSeparateWindows.Name = "gpSeparateWindows"; this.gpSeparateWindows.Size = new System.Drawing.Size(127, 81); // @@ -571,7 +576,7 @@ namespace VEPROMS this.cbSeparateWindows.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbSeparateWindows.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbSeparateWindows.Location = new System.Drawing.Point(8, 8); - this.cbSeparateWindows.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbSeparateWindows.Margin = new System.Windows.Forms.Padding(2); this.cbSeparateWindows.Name = "cbSeparateWindows"; this.cbSeparateWindows.Size = new System.Drawing.Size(107, 19); this.cbSeparateWindows.TabIndex = 9; @@ -586,7 +591,7 @@ namespace VEPROMS this.gpEnhancedDocs.Controls.Add(this.cbEnhancedDocumentSync); this.gpEnhancedDocs.DisabledBackColor = System.Drawing.Color.Empty; this.gpEnhancedDocs.Location = new System.Drawing.Point(167, 252); - this.gpEnhancedDocs.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpEnhancedDocs.Margin = new System.Windows.Forms.Padding(2); this.gpEnhancedDocs.Name = "gpEnhancedDocs"; this.gpEnhancedDocs.Size = new System.Drawing.Size(127, 81); // @@ -631,7 +636,7 @@ namespace VEPROMS this.cbEnhancedDocumentSync.CheckValue = "Y"; this.cbEnhancedDocumentSync.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbEnhancedDocumentSync.Location = new System.Drawing.Point(8, 8); - this.cbEnhancedDocumentSync.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbEnhancedDocumentSync.Margin = new System.Windows.Forms.Padding(2); this.cbEnhancedDocumentSync.Name = "cbEnhancedDocumentSync"; this.cbEnhancedDocumentSync.Size = new System.Drawing.Size(99, 19); this.cbEnhancedDocumentSync.TabIndex = 9; @@ -646,7 +651,7 @@ namespace VEPROMS this.gpPasteSettings.Controls.Add(this.cbPasteNoReturns); this.gpPasteSettings.DisabledBackColor = System.Drawing.Color.Empty; this.gpPasteSettings.Location = new System.Drawing.Point(25, 252); - this.gpPasteSettings.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpPasteSettings.Margin = new System.Windows.Forms.Padding(2); this.gpPasteSettings.Name = "gpPasteSettings"; this.gpPasteSettings.Size = new System.Drawing.Size(119, 81); // @@ -691,7 +696,7 @@ namespace VEPROMS this.cbPastePlainText.CheckValue = "Y"; this.cbPastePlainText.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbPastePlainText.Location = new System.Drawing.Point(8, 8); - this.cbPastePlainText.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbPastePlainText.Margin = new System.Windows.Forms.Padding(2); this.cbPastePlainText.Name = "cbPastePlainText"; this.cbPastePlainText.Size = new System.Drawing.Size(92, 19); this.cbPastePlainText.TabIndex = 9; @@ -709,7 +714,7 @@ namespace VEPROMS this.cbPasteNoReturns.CheckValue = "Y"; this.cbPasteNoReturns.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbPasteNoReturns.Location = new System.Drawing.Point(8, 28); - this.cbPasteNoReturns.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbPasteNoReturns.Margin = new System.Windows.Forms.Padding(2); this.cbPasteNoReturns.Name = "cbPasteNoReturns"; this.cbPasteNoReturns.Size = new System.Drawing.Size(92, 19); this.cbPasteNoReturns.TabIndex = 10; @@ -724,7 +729,7 @@ namespace VEPROMS this.gpTreeView.Controls.Add(this.cbTVExpand); this.gpTreeView.DisabledBackColor = System.Drawing.Color.Empty; this.gpTreeView.Location = new System.Drawing.Point(312, 165); - this.gpTreeView.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpTreeView.Margin = new System.Windows.Forms.Padding(2); this.gpTreeView.Name = "gpTreeView"; this.gpTreeView.Size = new System.Drawing.Size(119, 72); // @@ -769,7 +774,7 @@ namespace VEPROMS this.cbTVExpand.CheckValue = "Y"; this.cbTVExpand.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbTVExpand.Location = new System.Drawing.Point(8, 13); - this.cbTVExpand.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbTVExpand.Margin = new System.Windows.Forms.Padding(2); this.cbTVExpand.Name = "cbTVExpand"; this.cbTVExpand.Size = new System.Drawing.Size(92, 19); this.superTooltip1.SetSuperTooltip(this.cbTVExpand, new DevComponents.DotNetBar.SuperTooltipInfo("Remember Last", "", "When checked, PROMS will remember the last procedure you had seleced from the tre" + @@ -786,7 +791,7 @@ namespace VEPROMS this.gpStepTypeToolTip.Controls.Add(this.cbStepTypeToolTip); this.gpStepTypeToolTip.DisabledBackColor = System.Drawing.Color.Empty; this.gpStepTypeToolTip.Location = new System.Drawing.Point(167, 165); - this.gpStepTypeToolTip.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpStepTypeToolTip.Margin = new System.Windows.Forms.Padding(2); this.gpStepTypeToolTip.Name = "gpStepTypeToolTip"; this.gpStepTypeToolTip.Size = new System.Drawing.Size(119, 72); // @@ -828,7 +833,7 @@ namespace VEPROMS this.cbStepTypeToolTip.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbStepTypeToolTip.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbStepTypeToolTip.Location = new System.Drawing.Point(8, 13); - this.cbStepTypeToolTip.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbStepTypeToolTip.Margin = new System.Windows.Forms.Padding(2); this.cbStepTypeToolTip.Name = "cbStepTypeToolTip"; this.cbStepTypeToolTip.Size = new System.Drawing.Size(92, 19); this.cbStepTypeToolTip.TabIndex = 7; @@ -843,7 +848,7 @@ namespace VEPROMS this.gpAnnotationSettings.Controls.Add(this.cbAnnotationPopup); this.gpAnnotationSettings.DisabledBackColor = System.Drawing.Color.Empty; this.gpAnnotationSettings.Location = new System.Drawing.Point(25, 165); - this.gpAnnotationSettings.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpAnnotationSettings.Margin = new System.Windows.Forms.Padding(2); this.gpAnnotationSettings.Name = "gpAnnotationSettings"; this.gpAnnotationSettings.Size = new System.Drawing.Size(119, 72); // @@ -888,7 +893,7 @@ namespace VEPROMS this.cbAnnotationPopup.CheckValue = "Y"; this.cbAnnotationPopup.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbAnnotationPopup.Location = new System.Drawing.Point(8, 13); - this.cbAnnotationPopup.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbAnnotationPopup.Margin = new System.Windows.Forms.Padding(2); this.cbAnnotationPopup.Name = "cbAnnotationPopup"; this.cbAnnotationPopup.Size = new System.Drawing.Size(92, 19); this.cbAnnotationPopup.TabIndex = 7; @@ -959,7 +964,7 @@ namespace VEPROMS this.gpPropPageStyle.Controls.Add(this.cbButtonIntrFace); this.gpPropPageStyle.DisabledBackColor = System.Drawing.Color.Empty; this.gpPropPageStyle.Location = new System.Drawing.Point(155, 12); - this.gpPropPageStyle.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpPropPageStyle.Margin = new System.Windows.Forms.Padding(2); this.gpPropPageStyle.Name = "gpPropPageStyle"; this.gpPropPageStyle.Size = new System.Drawing.Size(127, 107); // @@ -1001,7 +1006,7 @@ namespace VEPROMS this.cbPropGrid.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbPropGrid.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbPropGrid.Location = new System.Drawing.Point(8, 59); - this.cbPropGrid.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbPropGrid.Margin = new System.Windows.Forms.Padding(2); this.cbPropGrid.Name = "cbPropGrid"; this.cbPropGrid.Size = new System.Drawing.Size(97, 20); this.cbPropGrid.TabIndex = 2; @@ -1016,7 +1021,7 @@ namespace VEPROMS this.cbTabbedIntrFace.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbTabbedIntrFace.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbTabbedIntrFace.Location = new System.Drawing.Point(8, 34); - this.cbTabbedIntrFace.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbTabbedIntrFace.Margin = new System.Windows.Forms.Padding(2); this.cbTabbedIntrFace.Name = "cbTabbedIntrFace"; this.cbTabbedIntrFace.Size = new System.Drawing.Size(111, 20); this.cbTabbedIntrFace.TabIndex = 1; @@ -1030,7 +1035,7 @@ namespace VEPROMS this.cbButtonIntrFace.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbButtonIntrFace.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbButtonIntrFace.Location = new System.Drawing.Point(8, 10); - this.cbButtonIntrFace.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbButtonIntrFace.Margin = new System.Windows.Forms.Padding(2); this.cbButtonIntrFace.Name = "cbButtonIntrFace"; this.cbButtonIntrFace.Size = new System.Drawing.Size(97, 20); this.cbButtonIntrFace.TabIndex = 0; @@ -1047,7 +1052,7 @@ namespace VEPROMS this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty; this.tabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControlPanel1.Location = new System.Drawing.Point(0, 27); - this.tabControlPanel1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tabControlPanel1.Margin = new System.Windows.Forms.Padding(2); this.tabControlPanel1.Name = "tabControlPanel1"; this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1); this.tabControlPanel1.Size = new System.Drawing.Size(645, 430); @@ -1072,10 +1077,10 @@ namespace VEPROMS this.tabControlPanel2.DisabledBackColor = System.Drawing.Color.Empty; this.tabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControlPanel2.Location = new System.Drawing.Point(0, 27); - this.tabControlPanel2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tabControlPanel2.Margin = new System.Windows.Forms.Padding(2); this.tabControlPanel2.Name = "tabControlPanel2"; this.tabControlPanel2.Padding = new System.Windows.Forms.Padding(1); - this.tabControlPanel2.Size = new System.Drawing.Size(645, 430); + this.tabControlPanel2.Size = new System.Drawing.Size(645, 528); this.tabControlPanel2.Style.BackColor1.Color = System.Drawing.SystemColors.Control; this.tabControlPanel2.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; this.tabControlPanel2.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right) @@ -1092,14 +1097,94 @@ namespace VEPROMS this.tiStUpMsg.Text = "Startup Message"; this.tiStUpMsg.Visible = false; // + // cbUCFLForSetOnly + // + this.cbUCFLForSetOnly.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.cbUCFLForSetOnly.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbUCFLForSetOnly.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.cbUCFLForSetOnly.Location = new System.Drawing.Point(2, 89); + this.cbUCFLForSetOnly.Margin = new System.Windows.Forms.Padding(2); + this.cbUCFLForSetOnly.Name = "cbUCFLForSetOnly"; + this.cbUCFLForSetOnly.Size = new System.Drawing.Size(105, 19); + this.cbUCFLForSetOnly.TabIndex = 5; + this.cbUCFLForSetOnly.Text = "Load For Set Only"; + this.cbUCFLForSetOnly.CheckedChanged += new System.EventHandler(this.cbUCFLForSetOnly_CheckedChanged); + // + // cbUCFLUseAll + // + this.cbUCFLUseAll.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.cbUCFLUseAll.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbUCFLUseAll.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.cbUCFLUseAll.Location = new System.Drawing.Point(2, 67); + this.cbUCFLUseAll.Margin = new System.Windows.Forms.Padding(2); + this.cbUCFLUseAll.Name = "cbUCFLUseAll"; + this.cbUCFLUseAll.Size = new System.Drawing.Size(105, 19); + this.cbUCFLUseAll.TabIndex = 4; + this.cbUCFLUseAll.Text = "Load Use All"; + this.cbUCFLUseAll.CheckedChanged += new System.EventHandler(this.cbUCFLUseAll_CheckedChanged); + // + // cbUCFLOnlyImport + // + this.cbUCFLOnlyImport.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.cbUCFLOnlyImport.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbUCFLOnlyImport.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.cbUCFLOnlyImport.Location = new System.Drawing.Point(2, 46); + this.cbUCFLOnlyImport.Margin = new System.Windows.Forms.Padding(2); + this.cbUCFLOnlyImport.Name = "cbUCFLOnlyImport"; + this.cbUCFLOnlyImport.Size = new System.Drawing.Size(105, 19); + this.cbUCFLOnlyImport.TabIndex = 3; + this.cbUCFLOnlyImport.Text = "Load Only Imported"; + this.cbUCFLOnlyImport.CheckedChanged += new System.EventHandler(this.cbUCFLOnlyImport_CheckedChanged); + // + // cbUCFLNotUsed + // + this.cbUCFLNotUsed.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.cbUCFLNotUsed.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbUCFLNotUsed.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.cbUCFLNotUsed.Location = new System.Drawing.Point(2, 24); + this.cbUCFLNotUsed.Margin = new System.Windows.Forms.Padding(2); + this.cbUCFLNotUsed.Name = "cbUCFLNotUsed"; + this.cbUCFLNotUsed.Size = new System.Drawing.Size(88, 19); + this.cbUCFLNotUsed.TabIndex = 2; + this.cbUCFLNotUsed.Text = "Load Not Used"; + this.cbUCFLNotUsed.CheckedChanged += new System.EventHandler(this.cbUCFLNotUsed_CheckedChanged); + // + // cbUCFIgnore + // + this.cbUCFIgnore.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.cbUCFIgnore.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbUCFIgnore.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.cbUCFIgnore.Location = new System.Drawing.Point(2, 2); + this.cbUCFIgnore.Margin = new System.Windows.Forms.Padding(2); + this.cbUCFIgnore.Name = "cbUCFIgnore"; + this.cbUCFIgnore.Size = new System.Drawing.Size(67, 19); + this.cbUCFIgnore.TabIndex = 1; + this.cbUCFIgnore.Text = "Ignore"; + this.cbUCFIgnore.CheckedChanged += new System.EventHandler(this.cbUCFIgnore_CheckedChanged); + // // btnReset // this.btnReset.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnReset.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnReset.Location = new System.Drawing.Point(194, 492); - this.btnReset.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnReset.Location = new System.Drawing.Point(194, 591); + this.btnReset.Margin = new System.Windows.Forms.Padding(2); this.btnReset.Name = "btnReset"; - this.btnReset.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.btnReset.RightToLeft = System.Windows.Forms.RightToLeft.No; this.btnReset.Size = new System.Drawing.Size(79, 19); this.superTooltip1.SetSuperTooltip(this.btnReset, new DevComponents.DotNetBar.SuperTooltipInfo("Default Settings", "", "This will reset saved user settings back to the Proms system default.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(140, 95))); this.btnReset.TabIndex = 3; @@ -1111,135 +1196,61 @@ namespace VEPROMS this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray); this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F"; // - // cbOTRemember + // cbMSWordPrompt // // // // - this.cbOTRemember.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbOTRemember.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.cbOTRemember.Location = new System.Drawing.Point(8, 5); - this.cbOTRemember.Margin = new System.Windows.Forms.Padding(2); - this.cbOTRemember.Name = "cbOTRemember"; - this.cbOTRemember.Size = new System.Drawing.Size(119, 19); - this.cbOTRemember.TabIndex = 9; - this.cbOTRemember.Text = "Remember Setting"; - this.cbOTRemember.CheckedChanged += new System.EventHandler(this.cbOTRemember_CheckedChanged); + this.cbMSWordPrompt.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbMSWordPrompt.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbMSWordPrompt.Location = new System.Drawing.Point(8, 5); + this.cbMSWordPrompt.Margin = new System.Windows.Forms.Padding(2); + this.cbMSWordPrompt.Name = "cbMSWordPrompt"; + this.cbMSWordPrompt.Size = new System.Drawing.Size(92, 44); + this.cbMSWordPrompt.TabIndex = 9; + this.cbMSWordPrompt.Text = "Show Prompt For Summaries"; // - // cbShwRplWrdsColor - // + // gpMSWordSum // - this.cbShwRplWrdsColor.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbShwRplWrdsColor.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.cbShwRplWrdsColor.Location = new System.Drawing.Point(8, 5); - this.cbShwRplWrdsColor.Margin = new System.Windows.Forms.Padding(2); - this.cbShwRplWrdsColor.Name = "cbShwRplWrdsColor"; - this.cbShwRplWrdsColor.Size = new System.Drawing.Size(119, 19); - this.cbShwRplWrdsColor.TabIndex = 9; - this.cbShwRplWrdsColor.Text = "Color Replace Words"; - this.cbShwRplWrdsColor.CheckedChanged += new System.EventHandler(this.cbShwRplWrdsColor_CheckedChanged); - //this.cbShwRplWrdsColor.Checked; - // - // cbOTAutoOpen + this.gpMSWordSum.BackColor = System.Drawing.Color.Transparent; + this.gpMSWordSum.CanvasColor = System.Drawing.SystemColors.Control; + this.gpMSWordSum.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.gpMSWordSum.Controls.Add(this.cbMSWordPrompt); + this.gpMSWordSum.DisabledBackColor = System.Drawing.Color.Empty; + this.gpMSWordSum.Location = new System.Drawing.Point(25, 347); + this.gpMSWordSum.Margin = new System.Windows.Forms.Padding(2); + this.gpMSWordSum.Name = "gpMSWordSum"; + this.gpMSWordSum.Size = new System.Drawing.Size(119, 81); // // // - // - this.cbOTAutoOpen.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbOTAutoOpen.Enabled = false; - this.cbOTAutoOpen.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.cbOTAutoOpen.Location = new System.Drawing.Point(8, 28); - this.cbOTAutoOpen.Margin = new System.Windows.Forms.Padding(2); - this.cbOTAutoOpen.Name = "cbOTAutoOpen"; - this.cbOTAutoOpen.Size = new System.Drawing.Size(92, 19); - this.cbOTAutoOpen.TabIndex = 10; - this.cbOTAutoOpen.Text = "Auto Open"; - this.cbOTAutoOpen.Visible = false; - // - // gpOpenTabs - // - this.gpOpenTabs.BackColor = System.Drawing.Color.Transparent; - this.gpOpenTabs.CanvasColor = System.Drawing.SystemColors.Control; - this.gpOpenTabs.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; - this.gpOpenTabs.Controls.Add(this.cbOTRemember); - this.gpOpenTabs.Controls.Add(this.cbOTAutoOpen); - this.gpOpenTabs.DisabledBackColor = System.Drawing.Color.Empty; - this.gpOpenTabs.Location = new System.Drawing.Point(462, 252); - this.gpOpenTabs.Margin = new System.Windows.Forms.Padding(2); - this.gpOpenTabs.Name = "gpOpenTabs"; - this.gpOpenTabs.Size = new System.Drawing.Size(139, 81); + this.gpMSWordSum.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.gpMSWordSum.Style.BackColorGradientAngle = 90; + this.gpMSWordSum.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.gpMSWordSum.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpMSWordSum.Style.BorderBottomWidth = 1; + this.gpMSWordSum.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.gpMSWordSum.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpMSWordSum.Style.BorderLeftWidth = 1; + this.gpMSWordSum.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpMSWordSum.Style.BorderRightWidth = 1; + this.gpMSWordSum.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpMSWordSum.Style.BorderTopWidth = 1; + this.gpMSWordSum.Style.CornerDiameter = 4; + this.gpMSWordSum.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.gpMSWordSum.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.gpMSWordSum.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.gpMSWordSum.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; // // // - this.gpOpenTabs.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.gpOpenTabs.Style.BackColorGradientAngle = 90; - this.gpOpenTabs.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.gpOpenTabs.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpOpenTabs.Style.BorderBottomWidth = 1; - this.gpOpenTabs.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.gpOpenTabs.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpOpenTabs.Style.BorderLeftWidth = 1; - this.gpOpenTabs.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpOpenTabs.Style.BorderRightWidth = 1; - this.gpOpenTabs.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpOpenTabs.Style.BorderTopWidth = 1; - this.gpOpenTabs.Style.CornerDiameter = 4; - this.gpOpenTabs.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; - this.gpOpenTabs.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; - this.gpOpenTabs.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.gpOpenTabs.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + this.gpMSWordSum.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.gpOpenTabs.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.gpOpenTabs.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.gpOpenTabs.TabIndex = 13; - this.gpOpenTabs.Text = "Open Tabs"; - // - // gpShwRplWords - // - this.gpShwRplWords.BackColor = System.Drawing.Color.Transparent; - this.gpShwRplWords.CanvasColor = System.Drawing.SystemColors.Control; - this.gpShwRplWords.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; - this.gpShwRplWords.Controls.Add(this.cbShwRplWrdsColor); - this.gpShwRplWords.DisabledBackColor = System.Drawing.Color.Empty; - this.gpShwRplWords.Location = new System.Drawing.Point(462, 165); - this.gpShwRplWords.Margin = new System.Windows.Forms.Padding(2); - this.gpShwRplWords.Name = "gpShwRplWords"; - this.gpShwRplWords.Size = new System.Drawing.Size(139, 72); - // - // - // - this.gpShwRplWords.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.gpShwRplWords.Style.BackColorGradientAngle = 90; - this.gpShwRplWords.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.gpShwRplWords.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpShwRplWords.Style.BorderBottomWidth = 1; - this.gpShwRplWords.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.gpShwRplWords.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpShwRplWords.Style.BorderLeftWidth = 1; - this.gpShwRplWords.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpShwRplWords.Style.BorderRightWidth = 1; - this.gpShwRplWords.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpShwRplWords.Style.BorderTopWidth = 1; - this.gpShwRplWords.Style.CornerDiameter = 4; - this.gpShwRplWords.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; - this.gpShwRplWords.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; - this.gpShwRplWords.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.gpShwRplWords.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; - // - // - // - this.gpShwRplWords.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.gpShwRplWords.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.gpShwRplWords.TabIndex = 13; - this.gpShwRplWords.Text = "Replace Words"; + this.gpMSWordSum.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.gpMSWordSum.TabIndex = 14; + this.gpMSWordSum.Text = "Opening in MS Word"; // // frmSysOptions // @@ -1247,7 +1258,7 @@ namespace VEPROMS this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.btnCancel; - this.ClientSize = new System.Drawing.Size(699, 520); + this.ClientSize = new System.Drawing.Size(699, 620); this.ControlBox = false; this.Controls.Add(this.btnReset); this.Controls.Add(this.tcSysOpts); @@ -1256,7 +1267,7 @@ namespace VEPROMS this.Controls.Add(this.btnCancel); this.DoubleBuffered = true; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.Margin = new System.Windows.Forms.Padding(2); this.Name = "frmSysOptions"; this.Text = "Proms System Options"; this.Load += new System.EventHandler(this.frmSysOptions_Load); @@ -1265,7 +1276,8 @@ namespace VEPROMS ((System.ComponentModel.ISupportInitialize)(this.tcSysOpts)).EndInit(); this.tcSysOpts.ResumeLayout(false); this.tabControlPanel3.ResumeLayout(false); - //this.grPanUCFImpOpt.ResumeLayout(false); // C2024-041 remove from Options panel in V button. + this.gpOpenTabs.ResumeLayout(false); + this.gpShwRplWords.ResumeLayout(false); this.gpVisioPath.ResumeLayout(false); this.gpSeparateWindows.ResumeLayout(false); this.gpEnhancedDocs.ResumeLayout(false); @@ -1275,9 +1287,7 @@ namespace VEPROMS this.gpAnnotationSettings.ResumeLayout(false); this.gpTransRangeColor.ResumeLayout(false); this.gpPropPageStyle.ResumeLayout(false); - this.gpOpenTabs.ResumeLayout(false); - this.gpShwRplWords.ResumeLayout(false); - + this.gpMSWordSum.ResumeLayout(false); this.ResumeLayout(false); } @@ -1336,5 +1346,7 @@ namespace VEPROMS private DevComponents.DotNetBar.Controls.CheckBoxX cbOTRemember; private DevComponents.DotNetBar.Controls.CheckBoxX cbOTAutoOpen; private DevComponents.DotNetBar.Controls.CheckBoxX cbShwRplWrdsColor; + private DevComponents.DotNetBar.Controls.GroupPanel gpMSWordSum; + private DevComponents.DotNetBar.Controls.CheckBoxX cbMSWordPrompt; } } diff --git a/PROMS/VEPROMS User Interface/frmSysOptions.cs b/PROMS/VEPROMS User Interface/frmSysOptions.cs index 2998f100..2c9afd49 100644 --- a/PROMS/VEPROMS User Interface/frmSysOptions.cs +++ b/PROMS/VEPROMS User Interface/frmSysOptions.cs @@ -100,7 +100,9 @@ namespace VEPROMS cbOTRemember.Checked = _usersettings.UserSetting_OpenTabs_Remember; cbOTAutoOpen.Enabled = cbOTAutoOpen.Visible = cbOTRemember.Checked; cbOTAutoOpen.Checked = _usersettings.UserSetting_OpenTabs_AutoOpen || !cbOTRemember.Checked; - + + //C2025-013 - Allow not continuously generate message that opening Summaries in MS Word + cbMSWordPrompt.Checked = _usersettings.UserSetting_MSWord_Summary_Prompt; } private void cbEnhancedDocumentSync_CheckedChanged(object sender, System.EventArgs e) { @@ -172,6 +174,9 @@ namespace VEPROMS } _usersettings.SetUserSettings(cbOTRemember.Checked, OTAuto); + //C2025-013 - Allow not continuously generate message that opening Summaries in MS Word + _usersettings.SetUserSetting_MSWord_Summary_Prompt(cbMSWordPrompt.Checked); + this.DialogResult = DialogResult.OK; this.Close(); } diff --git a/PROMS/VEPROMS User Interface/frmSysOptions.resx b/PROMS/VEPROMS User Interface/frmSysOptions.resx index d4747b7a..a53df5f4 100644 --- a/PROMS/VEPROMS User Interface/frmSysOptions.resx +++ b/PROMS/VEPROMS User Interface/frmSysOptions.resx @@ -125,7 +125,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAKklE - QVQ4T2P4//8/RRhCAClyMIoBIJoUPGrAqAEgPBwNIAfDDSAf/2cAALEslYfUgx+eAAAAAElFTkSuQmCC + QVQ4T2P4//8/AyUYQjAwgAiSMYoB6CYTwqMGjBowXA0gB8MNoAQDALEslYfhkv70AAAAAElFTkSuQmCC diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs index 8548a650..030f4070 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs @@ -47,13 +47,13 @@ namespace VEPROMS this.btnOpen = new DevComponents.DotNetBar.ButtonItem(); this.btnPrepare = new DevComponents.DotNetBar.ButtonItem(); this.btnAdmin = new DevComponents.DotNetBar.ButtonItem(); - this.btnUpdateFormats = new DevComponents.DotNetBar.ButtonItem(); this.icRecentDocs = new DevComponents.DotNetBar.ItemContainer(); this.labelItem8 = new DevComponents.DotNetBar.LabelItem(); this.itemContainer5 = new DevComponents.DotNetBar.ItemContainer(); this.btnOptions = new DevComponents.DotNetBar.ButtonItem(); this.btnExit = new DevComponents.DotNetBar.ButtonItem(); this.qatCustomizeItem1 = new DevComponents.DotNetBar.QatCustomizeItem(); + this.btnUpdateFormats = new DevComponents.DotNetBar.ButtonItem(); this.galleryGroup1 = new DevComponents.DotNetBar.GalleryGroup(); this.galleryGroup2 = new DevComponents.DotNetBar.GalleryGroup(); this.galleryGroup3 = new DevComponents.DotNetBar.GalleryGroup(); @@ -208,13 +208,13 @@ namespace VEPROMS this.btnHelp.KeyTips = "?"; this.btnHelp.Name = "btnHelp"; this.btnHelp.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.btnHelpManual, - this.btnShortCuts, - this.btnHelpVWeb, - this.btnSendErrorLog, - this.btnShowErrFld, - this.btnShowPrtFld, - this.btnHelpAbout}); + this.btnHelpManual, + this.btnShortCuts, + this.btnHelpVWeb, + this.btnSendErrorLog, + this.btnShowErrFld, + this.btnShowPrtFld, + this.btnHelpAbout}); this.btnHelp.Text = "Help"; // // btnHelpManual @@ -249,23 +249,19 @@ namespace VEPROMS this.btnSendErrorLog.Click += new System.EventHandler(this.btnSendErrorLog_Click); // // btnShowErrFld - // - //this.btnShowErrFld.Image = global::VEPROMS.Properties.Resources.GoToParentFolderHS; + // this.btnShowErrFld.Image = ((System.Drawing.Image)(resources.GetObject("btnShowErrFld.Image"))); this.btnShowErrFld.Name = "btnShowErrFld"; this.btnShowErrFld.Text = "Open Log Folder"; this.btnShowErrFld.Click += new System.EventHandler(this.btnShowErrFld_Click); // // btnShowPrtFld - // - //this.btnShowPrtFld.Image = global::VEPROMS.Properties.Resources.GoToParentFolderHS; + // this.btnShowPrtFld.Image = ((System.Drawing.Image)(resources.GetObject("btnShowPrtFld.Image"))); this.btnShowPrtFld.Name = "btnShowPrtFld"; this.btnShowPrtFld.Text = "Open Default Print Folder"; this.btnShowPrtFld.Click += new System.EventHandler(this.btnShowPrtFld_Click); // - // - // // btnHelpAbout // this.btnHelpAbout.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; @@ -303,6 +299,10 @@ namespace VEPROMS this.itemContainer1.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { this.itemContainer2, this.itemContainer5}); + // + // + // + this.itemContainer1.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // @@ -320,6 +320,10 @@ namespace VEPROMS this.itemContainer2.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { this.itemContainer3, this.icRecentDocs}); + // + // + // + this.itemContainer2.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // @@ -340,6 +344,10 @@ namespace VEPROMS this.btnOpen, this.btnPrepare, this.btnAdmin}); + // + // + // + this.itemContainer3.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // @@ -363,7 +371,6 @@ namespace VEPROMS this.btnOpen.SubItemsExpandWidth = 24; this.btnOpen.Text = "&Open..."; this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click); - // // btnPrepare // @@ -382,16 +389,8 @@ namespace VEPROMS this.btnAdmin.CanCustomize = false; this.btnAdmin.Image = global::VEPROMS.Properties.Resources.Admin; this.btnAdmin.Name = "btnAdmin"; - //this.btnAdmin.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { - //this.btnUpdateFormats}); this.btnAdmin.Text = "A&dministration"; // - // btnUpdateFormats - // - this.btnUpdateFormats.Name = "btnUpdateFormats"; - this.btnUpdateFormats.Text = "Update Formats"; - this.btnUpdateFormats.Click += new System.EventHandler(this.btnUpdateFormat_Click); - // // icRecentDocs // // @@ -404,6 +403,10 @@ namespace VEPROMS this.icRecentDocs.Name = "icRecentDocs"; this.icRecentDocs.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { this.labelItem8}); + // + // + // + this.icRecentDocs.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // @@ -432,6 +435,10 @@ namespace VEPROMS this.itemContainer5.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { this.btnOptions, this.btnExit}); + // + // + // + this.itemContainer5.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // @@ -444,6 +451,7 @@ namespace VEPROMS this.btnOptions.Image = ((System.Drawing.Image)(resources.GetObject("btnOptions.Image"))); this.btnOptions.Name = "btnOptions"; this.btnOptions.SubItemsExpandWidth = 24; + this.superTooltip1.SetSuperTooltip(this.btnOptions, new DevComponents.DotNetBar.SuperTooltipInfo("Options", "", "Set User-Based PROMS Editing Preferences", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.btnOptions.Text = "Opt&ions"; this.btnOptions.Click += new System.EventHandler(this.btnOptions_Click); // @@ -454,6 +462,7 @@ namespace VEPROMS this.btnExit.Image = ((System.Drawing.Image)(resources.GetObject("btnExit.Image"))); this.btnExit.Name = "btnExit"; this.btnExit.SubItemsExpandWidth = 24; + this.superTooltip1.SetSuperTooltip(this.btnExit, new DevComponents.DotNetBar.SuperTooltipInfo("Exit", "", "Close and Exit PROMS", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.btnExit.Text = "E&xit"; this.btnExit.Click += new System.EventHandler(this.btnExit_Click); // @@ -461,6 +470,12 @@ namespace VEPROMS // this.qatCustomizeItem1.Name = "qatCustomizeItem1"; // + // btnUpdateFormats + // + this.btnUpdateFormats.Name = "btnUpdateFormats"; + this.btnUpdateFormats.Text = "Update Formats"; + this.btnUpdateFormats.Click += new System.EventHandler(this.btnUpdateFormat_Click); + // // galleryGroup1 // this.galleryGroup1.Name = "galleryGroup1"; @@ -535,7 +550,7 @@ namespace VEPROMS // this.txtSearch.Dock = System.Windows.Forms.DockStyle.Right; this.txtSearch.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F); - this.txtSearch.Location = new System.Drawing.Point(820, 0); + this.txtSearch.Location = new System.Drawing.Point(810, 0); this.txtSearch.Multiline = true; this.txtSearch.Name = "txtSearch"; this.txtSearch.Size = new System.Drawing.Size(100, 25); @@ -544,7 +559,7 @@ namespace VEPROMS // btnPrevious // this.btnPrevious.Dock = System.Windows.Forms.DockStyle.Right; - this.btnPrevious.Location = new System.Drawing.Point(920, 0); + this.btnPrevious.Location = new System.Drawing.Point(910, 0); this.btnPrevious.Name = "btnPrevious"; this.btnPrevious.Size = new System.Drawing.Size(23, 25); this.btnPrevious.TabIndex = 1; @@ -554,7 +569,7 @@ namespace VEPROMS // btnPrint1 // this.btnPrint1.Dock = System.Windows.Forms.DockStyle.Right; - this.btnPrint1.Location = new System.Drawing.Point(943, 0); + this.btnPrint1.Location = new System.Drawing.Point(933, 0); this.btnPrint1.Name = "btnPrint1"; this.btnPrint1.Size = new System.Drawing.Size(23, 25); this.btnPrint1.TabIndex = 2; @@ -566,7 +581,7 @@ namespace VEPROMS this.cbScrunch.Checked = true; this.cbScrunch.CheckState = System.Windows.Forms.CheckState.Checked; this.cbScrunch.Dock = System.Windows.Forms.DockStyle.Right; - this.cbScrunch.Location = new System.Drawing.Point(966, 0); + this.cbScrunch.Location = new System.Drawing.Point(956, 0); this.cbScrunch.Name = "cbScrunch"; this.cbScrunch.Size = new System.Drawing.Size(24, 25); this.cbScrunch.TabIndex = 3; @@ -575,7 +590,7 @@ namespace VEPROMS // btnNext // this.btnNext.Dock = System.Windows.Forms.DockStyle.Right; - this.btnNext.Location = new System.Drawing.Point(990, 0); + this.btnNext.Location = new System.Drawing.Point(980, 0); this.btnNext.Name = "btnNext"; this.btnNext.Size = new System.Drawing.Size(23, 25); this.btnNext.TabIndex = 4; @@ -586,7 +601,7 @@ namespace VEPROMS // this.cmbFont.Dock = System.Windows.Forms.DockStyle.Right; this.cmbFont.FormattingEnabled = true; - this.cmbFont.Location = new System.Drawing.Point(1013, 0); + this.cmbFont.Location = new System.Drawing.Point(1003, 0); this.cmbFont.Name = "cmbFont"; this.cmbFont.Size = new System.Drawing.Size(172, 23); this.cmbFont.TabIndex = 0; @@ -596,9 +611,10 @@ namespace VEPROMS // this.lblDummy.Dock = System.Windows.Forms.DockStyle.Right; this.lblDummy.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F); - this.lblDummy.Location = new System.Drawing.Point(1013, 0); + this.lblDummy.Location = new System.Drawing.Point(1175, 0); this.lblDummy.Name = "lblDummy"; this.lblDummy.Size = new System.Drawing.Size(10, 25); + this.lblDummy.TabIndex = 5; this.lblDummy.Visible = false; // // labelItem10 @@ -734,8 +750,9 @@ namespace VEPROMS // ctrlAnnotationDetails // this.ctrlAnnotationDetails.AnnotationDirty = false; - this.ctrlAnnotationDetails.AnnotationRTFText = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft S" + - "ans Serif;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs20\\par\r\n}\r\n"; + this.ctrlAnnotationDetails.AnnotationRTFText = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\nouicompat\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 " + + "Microsoft Sans Serif;}}\r\n{\\*\\generator Riched20 10.0.26100}\\viewkind4\\uc1 \r\n\\par" + + "d\\f0\\fs20\\par\r\n}\r\n"; this.ctrlAnnotationDetails.Annotations = null; this.ctrlAnnotationDetails.AnnotationText = ""; this.ctrlAnnotationDetails.ClientProcess = null; @@ -806,6 +823,7 @@ namespace VEPROMS // tv // this.tv.AllowDrop = true; + this.tv.DelProcReason = null; this.tv.Dock = System.Windows.Forms.DockStyle.Fill; this.tv.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.tv.HideSelection = false; @@ -926,7 +944,7 @@ namespace VEPROMS this.displayTags.Dock = System.Windows.Forms.DockStyle.Fill; this.displayTags.IsVisible = false; this.displayTags.Location = new System.Drawing.Point(0, 0); - this.displayTags.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.displayTags.Margin = new System.Windows.Forms.Padding(2); this.displayTags.MinimumSize = new System.Drawing.Size(100, 630); this.displayTags.MyEditItem = null; this.displayTags.Name = "displayTags"; @@ -1111,8 +1129,8 @@ namespace VEPROMS this.displayRO.Dock = System.Windows.Forms.DockStyle.Fill; this.displayRO.Location = new System.Drawing.Point(1, 1); this.displayRO.Margin = new System.Windows.Forms.Padding(4); + this.displayRO.MyDvi = null; this.displayRO.MyROFST = null; - //this.displayRO.MyROFSTLookup = null; this.displayRO.MyRTB = null; this.displayRO.Name = "displayRO"; this.displayRO.ProgressBar = null; @@ -1126,6 +1144,7 @@ namespace VEPROMS this.tc.ChgId = null; this.tc.Dock = System.Windows.Forms.DockStyle.Fill; this.tc.ForeColor = System.Drawing.SystemColors.ControlText; + this.tc.LastSelectedDisplayTabItem = null; this.tc.Location = new System.Drawing.Point(334, 57); this.tc.Margin = new System.Windows.Forms.Padding(4); this.tc.MyAnnotationDetails = null; @@ -1373,6 +1392,7 @@ namespace VEPROMS // displaySearch1 // this.displaySearch1.Dock = System.Windows.Forms.DockStyle.Fill; + this.displaySearch1.LastSearchWasAnnotations = false; this.displaySearch1.LoadingList = false; this.displaySearch1.Location = new System.Drawing.Point(1, 1); this.displaySearch1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); @@ -1382,6 +1402,7 @@ namespace VEPROMS this.displaySearch1.ProgressBar = null; this.displaySearch1.ReportTitle = null; this.displaySearch1.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.displaySearch1.SearchIncTransII = null; this.displaySearch1.SearchResults = null; this.displaySearch1.SearchString = null; this.displaySearch1.Size = new System.Drawing.Size(314, 462); diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 9c78ae63..840dbd6e 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -533,6 +533,7 @@ namespace VEPROMS tv.PrintProcedure += new vlnTreeViewEvent(tv_PrintProcedure); tv.PrintSection += new vlnTreeViewEvent(tv_PrintSection); + tv.QPrintSection += new vlnTreeViewEvent(tv_QPrintSection); tv.QPrintProcedure += new vlnTreeViewEvent(tv_QPrintProcedure); tv.PrintAllProcedures += new vlnTreeViewEvent(tv_PrintAllProcedures); tv.ApproveProcedure += new vlnTreeViewEvent(tv_ApproveProcedure); @@ -1213,7 +1214,19 @@ namespace VEPROMS } - void tv_PrintSection(object sender, vlnTreeEventArgs args) // Quick Print right click menu on Procedure name. + //Print Section + //C2025-028 Add a Quick Print Section option + + void tv_PrintSection(object sender, vlnTreeEventArgs args) + { + PrintSection(sender, args, false); + } + void tv_QPrintSection(object sender, vlnTreeEventArgs args) + { + PrintSection(sender, args, true); + } + + void PrintSection(object sender, vlnTreeEventArgs args, bool quickprint) { try { @@ -1225,7 +1238,9 @@ namespace VEPROMS tc.SaveCurrentEditItem(si2.MyProcedure); + //B2025-032 Fix Section not Printing Applicability Properly si2.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex; + si2.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex; using (DlgPrintProcedure prnDlg = new DlgPrintProcedure(si2.MyProcedure)) { @@ -1233,8 +1248,14 @@ namespace VEPROMS prnDlg.SelectedSlave = args.UnitIndex; prnDlg.MySessionInfo = MySessionInfo; prnDlg.SetupForProcedure(); // Setup filename - prnDlg.ShowDialog(this); // Create Print report + if (quickprint) + prnDlg.QPCreatePDF(); // Create Print report + else + prnDlg.ShowDialog(this); // Create Print report + + //B2025-032 Fix Section not Printing Applicability Properly + si2.MyDocVersion.DocVersionConfig.SelectedSlave = 0; si2.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0; } } @@ -2167,13 +2188,13 @@ namespace VEPROMS btnAdministrativeTools.Click += new EventHandler(btnAdministrativeTools_Click); btnAdmin.SubItems.Add(btnAdministrativeTools); - this.superTooltip1.SetSuperTooltip(btnExit, new SuperTooltipInfo("Exit", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnOptions, new SuperTooltipInfo("Options", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnManageSecurity, new SuperTooltipInfo("Manage Security", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnUserControlOfFormats, new SuperTooltipInfo("User Control Of Formats", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnResetSecurity, new SuperTooltipInfo("Reset Security", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnAdministrativeTools, new SuperTooltipInfo("Administrative Tools", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnUpdateFormats, new SuperTooltipInfo("Update Formats", null, null, null, null, eTooltipColor.Gray)); + // C2025-031 added tool tip messages + this.superTooltip1.SetSuperTooltip(btnManageSecurity, new SuperTooltipInfo("Manage Security", "", "Add, Modify, and Delete PROMS User Access", null, null, eTooltipColor.Gray)); + // remove commented out line below when User Control of Formats code is deleted + //this.superTooltip1.SetSuperTooltip(btnUserControlOfFormats, new SuperTooltipInfo("User Control Of Formats", null, null, null, null, eTooltipColor.Gray)); + this.superTooltip1.SetSuperTooltip(btnResetSecurity, new SuperTooltipInfo("Reset Security", "", "WARNING this will \nREMOVE ALL PROMS USERS and Reset to the\nOriginal Volian Defaults", null, null, eTooltipColor.Gray)); + this.superTooltip1.SetSuperTooltip(btnAdministrativeTools, new SuperTooltipInfo("Administrative Tools", "", "Open the PROMS Adminstration Tools Window", null, null, eTooltipColor.Gray)); + this.superTooltip1.SetSuperTooltip(btnUpdateFormats, new SuperTooltipInfo("Update Formats", "", "Install New Formats \n or Re-Install Formats", null, null, eTooltipColor.Gray)); try { @@ -2196,6 +2217,9 @@ namespace VEPROMS } ctrlAnnotationDetails.MyUserInfo = MyUserInfo; + // re-set to old RTF initialization to older RFT string + ctrlAnnotationDetails.AnnotationRTFText= "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft Sans Serif;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs20\\par\r\n}\r\n"; + DisplayRO.MyUserInfo = MyUserInfo; // set the user's security information in the properties RO panel StepTabRibbon.MyUserInfo = MyUserInfo; // set the user's security information in the ribbon DisplayTransition.MyUserInfo = MyUserInfo; // set the user's security information in the Transition panel diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.resx b/PROMS/VEPROMS User Interface/frmVEPROMS.resx index 3c84ece0..efee24ed 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.resx +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.resx @@ -172,16 +172,16 @@ - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAACxMAAAsTAQCanBgAAAA0SURBVDhPY2CgFHxqEvyPDX9sFOhAV4sVoGsk2RB0TeiY - oCH/l+n9pwSPGjBqAHUMGHAAAO9c/kJD+HpiAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + EwAACxMBAJqcGAAAADRJREFUOE9jYKAUfGoS/I8Nf2wU6EBXixWgayTZEHRN6JigIf+X6f2nBI8aMGoA + dQwYcAAA71z+QkP4emIAAAAASUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAACxMAAAsTAQCanBgAAAA0SURBVDhPY2CgFHxqEvyPDX9sFOhAV4sVoGsk2RB0TeiY - oCH/l+n9pwSPGjBqAHUMGHAAAO9c/kJD+HpiAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + EwAACxMBAJqcGAAAADRJREFUOE9jYKAUfGoS/I8Nf2wU6EBXixWgayTZEHRN6JigIf+X6f2nBI8aMGoA + dQwYcAAA71z+QkP4emIAAAAASUVORK5CYII= @@ -339,6 +339,9 @@ HM29CO23pWh3l/Bz4QZPYlnkk5YA/gbYS8m5Qty18AAAAABJRU5ErkJggg== + + 240, 17 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 @@ -389,9 +392,6 @@ 2AlZGRmMVIjXgI7OLub6xkaVtLS0ovT09IjCwkIWdDUgDAAMn43RSw4q2AAAAABJRU5ErkJggg== - - 240, 17 - 651, 17 diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 2dcfd7c5..b0649cc6 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -449,10 +449,9 @@ namespace VEPROMS.CSLA.Library { StringBuilder sret = new StringBuilder(); ItemInfo pitem = this; - while (!pitem.IsSection && !pitem.IsHigh) { - using (StepInfo stpinfo = StepInfo.Get(pitem.ItemID)) + using (StepInfo stpinfo = StepInfo.Get(pitem.ItemID)) { string thisTab = stpinfo.MyTab.CleanText; @@ -4705,43 +4704,50 @@ namespace VEPROMS.CSLA.Library int localPrintLevel = PrintLevel; StepSectionData sd = ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData; bool doMeta = false; - if (sd.StepSectionLayoutData.TieTabToLevel && ActiveFormat.PlantFormat.FormatData.SectData.UseMetaSections) + if (sd.StepSectionLayoutData.TieTabToLevel) // C2025-036 reduce un-needed processing { - if (sd.StepSectionLayoutData.ShowSectionTitles - && !MyDocStyle.CancelSectTitle - && !(MyDocStyle.SpecialStepsFoldout && MyDocStyle.UseColSByLevel)) - localPrintLevel = PrintLevel + (((ActiveFormat.PlantFormat.FormatData.Express && IsSequential)) ? 0 : CurrentSectionLevel()); - if (!ActiveFormat.PlantFormat.FormatData.Express) doMeta = true; - } - if (sd.StepSectionLayoutData.TieTabToLevel && ActiveFormat.PlantFormat.FormatData.SectData.CountSubSectionsForLevel) - if (SectionLevel() > 1) + if (ActiveFormat.PlantFormat.FormatData.SectData.UseMetaSections) + { + if (sd.StepSectionLayoutData.ShowSectionTitles + && !MyDocStyle.CancelSectTitle + && !(MyDocStyle.SpecialStepsFoldout && MyDocStyle.UseColSByLevel)) + localPrintLevel = PrintLevel + (((ActiveFormat.PlantFormat.FormatData.Express && IsSequential)) ? 0 : CurrentSectionLevel()); + if (!ActiveFormat.PlantFormat.FormatData.Express) doMeta = true; + } + if (ActiveFormat.PlantFormat.FormatData.SectData.CountSubSectionsForLevel && (SectionLevel() > 1)) localPrintLevel += 1; + } + SeqTabFmtList seqtabs = ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.SeqTabFmtList; + // Start with basic cases of alpha/numeric/seq: // If we have metasections AND... // If the seqtabs for this given level does not get a section number, use the seqtab rather than // the ident of the step: bool useSubStepTabs = false; - if (doMeta && IsHigh - && !seqtabs[(localPrintLevel < 0 ? 0 : localPrintLevel) % seqtabs.MaxIndex].TabToken.Contains("{numericWpar}") - && tbformat.Contains("{")) useSubStepTabs = true; - - // Check to be sure the parent tab should be included... If this sequential is within a note - // or caution or equipment list, don't use parent tab AND always start the numbering as a numeric - if (doMeta && IsSequential && (InNote() || InCaution() || - (MyParent.IsEquipmentList && !MyParent.FormatStepData.TabData.IdentPrint.Contains("{seq}")))) + if (doMeta) // C2025-036 reduce un-needed processing { - // if immediate parent is note, caution or equip, use numeric, otherwise use alpha. - localPrintLevel = 0; - int lv = 0; - ItemInfo ii = MyParent; - while (!ii.IsCaution && !ii.IsNote && !ii.IsEquipmentList) + if (IsHigh + && !seqtabs[(localPrintLevel < 0 ? 0 : localPrintLevel) % seqtabs.MaxIndex].TabToken.Contains("{numericWpar}") + && tbformat.Contains("{")) useSubStepTabs = true; + + // Check to be sure the parent tab should be included... If this sequential is within a note + // or caution or equipment list, don't use parent tab AND always start the numbering as a numeric + if (IsSequential && (InNote() || InCaution() || + (MyParent.IsEquipmentList && !MyParent.FormatStepData.TabData.IdentPrint.Contains("{seq}")))) { - lv++; - ii = ii.MyParent; + // if immediate parent is note, caution or equip, use numeric, otherwise use alpha. + localPrintLevel = 0; + int lv = 0; + ItemInfo ii = MyParent; + while (!ii.IsCaution && !ii.IsNote && !ii.IsEquipmentList) + { + lv++; + ii = ii.MyParent; + } + lv = lv % 2; + tbformat = (lv == 0) ? "{numeric}." : "{alpha}."; } - lv = lv % 2; - tbformat = (lv == 0) ? "{numeric}." : "{alpha}."; } bool trimTabStart = false; bool dontTrimParentTabBeforeAppending = false; // B2019-011 for Barakah Alarm format @@ -4807,7 +4813,7 @@ namespace VEPROMS.CSLA.Library PrintLevel = 0; // If token includes 'Wpar', the parent tab prefix's the tab. - if (localPrintLevel > 0 && (tbformat.IndexOf("{numericWpar}") > -1 || tbformat.IndexOf("{alphaWpar}") > -1 || tbformat.IndexOf("{ALPHAWpar}") > -1)) + if (localPrintLevel > 0 && tbformat.Contains("Wpar}")) // C2025-036 reduce un-needed processing { string parentTab = null; ItemInfo myparent = ActiveParent as ItemInfo; @@ -4922,18 +4928,21 @@ namespace VEPROMS.CSLA.Library } string alpha = useLinked?LinkedTab.Trim():AlphabeticalNumbering(ordinal); if (trimSeqValue) alpha = alpha.Trim(); // F2024-043 trim white around SEQ tab value (for sub-steps) - // B2017-211 Roman High Level steps should be followed by Uppercase alpha substeps - This is being limited to Calvert SAMG Format - if (_ActiveFormat.Name =="BGESAM1" &&MyParent != null && MyParent.IsHigh && MyParent.IsStep && MyParent.FormatStepData.TabData.IdentEdit.Contains("ROMAN")) - tbformat = tbformat.Replace("{alpha}", alpha); - else - tbformat = tbformat.Replace("{alpha}", alpha.ToLower()); - tbformat = tbformat.Replace("{alphaWpar}", alpha.ToLower()); - if (ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && tbformat.Contains("{ALPHA}") && alpha.Length > 1) - tbformat = tbformat.Replace("{ALPHA}. ", alpha + "."); // if double chars, remove one of the space for BGE - else - tbformat = tbformat.Replace("{ALPHA}", alpha); + if (tbformat.ToUpper().Contains("{ALPHA")) // C2025-036 reduce un-needed processing + { + // B2017-211 Roman High Level steps should be followed by Uppercase alpha substeps - This is being limited to Calvert SAMG Format + if (_ActiveFormat.Name == "BGESAM1" && MyParent != null && MyParent.IsHigh && MyParent.IsStep && MyParent.FormatStepData.TabData.IdentEdit.Contains("ROMAN")) + tbformat = tbformat.Replace("{alpha}", alpha); + else + tbformat = tbformat.Replace("{alpha}", alpha.ToLower()); + tbformat = tbformat.Replace("{alphaWpar}", alpha.ToLower()); + if (ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && tbformat.Contains("{ALPHA}") && alpha.Length > 1) + tbformat = tbformat.Replace("{ALPHA}. ", alpha + "."); // if double chars, remove one of the space for BGE + else + tbformat = tbformat.Replace("{ALPHA}", alpha); - tbformat = tbformat.Replace("{ALPHAWpar}", alpha); + tbformat = tbformat.Replace("{ALPHAWpar}", alpha); + } if (tbformat.ToUpper().Contains("ROMAN")) { string roman = RomanNumbering(ordinal); @@ -4941,15 +4950,18 @@ namespace VEPROMS.CSLA.Library tbformat = tbformat.Replace("{ROMAN}", roman); tbformat = tbformat.Substring(0, tbformat.Length - ((roman.Length - 1) > 0 ? (roman.Length - 1) : 0)); } - if (tbformat.Contains("{numeric}") && ((MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_AddDotZeroStdHLS) == E_DocStructStyle.DSS_AddDotZeroStdHLS) && MyContent.Type == 20002) + if (tbformat.Contains("{numeric}")) // C2025-036 reduce un-needed processing { - tbformat = tbformat.Replace("{numeric}", ordinal.ToString().PadLeft(2) + ".0"); - tbformat = tbformat.Substring(0, tbformat.Length - 2); - } - if (tbformat.Contains("{numeric}") && (this.FormatStepData.AppendDotZero)) // F2018-022 Added step type flag to append a ".0" to the end of the high level step - put in for Westinghouse single column format (wst1) - { - string numtxt = ordinal.ToString().PadLeft(2) + ".0"; - tbformat = tbformat.Replace("{numeric}.", numtxt).Replace("{numeric}", numtxt); + if (((MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_AddDotZeroStdHLS) == E_DocStructStyle.DSS_AddDotZeroStdHLS) && MyContent.Type == 20002) + { + tbformat = tbformat.Replace("{numeric}", ordinal.ToString().PadLeft(2) + ".0"); + tbformat = tbformat.Substring(0, tbformat.Length - 2); + } + if (this.FormatStepData.AppendDotZero) // F2018-022 Added step type flag to append a ".0" to the end of the high level step - put in for Westinghouse single column format (wst1) + { + string numtxt = ordinal.ToString().PadLeft(2) + ".0"; + tbformat = tbformat.Replace("{numeric}.", numtxt).Replace("{numeric}", numtxt); + } } // if this is a wolf creek background, if the tbformat ends with a '.' don't add a space, // otherwise add a space. @@ -6147,9 +6159,10 @@ namespace VEPROMS.CSLA.Library } private bool IsLowestLevelStep { + //F2025-015 added check for IsInCautionOrNote for sub-step inside Notes and Cautions get { - return (!(IsCaution || IsNote || IsTable || IsFigure || Steps != null || MyParent.IsCaution || MyParent.IsNote)); + return (!(IsCaution || IsNote || IsInCautionOrNote || IsTable || IsFigure || Steps != null || MyParent.IsCaution || MyParent.IsNote)); } } private bool RNOsHighHasCheckOff() diff --git a/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs b/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs index 52947440..cfc23380 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs @@ -547,6 +547,17 @@ namespace VEPROMS.CSLA.Library return LazyLoad(ref _AdjSectTitleLoc, "@AdjSectTitleLoc"); } } + + // this will add additional spacing between the Section Numbers and Titles + private LazyLoad _SectTitleOffsetOverride; + public float? SectTitleOffsetOverride + { + get + { + return LazyLoad(ref _SectTitleOffsetOverride, "@SectTitleOffsetOverride"); + } + } + #endregion AdjSectTitleLoc #region ShowAlarmPointWindowInfo @@ -653,6 +664,21 @@ namespace VEPROMS.CSLA.Library } } #endregion + + #region AltMultiUnitWording + [Category("Miscellaneous")] + [Description("Alternate Wording for Printing when MultiUnit")] + + // this will utilize Alternate Wording for Printing when MultiUnit and PrintCommonForZeroUnit is set + private LazyLoad _AltMultiUnitWording; + public string AltMultiUnitWording + { + get + { + return LazyLoad(ref _AltMultiUnitWording, "@AltMultiUnitWording"); + } + } + #endregion IncludeInTOC public override string ToString() { return String.Format("{0:D2} - {1}", Index, Name); diff --git a/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs b/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs index a1af31b5..a97edf71 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs @@ -244,6 +244,16 @@ namespace VEPROMS.CSLA.Library return LazyLoad(ref _TrimEnding, "@TrimEnding"); } } + // C2025-033 to specify to print pagestyle item for a specific Child procedure + private LazyLoad _ChildNum; + public int? ChildNum + { + get + { + return (LazyLoad(ref _ChildNum, "@ChildNum")); + } + } + #endregion #region Override ToString public override string ToString() diff --git a/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs b/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs index 80e56972..89fae763 100644 --- a/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs +++ b/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs @@ -16,6 +16,7 @@ namespace VEPROMS.CSLA.Library #region Public Properties public bool UserSetting_OpenTabs_Remember { get; protected set; } = false; public bool UserSetting_OpenTabs_AutoOpen { get; protected set; } = true; + public bool UserSetting_MSWord_Summary_Prompt { get; protected set; } = true; #endregion @@ -31,7 +32,7 @@ namespace VEPROMS.CSLA.Library using (SqlCommand cm = cn.CreateCommand()) { cm.CommandType = CommandType.Text; - cm.CommandText = "Select RememberOpenTabs, AutoOpenTabs FROM Users where UserID = @UID"; + cm.CommandText = "Select RememberOpenTabs, AutoOpenTabs, MSWordSummaryPrompt FROM Users where UserID = @UID"; cm.Parameters.AddWithValue("@UID", _userid); cm.CommandTimeout = Database.DefaultTimeout; using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) @@ -40,6 +41,7 @@ namespace VEPROMS.CSLA.Library { UserSetting_OpenTabs_Remember = (bool) dr.GetValue("RememberOpenTabs"); UserSetting_OpenTabs_AutoOpen = (bool) dr.GetValue("AutoOpenTabs"); + UserSetting_MSWord_Summary_Prompt = (bool) dr.GetValue("MSWordSummaryPrompt"); } } } @@ -84,6 +86,33 @@ namespace VEPROMS.CSLA.Library throw new DbCslaException("UserSettings_SetUserSettings", ex); } + } + + public void SetUserSetting_MSWord_Summary_Prompt(bool prompt) + { + try + { + using (SqlConnection cn = Database.VEPROMS_SqlConnection) + { + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandText = "vesp_UpdateUserSettingMSWordSummaryPrompt"; + cm.Parameters.AddWithValue("@UID", _userid); + UserSetting_MSWord_Summary_Prompt = prompt; + cm.Parameters.AddWithValue("@Prompt", prompt); + cm.CommandTimeout = Database.DefaultTimeout; + + cm.ExecuteNonQuery(); + } + } + } + catch (Exception ex) + { + Database.LogException("UserSettings_SetUserSettings", ex); + throw new DbCslaException("UserSettings_SetUserSettings", ex); + } + } #endregion } diff --git a/PROMS/Volian.Controls.Library/DisplayHistory.cs b/PROMS/Volian.Controls.Library/DisplayHistory.cs index a66c6952..1978e024 100644 --- a/PROMS/Volian.Controls.Library/DisplayHistory.cs +++ b/PROMS/Volian.Controls.Library/DisplayHistory.cs @@ -897,11 +897,7 @@ namespace Volian.Controls.Library // B2023-072: Don't crash if annotation type was deleted for the restore annotation if (ai == null) { - AnnotationTypeInfo ati = AnnotationTypeInfo.Get(aai.TypeID); - if (ati == null) - { - FlexibleMessageBox.Show(this, "Annotation Type was deleted, cannot restore Annotation Type\r\nCopy text from window in Change Details and paste into new annotation to restore the text.", "Annotation Type Deleted", MessageBoxButtons.OK, MessageBoxIcon.Warning); - } + FlexibleMessageBox.Show(this, "Annotation Type was deleted, cannot restore Annotation Type\r\nCopy text from window in Change Details and paste into new annotation to restore the text.", "Annotation Type Deleted", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } OnAnnotationRestored(ai, ai.MyItem); diff --git a/PROMS/Volian.Controls.Library/DisplayTabControl.cs b/PROMS/Volian.Controls.Library/DisplayTabControl.cs index 5f37d421..4d6dbda8 100644 --- a/PROMS/Volian.Controls.Library/DisplayTabControl.cs +++ b/PROMS/Volian.Controls.Library/DisplayTabControl.cs @@ -10,6 +10,7 @@ using Volian.Controls.Library; using DevComponents.DotNetBar; using JR.Utils.GUI.Forms; using Volian.Base.Library; +using Microsoft.Win32; namespace Volian.Controls.Library { @@ -658,11 +659,35 @@ namespace Volian.Controls.Library } else // Otherwise open it in the Word editor { - Document.ConvertWordSectionToDOCX(myItemInfo); // B2023-093 Convert a Word section to the DOCX Word format if needed before opening it for edit - return OpenDSOTabPage(myItemInfo); - } - } + // B2025-034 Check to make sure that EDWord is installed in PROMS. If not return NULL. + object EDOfficeViewerX = GetValue(@"HKEY_CLASSES_ROOT\EDOfficeViewerX.Connect\CLSID\", @"", null); + object EDWordCtrl = GetValue(@"HKEY_CLASSES_ROOT\EDWORD.EDWordCtrl.1\CLSID\", @"", null); + + if (EDOfficeViewerX == null || EDWordCtrl == null) + { + + MessageBox.Show("Edraw needs to be installed or reinstalled on this device. " + Environment.NewLine + "" + Environment.NewLine + + "Please contact your IT Administrator to install and register Edraw that was provided with the PROMS Installation media. If additional support is needed, please contact Volian.", "Error in Word section", + MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + return null; + } + else + { + Document.ConvertWordSectionToDOCX(myItemInfo); // B2023-093 Convert a Word section to the DOCX Word format if needed before opening it for edit + return OpenDSOTabPage(myItemInfo); + } + } + + } + public T GetValue(string registryKeyPath, string value, T defaultValue = default(T)) + { + T retVal = default(T); + + retVal = (T)Registry.GetValue(registryKeyPath, value, defaultValue); + + return retVal; + } public bool PasteRTBItem(ItemInfo myItemInfo, int copyStartID, ItemInfo.EAddpingPart pasteType, int type) { CleanUpClosedItems(); diff --git a/PROMS/Volian.Controls.Library/DisplayTags.cs b/PROMS/Volian.Controls.Library/DisplayTags.cs index a582db36..9761ae85 100644 --- a/PROMS/Volian.Controls.Library/DisplayTags.cs +++ b/PROMS/Volian.Controls.Library/DisplayTags.cs @@ -97,21 +97,6 @@ namespace Volian.Controls.Library set { if (Visible != value) Visible = value; } } - /// - /// Expose text properties for height and widht to handle selecting RO Image Types. - /// - public string TbFSwd - { - get {return tbFSWd.Text;} - set { tbFSWd.Text = value; tbFSWd.Refresh(); } // trBarFS.Value = Convert.ToInt32(value); - } - - public string TbFSht - { - get { return tbFSHt.Text; } - set { tbFSHt.Text = value; tbFSHt.Refresh(); _origFigureSizeRatio = float.Parse(value) / float.Parse(tbFSWd.Text); } - } - #endregion #region Constructor public DisplayTags() @@ -172,6 +157,18 @@ namespace Volian.Controls.Library tbFSWd.SelectionLength = 0; tbFSWd.SelectionStart = tbFSWd.TextLength; // position to the end of the Width text box } + /// + /// Update text properties for height and width for new RO Image Types. + /// + public void SetNewImageHeightAndWidth(int height, int width) + { + tbFSHt.Text = height.ToString(); + tbFSWd.Text = width.ToString(); + tbFSWd.Refresh(); + tbFSHt.Refresh(); + _origFigureSizeWidth = width; + _origFigureSizeRatio = (float)height / (float)width; + } public void ToggleChangeBar() // for use with shortcut keystoke { if (rbChgBarOff.Checked) diff --git a/PROMS/Volian.Controls.Library/EditItem.cs b/PROMS/Volian.Controls.Library/EditItem.cs index 27d89bd4..e5b2677d 100644 --- a/PROMS/Volian.Controls.Library/EditItem.cs +++ b/PROMS/Volian.Controls.Library/EditItem.cs @@ -758,7 +758,7 @@ namespace Volian.Controls.Library // clear tabs, clears then all so that next 'get' will calculate new. public void SetAllTabs() { - RefreshTab(); + RefreshTab(); if (_MyAfterEditItems != null) _MyAfterEditItems[0].SetAllTabs(); // B2020-043: used to loop through all, but then recursion would redo. if (_MyNextEditItem != null) _MyNextEditItem.SetAllTabs(); @@ -1160,7 +1160,7 @@ namespace Volian.Controls.Library { if (myItemInfoList != null) foreach (ItemInfo item in myItemInfoList) - AddChildBefore(item, expand); + AddChildBefore(item, expand); } public EditItem AddChildBefore(ItemInfoList myItemInfoList, EditItem nextEditItem) { @@ -3994,7 +3994,8 @@ namespace Volian.Controls.Library // TODO: Adjust top based upon format // TODO: Remove Label and just output ident on the paint event TabLeft = 20; - SetupHeader(itemInfo); + if (!itemInfo.IsStep) // C2025-036 reduce un-needed processing - this will prevent duplicat calls that generate step tabs when loading a procedure + SetupHeader(itemInfo); SetupAlarmTableView(itemInfo); // C2021-018 display alarm point table information in the step editor (if the format flag is set) this.Paint += new PaintEventHandler(EditItem_Paint); this.BackColorChanged += new EventHandler(EditItem_BackColorChanged); diff --git a/PROMS/Volian.Controls.Library/ImageItem.cs b/PROMS/Volian.Controls.Library/ImageItem.cs index b51fcd9b..698fc85d 100644 --- a/PROMS/Volian.Controls.Library/ImageItem.cs +++ b/PROMS/Volian.Controls.Library/ImageItem.cs @@ -340,9 +340,8 @@ namespace Volian.Controls.Library this.Height = MyPictureBox.Height + 10; if (_displayTags != null) { - _displayTags._origFigureSizeWidth = wd; - _displayTags.TbFSwd = wd.ToString(); - _displayTags.TbFSht = ht.ToString(); + // Set the Height and Width on the step properties page for the new image + _displayTags.SetNewImageHeightAndWidth(ht, wd); } } diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.cs b/PROMS/Volian.Controls.Library/StepTabRibbon.cs index 9834448d..77ed9197 100644 --- a/PROMS/Volian.Controls.Library/StepTabRibbon.cs +++ b/PROMS/Volian.Controls.Library/StepTabRibbon.cs @@ -3588,7 +3588,9 @@ namespace Volian.Controls.Library if (tmp.MyDisplayTabControl.MyCopyStep != null && tmp.MyDisplayTabControl.MyCopyStep.ItemID == MyEditItem.MyItemInfo.ItemID) { - if (FlexibleMessageBox.Show("Are you sure?\n\nIf you delete this step you will not able to paste it.\nYou should paste it before you delete it.", "Attempting to delete copied step.", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; + //B2025-031 - Improve wording for if attempting to delete copied section + string stype = MyEditItem.MyItemInfo.IsSection ? "section" : "step"; + if (FlexibleMessageBox.Show($"Are you sure?\n\nIf you delete this {stype} you will not able to paste it.\nYou should paste it before you delete it.", $"Attempting to delete copied {stype}.", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; clearCopyStep = true; } diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 5fcb43b6..bdd75d47 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -22,11 +22,11 @@ namespace Volian.Controls.Library public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args); public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args); public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args); - public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args); - public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args); + public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args); + public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args); public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args); public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args); - + public delegate bool vlnTreeViewItemInfoInsertEvent(object sender, vlnTreeItemInfoInsertEventArgs args); public delegate bool vlnTreeViewItemInfoDeleteFolderEvent(object sender, vlnTreeFolderDeleteEventArgs args); public delegate bool vlnTreeViewItemInfoPasteEvent(object sender, vlnTreeItemInfoPasteEventArgs args); @@ -57,7 +57,7 @@ namespace Volian.Controls.Library { _MySectionInfo = mySectionInfo; } - public vlnTreeSectionInfoEventArgs(SectionInfo mySectionInfo,bool isDeleting) + public vlnTreeSectionInfoEventArgs(SectionInfo mySectionInfo, bool isDeleting) { _MySectionInfo = mySectionInfo; _IsDeleting = isDeleting; @@ -140,7 +140,7 @@ namespace Volian.Controls.Library get { return _Node; } set { _Node = value; } } - private TreeNode _Destination=null; + private TreeNode _Destination = null; public TreeNode Destination { get { return _Destination; } @@ -168,7 +168,7 @@ namespace Volian.Controls.Library //end jcb multiunit #endregion #region Factory Methods - private vlnTreeEventArgs() { ;} + private vlnTreeEventArgs() {; } public vlnTreeEventArgs(TreeNode node) { _Node = node; @@ -192,7 +192,7 @@ namespace Volian.Controls.Library #endregion public override string ToString() { - return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}",NodePath(this.Node),this.Destination, this.Index,this.Unit, this.UnitIndex); + return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}", NodePath(this.Node), this.Destination, this.Index, this.Unit, this.UnitIndex); } private string NodePath(TreeNode node) @@ -215,7 +215,7 @@ namespace Volian.Controls.Library } #endregion #region Factory Methods - private vlnTreeItemInfoEventArgs() { ;} + private vlnTreeItemInfoEventArgs() {; } public vlnTreeItemInfoEventArgs(ItemInfo myItemInfo) { _MyItemInfo = myItemInfo; @@ -231,7 +231,7 @@ namespace Volian.Controls.Library FolderId = folderId; } } - public enum E_InsertType {Before, After, Child}; + public enum E_InsertType { Before, After, Child }; public partial class vlnTreeItemInfoInsertEventArgs { #region Business Methods @@ -267,7 +267,7 @@ namespace Volian.Controls.Library } #endregion #region Factory Methods - private vlnTreeItemInfoInsertEventArgs() { ;} + private vlnTreeItemInfoInsertEventArgs() {; } public vlnTreeItemInfoInsertEventArgs(ItemInfo myItemInfo, E_InsertType insertType, string stepText) { _MyItemInfo = myItemInfo; @@ -314,7 +314,7 @@ namespace Volian.Controls.Library } #endregion #region Factory Methods - private vlnTreeItemInfoPasteEventArgs() { ;} + private vlnTreeItemInfoPasteEventArgs() {; } public vlnTreeItemInfoPasteEventArgs(ItemInfo myItemInfo, int copyStartId, ItemInfo.EAddpingPart pasteType, int? type) { _MyItemInfo = myItemInfo; @@ -322,7 +322,7 @@ namespace Volian.Controls.Library _PasteType = pasteType; _Type = type; } - + #endregion } #endregion @@ -364,7 +364,7 @@ namespace Volian.Controls.Library get { return _SectionConfig; } set { _ConfigObject = _SectionConfig = value; } } - private vlnTreePropertyEventArgs() { ;} + private vlnTreePropertyEventArgs() {; } public vlnTreePropertyEventArgs(string title, FolderConfig folderConfig) { _Title = title; @@ -528,6 +528,11 @@ namespace Volian.Controls.Library { if (PrintSection != null) PrintSection(sender, args); } + public event vlnTreeViewEvent QPrintSection; + private void OnQPrintSection(object sender, vlnTreeEventArgs args) + { + if (QPrintSection != null) QPrintSection(sender, args); + } public event vlnTreeViewEvent PrintAllProcedures; private void OnPrintAllProcedures(object sender, vlnTreeEventArgs args) { @@ -568,16 +573,16 @@ namespace Volian.Controls.Library { if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args); } - - - - - - public event vlnTreeViewEvent ExportImportProcedureSets; - private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args) - { - if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args); - } + + + + + + public event vlnTreeViewEvent ExportImportProcedureSets; + private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args) + { + if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args); + } public event vlnTreeViewEvent PrintTransitionReport; private void OnPrintTransitionReport(object sender, vlnTreeEventArgs args) { @@ -629,7 +634,7 @@ namespace Volian.Controls.Library // This event was added to update the Step Properties/RO & Tools/Search RO & Reports // when an update of ro.fst is done & the ro trees on those panels needs refreshed. // (bug fix B2015-226) - public event StepPanelTabDisplayEvent TabDisplay; + public event StepPanelTabDisplayEvent TabDisplay; private void OnTabDisplay(object sender, StepPanelTabDisplayEventArgs args) { if (TabDisplay != null) TabDisplay(sender, args); @@ -715,39 +720,39 @@ namespace Volian.Controls.Library //_MyLog.WarnFormat("Context Menu 1b - {0}", GC.GetTotalMemory(true)); if (ui.IsAdministrator() || ui.IsSetAdministrator(fi)) { - if (fi.MyParent != null) // don't allow insert before/after if at top node + if (fi.MyParent != null) // don't allow insert before/after if at top node { if (!ui.IsAdministrator() && DoSpecificInfo) cm.MenuItems.Add("Procedure Set Specific Information", new EventHandler(mi_Click)); // B2020-111 only allow Set Administrator to add new folders inside folders they admininstrate - if (ui.IsAdministrator()||ui.IsSetAdministrator(fi.MyParent)) + if (ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) { cm.MenuItems.Add("Insert Folder Before", new EventHandler(mi_Click)); cm.MenuItems.Add("Insert Folder After", new EventHandler(mi_Click)); } } // B2020-111 only allow Set Administrator to add new folders inside folders they admininstrate - if ((ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) && fi.FolderDocVersionCount == 0) + if ((ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) && fi.FolderDocVersionCount == 0) cm.MenuItems.Add("New Folder", new EventHandler(mi_Click)); - if (fi.ChildFolderCount == 0 && !fi.HasWorkingDraft) + if (fi.ChildFolderCount == 0 && !fi.HasWorkingDraft) cm.MenuItems.Add("Create Working Draft", new EventHandler(mi_Click)); } - if (fi.HasWorkingDraft) + if (fi.HasWorkingDraft) cm.MenuItems.Add("Print Transition Report", new EventHandler(mi_Click)); } - else if (tn.VEObject as DocVersionInfo != null) // DocVersions can only contain procs + else if (tn.VEObject as DocVersionInfo != null) // DocVersions can only contain procs { isWrkDftNode = true; //_MyLog.WarnFormat("Context Menu 1c - {0}", GC.GetTotalMemory(true)); DocVersionInfo dvi = tn.VEObject as DocVersionInfo; if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi)) - { - cm.MenuItems.Add("Import Procedure", mi_Click); - } - if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi)) + { + cm.MenuItems.Add("Import Procedure", mi_Click); + } + if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi)) { OwnerInfoList.Reset(); oil = OwnerInfoList.GetByVersionID(dvi.VersionID); - if (dvi.ActiveFormat.PlantFormat.FormatData.SpecificInfo) + if (dvi.ActiveFormat.PlantFormat.FormatData.SpecificInfo) cm.MenuItems.Add("Procedure Set Specific Information", new EventHandler(mi_Click)); cm.MenuItems.Add("Refresh Checked Out Procedures", new EventHandler(mi_Click)); cm.MenuItems.Add("New Procedure", new EventHandler(mi_Click)); @@ -834,15 +839,15 @@ namespace Volian.Controls.Library urv.Enabled = !dvi.ROfstLastCompleted || dvi.NewerRoFst; } } - else if (tn.VEObject as ProcedureInfo != null) // Procs can only contain sections + else if (tn.VEObject as ProcedureInfo != null) // Procs can only contain sections { isProcNode = true; ProcedureInfo pri = tn.VEObject as ProcedureInfo; oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure); if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion)) - { - cm.MenuItems.Add("Export Procedure", mi_Click); - } + { + cm.MenuItems.Add("Export Procedure", mi_Click); + } if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion) || ui.IsWriter(pri.MyDocVersion)) { if (oi != null && oi.SessionID != MySessionInfo.SessionID) @@ -893,7 +898,7 @@ namespace Volian.Controls.Library } cm.MenuItems.Add(micas); cm.MenuItems.Add(mitcas); - cm.MenuItems.Add(mip); + cm.MenuItems.Add(mip); cm.MenuItems.Add(miqp); //cm.MenuItems.Add(mips); AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri); @@ -994,11 +999,26 @@ namespace Volian.Controls.Library mp.Tag = k; } cm.MenuItems.Add(mps); + + //C2025-028 Add a Quick Print Section option + MenuItem mps_qp = new MenuItem("Quick Print Section"); + int k_qp = 0; + foreach (string s in si2.MyDocVersion.UnitNames) + { + k_qp++; + MenuItem mp_qp = mps_qp.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); + mp_qp.Tag = k_qp; + } + cm.MenuItems.Add(mps_qp); } } else { - if(!si2.IsSubsection) cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + if (!si2.IsSubsection) + { + cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + cm.MenuItems.Add("Quick Print Section", new EventHandler(mi_Click)); + } } } } @@ -1061,9 +1081,37 @@ namespace Volian.Controls.Library // require clearing of all enhanced config data or mapping it to existing data (quite complicated) if ((ui.IsAdministrator() || ui.IsSetAdministrator(i.MyProcedure.MyDocVersion) || ui.IsWriter(i.MyProcedure.MyDocVersion)) && (!i.IsEnhancedStep && !i.IsEnhancedProcedure && !i.IsEnhancedSection && !i.IsRtfRaw && !i.IsFigure)) cm.MenuItems.Add("Copy", new EventHandler(mi_Click)); + //if (i.HasWordContent) + //{ + // cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + // cm.MenuItems.Add("Quick Print Section", new EventHandler(mi_Click)); + //} if (i.HasWordContent) { - cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + if (i.MyDocVersion.MultiUnitCount > 1) + { + if (!i.IsSubsection) + { + MenuItem mps = new MenuItem("Print Section"); + MenuItem mqps = new MenuItem("Quick Print Section"); + int k = 0; + foreach (string s in i.MyDocVersion.UnitNames) + { + k++; + MenuItem mp = mps.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); + mp.Tag = k; + MenuItem mqp = mqps.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); + mqp.Tag = k; + } + cm.MenuItems.Add(mps); + cm.MenuItems.Add(mqps); + } + } + else + { + cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + cm.MenuItems.Add("Quick Print Section", new EventHandler(mi_Click)); + } } } #endregion @@ -1077,42 +1125,42 @@ namespace Volian.Controls.Library ok = true; else if (tn.VEObject is ItemInfo && (ui.IsAdministrator() || ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion) || ui.IsWriter((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion))) ok = true; - if(ok) + if (ok) Menu_Paste(tn, cm); #endregion //_MyLog.WarnFormat("Context Menu 5 - {0}", GC.GetTotalMemory(true)); #region Menu_Delete if (ok) - - - - - + + + + + + { + // Add delete to the menu unless at the very 'top' node, on a grouping (partinfo) + // node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items. + PartInfo pi = tn.VEObject as PartInfo; + if (pi == null && tn.Parent != null) // it's not a part and it's not the top.... { - // Add delete to the menu unless at the very 'top' node, on a grouping (partinfo) - // node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items. - PartInfo pi = tn.VEObject as PartInfo; - if (pi == null && tn.Parent != null) // it's not a part and it's not the top.... + fi = tn.VEObject as FolderInfo; + if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children { - fi = tn.VEObject as FolderInfo; - if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children + DocVersionInfo di = tn.VEObject as DocVersionInfo; + if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children { - DocVersionInfo di = tn.VEObject as DocVersionInfo; - if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children - { - // if it's an enhanced step that was linked from a source, don't allow delete - bool canDoDel = true; - ItemInfo iienh = tn.VEObject as ItemInfo; - if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false; - if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false; - if (iienh != null && iienh.IsEnhancedStep) canDoDel = false; - if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click)); - } + // if it's an enhanced step that was linked from a source, don't allow delete + bool canDoDel = true; + ItemInfo iienh = tn.VEObject as ItemInfo; + if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false; + if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false; + if (iienh != null && iienh.IsEnhancedStep) canDoDel = false; + if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click)); } } } - + } + #endregion //_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true)); #region Menu_ExternalTransitions @@ -1148,13 +1196,13 @@ namespace Volian.Controls.Library } doclink = string.Format("Unlink Source and {0} Procedure", doclink); MenuItem mix = cm.MenuItems.Add(doclink, new EventHandler(miEnhanced_Click)); - mix.Tag = -1; // NOTE this is what flags what gets processed on menu click, i.e. -1 + mix.Tag = -1; // NOTE this is what flags what gets processed on menu click, i.e. -1 } // if this is a source procedure that has enhanced, for example Background and/or deviation, ask which should be unlinked including all else if (eds != null && eds.Count > 1) { MenuItem miu = new MenuItem("Unlink Enhanced Procedure(s) from Source"); - miu.Tag = -2; // this menu item doesn't get used. + miu.Tag = -2; // this menu item doesn't get used. int k = 0; foreach (EnhancedDocument ed in eds) { @@ -1165,7 +1213,7 @@ namespace Volian.Controls.Library } // add all submenu item MenuItem mp1 = miu.MenuItems.Add("All", new EventHandler(miEnhanced_Click)); - mp1.Tag = 0; // Tag of 0 flags All + mp1.Tag = 0; // Tag of 0 flags All cm.MenuItems.Add(miu); } } @@ -1175,9 +1223,9 @@ namespace Volian.Controls.Library // Add Properties to the menu unless at the very 'top' node or on a grouping (partinfo) // node (RNOs, Steps, Cautions, Notes) or at the step level. // B2020-105 Allow Set Administrators to rename folder's (sets of procedures) to which they have been given access. - if ( tn.VEObject is FolderInfo) ok = (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as FolderInfo)); - else ok = (tn.VEObject is DocVersionInfo) ? (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as DocVersionInfo)) - : (ui.IsAdministrator() || (tn.VEObject is ItemInfo) && (ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion) + if (tn.VEObject is FolderInfo) ok = (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as FolderInfo)); + else ok = (tn.VEObject is DocVersionInfo) ? (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as DocVersionInfo)) + : (ui.IsAdministrator() || (tn.VEObject is ItemInfo) && (ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion) || ui.IsWriter((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion))); PartInfo pia = tn.VEObject as PartInfo; ItemInfo ii = tn.VEObject as ItemInfo; @@ -1258,7 +1306,7 @@ namespace Volian.Controls.Library itm.Text == "Procedure Set Specific Information" || itm.Text == "Approve All Procedures for" || itm.Text == "Approve Some Procedures" || itm.Text == "Approve Some Procedures for") itm.Enabled = false; - + } } } @@ -1287,9 +1335,9 @@ namespace Volian.Controls.Library // F2022-024 added Time Critical Action Summary option foreach (MenuItem itm in cm.MenuItems) { - if(itm.Text == "Procedure Specific Information" || itm.Text == "New Section" || itm.Text == "Approve" || itm.Text == "Open" || + if (itm.Text == "Procedure Specific Information" || itm.Text == "New Section" || itm.Text == "Approve" || itm.Text == "Open" || itm.Text == "Copy" || itm.Text == "Delete" || itm.Text == "Properties..." || itm.Text == "Replace Existing Procedure" || - itm.Text.StartsWith("Showing Change Bars Starting") || itm.Text == "Create Continuous Action Summary" || + itm.Text.StartsWith("Showing Change Bars Starting") || itm.Text == "Create Continuous Action Summary" || itm.Text == "Create Time Critical Action Summary" || itm.Text == "Export Procedure") itm.Enabled = false; } @@ -1298,7 +1346,7 @@ namespace Volian.Controls.Library { foreach (MenuItem itm in cm.MenuItems) { - if(!itm.Text.StartsWith("Document Checked Out")) + if (!itm.Text.StartsWith("Document Checked Out")) itm.Enabled = false; } } @@ -1315,7 +1363,7 @@ namespace Volian.Controls.Library { _currentPri = pri; RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID); - if (ril.Count == 0) return; // no versions to list + if (ril.Count == 0) return; // no versions to list MenuItem mi = menuItemCollection.Add("Versions"); int k = 0; int lastApprovedRevisionID = 0; @@ -1362,11 +1410,11 @@ namespace Volian.Controls.Library ril = null; } } - public void AddNewNode(IVEDrillDownReadOnly o) - { - VETreeNode tn = new VETreeNode(o); - SelectedNode.Nodes.Add(tn); - } + public void AddNewNode(IVEDrillDownReadOnly o) + { + VETreeNode tn = new VETreeNode(o); + SelectedNode.Nodes.Add(tn); + } private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri) { try @@ -1375,7 +1423,7 @@ namespace Volian.Controls.Library _currentPri = pri; using (RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID)) { - //_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true)); + //_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true)); if (ril.Count == 0) return; // no versions to list MenuItem mi = menuItemCollection.Add("Versions"); int lastApprovedRevisionID = 0; @@ -1456,7 +1504,7 @@ namespace Volian.Controls.Library RevisionConfig rc = ri.MyConfig as RevisionConfig; // bug fix: B2016-183 - add the child's name (ex Unit 1) to the export file name for Parent/Child procedures. int applIdx = rc.Applicability_Index; - string str = (applIdx > 0)?_currentPri.MyDocVersion.UnitNames[applIdx-1] +"_":""; // if parent/child get the defined child name to inlcude the export filename + string str = (applIdx > 0) ? _currentPri.MyDocVersion.UnitNames[applIdx - 1] + "_" : ""; // if parent/child get the defined child name to inlcude the export filename System.Xml.XmlDocument xd = new System.Xml.XmlDocument(); xd.LoadXml(ri.LatestVersion.ApprovedXML); string PEIPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\PEI_" + Database.VEPROMS_SqlConnection.Database; @@ -1504,12 +1552,12 @@ namespace Volian.Controls.Library { MenuItem mip = mi.Parent as MenuItem; //B2021-086 Added the check for the last revision stage is an Approved stage - if ((ri.RevisionID < int.Parse(mip.Parent.Tag.ToString())) && ri.LatestVersion.MyStage.IsApproved!=0) + if ((ri.RevisionID < int.Parse(mip.Parent.Tag.ToString())) && ri.LatestVersion.MyStage.IsApproved != 0) superceded = true; } vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : ""); OnViewPDF(sender, args); -// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded)); + // System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded)); } void MultiUnitApprovedRevision_Click(object sender, EventArgs e) { @@ -1622,7 +1670,7 @@ namespace Volian.Controls.Library // 'from' is object copied // 'to' is object where paste was selected from #region Menu_Paste_ToDocVersion - if (tn.VEObject as DocVersionInfo != null) // paste item must be a proc + if (tn.VEObject as DocVersionInfo != null) // paste item must be a proc { if (iiClipboard.IsProcedure) { @@ -1632,7 +1680,7 @@ namespace Volian.Controls.Library // 3) 'to' docversion is 'source' and 'from' procedure is within this docversion // 4) 'to' docVersion is 'enhanced' and 'from' procedure is not bool canPaste = false; - + DocVersionInfo dvi = tn.VEObject as DocVersionInfo; DocVersionConfig dvc = dvi.DocVersionConfig; bool docVersionIsEnhanced = dvc.MyEnhancedDocuments != null && dvc.MyEnhancedDocuments.Count > 0 && dvc.MyEnhancedDocuments[0].Type == 0; @@ -1653,7 +1701,7 @@ namespace Volian.Controls.Library if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation. if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click)); } - #endregion + #endregion } else { @@ -1664,7 +1712,7 @@ namespace Volian.Controls.Library { SectionInfo si = (tn.VEObject as SectionInfo != null) ? tn.VEObject as SectionInfo : null; #region Menu_Paste_ToFromProcedure - if (iiPasteHere.IsProcedure && iiClipboard.IsProcedure) // procedure can be pasted before/replace/after + if (iiPasteHere.IsProcedure && iiClipboard.IsProcedure) // procedure can be pasted before/replace/after { // Enhanced considerations, in order to paste a procedure around another procedure: NOTE that an 'enhanced' procedure cannot be in paste buffer! // 1) 'to' & 'from' both 'non', i.e. Neither can have enhanced config data (be source or enhanced) @@ -1688,16 +1736,16 @@ namespace Volian.Controls.Library bool prFromIsEnhanced = iiClipboard.IsEnhancedProcedure; bool prFromIsSource = pcFromCfg.MyEnhancedDocuments != null && pcFromCfg.MyEnhancedDocuments.Count > 0 && pcFromCfg.MyEnhancedDocuments[0].Type != 0; bool prCanPaste = false; - if (!prToIsEnhanced && !prToIsSource && !prFromIsEnhanced && !prFromIsSource) prCanPaste = true; // 1) - // else if ((!prToIsEnhanced && !prToIsSource) && prFromIsSource) prCanPaste = false; // 2) commented out because already set to false - else if (prToIsSource && !prFromIsEnhanced && !prFromIsSource) // 3) + if (!prToIsEnhanced && !prToIsSource && !prFromIsEnhanced && !prFromIsSource) prCanPaste = true; // 1) + // else if ((!prToIsEnhanced && !prToIsSource) && prFromIsSource) prCanPaste = false; // 2) commented out because already set to false + else if (prToIsSource && !prFromIsEnhanced && !prFromIsSource) // 3) { prCanPaste = true; okToReplace = false; } - else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) prCanPaste = true; // 4) - //else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID != iiClipboard.MyDocVersion.VersionID) prCanPaste = false; // 5) commented out because already set to false - //else if (prToIsEnhanced && prFromIsSource) prCanPaste = false; // 6)commented out because already set to false + else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) prCanPaste = true; // 4) + //else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID != iiClipboard.MyDocVersion.VersionID) prCanPaste = false; // 5) commented out because already set to false + //else if (prToIsEnhanced && prFromIsSource) prCanPaste = false; // 6)commented out because already set to false if (iiClipboard.IsRtfRaw) prCanPaste = okToReplace = prCanPaste = false; // never paste an equation. if (prCanPaste) cm.MenuItems.Add("Paste Procedure Before", new EventHandler(mi_Click)); if (okToReplace && prCanPaste) cm.MenuItems.Add("Replace Existing Procedure", new EventHandler(mi_Click)); @@ -1729,9 +1777,9 @@ namespace Volian.Controls.Library bool scFromIsEnhanced = iiClipboard.IsEnhancedSection; bool scFromIsSource = scFromCfg.MyEnhancedDocuments != null && scFromCfg.MyEnhancedDocuments.Count > 0 && scFromCfg.MyEnhancedDocuments[0].Type != 0; bool scCanPaste = false; - if (!prToIsEnhanced && !prToIsSource && !scFromIsEnhanced && !scFromIsSource) scCanPaste = true; // 1) + if (!prToIsEnhanced && !prToIsSource && !scFromIsEnhanced && !scFromIsSource) scCanPaste = true; // 1) else if (prToIsSource && !scFromIsEnhanced && !scFromIsSource) scCanPaste = true; - else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) scCanPaste = true; // 3) + else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) scCanPaste = true; // 3) if (iiClipboard.IsRtfRaw) scCanPaste = false; // never paste an equation. if (scCanPaste) cm.MenuItems.Add("Paste Section", new EventHandler(mi_Click)); } @@ -1803,9 +1851,9 @@ namespace Volian.Controls.Library bool stpFromIsEnhanced = iiClipboard.IsEnhancedStep; bool stpFromIsSource = stpFromCfg.MyEnhancedDocuments != null && stpFromCfg.MyEnhancedDocuments.Count > 0 && stpFromCfg.MyEnhancedDocuments[0].Type != 0; bool stpCanPaste = false; - if (!secToIsEnhanced && !secToIsSource && !stpFromIsEnhanced && !stpFromIsSource) stpCanPaste = true; // 1) + if (!secToIsEnhanced && !secToIsSource && !stpFromIsEnhanced && !stpFromIsSource) stpCanPaste = true; // 1) else if (secToIsSource && !stpFromIsEnhanced && !stpFromIsSource) stpCanPaste = true; // 2) - else if (secToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) stpCanPaste = true; // 3) + else if (secToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) stpCanPaste = true; // 3) if (iiClipboard.IsRtfRaw) stpCanPaste = false; // never paste an equation. if (stpCanPaste) cm.MenuItems.Add("Paste Step", new EventHandler(mi_Click)); } @@ -1829,8 +1877,8 @@ namespace Volian.Controls.Library bool stpFromIsEnhanced = iiClipboard.IsEnhancedStep; bool stpFromIsSource = stpFromCfg.MyEnhancedDocuments != null && stpFromCfg.MyEnhancedDocuments.Count > 0 && stpFromCfg.MyEnhancedDocuments[0].Type != 0; bool stpCanPaste = false; - if (!stpToIsEnhanced && !stpToIsSource && !stpFromIsEnhanced && !stpFromIsSource) stpCanPaste = true; // 1) - else if (stpToIsSource && !stpFromIsEnhanced && !stpFromIsSource) // 2) + if (!stpToIsEnhanced && !stpToIsSource && !stpFromIsEnhanced && !stpFromIsSource) stpCanPaste = true; // 1) + else if (stpToIsSource && !stpFromIsEnhanced && !stpFromIsSource) // 2) { stpCanPaste = true; okToReplace = false; @@ -1838,7 +1886,7 @@ namespace Volian.Controls.Library else if (stpToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) // 3 { stpCanPaste = true; - if (stpFromIsSource) okToReplace = false; // B2017-183: don't allow a replace to source steps + if (stpFromIsSource) okToReplace = false; // B2017-183: don't allow a replace to source steps } if (iiClipboard.IsRtfRaw) stpCanPaste = false; // never paste an equation. if (stpCanPaste && AddToInsertMenu(iiPasteHere, 0)) cm.MenuItems.Add("Paste Step Before", new EventHandler(mi_Click)); @@ -1867,8 +1915,11 @@ namespace Volian.Controls.Library case "Print Section": OnPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; + case "Quick Print Section": + OnQPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); + break; case "Print All Procedures for": - OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0,mi.Text,(int)mi.Tag)); + OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; case "Approve": OnApproveProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); @@ -1880,10 +1931,10 @@ namespace Volian.Controls.Library OnApproveSomeProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; case "Create Continuous Action Summary": - OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null,0,mi.Text,(int)mi.Tag)); + OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; case "Create Time Critical Action Summary": - OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null,0,mi.Text,(int)mi.Tag)); + OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; default: if (mip.Text.StartsWith("Showing Change Bars Starting")) @@ -1921,7 +1972,7 @@ namespace Volian.Controls.Library { if (selprc.IsEnhancedProcedure) { - selprc.DoUnlinkEnhanced(selprc, 0, !hasValidConnectingProc); // if no valid linked: enhtype = 0 since this an enhanced doc is getting unlinked + selprc.DoUnlinkEnhanced(selprc, 0, !hasValidConnectingProc); // if no valid linked: enhtype = 0 since this an enhanced doc is getting unlinked } else // from source { @@ -1929,7 +1980,7 @@ namespace Volian.Controls.Library if (hasValidConnectingProc) { ItemInfo lprc = ItemInfo.Get(seleds[0].ItemID); - lprc.DoUnlinkEnhanced(lprc, 0, !hasValidConnectingProc); + lprc.DoUnlinkEnhanced(lprc, 0, !hasValidConnectingProc); } else selprc.DoUnlinkEnhanced(selprc, seleds[0].Type, !hasValidConnectingProc); @@ -1949,7 +2000,7 @@ namespace Volian.Controls.Library { ItemInfo lprc = ItemInfo.Get(ed.ItemID); bool hasValidConnectingProc = CheckForValidEnhLink(lprc); - // if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure. + // if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure. if (hasValidConnectingProc) lprc.DoUnlinkEnhanced(lprc, ed.Type, !hasValidConnectingProc); else @@ -1973,37 +2024,37 @@ namespace Volian.Controls.Library OnNodeSI(this, new vlnTreeEventArgs(tn, null, 0)); return; } - if (mi.Text.StartsWith("Collapse")) - { + if (mi.Text.StartsWith("Collapse")) + { CollapseProcedures(); - return; - } + return; + } if (mi.Text == "Print Transition Report") { OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode)); return; } - - - - - - - - - - - if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure") - { - OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); - return; - } - if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure") - { - OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1)); - return; - } - if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to")) + + + + + + + + + + + if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure") + { + OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); + return; + } + if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure") + { + OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1)); + return; + } + if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to")) { OnProcedureCheckedOutTo(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); return; @@ -2014,6 +2065,10 @@ namespace Volian.Controls.Library VETreeNode tn2 = SelectedNode as VETreeNode; OnPrintSection(this, new vlnTreeEventArgs(tn2 as VETreeNode, null, 0)); break; + case "Quick Print Section": + VETreeNode tn2qp = SelectedNode as VETreeNode; + OnQPrintSection(this, new vlnTreeEventArgs(tn2qp as VETreeNode, null, 0)); + break; case "Open": OpenNode(); break; @@ -2025,7 +2080,7 @@ namespace Volian.Controls.Library break; case "New Folder": SelectedNode.Expand(); - tv_NodeNew(MenuSelections.Folder); + tv_NodeNew(MenuSelections.Folder); break; case "Create Working Draft": SelectedNode.Expand(); @@ -2069,12 +2124,11 @@ namespace Volian.Controls.Library tv_NodeCopy(); break; // lots of paste options: - case "Paste Procedure": + case "Paste Procedure": case "Paste Procedure Before": case "Paste Procedure After": case "Paste Section": case "Paste Section Before": - case "Replace Existing Section": case "Paste Section After": case "Paste Step": case "Paste Step Before": @@ -2083,8 +2137,18 @@ namespace Volian.Controls.Library case "Paste Subsection": tv_NodePaste(mi.Text); break; + case "Replace Existing Section": + //C2025-032 - Add check if user is sure want to paste replace section + DialogResult ovewriteExPS = FlexibleMessageBox.Show("This will overwrite the selected section with the one you copied, would you like to overwrite it?\r\n\r\nSelecting 'Cancel' will cancel the paste action.", "Overwrite the section?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); + + if (ovewriteExPS == DialogResult.Cancel) break; + else + { + tv_NodePaste(mi.Text); + break; + } case "Replace Existing Procedure": - DialogResult ovewriteEx = FlexibleMessageBox.Show("This will overwrite the selected procedure with then one you copied, would you like to overwrite it?\r\n\r\nSelecting 'Cancel' will cancel the paste action.", "Overwrite the procedure?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);// == DialogResult.Yes; + DialogResult ovewriteEx = FlexibleMessageBox.Show("This will overwrite the selected procedure with the one you copied, would you like to overwrite it?\r\n\r\nSelecting 'Cancel' will cancel the paste action.", "Overwrite the procedure?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);// == DialogResult.Yes; if (ovewriteEx == DialogResult.Cancel) break; else @@ -2094,7 +2158,7 @@ namespace Volian.Controls.Library break; } - + case "Delete": if (tv_NodeDelete()) { @@ -2160,14 +2224,14 @@ namespace Volian.Controls.Library UpdateROValues(SelectedNode as VETreeNode); break; case "Create Continuous Action Summary": - OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null,0)); + OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); break; - // F2022-024 Time Critical Action Summary + // F2022-024 Time Critical Action Summary case "Create Time Critical Action Summary": - OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null,0)); + OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); break; - // B2017-243 added the following two Cannot Paste items when dealing with enhanced documents - // when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted + // B2017-243 added the following two Cannot Paste items when dealing with enhanced documents + // when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted case "CANNOT PASTE HERE. Click for more information...": FlexibleMessageBox.Show("You have copied a document that is linked to an Enhanced Document.\n\n" + "It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here"); @@ -2209,7 +2273,7 @@ namespace Volian.Controls.Library foreach (VETreeNode tnc in tn.Nodes) CollapseProcedures(tnc); if (tn.VEObject as DocVersionInfo == null && tn.VEObject as FolderInfo == null) - tn.Collapse(); + tn.Collapse(); _doingCollapseNode = true; // B2016-058 this will prevent a Drag Node error when collapsing an RNOs, Cautions, or Notes tree node } private void tv_RemoveChgIds() @@ -2264,12 +2328,12 @@ namespace Volian.Controls.Library FinalProgressBarMessage = "Cannot check-out Working Draft"; return; } - Cursor = Cursors.WaitCursor; // C2023-002: move wait cursor after check out error + Cursor = Cursors.WaitCursor; // C2023-002: move wait cursor after check out error int ownerid = MySessionInfo.CheckOutItem(MyDVI.VersionID, CheckOutType.DocVersion); using (DocVersion dv = DocVersion.Get(MyDVI.VersionID)) { swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder - // B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo + // B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed { // only load the RO.fst @@ -2297,7 +2361,7 @@ namespace Volian.Controls.Library swROUpdate.Write(string.Format("Fixed Referenced Object for {1}({4}){0}Old Text: {2}{0}New Text: {3}{0}{0}", Environment.NewLine, (sender as ItemInfo).ShortPath, args.OldValue, args.NewValue, (sender as ItemInfo).ItemID)); } - private ProgressBarItem _ProgressBar=null; + private ProgressBarItem _ProgressBar = null; public ProgressBarItem ProgressBar { get { return _ProgressBar; } @@ -2410,7 +2474,7 @@ namespace Volian.Controls.Library return; } // C2017-003: ro data in sql server, check for sql connection string - if (MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString != "cstring") + if (MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString != "cstring") roloc = roloc + " \"" + MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString + "\""; // C2021-026 pass in Parent/Child information (list of the children) // B2022-019 look at all DocVersions to find ParentChild information @@ -2461,7 +2525,7 @@ namespace Volian.Controls.Library } } VETreeNode tn = SelectedNode as VETreeNode; - + DocVersionInfo dvi = tn.VEObject as DocVersionInfo; // Check for paste into a docversion - queries/code is different than paste related to an item (into a proc or section) if (dvi != null) @@ -2475,7 +2539,7 @@ namespace Volian.Controls.Library // assume that item to paste is a procedure, otherwise the menuing would not have // included the paste options - tn = (VETreeNode) tn.Nodes[tn.Nodes.Count - 1]; + tn = (VETreeNode)tn.Nodes[tn.Nodes.Count - 1]; p = "After"; } else // this is an empty docversion: @@ -2511,7 +2575,7 @@ namespace Volian.Controls.Library if (OnlyProc && repitem != null && tmp != null) { VETreeNode tn1 = new VETreeNode(repitem); - tmp.Nodes.Add(tn1); + tmp.Nodes.Add(tn1); SelectedNode = tn1; } } @@ -2520,7 +2584,7 @@ namespace Volian.Controls.Library //if (p.IndexOf("Replace") <= -1) - this.Cursor = Cursors.Default; + this.Cursor = Cursors.Default; } public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID) @@ -2537,7 +2601,7 @@ namespace Volian.Controls.Library } ItemInfo newProc = dvi.PasteChild(copyStartID); VETreeNode tn1 = new VETreeNode(newProc); - SelectedNode.Nodes.Add(tn1); // add tree node to end of list. + SelectedNode.Nodes.Add(tn1); // add tree node to end of list. SelectedNode = tn1; } @@ -2574,7 +2638,7 @@ namespace Volian.Controls.Library } if (pasteSectIntoEmptySect) { - tn.ChildrenLoaded = false; // force a reload of treenode + tn.ChildrenLoaded = false; // force a reload of treenode tn.LoadChildren(true); } SelectedNode = tn; @@ -2589,7 +2653,7 @@ namespace Volian.Controls.Library // the item to be pasted in the step editor and the tree. ItemInfo newItemInfo = null; // F2021-009 display a message if pasting step will results in more sub-step levels than are defined in the format - if (!ii.IsProcedure) + if (!ii.IsProcedure) ItemInfo.PasteStepIsWithinDefinedSubStepLevels(copyStartID, ii, false); if (ii.IsProcedure || !OnPasteItemInfo(this, new vlnTreeItemInfoPasteEventArgs(ii, copyStartID, pasteOpt, ii.MyContent.Type))) { @@ -2612,8 +2676,8 @@ namespace Volian.Controls.Library } private ItemInfo PasteReplace(VETreeNode tn, int copyStartID) { - VETreeNode prevtn = (VETreeNode) tn.PrevNode; - VETreeNode partn = (VETreeNode) tn.Parent; + VETreeNode prevtn = (VETreeNode)tn.PrevNode; + VETreeNode partn = (VETreeNode)tn.Parent; ItemInfo ii = tn.VEObject as ItemInfo; // F2021-009 display a message if pasting step will results in more sub-step levels than are defined in the format ItemInfo.PasteStepIsWithinDefinedSubStepLevels(copyStartID, ii, true); @@ -2652,7 +2716,7 @@ namespace Volian.Controls.Library SelectedNode.Nodes.Add(tn1); // add tree node to end of list. SelectedNode = tn1; } - private void tv_NodeCopy() + private void tv_NodeCopy() { if (SelectedNode == null) return; VETreeNode tn = SelectedNode as VETreeNode; @@ -2664,7 +2728,7 @@ namespace Volian.Controls.Library private void SetupNodeProperties() { VETreeNode tn = SelectedNode as VETreeNode; - if (tn==null)return; + if (tn == null) return; if ((tn.VEObject as FolderInfo) != null) OpenProperties(tn.VEObject as FolderInfo); @@ -2676,7 +2740,7 @@ namespace Volian.Controls.Library if (dvi != null && dvi.DocVersionAssociations != null && dvi.DocVersionAssociations.Count > 0) rofstid = dvi.DocVersionAssociations[0].MyROFst.ROFstID; OpenProperties(tn.VEObject as DocVersionInfo); if (dvi != null && dvi.DocVersionAssociations != null && dvi.DocVersionAssociations.Count > 0 && rofstid != dvi.DocVersionAssociations[0].MyROFst.ROFstID) - OnTabDisplay(this,new StepPanelTabDisplayEventArgs("DisplayROUpdateROFST")); + OnTabDisplay(this, new StepPanelTabDisplayEventArgs("DisplayROUpdateROFST")); } else if ((tn.VEObject as ProcedureInfo) != null) OpenProperties(tn.VEObject as ProcedureInfo); @@ -2690,7 +2754,7 @@ namespace Volian.Controls.Library { using (Folder folder = folderInfo.Get()) { - OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig)); + OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig)); } } private void OpenProperties(DocVersionInfo dvInfo) @@ -2704,7 +2768,7 @@ namespace Volian.Controls.Library { using (Procedure proc = procInfo.Get()) { - OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig)); + OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig)); } } private void OpenProperties(SectionInfo sectInfo) @@ -2717,7 +2781,7 @@ namespace Volian.Controls.Library title = string.Format("{0} {1} Properties", sectInfo.SectionConfig.Number, sectInfo.SectionConfig.Title); else title = string.Format("{0} Properties", sectInfo.SectionConfig.Title); - OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig)); + OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig)); } } private void OpenProperties(StepInfo stpinfo) @@ -2771,7 +2835,7 @@ namespace Volian.Controls.Library { if (newtype == MenuSelections.DocVersion) { - int dvid = -1; // flag to allow user to cancel from dialog & then we remove it. + int dvid = -1; // flag to allow user to cancel from dialog & then we remove it. using (DocVersion docversion = DocVersion.MakeDocVersion(parentfolder, "Working Draft", "Title", null, null, null)) { ShowBrokenRules(docversion.BrokenRulesCollection); @@ -2780,7 +2844,7 @@ namespace Volian.Controls.Library { docversion.Save(); tn = new VETreeNode(_LastDocVersionInfo); - SelectedNode.Nodes.Add(tn); // add tree node to end of list. + SelectedNode.Nodes.Add(tn); // add tree node to end of list. parentfolder.Reset_ChildFolders(); parentfolder.Reset_FolderDocVersions(); } @@ -2791,7 +2855,7 @@ namespace Volian.Controls.Library } else if (newtype == MenuSelections.Folder) { - int f1 = -1; // flag to allow user to cancel from dialog & then we remove it. + int f1 = -1; // flag to allow user to cancel from dialog & then we remove it. string uniquename = _LastFolderInfo.UniqueChildName("New Folder"); using (Folder folder = Folder.MakeFolder(parentfolder, parentfolder.MyConnection, uniquename, string.Empty, "Short Name", null, string.Empty, DateTime.Now, VlnSettings.UserID)) { @@ -2803,14 +2867,14 @@ namespace Volian.Controls.Library { folder.Save(); tn = new VETreeNode((IVEDrillDownReadOnly)_LastFolderInfo); - SelectedNode.Nodes.Add(tn); // add new tree node to end of childlist. + SelectedNode.Nodes.Add(tn); // add new tree node to end of childlist. } else f1 = folder.FolderID; } if (f1 != -1) Folder.Delete(f1); } - else if (newtype == MenuSelections.FolderAfter||newtype == MenuSelections.FolderBefore) + else if (newtype == MenuSelections.FolderAfter || newtype == MenuSelections.FolderBefore) { int f2 = -1; string uniquename = _LastFolderInfo.MyParent.UniqueChildName("New Folder"); @@ -2819,7 +2883,8 @@ namespace Volian.Controls.Library //since before/after folder is at same level as current folder //so need to use the parents order to determine where to place it using (FolderInfo parfolderinfo = FolderInfo.Get(parentfolder.MyParent.FolderID)) - { double? myorder = parfolderinfo.NewManualOrder(myindex); + { + double? myorder = parfolderinfo.NewManualOrder(myindex); using (Folder folder = Folder.MakeFolder(parentfolder.MyParent, parentfolder.MyConnection, uniquename, string.Empty, "Short Name", null, myorder, string.Empty, DateTime.Now, VlnSettings.UserID)) { ShowBrokenRules(folder.BrokenRulesCollection); @@ -2844,7 +2909,7 @@ namespace Volian.Controls.Library else if (newtype == MenuSelections.Procedure) { int p1 = -1; - using (Procedure procedure = Procedure.MakeProcedure(_LastDocVersionInfo, _LastDocVersionInfo.Procedures.Count!=0?_LastDocVersionInfo.Procedures[_LastDocVersionInfo.Procedures.Count-1]:null, null, "New Procedure", 0)) + using (Procedure procedure = Procedure.MakeProcedure(_LastDocVersionInfo, _LastDocVersionInfo.Procedures.Count != 0 ? _LastDocVersionInfo.Procedures[_LastDocVersionInfo.Procedures.Count - 1] : null, null, "New Procedure", 0)) { ShowBrokenRules(procedure.BrokenRulesCollection); SetLastValues(ProcedureInfo.Get(procedure.ItemID)); @@ -2853,8 +2918,8 @@ namespace Volian.Controls.Library { procedure.Save(); tn = new VETreeNode(_LastProcedureInfo); - SelectedNode.Nodes.Add(tn); // add tree node to end of list. - // The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034) + SelectedNode.Nodes.Add(tn); // add tree node to end of list. + // The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034) if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures(); if (procedure.MyProcedureInfo.CreateEnhanced) { @@ -2896,21 +2961,21 @@ namespace Volian.Controls.Library else p2 = procedure.ItemID; } - if (p2 != -1) + if (p2 != -1) DeleteItemInfoAndChildren(_LastProcedureInfo); // Delete Item and reset Previous and Next } #endregion #region InsertSection - else if (newtype == MenuSelections.Section) // Insert subsection at end of parents section list + else if (newtype == MenuSelections.Section) // Insert subsection at end of parents section list { string message = string.Empty; if (_LastProcedureInfo != null) if (!MySessionInfo.CanCheckOutItem(_LastProcedureInfo.ItemID, CheckOutType.Procedure, ref message)) - { - FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning); - OnUnPauseRefresh(this, null); - return; - } + { + FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning); + OnUnPauseRefresh(this, null); + return; + } int s1 = -1; if (!(_LastProcedureInfo == null) || !(_LastSectionInfo == null)) { @@ -2940,7 +3005,7 @@ namespace Volian.Controls.Library "If you would like to view or copy these hidden steps you will need to go\n" + "into the properties of this section and check the Editable Data checkbox.\n" + "You will then be able to view and copy those steps. When finished, open\n" + - "the properties page again and uncheck the Editable Data checkbox.\n\n"+ + "the properties page again and uncheck the Editable Data checkbox.\n\n" + "Do you want to continue creating the subsection?"; if (FlexibleMessageBox.Show(this, msgstr, "Subsection Insert", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { @@ -2952,7 +3017,7 @@ namespace Volian.Controls.Library if (!hasMetaSubs) doPseudo = true; } } - using(Section section = CreateNewSection()) + using (Section section = CreateNewSection()) { ShowBrokenRules(section.BrokenRulesCollection); SectionInfo savLastSectionInfo = _LastSectionInfo; @@ -2962,10 +3027,10 @@ namespace Volian.Controls.Library if (!doPseudo) { tn = new VETreeNode(_LastSectionInfo); - SelectedNode.Nodes.Add(tn); // add tree node to end of list. - // if the new section was flagged as either having an enhanced link for Title or Contents, create the - // Enhanced section: - Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem. + SelectedNode.Nodes.Add(tn); // add tree node to end of list. + // if the new section was flagged as either having an enhanced link for Title or Contents, create the + // Enhanced section: + Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem. if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y") CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text); sectiontmp.Dispose(); @@ -2976,7 +3041,7 @@ namespace Volian.Controls.Library // may have to add a 'steps' node if a step(s) already exist... ItemInfo ii = (SelectedNode as VETreeNode).VEObject as ItemInfo; int cpindx = 0; - if (SelectedNode.Nodes.Count>0) + if (SelectedNode.Nodes.Count > 0) { VETreeNode vtn = SelectedNode.Nodes[0] as VETreeNode; // B2017-014: removed code that was adding a 2nd section part node. and also select node to @@ -2986,13 +3051,13 @@ namespace Volian.Controls.Library // B2017-014: removed code that was adding a 2nd section part node. } } - else // Properties was canceled out of: + else // Properties was canceled out of: s1 = section.ItemID; } if (s1 != -1) { DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next - // B2020-087 refresh the tree node after canceling the creation of the subsection + // B2020-087 refresh the tree node after canceling the creation of the subsection _LastTreeNode.ChildrenLoaded = false; _LastTreeNode.RefreshNode(); _LastTreeNode.Collapse(); @@ -3020,14 +3085,14 @@ namespace Volian.Controls.Library if (OnNodeOpenProperty(this, new vlnTreePropertyEventArgs("New Section", section.SectionConfig)) == DialogResult.OK) { int indx = tvindex + ((newtype == MenuSelections.SectionBefore) ? 0 : 1); - int itemido = (indx >= par.Nodes.Count)?-1:(((par.Nodes[indx] as VETreeNode).VEObject) as ItemInfo).ItemID; - if (indx >= par.Nodes.Count || (par.Nodes[indx] as VETreeNode).VEObject.ToString() != _LastSectionInfo.ToString() || itemido !=section.ItemID) + int itemido = (indx >= par.Nodes.Count) ? -1 : (((par.Nodes[indx] as VETreeNode).VEObject) as ItemInfo).ItemID; + if (indx >= par.Nodes.Count || (par.Nodes[indx] as VETreeNode).VEObject.ToString() != _LastSectionInfo.ToString() || itemido != section.ItemID) { tn = new VETreeNode(_LastSectionInfo); par.Nodes.Insert(indx, tn); // if the new section was flagged as either having an enhanced link for Title or Contents, create the // Enhanced section: - Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem. + Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem. if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y") CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text); sectiontmp.Dispose(); @@ -3039,7 +3104,7 @@ namespace Volian.Controls.Library if (s2 != -1) { DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next - // B2020-087 refresh the tree node after canceling the creation of the subsection + // B2020-087 refresh the tree node after canceling the creation of the subsection _LastTreeNode.ChildrenLoaded = false; _LastTreeNode.RefreshNode(); _LastTreeNode.Collapse(); @@ -3047,7 +3112,7 @@ namespace Volian.Controls.Library } #endregion #region InsertStep - else if (newtype == MenuSelections.Step) // insert step from section - no substeps from tree. + else if (newtype == MenuSelections.Step) // insert step from section - no substeps from tree. { string message = string.Empty; if (!MySessionInfo.CanCheckOutItem(_LastSectionInfo.MyProcedure.ItemID, CheckOutType.Procedure, ref message)) @@ -3124,7 +3189,7 @@ namespace Volian.Controls.Library using (Procedure newenhProcedure = Procedure.MakeProcedure(enhDVInfo, enhDVInfo.Procedures.Count != 0 ? enhDVInfo.Procedures[enhDVInfo.Procedures.Count - 1] : null, null, "New Procedure", 0)) { SaveEnhancedForProcedure(sourceProc, newenhProcedure, ded.Type); - RefreshRelatedNode(ProcedureInfo.Get(newenhProcedure.ItemID)); // this updates the treeview to include the new enhanced procedure + RefreshRelatedNode(ProcedureInfo.Get(newenhProcedure.ItemID)); // this updates the treeview to include the new enhanced procedure } } } @@ -3222,7 +3287,7 @@ namespace Volian.Controls.Library { SectionConfig newenhcfg = new SectionConfig(newenhSection); newenhcfg.AddEnhancedDocument(0, sourceSect.ItemID); - newenhcfg.SaveEnhancedDocuments(); // does this save data? + newenhcfg.SaveEnhancedDocuments(); // does this save data? using (Content c1 = Content.Get(newenhSection.ContentID)) { c1.Config = newenhcfg.ToString(); @@ -3236,7 +3301,7 @@ namespace Volian.Controls.Library cs.Save(); } } - + private Section CreateNewSection() { // B2020-087 the config for SubSection_Edit was sometimes set even when there wasn't any subsections, @@ -3276,7 +3341,7 @@ namespace Volian.Controls.Library // The parent step was not open in the step editor, just create new step(s) and add treenode. int newId = -1; // B2020-076: if this step has a template, insert template steps. - int topType = ii.GetSmartTemplateTopLevelIndxOfThisType(20002); + int topType = ii.GetSmartTemplateTopLevelIndxOfThisType(20002); if (topType != -1) { ItemInfo tmp = null; @@ -3303,12 +3368,12 @@ namespace Volian.Controls.Library // see if enhanced related steps need created: SectionConfig scfgE = _LastItemInfo.ActiveSection.MyConfig as SectionConfig; // C2018-003 fixed use of getting the active section - if (scfgE != null && scfgE.Section_LnkEnh=="Y") + if (scfgE != null && scfgE.Section_LnkEnh == "Y") { // set up which item to insert from based on whether editor was open (see comment from 11/17 above). EnhancedDocuments enhdocs = null; ItemInfo.EAddpingPart addpart = ItemInfo.EAddpingPart.Child; - if (_LastItemInfo.MyPrevious != null) // the code above will do the MakeStep regardless of whether editor is up if this is the only step. + if (_LastItemInfo.MyPrevious != null) // the code above will do the MakeStep regardless of whether editor is up if this is the only step. { addpart = ItemInfo.EAddpingPart.After; ItemInfo lstSrc = _LastItemInfo.MyPrevious; @@ -3480,7 +3545,7 @@ namespace Volian.Controls.Library result = FlexibleMessageBox.Show("Are you sure you want to delete this " + typeDescription + "?", "Verify Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question); } - if (_LastProcedureInfo != null || result == DialogResult.Yes) + if (_LastProcedureInfo != null || result == DialogResult.Yes) { if (_LastFolderInfo != null) { @@ -3496,7 +3561,7 @@ namespace Volian.Controls.Library { foreach (DVEnhancedDocument dve in dvc.MyEnhancedDocuments) { - if (dve.Type != 0) + if (dve.Type != 0) DocVersion.Delete(dve.VersionID); else { @@ -3542,7 +3607,7 @@ namespace Volian.Controls.Library if (ed.Type != 0) enhIds.Add(ed.ItemID); // always return false because an event gets fired to delete tree nodes. if (!DeleteItemInfoAndChildren(_LastProcedureInfo)) return false; - + _LastProcedureInfo = null; foreach (int enhId in enhIds) { @@ -3586,7 +3651,7 @@ namespace Volian.Controls.Library // just clear enhanced links back _LastSectionInfo.ClearEnhancedSectionLink(); } - OnSectionShouldClose(this, new vlnTreeSectionInfoEventArgs(_LastSectionInfo,true)); + OnSectionShouldClose(this, new vlnTreeSectionInfoEventArgs(_LastSectionInfo, true)); // always return false because an event gets fired to delete tree nodes. if (!DeleteItemInfoAndChildren(_LastSectionInfo)) { @@ -3641,7 +3706,7 @@ namespace Volian.Controls.Library } return false; } - + public void RemoveFolder(int folderId) { TreeNode nodeToRemove = FindNodeById(folderId, this.Nodes); @@ -3687,11 +3752,11 @@ namespace Volian.Controls.Library // do delete using RTBItem - this manages windowing from the step editor. // If the procedure is open & you're deleting procedure, you want to close open // window - this is done in DisplayTabControl-DeleteStepTabItem. - OnProcessing(true,"Deleting"); + OnProcessing(true, "Deleting"); if (!OnDeleteItemInfo(this, new vlnTreeItemInfoEventArgs(ii))) Item.DeleteItemAndChildren(ii); - OnProcessing(false,"Deleted"); - OnProcessingComplete(dtStart,"Deleted"); + OnProcessing(false, "Deleted"); + OnProcessingComplete(dtStart, "Deleted"); if (deletedSection) { // B2020-087 if we deleted the last sub section, then clear the SubSection_Edit in the parent's config @@ -3710,12 +3775,12 @@ namespace Volian.Controls.Library } catch (System.Data.SqlClient.SqlException ex) { - OnProcessing(false,"Delete Failed"); - OnProcessingComplete(dtStart,"Delete Failed"); + OnProcessing(false, "Delete Failed"); + OnProcessingComplete(dtStart, "Delete Failed"); // C2020-033: Support delete to bring up Search/Incoming Transitions panel if (ex.Message.Contains("has External Transitions")) { - ItemInfo iis = ItemInfo.Get(ii.ItemID); + ItemInfo iis = ItemInfo.Get(ii.ItemID); OnSearchIncTransIn(this, new vlnTreeItemInfoEventArgs(iis)); iis = ii.HandleSqlExceptionOnDelete(ex); } @@ -3731,13 +3796,13 @@ namespace Volian.Controls.Library private void OnProcessingComplete(DateTime dtStart, string message) { if (ProcessingComplete != null) - ProcessingComplete(this, new vlnTreeTimeEventArgs(dtStart,message)); + ProcessingComplete(this, new vlnTreeTimeEventArgs(dtStart, message)); } public event vlnTreeViewStatusEvent Processing; private void OnProcessing(bool status, string message) { if (Processing != null) - Processing(this, new vlnTreeStatusEventArgs(status,message)); + Processing(this, new vlnTreeStatusEventArgs(status, message)); } #endregion #region SetLastValuesAndSaveIfChangedStuff @@ -3813,7 +3878,7 @@ namespace Volian.Controls.Library ItemInfo iidrag = ((VETreeNode)dragNode).VEObject as ItemInfo; FolderInfo fdrag = ((VETreeNode)dragNode).VEObject as FolderInfo; DocVersionInfo ddrag = ((VETreeNode)dragNode).VEObject as DocVersionInfo; - if ((iidrag == null && fdrag == null && ddrag == null)) + if ((iidrag == null && fdrag == null && ddrag == null)) { FlexibleMessageBox.Show("Cannot drag/drop a grouping node."); return; @@ -3828,7 +3893,7 @@ namespace Volian.Controls.Library } catch (Exception ex) { - if(_MyLog.IsErrorEnabled)_MyLog.Error("tv_ItemDrag", ex); + if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_ItemDrag", ex); } } #endregion @@ -3864,7 +3929,7 @@ namespace Volian.Controls.Library { get { return _lastScroll; } } - private string _location = string.Empty; + private string _location = string.Empty; #endregion #region Constructors public DropLocation(TreeView tv, System.Windows.Forms.DragEventArgs e, DateTime lastScroll) @@ -3981,7 +4046,7 @@ namespace Volian.Controls.Library { return; } - //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString()); + //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString()); // Changed the color of the drag indicator to always be red Color lc = (_position == DropPosition.After ? Color.Red : Color.Red); Brush lb = (_position == DropPosition.After ? Brushes.Red : Brushes.Red); @@ -4008,12 +4073,12 @@ namespace Volian.Controls.Library //if (e.Effect == DragDropEffects.None) return; if (_dropNode != null) { -// if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond); + // if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond); DragHelper.ImageList_DragShowNolock(false); TreeView tv = _dropNode.TreeView; TreeNode tmp = tv.GetNodeAt(tv.PointToClient(new Point(e.X, e.Y))); -// if (!ScrollOnly) -// { + // if (!ScrollOnly) + // { if (ScrollTreeView(tmp) || !ScrollOnly) { //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation2 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond); @@ -4023,11 +4088,11 @@ namespace Volian.Controls.Library //tv.SelectedNode = dropNode; Graphics g = tv.CreateGraphics(); TreeNodeTriangle(g); - if (_position != DropPosition.Child)InsertPointer(tmp, g); + if (_position != DropPosition.Child) InsertPointer(tmp, g); } } -// } -// else ScrollTreeView(tmp); + // } + // else ScrollTreeView(tmp); DragHelper.ImageList_DragShowNolock(true); } } @@ -4050,10 +4115,10 @@ namespace Volian.Controls.Library tn.NextVisibleNode.EnsureVisible();// Make sure that the next node is visible else if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode.IsVisible == false) - tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible } - else + tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible } + else if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.IsVisible == false) - tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible + tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible retval = (top != tn.Bounds.Top); // if (retval) if(_MyLog.IsInfoEnabled)_MyLog.Info("Scroll"); } @@ -4086,14 +4151,14 @@ namespace Volian.Controls.Library { DragDropEffects ee = e.Effect; if (e.KeyState == 13) // Shift and Control Keys to do a move. - ee = DragDropEffects.Move; + ee = DragDropEffects.Move; else ee = DragDropEffects.None; // Default - Do nothing - if (IsChild(dragNode, dl.DropNode)) // Don't copy or move to a child node + if (IsChild(dragNode, dl.DropNode)) // Don't copy or move to a child node ee = DragDropEffects.None; - else if (IsDocVersion((VETreeNode)dragNode)) // Don't move docversions + else if (IsDocVersion((VETreeNode)dragNode)) // Don't move docversions ee = DragDropEffects.None; - else if (IsFolder((VETreeNode)dragNode)) // Folder move is only valid if moving to folder with NO docversions + else if (IsFolder((VETreeNode)dragNode)) // Folder move is only valid if moving to folder with NO docversions { FolderInfo fdropi = ((VETreeNode)dl.DropNode).VEObject as FolderInfo; if (fdropi == null || fdropi.FolderDocVersionCount > 0) ee = DragDropEffects.None; @@ -4104,7 +4169,7 @@ namespace Volian.Controls.Library // For HLP, just move within the same procedure // TODO: allow for section move within subsections. ProcedureInfo pdropi = ((VETreeNode)dl.DropNode).VEObject as ProcedureInfo; - if (pdropi == null || (dragNode.Parent != dl.DropNode)) ee = DragDropEffects.None; + if (pdropi == null || (dragNode.Parent != dl.DropNode)) ee = DragDropEffects.None; } else if (!IsFolder((VETreeNode)dragNode) && (dragNode.Parent != dl.DropNode)) ee = DragDropEffects.None; @@ -4115,7 +4180,7 @@ namespace Volian.Controls.Library } catch (Exception ex) { - if(_MyLog.IsErrorEnabled)_MyLog.Error("tv_DragOver", ex); + if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragOver", ex); } } @@ -4169,7 +4234,7 @@ namespace Volian.Controls.Library } catch (Exception ex) { - if(_MyLog.IsErrorEnabled)_MyLog.Error("GetTreeNodeFromData", ex); + if (_MyLog.IsErrorEnabled) _MyLog.Error("GetTreeNodeFromData", ex); } } return null; @@ -4195,7 +4260,7 @@ namespace Volian.Controls.Library this.SelectedNode = dragNode; FolderInfo fdragi = ((VETreeNode)dragNode).VEObject as FolderInfo; FolderInfo fdropi = ((VETreeNode)_LastDropLocation.DropNode).VEObject as FolderInfo; - if (fdragi != null && fdropi != null && fdropi.FolderDocVersionCount==0) + if (fdragi != null && fdropi != null && fdropi.FolderDocVersionCount == 0) { using (Folder fdrag = fdragi.Get()) { @@ -4214,7 +4279,7 @@ namespace Volian.Controls.Library // may either be a document version or a procedure depending on where the user wants to position the procedure. ProcedureInfo pdragi = ((VETreeNode)dragNode).VEObject as ProcedureInfo; ProcedureInfo pdropi = null; - if (pdragi != null) // moving a procedure + if (pdragi != null) // moving a procedure { pdropi = ((VETreeNode)_LastDropLocation.DropNode).VEObject as ProcedureInfo; if (pdropi != null && pdragi.ActiveParent == pdropi.ActiveParent) @@ -4234,7 +4299,7 @@ namespace Volian.Controls.Library // Allow drag/drop of sections within the same procedure or same section (if subsection) (must have same parent) SectionInfo sdragi = ((VETreeNode)dragNode).VEObject as SectionInfo; SectionInfo sdropi = null; - if (sdragi != null) // moving a section + if (sdragi != null) // moving a section { sdropi = ((VETreeNode)_LastDropLocation.DropNode).VEObject as SectionInfo; if (sdropi != null && sdragi.ActiveParent == sdropi.ActiveParent) @@ -4255,7 +4320,7 @@ namespace Volian.Controls.Library // Allow drag/drop of steps within the same parent only StepInfo stdragi = ((VETreeNode)dragNode).VEObject as StepInfo; StepInfo stdropi = null; - if (stdragi != null) // moving a step + if (stdragi != null) // moving a step { stdropi = ((VETreeNode)_LastDropLocation.DropNode).VEObject as StepInfo; if (stdropi != null && stdragi.ActiveParent == stdropi.ActiveParent) @@ -4279,36 +4344,36 @@ namespace Volian.Controls.Library } catch (Exception ex) { - if(_MyLog.IsErrorEnabled)_MyLog.Error("tv_DragDrop", ex); + if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragDrop", ex); } } -// private void DumpMembers(object o) -// { -// Type t = o.GetType(); -// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString()); -// MemberInfo[] mis = t.GetMembers(); -// int i = 0; -// foreach (MemberInfo mi in mis) -// { -// i++; -// try -// { -// //if(mi.MemberType != MemberTypes.Method) -// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType); -//// if (fi.Name == "TreeView") -//// fi.SetValue(o, null); -// } -// catch (Exception ex) -// { -// if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex); -// } -// } -// } + // private void DumpMembers(object o) + // { + // Type t = o.GetType(); + // //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString()); + // MemberInfo[] mis = t.GetMembers(); + // int i = 0; + // foreach (MemberInfo mi in mis) + // { + // i++; + // try + // { + // //if(mi.MemberType != MemberTypes.Method) + // //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType); + //// if (fi.Name == "TreeView") + //// fi.SetValue(o, null); + // } + // catch (Exception ex) + // { + // if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex); + // } + // } + // } private TreeNode Clone(TreeNode tn) { TreeNode tmp = (TreeNode)tn.Clone(); - ExpandMatch(tmp,tn); + ExpandMatch(tmp, tn); return tmp; } private void tv_DragDropOld(object sender, System.Windows.Forms.DragEventArgs e) diff --git a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index f15899c6..89efa648 100644 --- a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs +++ b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs @@ -252,6 +252,14 @@ namespace Volian.Print.Library get { return _CountInApplProcs; } set { _CountInApplProcs = value; } } + // C2025-033 Child (slave) being printed + private static int _PrintingChild = 0; + public static int PrintingChild + { + get { return _PrintingChild; } + set { _PrintingChild = value; } + } + //private bool _AddBlankPagesForDuplexPrinting = false; //public bool AddBlankPagesForDuplexPrinting // Tells us if a the option to add a blank page is turn on (for procedures with duplex foldouts) //{ @@ -1363,6 +1371,8 @@ i = 0; foreach (VEPROMS.CSLA.Library.PageItem pageItem in pageStyle.PageItems) { if (pageItem.Token == null) continue; // can be null if token is dependent on PSI lookup! + // 2024-089 selectively print pagestyle item base on Child Procedure being printed + if (PrintingChild > 0 && pageItem.ChildNum > 0 && pageItem.ChildNum != PrintingChild) continue; // C2025-033 item should not be printed for this child DidHLSText = false; // reset to false for this group of tokens. //if (pageItem.Token.Contains("HLSTEXT")) // Console.WriteLine("{0} - PageList Token", pageItem.Token); @@ -1761,6 +1771,16 @@ i = 0; case "[HEADER4]": case "{HEADER5}": case "[HEADER5]": + case "{HEADER6}": + case "[HEADER6]": + case "{HEADER7}": + case "[HEADER7]": + case "{HEADER8}": + case "[HEADER8]": + case "{HEADER9}": + case "[HEADER9]": + case "{HEADER10}": + case "[HEADER10]": case "{BOX1}": case "[BOX1]": case "{BOX2}": @@ -2099,7 +2119,12 @@ i = 0; case "[UNITNUMBER]": string unbr = MySection.MyDocVersion.DocVersionConfig.Unit_Number; if (MySection.ActiveFormat.PlantFormat.FormatData.PrintData.PrintCommonForZeroUnit && unbr == "0") - plstr = "COMMON"; // for Comanche Peak, replace "Unit 0" with "COMMON" + { + if (String.IsNullOrEmpty(MySection.MyDocStyle.AltMultiUnitWording)) + plstr = "COMMON"; // for Comanche Peak, replace "Unit 0" with "COMMON" + else + plstr = MySection.MyDocStyle.AltMultiUnitWording; // for Comanche Peak Abnormal, replace "Unit 0" with "UNIT 1 AND 2" + } else plstr = plstr.Replace(token, unbr); break; diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 73b089b4..68a13f7a 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -4390,7 +4390,8 @@ namespace Volian.Print.Library SectionConfig sch = MyItemInfo.MyConfig as SectionConfig; if (sch != null && sch.Section_PrintHdr != "Y") doprint = false; } - if (doprint && !UseTemplateKeepOnCurLine(itemInfo)) + //C2025-021 Add logic to PROMS to support a special High Level Step type that is not printed. + if (doprint && !UseTemplateKeepOnCurLine(itemInfo) && !itemInfo.IsType("InvisibleHigh")) { float tyoff = yoff; if (itemInfo.Steps != null) @@ -5751,9 +5752,21 @@ namespace Volian.Print.Library private StringBuilder _RtfSB = null; public string GetRtf(ItemInfo itemInfo, string prefix, string suffix) { - int profileDepth = ProfileTimer.Push(">>>> GetRtf"); + int profileDepth = ProfileTimer.Push(">>>> GetRtf"); _RtfSB = new StringBuilder(); DisplayText vlntxt = new DisplayText(itemInfo, E_EditPrintMode.Print, E_ViewMode.View, true, E_FieldToEdit.StepText, false, prefix, suffix, MyPageHelper.MyPromsPrinter.RemoveTrailingHardReturnsAndSpaces != null); + + //C2025-021 Add logic to PROMS to support a special High Level Step type that is not printed. + if (itemInfo.IsType("InvisibleHigh")) + { + System.Drawing.Font myHighFont = vlntxt.TextFont.WindowsFont; + _RtfSB.Append(AddFontTable(myHighFont)); + _RtfSB.Append("}"); + string rtfHigh = _RtfSB.ToString(); + ProfileTimer.Pop(profileDepth); + return rtfHigh; + } + // C2021-010: Remove trailing returns/spaces & manual page breaks & allow save. if (DisplayText.RemoveTrailingBlankID > 0 && !MyPageHelper.MyPromsPrinter.RemoveTrailingHardReturnsAndSpaces.Contains(itemInfo.ItemID)) MyPageHelper.MyPromsPrinter.RemoveTrailingHardReturnsAndSpaces.Add(DisplayText.RemoveTrailingBlankID); System.Drawing.Font myFont = vlntxt.TextFont.WindowsFont; @@ -6199,6 +6212,12 @@ namespace Volian.Print.Library XOffset += (float)formatInfo.PlantFormat.FormatData.SectData.MetaSectionList[level].SecTitlePositionAdj; XOffset -= xMetaAdj; } + + if (itemInfo.MyDocStyle.SectTitleOffsetOverride != null) + { + XOffset += (float)itemInfo.MyDocStyle.SectTitleOffsetOverride; + } + } } else if (formatInfo.PlantFormat.FormatData.SectData.SectionHeader.Just == "PSCenter") diff --git a/PROMS/Volian.Print.Library/vlnTab.cs b/PROMS/Volian.Print.Library/vlnTab.cs index 893530d6..40fce490 100644 --- a/PROMS/Volian.Print.Library/vlnTab.cs +++ b/PROMS/Volian.Print.Library/vlnTab.cs @@ -69,7 +69,7 @@ namespace Volian.Print.Library private string symblsStr = "\u25CF\u0394"; // string of possible symbol character in a tab // add symbol characters as needed // "\u25CF" - solid bullet - // \x0394 - delta + // \u0394 - delta private System.Drawing.FontStyle GetSysFontStyle(VE_Font f) { @@ -267,7 +267,8 @@ namespace Volian.Print.Library } } Rtf = GetRtf(origTab, vFont); - Rtf = Rtf.Replace("\u0394", @"\f1\u916?\f0 "); // delta 0x0394 + Rtf = Rtf.Replace("\u0394", @"\f1\u916?\f0 "); // delta 0x0394 + Rtf = Rtf.Replace("\u03BF", @"\f1\u959?\f0 "); // F2025-015 lowercase omicron check with hex value replace with RTF string if (ScriptCaution) { Rtf = GetRtf("\u25CFCaution ", vFont);