Added Enhanced Document Menus
SetAdministrator Support for Import and Export Procedure Sets, Import Procedure, Export Procedure Added ROID PDF Destinations to Complete RO Report so that PDF Links can go to a specific Refenced Object in the Complete RO Report PDF. Add PDF Links for Enhanced Documents and Complete RO Report
This commit is contained in:
parent
a87decdbe3
commit
4c0fed9dce
@ -121,10 +121,118 @@ namespace Volian.Controls.Library
|
||||
private Dictionary<string, string> MyAvailableROs;
|
||||
public void SetContextMenu()
|
||||
{
|
||||
AddEnhancedDocumentMenu(btnCMRtfEdit);
|
||||
AddWROContext(btnCMRtfEdit);
|
||||
_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMRtfEdit);
|
||||
}
|
||||
|
||||
private void AddEnhancedDocumentMenu(DevComponents.DotNetBar.ButtonItem myButtonItem)
|
||||
{
|
||||
DevComponents.DotNetBar.BaseItem btnSourceToBackground = null;
|
||||
DevComponents.DotNetBar.BaseItem btnBackgroundToSource = null;
|
||||
DevComponents.DotNetBar.BaseItem btnSourceToDeviation = null;
|
||||
DevComponents.DotNetBar.BaseItem btnDeviationToSource = null;
|
||||
#region background
|
||||
if (!myButtonItem.SubItems.Contains("btnSourceToBackground"))
|
||||
{
|
||||
btnSourceToBackground = new DevComponents.DotNetBar.ButtonItem("btnSourceToBackground", "Go To Background Document");
|
||||
btnSourceToBackground.Visible = false;
|
||||
btnSourceToBackground.Click += btnSourceToBackground_Click;
|
||||
myButtonItem.SubItems.Add(btnSourceToBackground);
|
||||
}
|
||||
else
|
||||
btnSourceToBackground = myButtonItem.SubItems["btnSourceToBackground"];
|
||||
if (!myButtonItem.SubItems.Contains("btnBackgroundToSource"))
|
||||
{
|
||||
btnBackgroundToSource = new DevComponents.DotNetBar.ButtonItem("btnBackgroundToSource", "Go To Source Document");
|
||||
btnBackgroundToSource.Visible = false;
|
||||
btnBackgroundToSource.Click += btnBackgroundToSource_Click;
|
||||
myButtonItem.SubItems.Add(btnBackgroundToSource);
|
||||
}
|
||||
else
|
||||
btnBackgroundToSource = myButtonItem.SubItems["btnBackgroundToSource"];
|
||||
StepConfig sc = new StepConfig(_MyStepRTB.MyItemInfo.MyContent.Config);
|
||||
if (sc.Step_SourceToBackground != null)
|
||||
{
|
||||
btnSourceToBackground.Tag = sc.Step_SourceToBackground;
|
||||
btnSourceToBackground.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
btnSourceToBackground.Tag = string.Empty;
|
||||
btnSourceToBackground.Visible = false;
|
||||
}
|
||||
if (sc.Step_BackgroundToSource != null)
|
||||
{
|
||||
btnBackgroundToSource.Tag = sc.Step_BackgroundToSource;
|
||||
btnBackgroundToSource.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
btnBackgroundToSource.Tag = string.Empty;
|
||||
btnBackgroundToSource.Visible = false;
|
||||
}
|
||||
#endregion
|
||||
#region deviation
|
||||
if (!myButtonItem.SubItems.Contains("btnSourceToDeviation"))
|
||||
{
|
||||
btnSourceToDeviation = new DevComponents.DotNetBar.ButtonItem("btnSourceToDeviation", "Go To Deviation Document");
|
||||
btnSourceToDeviation.Visible = false;
|
||||
btnSourceToDeviation.Click += btnSourceToBackground_Click;
|
||||
myButtonItem.SubItems.Add(btnSourceToDeviation);
|
||||
}
|
||||
else
|
||||
btnSourceToDeviation = myButtonItem.SubItems["btnSourceToDeviation"];
|
||||
if (!myButtonItem.SubItems.Contains("btnDeviationToSource"))
|
||||
{
|
||||
btnDeviationToSource = new DevComponents.DotNetBar.ButtonItem("btnDeviationToSource", "Go To Source Document");
|
||||
btnDeviationToSource.Visible = false;
|
||||
btnDeviationToSource.Click += btnBackgroundToSource_Click;
|
||||
myButtonItem.SubItems.Add(btnDeviationToSource);
|
||||
}
|
||||
else
|
||||
btnDeviationToSource = myButtonItem.SubItems["btnDeviationToSource"];
|
||||
if (sc.Step_SourceToDeviation != null)
|
||||
{
|
||||
btnSourceToDeviation.Tag = sc.Step_SourceToDeviation;
|
||||
btnSourceToDeviation.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
btnSourceToDeviation.Tag = string.Empty;
|
||||
btnSourceToDeviation.Visible = false;
|
||||
}
|
||||
if (sc.Step_DeviationToSource != null)
|
||||
{
|
||||
btnDeviationToSource.Tag = sc.Step_DeviationToSource;
|
||||
btnDeviationToSource.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
btnDeviationToSource.Tag = string.Empty;
|
||||
btnDeviationToSource.Visible = false;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
void btnBackgroundToSource_Click(object sender, EventArgs e)
|
||||
{
|
||||
DevComponents.DotNetBar.BaseItem btn = sender as DevComponents.DotNetBar.BaseItem;
|
||||
ItemInfo ii = ItemInfo.Get(int.Parse(btn.Tag.ToString()));
|
||||
StepTabPanel tmp = Parent as StepTabPanel;
|
||||
tmp.MyDisplayTabControl.OpenItem(ii);
|
||||
}
|
||||
|
||||
void btnSourceToBackground_Click(object sender, EventArgs e)
|
||||
{
|
||||
DevComponents.DotNetBar.BaseItem btn = sender as DevComponents.DotNetBar.BaseItem;
|
||||
ItemInfo ii = ItemInfo.Get(int.Parse(btn.Tag.ToString()));
|
||||
//StepTabPanel tmp = Parent as StepTabPanel;
|
||||
//tmp.MyDisplayTabControl.OpenItem(ii);
|
||||
// OpenEnhancedDocument(this, new StepTabRibbonEventArgs(ii));
|
||||
MyEditItem.MyStepPanel.MyStepTabPanel.MyDisplayTabControl.OnOpenEnhancedDocument(new ItemSelectedChangedEventArgs(ii));
|
||||
}
|
||||
|
||||
#region set up save ro menu jcb 20121221
|
||||
private void AddWROContext(DevComponents.DotNetBar.ButtonItem myButtonItem)
|
||||
{
|
||||
@ -645,7 +753,12 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
#endregion
|
||||
#region Events
|
||||
|
||||
//public event StepTabRibbonEvent OpenEnhancedDocument;
|
||||
//private void OnOpenEnhancedDocument(StepTabRibbonEventArgs args)
|
||||
//{
|
||||
// if (OpenEnhancedDocument != null)
|
||||
// OpenEnhancedDocument(this, args);
|
||||
//}
|
||||
public event StepTabRibbonEvent PrintRequest;
|
||||
private void OnPrintRequest(StepTabRibbonEventArgs args)
|
||||
{
|
||||
@ -1921,6 +2034,11 @@ namespace Volian.Controls.Library
|
||||
btnEditMode.Checked = btnCMEditMode1.Checked = MyEditItem.MyStepPanel.VwMode == E_ViewMode.View;
|
||||
MyEditItem.MyStepRTB.SpellCheckContextMenuOn(MyEditItem.MyStepPanel.VwMode != E_ViewMode.View);
|
||||
}
|
||||
//private void btnEnhancedDocSync_Click(object sender, System.EventArgs e)
|
||||
//{
|
||||
// btnEnhancedDocSync.Checked = !btnEnhancedDocSync.Checked;
|
||||
//}
|
||||
|
||||
|
||||
private void btnROEdit_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ 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 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);
|
||||
@ -606,7 +606,7 @@ namespace Volian.Controls.Library
|
||||
// add docversion.
|
||||
FolderInfo fi = tn.VEObject as FolderInfo;
|
||||
bool DoSpecificInfo = fi.ActiveFormat.PlantFormat.FormatData.SpecificInfo;
|
||||
if (ui.IsAdministrator())// && fi.MyParent == null) //VEPROMS level
|
||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))// && fi.MyParent == null) //VEPROMS level
|
||||
{
|
||||
if(fi.HasWorkingDraft)
|
||||
cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click));
|
||||
@ -632,7 +632,7 @@ namespace Volian.Controls.Library
|
||||
else if (tn.VEObject as DocVersionInfo != null) // DocVersions can only contain procs
|
||||
{
|
||||
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
||||
if (ui.IsAdministrator())
|
||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi))
|
||||
{
|
||||
cm.MenuItems.Add("Import Procedure", mi_Click);
|
||||
}
|
||||
@ -725,7 +725,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
ProcedureInfo pri = tn.VEObject as ProcedureInfo;
|
||||
oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure);
|
||||
if (ui.IsAdministrator())
|
||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion))
|
||||
{
|
||||
cm.MenuItems.Add("Export Procedure", mi_Click);
|
||||
}
|
||||
@ -2012,7 +2012,7 @@ namespace Volian.Controls.Library
|
||||
if (!hasMetaSubs) doPseudo = true;
|
||||
}
|
||||
}
|
||||
using (Section section = CreateNewSection())
|
||||
using(Section section = CreateNewSection())
|
||||
{
|
||||
ShowBrokenRules(section.BrokenRulesCollection);
|
||||
SetLastValues(SectionInfo.Get(section.ItemID));
|
||||
@ -2095,7 +2095,7 @@ namespace Volian.Controls.Library
|
||||
int indx = tvindex + ((newtype == MenuSelections.SectionBefore) ? 0 : 1);
|
||||
if (indx >= par.Nodes.Count || (par.Nodes[indx] as VETreeNode).VEObject.ToString() != _LastSectionInfo.ToString())
|
||||
{
|
||||
tn = new VETreeNode(_LastSectionInfo);
|
||||
tn = new VETreeNode(_LastSectionInfo);
|
||||
par.Nodes.Insert(indx, tn);
|
||||
}
|
||||
}
|
||||
|
@ -375,6 +375,12 @@ namespace Volian.Print.Library
|
||||
}
|
||||
|
||||
private string processingRO = "";
|
||||
private string _MyROID = null;
|
||||
public string MyROID
|
||||
{
|
||||
get { return _MyROID; }
|
||||
set { _MyROID = value; }
|
||||
}
|
||||
|
||||
public void PrintReport()
|
||||
{
|
||||
@ -416,6 +422,9 @@ namespace Volian.Print.Library
|
||||
case 7:
|
||||
processingRO = KeyField();
|
||||
break;
|
||||
case 8:
|
||||
MyROID = ROIDField();
|
||||
break;
|
||||
case 100: // Text Field - sometimes also XY Plot
|
||||
Text();
|
||||
Application.DoEvents();
|
||||
@ -825,6 +834,12 @@ namespace Volian.Print.Library
|
||||
Chunk chk = LastHeader();
|
||||
Phrase p = new Phrase();
|
||||
PdfPCell cell = new PdfPCell();
|
||||
if (MyROID != null)
|
||||
{
|
||||
chk.SetLocalDestination(string.Format("ROID={0}", MyROID)); // Destination
|
||||
//Console.WriteLine("\"ROID\"\t\"{0}\"", MyROID);
|
||||
MyROID = null;
|
||||
}
|
||||
p.Add(chk); // add the header chunk
|
||||
cell.BackgroundColor = Color.WHITE;
|
||||
cell.BorderColor = Color.WHITE;
|
||||
@ -880,6 +895,18 @@ namespace Volian.Print.Library
|
||||
//Console.WriteLine("Key Text: {0}", szStr);
|
||||
//Console.WriteLine("----------------------------------------------");
|
||||
}
|
||||
public string ROIDField()
|
||||
{
|
||||
// use the key field as the PDF bookbark
|
||||
string szStr = RO_df.ReadText();
|
||||
//PdfDestination pdfDest = new PdfDestination(PdfDestination.FITH, _MyPDFWriter.DirectContent.PdfDocument.PageSize.Height);
|
||||
//PdfOutline outl = new PdfOutline(MyDocOutline[Hdrs.HdrCnt - 1].MyOutline, MyPdfDestTop, szStr);
|
||||
//DestSample(outl);
|
||||
return szStr;
|
||||
//Console.WriteLine("Key Field");
|
||||
//Console.WriteLine("Key Text: {0}", szStr);
|
||||
//Console.WriteLine("----------------------------------------------");
|
||||
}
|
||||
|
||||
// Read in the image filename, height, and width
|
||||
public void ImageFile()
|
||||
|
@ -943,14 +943,28 @@ namespace Volian.Print.Library
|
||||
}
|
||||
}
|
||||
else // Remote Go To
|
||||
{
|
||||
foreach (Chunk chk in IParagraph.Chunks)
|
||||
{
|
||||
//Console.WriteLine("\"RemoteGoTo\"\t{0}", tiDefault.ItemID);
|
||||
chk.SetRemoteGoto(ti.MyItemToID.MyProcedure.DisplayNumber.Replace("/", "_") + ".pdf", string.Format("ItemID={0}", tiDefault.ItemID));
|
||||
chk.SetBackground(new Color(System.Drawing.Color.PeachPuff));
|
||||
}
|
||||
}
|
||||
}
|
||||
// MyPageHelper.BottomContent = yLocation - Height;
|
||||
if (MyItemInfo.MyContent.ContentRoUsageCount > 0)
|
||||
{
|
||||
RoUsageInfo ru = MyItemInfo.MyContent.ContentRoUsages[0];
|
||||
foreach (Chunk chk in IParagraph.Chunks)
|
||||
{
|
||||
chk.SetRemoteGoto("completeroreport.pdf", string.Format("ROID={0}", ru.ROID.Substring(0, 12)));
|
||||
chk.SetBackground(new Color(System.Drawing.Color.LightGreen));
|
||||
}
|
||||
}
|
||||
StepConfig sc = new StepConfig(MyItemInfo.MyContent.Config);
|
||||
AddLinkToEnhancedDocument(cb, yLocation, sc.Step_SourceToBackground, "B", 6);
|
||||
AddLinkToEnhancedDocument(cb, yLocation, sc.Step_SourceToDeviation, "D", 20);
|
||||
// MyPageHelper.BottomContent = yLocation - Height;
|
||||
//if (MyItemInfo.InList(39048)) Console.WriteLine("Here");
|
||||
}
|
||||
MyPageHelper.BottomContent = yLocation - (Height * MyPageHelper.YMultiplier);
|
||||
@ -983,6 +997,31 @@ namespace Volian.Print.Library
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
private static void AddLinkToEnhancedDocument(PdfContentByte cb, float yLocation, string bdItemID, String token, int xLocation)
|
||||
{
|
||||
if (bdItemID != null)
|
||||
{
|
||||
int i = int.Parse(bdItemID);
|
||||
ItemInfo ii = ItemInfo.Get(i);
|
||||
string prefix = ii.MyDocVersion.DocVersionConfig.Print_PDFFilePrefix ?? "";
|
||||
string suffix = ii.MyDocVersion.DocVersionConfig.Print_PDFFileSuffix ?? "";
|
||||
ColumnText ct = new ColumnText(cb);
|
||||
ct.SetSimpleColumn(xLocation, yLocation - 12, xLocation + 30, 12 + yLocation);
|
||||
iTextSharp.text.Font font = FontFactory.GetFont("Arial", BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 12);
|
||||
Chunk chk = new Chunk(token);
|
||||
chk.SetRemoteGoto(prefix + ii.MyProcedure.DisplayNumber.Replace("/", "_") + suffix + ".pdf", string.Format("ItemID={0}", ii.ItemID));
|
||||
chk.SetBackground(new Color(System.Drawing.Color.LemonChiffon));
|
||||
ct.AddElement(chk);
|
||||
cb.SetColorFill(Color.BLUE);
|
||||
ct.Go();
|
||||
|
||||
//foreach (Chunk chk in IParagraph.Chunks)
|
||||
//{
|
||||
// chk.SetRemoteGoto(ii.MyProcedure.DisplayNumber.Replace("/", "_") + ".pdf", string.Format("ItemID={0}",ii.ItemID));
|
||||
// chk.SetBackground(new Color(System.Drawing.Color.LemonChiffon));
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
private ItemInfo GetDefaultItemInfo(ItemInfo myItemInfo)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user