Compare commits

...

8 Commits

11 changed files with 335 additions and 268 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -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()

View File

@@ -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
{
@@ -657,12 +658,35 @@ namespace Volian.Controls.Library
return OpenStepTabPage(myItemInfo, setFocus);
}
else // Otherwise open it in the Word editor
{
// B2025-034 Check to make sure that EDWord is installed in PROMS. If not return NULL.
object EDOfficeViewerX = GetValue<object>(@"HKEY_CLASSES_ROOT\EDOfficeViewerX.Connect\CLSID\", @"", null);
object EDWordCtrl = GetValue<object>(@"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<T>(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();

View File

@@ -1081,12 +1081,39 @@ 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)
{
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
//_MyLog.WarnFormat("Context Menu 4 - {0}", GC.GetTotalMemory(true));
@@ -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);

View File

@@ -4390,7 +4390,8 @@ namespace Volian.Print.Library
SectionConfig sch = MyItemInfo.MyConfig as SectionConfig;
if (sch != null && sch.Section_PrintHdr != "Y") doprint = false;
}
if (doprint && !UseTemplateKeepOnCurLine(itemInfo))
//C2025-021 Add logic to PROMS to support a special High Level Step type that is not printed.
if (doprint && !UseTemplateKeepOnCurLine(itemInfo) && !itemInfo.IsType("InvisibleHigh"))
{
float tyoff = yoff;
if (itemInfo.Steps != null)
@@ -5754,6 +5755,18 @@ namespace Volian.Print.Library
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;

View File

@@ -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)
{
@@ -268,6 +268,7 @@ namespace Volian.Print.Library
}
Rtf = GetRtf(origTab, vFont);
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);