From 818d764b3d694b57f7be07ec7084355ed87b9484 Mon Sep 17 00:00:00 2001 From: John Jenko Date: Fri, 11 Apr 2025 09:11:02 -0400 Subject: [PATCH 01/24] B2025-010 - Adjusted the positioning of the procedure title in the Catawba Deviation Format so that it is centered --- PROMS/Formats/fmtall/CATDEVall.xml | Bin 24166 -> 24166 bytes 1 file changed, 0 insertions(+), 0 deletions(-) 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 From ba8a8b8673762e7a7fca91d730aeada8e3769151 Mon Sep 17 00:00:00 2001 From: mschill Date: Mon, 28 Apr 2025 12:08:10 -0400 Subject: [PATCH 02/24] F2025-011 Format changes are needed to account for ABN procedures. --- PROMS/Formats/fmtall/BASEall.xml | Bin 93418 -> 94236 bytes PROMS/Formats/fmtall/TUECall.xml | Bin 75302 -> 119478 bytes PROMS/Formats/genmacall/tuec.svg | Bin 20576 -> 28778 bytes .../VEPROMS.CSLA.Library/Format/DocStyles.cs | 15 +++++++++++++++ .../Volian.Print.Library/VlnSvgPageHelper.cs | 17 ++++++++++++++++- 5 files changed, 31 insertions(+), 1 deletion(-) diff --git a/PROMS/Formats/fmtall/BASEall.xml b/PROMS/Formats/fmtall/BASEall.xml index acf7b62d08c4ead24a3901b4703a3a87e77612de..0dbdf3b25ba8e1d94139b80c6d361c469d6fad69 100644 GIT binary patch delta 276 zcmaELlXcDm)`l&NPNI_qR&q>sU}l@1B*-Y@8p=@2kjjw4pumvCPzfZR8S)u&84?-t z7?K$>fHDdU0YEa5Asfg_1IiTvX-A;iJTM!iGKWE7`o&O2VZmYsUIs1(PAJr6(4D+c zMSRj+Fo|_(s1(o3!=PwKtmN6su_G3yclYy7fLbO%K8E| jBm-TU&)^F5708AVph!B{PVLDT=jejGzCB2kaYi@*niN6T delta 24 gcmbR9fc4c))`l&NPNIwo(;Y<_g|~M|Fir^v0Ct54I{*Lx diff --git a/PROMS/Formats/fmtall/TUECall.xml b/PROMS/Formats/fmtall/TUECall.xml index c8bce8ef70724b3c55cd5fad116cc3a7ae5e4c1e..56cb9a284a408d9c183e3a6a812d4a0edceae0d6 100644 GIT binary patch delta 3008 zcmcImdrVVj6#q`&C##h|3e-zx8*v0vnk7bE*Ko_TrGukmj=4KTBnwg?I_m+ocDwwb|&As=#=YIG1 zIOo@Xc}a8p3w`Sb2$xtXt72tLVmU0A6^ME$H^)e92`gtSn1`)q)pWavjviKtzQ@Mo zbmm}*R9?*LsAd6uJ+wt|eH}h_M~kl5EUh_@Hh7QKu(ecJN1r8BUQX9_xM+P0PL)!y zWc@hdmI}hrovy(N8B>k*%*yguD%;5Fm3P##jR<8%?VGgvHlC_az}E86fvZVIWqq(# zMu(g2G3b}JVn%9|I)sH_ZDySK%+{!a5Zr7vV|Ho;NTM*+2OwdBYm&a6y}{=_3=*k+nluJ_YZmn6PG@0XwTB(ZAk= zM@z<``<-dTfAC4^$!D?jt(DsLWQo8MIaPZy+Om@Z2NQmmp$S*+DN@g5SqcR+o@7!AS4@hmPA?R5lq>^K%s2)VCk{KTI_b( z#!951th=35=y4ixQ=V>!Dw7H90(#X7GP9b^At~fNi)dvf%Os%F17Pt?TQq)@8H!Q& zBE_W*&Sl(b0*A0&y{||2_6pH>bC(M2*zV_a>BilD6DBst(n|B5X!QH<;(?#@MZ}I! z5UXyr#bE2XX?mqKNvOXb+OZ~ABQ77>3*Z#KU$lTVf8?X>*Dh>3VZ&?NxhQ{h2z<0#Lh1MW*!pSGl;Ad%DK8)*MI^`)I_A;YJXXjG(E4$lIh{F~OQ9t9 zaHT@gA+O=FPfp>1D~q)>FAAsxv&3f5NEERTs8XVRsNyV+^D@c8=} zvE!u7F?|$+rmApj< zR(^dPOvTf4bpb!pMD5`)5FOvA0cJH%5EFlB(&2%lL|%;Ef%|eWK%fQ95_=^mYThqV&SfJ%L`Ju~0l7 zN-$S82D`6B$a5wQ4<=36ul_y4QG7OvKtsff{D)t~Qyiu7%^~or_hk!Is78tf@4Rjh ziM<^_3Z-$M29A)(w!W<>c%5Fm1ttL>1JDIC_&tDBOW>!fnpM!41vmN(Y+hsL*(zA2 zroi{EiGykbX5AXYo5n!=_&|abvc)v;Ih6JNS)xM%z}wVthi@`~CeuUr<#?B~vbZlb zm(n<|Rno4iFX@VD@aNIEOO%#!nijBpIy(5-P_Src$(g}@1~|eS!XTet(1PS$XaUU& zGiiD%?BUZ!SbERGXz|h8$&-FYK~7J8VM2;E{6P#%50|s^NjoTd@Xj0q*)iWcI}tpi zhM&SWr@_em2H2{AA|27HYcy}0O4fP72se*(5l{zTn{s&;x^$ss}{Y`kvyH7=e z3+x=m!Xm8f-8!lrN{U#|4=R$x_eDeEfGl2rG`yw?3-Tu@o1G%A_spo-BZs{_`z=AO z^%L;x08xEYZ+*_x5B}%i87kNnK4j1bkPnyABz8|ET;&;N_;a*IM^65c<=V&@uH{|H Gko_VPr-mSgrSI`bn{n*Q2xnv+(MI!oJ1xE z=<-bdU|cqNf}zIb52-SnZy5G5K{+fyNxsQhdIpmf_OWcfVbaCOUd^D$;LKn!S+GfZ z@;Mid$@|O%CLb{1+q}Un!F}_gCX1-)MrRo1rth<56q@|Nf@QP8-7oBuWg>Mp2RuE; zG`+x`amM6?MQPK#8GlSa=f%jkIqJ251Un}K7;Z1DVq7oBXgd91H>2Zry)BGtjMD>7 fF|L_j(7-rl@|@QJ+dURBeq(0^E1sTziP0SZ61`R) 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/VEPROMS.CSLA.Library/Format/DocStyles.cs b/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs index 52947440..289b402a 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs @@ -653,6 +653,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/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index f15899c6..0ec682e3 100644 --- a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs +++ b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs @@ -1761,6 +1761,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 +2109,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; From 22c14d169b9570707b92e46bf81997f8a285ad24 Mon Sep 17 00:00:00 2001 From: mschill Date: Wed, 30 Apr 2025 09:50:09 -0400 Subject: [PATCH 03/24] F2025-011 Format changes are needed to account for ABN procedures. Adjustments to PSI location and Abnormal Procedure Steps Sections --- PROMS/Formats/fmtall/TUECall.xml | Bin 119478 -> 122892 bytes .../VEPROMS.CSLA.Library/Format/DocStyles.cs | 11 +++++++++++ PROMS/Volian.Print.Library/vlnParagraph.cs | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/PROMS/Formats/fmtall/TUECall.xml b/PROMS/Formats/fmtall/TUECall.xml index 56cb9a284a408d9c183e3a6a812d4a0edceae0d6..70aa6d12eb617f1f47ffb27e84a86d986bf950af 100644 GIT binary patch delta 774 zcma)4T}YE*6h4Ps&SYyYTFVN*t)vxgt$ow2i-{QF`rX1p1EXne)3s`@70#crjV?q& zr03$hQIbmPB4RM`yD2d*3L>Jqh%UM@2!bGXAzefly=@eBlX5t`=bZOF=XuU~&)jVF zt%d4>(atr+I{UpdD7bgA2XFf}={l&Nu27T?(N&6LqpJ~_Yzs<`JPJ)F{773dHsVE> zY{m`QhWm0Wrotv9dgGY6B%$?G6@nvLIEPd4cbfKBYQ-r`Ql+9eJLo#~(lrsgKq=wd zh57|*l=?7`lkv%9!epDn;vpAV#ocL2Q$oD<3GZKapWO#BmbKz%;I?4by%O28R^%ge zSxA^J3I;utQkF8j6$|Hr_>il|ccHOnGxp_ec-*YTvd^p=CW~mrNuz?AglGQ4f~dR- z(L0HN7;jyACyWF2SRS+@asDoXK0QLCRVV~)yVpn;nq&i#xd>*G69U)$f81hwR>OP# z%xu+Pz_Hu|(Xval8^cS#R9wuziYnQ59z*Ekcya1$!h+C?NI5d6XGveSlu{=@RFCgq zskZE^B^xI(rX ztjGA%Hf6rR>($H&{#LUxbuSVV+trg@++wJpiL9FyQxU)+b#REiE@klv8*2j;5%PP{ XQfNqT)_BQ5P0G?VZ&RN?;!@);AwB0z delta 262 zcmeA#M%2iYb+ z6BC&HZ>7TY08d7%$$aznP2R9TWqLv?qtNyeX~qq_$U _SectTitleOffsetOverride; + public float? SectTitleOffsetOverride + { + get + { + return LazyLoad(ref _SectTitleOffsetOverride, "@SectTitleOffsetOverride"); + } + } + #endregion AdjSectTitleLoc #region ShowAlarmPointWindowInfo diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 73b089b4..c9c5de92 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -6199,6 +6199,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") From c3534e21fac5b9a5277e0f5dc0da957ddb6ad252 Mon Sep 17 00:00:00 2001 From: mschill Date: Mon, 5 May 2025 08:31:21 -0400 Subject: [PATCH 04/24] B2025-026 - AND Substeps are Printing as Sequential Substeps in the ERG format / B2025-027 - Bottom Continue message now appears due to the AND step type being now sequential and step compression being shut off --- PROMS/Formats/fmtall/TUECall.xml | Bin 122892 -> 122936 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/fmtall/TUECall.xml b/PROMS/Formats/fmtall/TUECall.xml index 70aa6d12eb617f1f47ffb27e84a86d986bf950af..3e0376e946f6c2a0f3f1ca3e966cf9dd23ef0059 100644 GIT binary patch delta 66 zcmeA Date: Mon, 5 May 2025 14:36:23 -0400 Subject: [PATCH 05/24] F2025-012 Format changes are needed to account for ABN procedures. In the ERG and ABN format, Attachment Step Editor (Two Column), the following changes need made: - add a blank line between the Initial Action Step and the following high level step - need the ability to insert sub-steps off of the Initial Action Step - adjust extra line spacing above Initial Action Steps - add a step designator in the edit window to indicate an Immediate Action Step --- PROMS/Formats/fmtall/BASEall.xml | Bin 94236 -> 94778 bytes PROMS/Formats/fmtall/TUECall.xml | Bin 122936 -> 124082 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/fmtall/BASEall.xml b/PROMS/Formats/fmtall/BASEall.xml index 0dbdf3b25ba8e1d94139b80c6d361c469d6fad69..3078bdbb46912565e7cf67f80000450a464f6b69 100644 GIT binary patch delta 83 zcmV-Z0IdI<;03zm1%R{x&=r#&1PGTv4gmy{fUp{u{1pLIlSH@}ld{Vqmv9yV7?UuW p7L#6;BDX#Y0Z0LowIGuQp`Metz$CZe76A$YlMtf>x9%4KE?6^W9_9c5 delta 58 zcmV-A0LA~hpr<^=Ny&<~B_=QFRhxXINno;0 zn9}412bRq`RWgi|jd;W+f3TFATu`kvd4q?--1)u_pn)xPg=bOy9BoF{sk{$y9 From 5d3bb41275330de9e3ca6f3a15af0db714d3ea4e Mon Sep 17 00:00:00 2001 From: John Jenko Date: Tue, 6 May 2025 14:41:50 -0400 Subject: [PATCH 06/24] Added PROMS Demo Fromats and dded a checkbox on the Copy Formats dialog to include the PROMS Demo formats. --- PROMS/Formats/fmtall/PROMSDemo1all.xml | Bin 0 -> 99022 bytes PROMS/Formats/fmtall/PROMSDemo2all.xml | Bin 0 -> 82446 bytes PROMS/Formats/fmtall/PROMSDemoALRall.xml | Bin 0 -> 103960 bytes PROMS/Formats/fmtall/PROMSDemoBCKall.xml | Bin 0 -> 54878 bytes PROMS/Formats/frmFormatCopy.Designer.cs | 17 +++++++++++++++++ PROMS/Formats/frmFormatCopy.cs | 12 ++++++++---- 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 10 files changed, 25 insertions(+), 4 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 diff --git a/PROMS/Formats/fmtall/PROMSDemo1all.xml b/PROMS/Formats/fmtall/PROMSDemo1all.xml new file mode 100644 index 0000000000000000000000000000000000000000..c2b19d9228fa8e8a0be577516da8d7367c1d2a36 GIT binary patch literal 99022 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�%2xN@+J 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 irb~Y&c@o0e*!5 literal 0 HcmV?d00001 diff --git a/PROMS/Formats/fmtall/PROMSDemo2all.xml b/PROMS/Formats/fmtall/PROMSDemo2all.xml new file mode 100644 index 0000000000000000000000000000000000000000..952f24c9f58be33751088c0d4777a9c937b254f5 GIT binary patch literal 82446 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 literal 0 HcmV?d00001 diff --git a/PROMS/Formats/fmtall/PROMSDemoALRall.xml b/PROMS/Formats/fmtall/PROMSDemoALRall.xml new file mode 100644 index 0000000000000000000000000000000000000000..3e2a1a240da6e64de5e4cac7a60ba2162dc6f9ad GIT binary patch literal 103960 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 Hp&|c2!J;5X 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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 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 From a099d27b868f6af17d12ea4354488787134f99c9 Mon Sep 17 00:00:00 2001 From: mschill Date: Tue, 13 May 2025 08:19:23 -0400 Subject: [PATCH 07/24] C2025-032 Add check if user is sure want to paste replace section. --- PROMS/Volian.Controls.Library/vlnTreeView.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 5fcb43b6..140a7a23 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -2074,7 +2074,6 @@ namespace Volian.Controls.Library 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 +2082,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 From 20cacf26aec111c7513d76bec6ad3dad8fe000db Mon Sep 17 00:00:00 2001 From: mschill Date: Tue, 13 May 2025 14:17:57 -0400 Subject: [PATCH 08/24] B2025-030 Show Cannot restore wording if restoring Annotation with a deleted annotation type. --- PROMS/Volian.Controls.Library/DisplayHistory.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) 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); From 2c1476b74c0c61df5e7d8db914cff23b5011a0e3 Mon Sep 17 00:00:00 2001 From: John Jenko Date: Tue, 13 May 2025 16:03:44 -0400 Subject: [PATCH 09/24] C2025-031 - Added Tool Tip text for button on V button. Code fix for DotNetBar Visual UI rendering --- .../frmSysOptions.Designer.cs | 2 +- .../frmVEPROMS.Designer.cs | 89 ++++++++++++------- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 16 ++-- PROMS/VEPROMS User Interface/frmVEPROMS.resx | 18 ++-- PROMS/Volian.Controls.Library/DisplayTags.cs | 27 +++--- PROMS/Volian.Controls.Library/ImageItem.cs | 5 +- 6 files changed, 88 insertions(+), 69 deletions(-) diff --git a/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs b/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs index 7dbea98c..7146a533 100644 --- a/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs @@ -1099,7 +1099,7 @@ namespace VEPROMS this.btnReset.Location = new System.Drawing.Point(194, 492); this.btnReset.Margin = new System.Windows.Forms.Padding(2, 2, 2, 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; 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..7d0197a2 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -2167,13 +2167,12 @@ 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)); + 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\nthe Oringal Volian Defaults", null, null, eTooltipColor.Gray)); + this.superTooltip1.SetSuperTooltip(btnAdministrativeTools, new SuperTooltipInfo("Administrative Tools", "", "Open the PROMS Adminstation 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 +2195,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/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/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); } } From 700d9656b2dc8e2672d3794ca8c3371b721b0fea Mon Sep 17 00:00:00 2001 From: mschill Date: Wed, 14 May 2025 11:42:51 -0400 Subject: [PATCH 10/24] B2025-028 RO Editor - Parent Child Applicability - Default Values While working with parent/child applicability with child applicability set for a setpoint group - assign the Setpoint Values and Short Description fields to have Child values. All child values default to their parent values as expected. However, if you click in the Parent field for the Short Description, the Child Values for the Short Description fields incorrectly defaulted to the Parent Setpoint Value instead of keeping the parent Short Description. --- .../LibSource/ctlXMLEditLib/ctlXMLEdit.cs | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs index 57a279a3..0313cf28 100644 --- a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs +++ b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs @@ -1192,14 +1192,27 @@ 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 + { + ctlXMLEdit tmp = (ctlXMLEdit)tb?.Parent; + if (!string.IsNullOrEmpty(tmp?.ActiveControl.Text)) + dfTxt = tmp.ActiveControl.Text; + } + 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) { From 24d5cee8b434d98258974b012d25528542a37707 Mon Sep 17 00:00:00 2001 From: mschill Date: Thu, 15 May 2025 07:34:19 -0400 Subject: [PATCH 11/24] B2025-031 Improve wording for if attempting to delete copied section When an attempt is made to delete a section in the edit window that has been copied, the "Attempting to delete copied step" message box appears. This message box is incorrect because you're attempting to delete the section, not a step in the section. This only happens on a section that has been copied. --- PROMS/Volian.Controls.Library/StepTabRibbon.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; } From 79f66e964179c0b7da5def81c8c8afd6ea6d855d Mon Sep 17 00:00:00 2001 From: John Jenko Date: Thu, 15 May 2025 09:01:43 -0400 Subject: [PATCH 12/24] C2025-031 Fixed typos found in Tool Tip message from previous check-in of this code change --- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 7d0197a2..877a4ec7 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -2167,11 +2167,12 @@ namespace VEPROMS btnAdministrativeTools.Click += new EventHandler(btnAdministrativeTools_Click); btnAdmin.SubItems.Add(btnAdministrativeTools); + // 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\nthe Oringal Volian Defaults", null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnAdministrativeTools, new SuperTooltipInfo("Administrative Tools", "", "Open the PROMS Adminstation Tools Window", 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 From 2970c0d7d4b1d46f741d71c5e6e73cb0df68661a Mon Sep 17 00:00:00 2001 From: mschill Date: Thu, 15 May 2025 10:28:47 -0400 Subject: [PATCH 13/24] B2025-028 RO Editor - Parent Child Applicability - Default Values While working with parent/child applicability with child applicability set for a setpoint group - assign the Setpoint Values and Short Description fields to have Child values. All child values default to their parent values as expected. However, if you click in the Parent field for the Short Description, the Child Values for the Short Description fields incorrectly defaulted to the Parent Setpoint Value instead of keeping the parent Short Description. --- .../LibSource/ctlXMLEditLib/ctlXMLEdit.cs | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs index 0313cf28..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); @@ -1201,9 +1214,21 @@ namespace ctlXMLEditLib string dfTxt = ""; try { - ctlXMLEdit tmp = (ctlXMLEdit)tb?.Parent; - if (!string.IsNullOrEmpty(tmp?.ActiveControl.Text)) - dfTxt = tmp.ActiveControl.Text; + 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 { From 69f8e3f4fc08585e998a17fbede105157850417f Mon Sep 17 00:00:00 2001 From: John Jenko Date: Fri, 16 May 2025 10:52:37 -0400 Subject: [PATCH 14/24] C2025-033 Added a new field and supporting logic to specify if a PageStyle item should be printed for the Child procedure being printed. --- PROMS/Formats/Formats.csproj | 8 ++++++++ PROMS/Formats/fmtall/PROMSDemo1all.xml | Bin 99022 -> 99538 bytes PROMS/Formats/fmtall/PROMSDemo2all.xml | Bin 82446 -> 83234 bytes PROMS/Formats/fmtall/PROMSDemoALRall.xml | Bin 103960 -> 104584 bytes .../DlgPrintProcedure.cs | 7 ++++++- .../VEPROMS.CSLA.Library/Format/PageStyles.cs | 10 ++++++++++ .../Volian.Print.Library/VlnSvgPageHelper.cs | 10 ++++++++++ 7 files changed, 34 insertions(+), 1 deletion(-) diff --git a/PROMS/Formats/Formats.csproj b/PROMS/Formats/Formats.csproj index 9d8e1803..d20cca04 100644 --- a/PROMS/Formats/Formats.csproj +++ b/PROMS/Formats/Formats.csproj @@ -282,6 +282,10 @@ + + + + @@ -499,6 +503,10 @@ + + + + diff --git a/PROMS/Formats/fmtall/PROMSDemo1all.xml b/PROMS/Formats/fmtall/PROMSDemo1all.xml index c2b19d9228fa8e8a0be577516da8d7367c1d2a36..fdd07f1021a4a0e2cc5d7f6bacf6d1a68a5b6f0d 100644 GIT binary patch delta 433 zcmX@t%66%fZ37qEWFEFVjE0i~xkM-bV>tjAFU=OM(cCeP!Nn8Xz@c@>A) z^cXgPVIp!noh+(DCH@a6$|Aot|)tpR#sp`iX`FaCKz7D((LKiCtKCkTj5&Jr{O zx_qJFL#X>f9)BfNfy6r{jLcglg5a4<7C6qbIZyQ51#txiXNC-*cXJq082lJY8FCqH z8I*t?cf1!kT|kjhWU|1Uoaq;I7}+LYc`C&m%3w5op#Y=sq-QobbQ+=P+$`{X-)sP= C`-Niw delta 337 zcmccA$#$-lZ37n@vk`;IWJfOH$#QHbCfjj|P5uL=_i+SG*5RlDi|ylp$nE1$VOC&J zm~8!2cJc+zJVvw0_FTS`7w}0;F5#A$d?ZzU%4>Fp7^?3;jB0XtW8vX{^qs1rb5tP`$4;>C#|^XxYf&!z@^a-+z T4wG%33QWFsN@KIs%N?@;=R9hI diff --git a/PROMS/Formats/fmtall/PROMSDemo2all.xml b/PROMS/Formats/fmtall/PROMSDemo2all.xml index 952f24c9f58be33751088c0d4777a9c937b254f5..a5d4598ca7619e54d21934896fdc3304dd3bdd36 100644 GIT binary patch delta 423 zcmeBcVO`Y4y5Souqsioh+@h2D*p4w8PTmh>y<$57Wie{ zn>>v}Y;q8n#bg1VI!5Ek{XBt_6IdlCFXEEnRbU8Z$YaQ4C}B`wFr0jl)s)c`Y(5va z)#L{}UCgEo20)vICpYn0Vbx;<)?<#O$A~$U!DzA|ZzQuhn%)@h1V&4s%FM}Ec=MPo zp|VkYYrw7*pS(aoVzL?kJZ3|v%q#wRlQ*%8O`a!khS?Y@)*yHa&Q1_QupNZq?9B=y zVMoOk7@Qe0fF8?XNMZ0}C}qfHuw_sJdU4~Tz{v}w*(NV&RGa+arrG3%D@K#~Zc2e2 et$x!Vhdv_|eF|cHlN;{4O%B+?wmIR}x^w_q|AOEE delta 302 zcmZ3~#oE`xy5Souvk`;IYRF&!6uihSJb51vSg?*i4=88^6=V`v!)O9D zLx1u;fqBd(U{T%4YXn<>ZZQ;k2sRO<8RY6J;R+Ofln5%{N)(xIGC9GKWs{iP(a9_) e{3dTmGMl{Tw$9{^n>>sPlP_-7-CS~aT{-}{a$&jv diff --git a/PROMS/Formats/fmtall/PROMSDemoALRall.xml b/PROMS/Formats/fmtall/PROMSDemoALRall.xml index 3e2a1a240da6e64de5e4cac7a60ba2162dc6f9ad..824969a13c4c041e04be348975d2132d35d95720 100644 GIT binary patch delta 214 zcmbQShOJ{G+XgOSZUu%=hCGH$h7tya>4{;Cl9LsLb6rTP` WpV1D7J|iT326BvS+qn!G`BDMf6f^z+ delta 110 zcmV-!0FnQQu?Co|2CxbflY-6`lRzCFlk60Nlg<-L0X2iY6}P<=0o4+h;7tJt1t9<} z04 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.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/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index 0ec682e3..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); From 0259d4ff1d84299fee8fb4d7e8efd99d23b41f0a Mon Sep 17 00:00:00 2001 From: mschill Date: Fri, 16 May 2025 14:10:56 -0400 Subject: [PATCH 15/24] C2025-028 Add a Quick Print Section option / B2025-032 Fix Section not Printing Applicability Properly Added an option to quick print a section. Fixed a bug where: If you went to a section that had Applicability and select "Print Section" for a specific unit, it would sometimes print all units. --- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 25 ++++++++++++++-- PROMS/Volian.Controls.Library/vlnTreeView.cs | 30 +++++++++++++++++++- 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 877a4ec7..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; } } diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 140a7a23..6fbd3093 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -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) { @@ -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)); + } } } } @@ -1064,6 +1084,7 @@ namespace Volian.Controls.Library if (i.HasWordContent) { cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + cm.MenuItems.Add("Quick Print Section", new EventHandler(mi_Click)); } } #endregion @@ -1867,6 +1888,9 @@ 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)); break; @@ -2014,6 +2038,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; From eacdca8669a86f98fd6c0f6373715247d026c242 Mon Sep 17 00:00:00 2001 From: mschill Date: Mon, 19 May 2025 15:37:46 -0400 Subject: [PATCH 16/24] =?UTF-8?q?C2025-013=20Option=20to=20Disable=20?= =?UTF-8?q?=E2=80=9CMessage=20Prompt=20when=20a=20Summary=20will=20open=20?= =?UTF-8?q?in=20MS=20Word=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PROMS/VEPROMS User Interface/PROMSFixes.Sql | 57 +- .../VEPROMS User Interface/VEPROMS_UI.csproj | 9 + .../dlgMSWordMessage.Designer.cs | 100 ++++ .../dlgMSWordMessage.cs | 45 ++ .../dlgMSWordMessage.resx | 120 ++++ .../frmPDFStatusForm.cs | 14 +- .../frmSysOptions.Designer.cs | 554 +++++++++--------- PROMS/VEPROMS User Interface/frmSysOptions.cs | 7 +- .../VEPROMS User Interface/frmSysOptions.resx | 2 +- .../Minimal/UserSettings.cs | 31 +- 10 files changed, 659 insertions(+), 280 deletions(-) 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/VEPROMS User Interface/PROMSFixes.Sql b/PROMS/VEPROMS User Interface/PROMSFixes.Sql index d59c839b..4ef1c593 100644 --- a/PROMS/VEPROMS User Interface/PROMSFixes.Sql +++ b/PROMS/VEPROMS User Interface/PROMSFixes.Sql @@ -23811,6 +23811,59 @@ IF (@@Error = 0) PRINT 'Running vesp_UpdateUserSettings Succeeded' ELSE PRINT 'Running vesp_UpdateUserSettings Failed to Execute' GO +-- ============================================= +-- Author: Matthew Schill +-- Create date: 5/19/2025 +-- Description: Allow option to not prompt user with MS Word messages +-- when generating Summaries +-- ============================================= +--- MSWordSummaryPrompt = ahouls user be prompted with message? +-- default = yes (true) +IF NOT EXISTS(SELECT * + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = 'Users' + AND COLUMN_NAME = 'MSWordSummaryPrompt') +ALTER TABLE Users ADD MSWordSummaryPrompt bit NOT NULL DEFAULT(1); +go +-- Display the status +IF (@@Error = 0) PRINT 'Altered table [Users] Succeeded for MSWordSummaryPrompt' +ELSE PRINT 'Altered table [Users] Error on Alter for MSWordSummaryPrompt' +go + + +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_UpdateUserSettingMSWordSummaryPrompt]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) + DROP PROCEDURE [vesp_UpdateUserSettingMSWordSummaryPrompt]; +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: Matthew Schill +-- Create date: 5/19/2025 +-- Description: Allow option to not prompt user with MS Word messages +-- when generating Summaries +-- ============================================= +CREATE PROCEDURE [dbo].[vesp_UpdateUserSettingMSWordSummaryPrompt] + +( + @UID varchar(100), + @Prompt bit = null +) +WITH EXECUTE AS OWNER +AS + UPDATE Users SET + MSWordSummaryPrompt = ISNULL(@Prompt, MSWordSummaryPrompt) + WHERE UserID =@UID + + RETURN +GO + +IF (@@Error = 0) PRINT 'Running vesp_UpdateUserSettingMSWordSummaryPrompt Succeeded' +ELSE PRINT 'Running vesp_UpdateUserSettingMSWordSummaryPrompt Failed to Execute' +GO + /* --------------------------------------------------------------------------- | ADD New Code Before this Block | @@ -23844,8 +23897,8 @@ BEGIN TRY -- Try Block DECLARE @RevDate varchar(255) DECLARE @RevDescription varchar(255) - set @RevDate = '4/03/2025 6:14 PM' - set @RevDescription = 'B2022-031 Add filtering for Proc and Section name from Global Search' + set @RevDate = '5/19/2025 8:44 AM' + set @RevDescription = 'C2025-013 Add ability to disable message that opening Summaries in MS Word' Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription 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/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 7146a533..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,12 +1097,92 @@ 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.No; this.btnReset.Size = new System.Drawing.Size(79, 19); @@ -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.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 } From ce92031ff7ba44807e5d4bd6fb57b7f6177b65de Mon Sep 17 00:00:00 2001 From: John Jenko Date: Thu, 22 May 2025 15:05:27 -0400 Subject: [PATCH 17/24] F2024-089 - Barakah requested a newly formatted Cover page section style to make room for new Corporate Logo. --- 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/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 10 files changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/fmtall/BNPP1Newall.xml b/PROMS/Formats/fmtall/BNPP1Newall.xml index a8c9c4b5f535bb2fd8ee24dd6873ab23825a1015..95276f4217c984caebcdebd59c33df3208539663 100644 GIT binary patch delta 3242 zcmdUyU1(cn7{}l9zRfBUQqnB;!_b{1-I|QHrqR* 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/genmacall/BNPP1.svg b/PROMS/Formats/genmacall/BNPP1.svg index 57be7a39da4a49709f045ed471053612b78a5c78..b7da28ec7decef4faac15357864107fc7f730c17 100644 GIT binary patch delta 188 zcmca|oblgr#trZICVM$^P5$61Fu9LgVX_jx6tf9~`DAREwV6Aguu8Su$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 From ac091a7d266bc99f1681f6737677b8fbfa64e2e7 Mon Sep 17 00:00:00 2001 From: mschill Date: Wed, 28 May 2025 14:15:21 -0400 Subject: [PATCH 18/24] C2025-021 Add logic to PROMS to support a special High Level Step type that is not printed. --- PROMS/Formats/fmtall/BASEall.xml | Bin 94778 -> 96092 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/Volian.Print.Library/vlnParagraph.cs | 17 +++++++++++++++-- 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/PROMS/Formats/fmtall/BASEall.xml b/PROMS/Formats/fmtall/BASEall.xml index 3078bdbb46912565e7cf67f80000450a464f6b69..af378a3a1f0fdbe7b173aaeac8d7b88934990f72 100644 GIT binary patch delta 611 zcmZXQJ4*vW6ou~~ffz8Dun8D^tf>qp!PpoCThS(11g$skg}A$zhop*%|6ssDNg@6K zNs$l~h4fljSV}5uu@xK7%qF17vNLnn3=KkID_Tf3{v0PAe0?a?Kf-LP7r2v~{ z+u}RI=EPZsh1)vS$R?c%YPGP|5m{8kSHP+Mt7;%VMtr0yH7N3^o5)xcM{S0DG(G-m z)Sw(CK(9mRC{hc15gC`#pehyG2&BXSR1S8qo4`q|MP+0Rm9J9;tvW?fw_zfRvra42 z!UzYM8uSw@F;r|SVV!hUP%VR?V`Pz<_^UX}xozn!iQupMEX3y6sR^-^8)}!sb-?8- zxaOq!JoJaaO5^TW*LEH{nKRUNq%8}SmgS9f6?y6*#(Phixb-r>I1jTuK6>_X=Q7D(zt(y8ZjtMKpSW0H uaX$Rq`riS6@IN8>NHHn@tg>w_PG2!t&F delta 23 fcmccfj&;`))`l&NNkZFGgcw~owx5t^oDvQIe834H 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-Wsh>>> 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; From 6e9c7e28e68cec427a7733a172623f176881a6ed Mon Sep 17 00:00:00 2001 From: mschill Date: Wed, 28 May 2025 14:37:14 -0400 Subject: [PATCH 19/24] C2025-021 Add logic to PROMS to support a special High Level Step type that is not printed. Make Inactive by Default --- PROMS/Formats/fmtall/BASEall.xml | Bin 96092 -> 96090 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/fmtall/BASEall.xml b/PROMS/Formats/fmtall/BASEall.xml index af378a3a1f0fdbe7b173aaeac8d7b88934990f72..8ca3756eb07244f11ea212a94c792a3cf220be2f 100644 GIT binary patch delta 26 icmccfj`h|%)`l&NO0ts`PI66e5n~M6-XP0(ClUakC<>(j delta 27 jcmcchj`hwv)`l&NO0v_}aWL{tZxdq-*j^{gcqbA7qwETK From e0b628dce9114fe446fc02e054a41452b48ddf9d Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Wed, 28 May 2025 18:19:24 -0400 Subject: [PATCH 20/24] B2025-024-Document-Unit-Print --- PROMS/Volian.Controls.Library/vlnTreeView.cs | 546 ++++++++++--------- 1 file changed, 287 insertions(+), 259 deletions(-) diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 6fbd3093..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; @@ -573,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) { @@ -634,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); @@ -720,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)); @@ -839,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) @@ -898,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); @@ -1081,10 +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)); - cm.MenuItems.Add("Quick 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 @@ -1098,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 @@ -1169,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) { @@ -1186,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); } } @@ -1196,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; @@ -1279,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; - + } } } @@ -1308,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; } @@ -1319,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; } } @@ -1336,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; @@ -1383,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 @@ -1396,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; @@ -1477,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; @@ -1525,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) { @@ -1643,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) { @@ -1653,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; @@ -1674,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 { @@ -1685,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) @@ -1709,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)); @@ -1750,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)); } @@ -1824,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)); } @@ -1850,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; @@ -1859,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)); @@ -1892,7 +1919,7 @@ namespace Volian.Controls.Library 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)); @@ -1904,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")) @@ -1945,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 { @@ -1953,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); @@ -1973,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 @@ -1997,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; @@ -2053,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(); @@ -2097,7 +2124,7 @@ 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": @@ -2131,7 +2158,7 @@ namespace Volian.Controls.Library break; } - + case "Delete": if (tv_NodeDelete()) { @@ -2197,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"); @@ -2246,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() @@ -2301,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 @@ -2334,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; } @@ -2447,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 @@ -2498,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) @@ -2512,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: @@ -2548,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; } } @@ -2557,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) @@ -2574,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; } @@ -2611,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; @@ -2626,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))) { @@ -2649,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); @@ -2689,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; @@ -2701,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); @@ -2713,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); @@ -2727,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) @@ -2741,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) @@ -2754,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) @@ -2808,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); @@ -2817,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(); } @@ -2828,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)) { @@ -2840,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"); @@ -2856,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); @@ -2881,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)); @@ -2890,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) { @@ -2933,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)) { @@ -2977,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) { @@ -2989,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; @@ -2999,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(); @@ -3013,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 @@ -3023,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(); @@ -3057,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(); @@ -3076,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(); @@ -3084,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)) @@ -3161,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 } } } @@ -3259,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(); @@ -3273,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, @@ -3313,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; @@ -3340,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; @@ -3517,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) { @@ -3533,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 { @@ -3579,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) { @@ -3623,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)) { @@ -3678,7 +3706,7 @@ namespace Volian.Controls.Library } return false; } - + public void RemoveFolder(int folderId) { TreeNode nodeToRemove = FindNodeById(folderId, this.Nodes); @@ -3724,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 @@ -3747,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); } @@ -3768,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 @@ -3850,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; @@ -3865,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 @@ -3901,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) @@ -4018,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); @@ -4045,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); @@ -4060,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); } } @@ -4087,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"); } @@ -4123,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; @@ -4141,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; @@ -4152,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); } } @@ -4206,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; @@ -4232,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()) { @@ -4251,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) @@ -4271,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) @@ -4292,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) @@ -4316,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) From 5fd0ff9e71011d3c4e0a36c7bb1ffef43d9c7a4d Mon Sep 17 00:00:00 2001 From: John Jenko Date: Tue, 3 Jun 2025 10:46:41 -0400 Subject: [PATCH 21/24] F2025-015 Shearon Harris add sub-steps in Notes and Cautions and to add an Open Bullet sub-step type in both the EOP and AOP formats. --- PROMS/Formats/fmtall/SHEAall.xml | Bin 77134 -> 79016 bytes PROMS/Formats/fmtall/SHEall.xml | Bin 77130 -> 78994 bytes .../VEPROMS.CSLA.Library/Extension/ItemExt.cs | 3 ++- PROMS/Volian.Print.Library/vlnTab.cs | 5 +++-- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/PROMS/Formats/fmtall/SHEAall.xml b/PROMS/Formats/fmtall/SHEAall.xml index ce0eed34d1e54cefd5b6db5d3b64310433605099..847ad8e5548128f22e0d7780309a65845526b0a3 100644 GIT binary patch delta 837 zcmah{O=}ZT6g_PMQX?8ef>F?UnUY{-`jG^oqOBnKfmpS+v_eZEolcwJ#Aq77Hg@N_ z^nwe2fy+Yo7QuBF#g!Xt7e#+Ucb@x_sa6-|F>mg@@4j>Hx$ka$i+}tTU*GGKJufBQ zqgi>EH}Wa}n0|6?KQ5)=^oDooWKjxT^bFo`#Kh5#ed?MRdV=Zpq6J^&*> zyv*AEiIw|IYBAjAs?b&?+LMUeXU2lfP(6lc0hg*#f@oi)t<=#i?apiZFR4DX#0HVt zGW>S`8|rgi|P=?X1vVvJ^F2MjL*X?I<26#1vzse)Z^p#9=@{Qax^g*n zcLvV&L{Bp)P9h^;on$mgvfH0Jb!c`_lw$d6Vw$Cewvs1uekw0JUY3*j@8sM(YH|$U zUPV+{<^dpWrPTiYH(5dvT@7*E4EJ%j*Y0Oz)s6RPkK6ej5yy1?xHd*+PH+DP_-4C= 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/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 668e1cf5..6408a619 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -6097,9 +6097,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/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); From 2e68218cfe0b4263f8614cf1b3a15e76b65bfd87 Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Tue, 10 Jun 2025 16:34:22 -0400 Subject: [PATCH 22/24] B2025-034-Add-error-message-documents --- .../DisplayTabControl.cs | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/PROMS/Volian.Controls.Library/DisplayTabControl.cs b/PROMS/Volian.Controls.Library/DisplayTabControl.cs index 5f37d421..cffb5c3c 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,34 @@ 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 PC. 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(); From 66deede936746037fe8b1eb1f9bf98e0b1ba87f9 Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Wed, 11 Jun 2025 18:24:59 -0400 Subject: [PATCH 23/24] B2025-034-Add-error-message-documents-2 --- PROMS/Volian.Controls.Library/DisplayTabControl.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PROMS/Volian.Controls.Library/DisplayTabControl.cs b/PROMS/Volian.Controls.Library/DisplayTabControl.cs index cffb5c3c..4d6dbda8 100644 --- a/PROMS/Volian.Controls.Library/DisplayTabControl.cs +++ b/PROMS/Volian.Controls.Library/DisplayTabControl.cs @@ -667,7 +667,8 @@ namespace Volian.Controls.Library if (EDOfficeViewerX == null || EDWordCtrl == null) { - MessageBox.Show("Edraw needs to be installed or reinstalled on this PC. 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", + 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; } From abec4d928112178bf1f7382901eebe1cd730a1d3 Mon Sep 17 00:00:00 2001 From: John Jenko Date: Wed, 18 Jun 2025 09:20:17 -0400 Subject: [PATCH 24/24] C2025-036 - Cleaned up logic in PROMS code that generates the step/sub-step tabs to reduce un-needed processing in certain cases --- .../VEPROMS.CSLA.Library/Extension/ItemExt.cs | 108 ++++++++++-------- PROMS/Volian.Controls.Library/EditItem.cs | 7 +- 2 files changed, 64 insertions(+), 51 deletions(-) diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 6408a619..485ba77f 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; @@ -4655,43 +4654,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 @@ -4757,7 +4763,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; @@ -4872,18 +4878,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); @@ -4891,15 +4900,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. 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);