New Enhanced Document Properties

Fixed Find and Replace logic to keep it from getting into an infinite loop
Used new CSLA code to hanndle deletion of procedures with external transitions
New Enhanced Document properties
This commit is contained in:
Rich
2015-10-27 13:34:33 +00:00
parent e22458bd1a
commit 58e58083c2
7 changed files with 242 additions and 197 deletions

View File

@@ -128,90 +128,119 @@ namespace Volian.Controls.Library
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"];
#region enhanced
// get a list of all of the current enhanced buttons that been defined for context menu
List<string> unusedEnhancedButtons = new List<string>();
foreach (DevComponents.DotNetBar.ButtonItem bi in myButtonItem.SubItems)
if (bi.Name.StartsWith("btnEnhancedTo"))
unusedEnhancedButtons.Add(bi.Name);
// for all enhanced documents, get the list of buttons as they should be for the
// selected step
StepConfig sc = new StepConfig(_MyStepRTB.MyItemInfo.MyContent.Config);
if (sc.Step_SourceToBackground != null)
DVEnhancedDocuments dveds = MyItemInfo.MyDocVersion.DocVersionConfig.MyEnhancedDocuments;
foreach(EnhancedDocument ed in sc.MyEnhancedDocuments)
{
btnSourceToBackground.Tag = sc.Step_SourceToBackground;
btnSourceToBackground.Visible = true;
string buttonName = string.Format("btnEnhancedTo{0}", dveds[ed.Type]);
if (unusedEnhancedButtons.Contains(buttonName)) unusedEnhancedButtons.Remove(buttonName);
DevComponents.DotNetBar.ButtonItem biEnhanced;
if (!myButtonItem.SubItems.Contains(buttonName))
{
biEnhanced = new DevComponents.DotNetBar.ButtonItem(buttonName, "Go To " + dveds[ed.Type].Name + " Document");
biEnhanced.Click += btnSourceToBackground_Click;
myButtonItem.SubItems.Add(biEnhanced);
}
else
biEnhanced = myButtonItem.SubItems[buttonName] as DevComponents.DotNetBar.ButtonItem;
biEnhanced.Tag = ed.ItemID;
biEnhanced.Visible = true;
}
else
foreach(string btnNotInUse in unusedEnhancedButtons)
{
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;
DevComponents.DotNetBar.ButtonItem biUnused = myButtonItem.SubItems[btnNotInUse] as DevComponents.DotNetBar.ButtonItem;
biUnused.Visible = false;
}
#endregion
#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;
}
//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
}