C024-039_Button_on_Applicability_Tab_to_change_all_at_same_level_for_setting_the_item_mode-2 #714

2 changed files with 184 additions and 17 deletions
Showing only changes of commit 287c06383b - Show all commits

View File

@@ -1,3 +1,6 @@
using System.Security.Cryptography;
using VEPROMS.CSLA.Library;
namespace Volian.Controls.Library
{
partial class DisplayApplicability
@@ -20,6 +23,7 @@ namespace Volian.Controls.Library
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
@@ -30,19 +34,41 @@ namespace Volian.Controls.Library
{
this.gpMode = new DevComponents.DotNetBar.Controls.GroupPanel();
this.gpItem = new DevComponents.DotNetBar.Controls.GroupPanel();
this.btnApplicabilitychg2 = new DevComponents.DotNetBar.ButtonItem();
this.btnApplicabilitychg = new DevComponents.DotNetBar.ButtonX();
this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip();
this.gpItem.SuspendLayout();
this.SuspendLayout();
//
// btnApplicabilitychg
//
this.btnApplicabilitychg.Location = new System.Drawing.Point(60, 8);
this.btnApplicabilitychg.Margin = new System.Windows.Forms.Padding(4);
this.btnApplicabilitychg.BackColor = System.Drawing.SystemColors.Control;
this.btnApplicabilitychg.Name = "btnApplicabilitychg";
this.btnApplicabilitychg.Size = new System.Drawing.Size(80, 22);
this.btnApplicabilitychg.Margin = new System.Windows.Forms.Padding(2);
this.btnApplicabilitychg.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.superTooltip1.SetSuperTooltip(this.btnApplicabilitychg, new DevComponents.DotNetBar.SuperTooltipInfo("Change applicability settings - All At Level", "", "When clicked, all steps at the level of the current step will have their applicability settings changed.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
this.btnApplicabilitychg.TabIndex = 0;
this.btnApplicabilitychg.Text = "Set All at Level";
this.btnApplicabilitychg.ColorTable = DevComponents.DotNetBar.eButtonColor.BlueOrb;
this.btnApplicabilitychg.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnApplicabilitychg.Click += new System.EventHandler(this.BtnApplicabilitychg_Click);
//
// gpMode
//
this.gpMode.AutoSize = true;
this.gpMode.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.gpMode.CanvasColor = System.Drawing.SystemColors.Control;
this.gpMode.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.gpMode.DisabledBackColor = System.Drawing.Color.Empty;
this.gpMode.Dock = System.Windows.Forms.DockStyle.Top;
this.gpMode.Location = new System.Drawing.Point(0, 0);
this.gpMode.Margin = new System.Windows.Forms.Padding(4);
this.gpMode.Name = "gpMode";
this.gpMode.Padding = new System.Windows.Forms.Padding(10, 10, 10, 30);
this.gpMode.Size = new System.Drawing.Size(324, 40);
this.gpMode.Padding = new System.Windows.Forms.Padding(13, 12, 13, 37);
this.gpMode.Size = new System.Drawing.Size(432, 49);
//
//
//
@@ -58,7 +84,6 @@ namespace Volian.Controls.Library
this.gpMode.Style.BorderRightWidth = 1;
this.gpMode.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid;
this.gpMode.Style.BorderTopWidth = 1;
this.gpMode.Style.Class = "";
this.gpMode.Style.CornerDiameter = 4;
this.gpMode.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded;
this.gpMode.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center;
@@ -67,12 +92,10 @@ namespace Volian.Controls.Library
//
//
//
this.gpMode.StyleMouseDown.Class = "";
this.gpMode.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square;
//
//
//
this.gpMode.StyleMouseOver.Class = "";
this.gpMode.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.gpMode.TabIndex = 0;
this.gpMode.Text = "Viewing Mode";
@@ -83,11 +106,14 @@ namespace Volian.Controls.Library
this.gpItem.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.gpItem.CanvasColor = System.Drawing.SystemColors.Control;
this.gpItem.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
//this.gpItem.Controls.Add(this.btnApplicabilitychg);
this.gpItem.DisabledBackColor = System.Drawing.Color.Empty;
this.gpItem.Dock = System.Windows.Forms.DockStyle.Top;
this.gpItem.Location = new System.Drawing.Point(0, 40);
this.gpItem.Location = new System.Drawing.Point(0, 49);
this.gpItem.Margin = new System.Windows.Forms.Padding(4);
this.gpItem.Name = "gpItem";
this.gpItem.Padding = new System.Windows.Forms.Padding(10, 10, 10, 30);
this.gpItem.Size = new System.Drawing.Size(324, 40);
this.gpItem.Padding = new System.Windows.Forms.Padding(13, 12, 13, 37);
this.gpItem.Size = new System.Drawing.Size(432, 85);
//
//
//
@@ -103,7 +129,6 @@ namespace Volian.Controls.Library
this.gpItem.Style.BorderRightWidth = 1;
this.gpItem.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid;
this.gpItem.Style.BorderTopWidth = 1;
this.gpItem.Style.Class = "";
this.gpItem.Style.CornerDiameter = 4;
this.gpItem.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded;
this.gpItem.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center;
@@ -112,26 +137,31 @@ namespace Volian.Controls.Library
//
//
//
this.gpItem.StyleMouseDown.Class = "";
this.gpItem.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square;
//
//
//
this.gpItem.StyleMouseOver.Class = "";
this.gpItem.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.gpItem.TabIndex = 1;
this.gpItem.Text = "Item Mode";
//
// DisplayApplicability
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.gpItem);
this.Controls.Add(this.gpMode);
this.Margin = new System.Windows.Forms.Padding(4);
this.Name = "DisplayApplicability";
this.Size = new System.Drawing.Size(324, 656);
this.Size = new System.Drawing.Size(432, 807);
this.gpItem.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
this.PerformLayout();
//
// superTooltip1
//
this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray);
this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
}
@@ -139,6 +169,9 @@ namespace Volian.Controls.Library
private DevComponents.DotNetBar.Controls.GroupPanel gpMode;
private DevComponents.DotNetBar.Controls.GroupPanel gpItem;
private DevComponents.DotNetBar.ButtonItem btnApplicabilitychg2;
private DevComponents.DotNetBar.ButtonX btnApplicabilitychg;
private DevComponents.DotNetBar.SuperTooltip superTooltip1;
}
}

View File

@@ -1,12 +1,14 @@
using JR.Utils.GUI.Forms;
using log4net.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Drawing;
using System.Security.Cryptography;
jjenko marked this conversation as resolved Outdated

is System.Security.Cryptography needed? if so, why? If not, please remove.

is System.Security.Cryptography needed? if so, why? If not, please remove.

Reference has been removed.

Reference has been removed.
using System.Text;
using System.Windows.Forms;
using VEPROMS.CSLA.Library;
using JR.Utils.GUI.Forms;
namespace Volian.Controls.Library
{
@@ -44,6 +46,7 @@ namespace Volian.Controls.Library
int apple = -1;
if(_MyDisplayTabItem.MyStepTabPanel != null)
apple = _MyDisplayTabItem.MyStepTabPanel.MyStepPanel.ApplDisplayMode;
//_MyDisplayTabItem.MyStepTabPanel.MyStepTabRibbon.RefreshProcedure
mschill marked this conversation as resolved Outdated

Remove commented out code

Remove commented out code
AddViewMode("Master", "-1", apple == -1);
int i = 0;
foreach (string name in names)
@@ -51,15 +54,23 @@ namespace Volian.Controls.Library
i++;
AddViewMode(name.Trim(), i.ToString(), apple == i);
}
AddItemMode("All", "-1");
i = 0;
foreach (string name in names)
AddItemMode(name.Trim(), (++i).ToString());
AddItemMode("None", "0");
gpItem.Controls.Add(btnApplicabilitychg);
btnApplicabilitychg.BringToFront();
if (_MyDisplayTabItem.MyStepTabPanel != null)
{
MyItemInfo = _MyDisplayTabItem.MyStepTabPanel.MyStepPanel.SelectedItemInfo;
mschill marked this conversation as resolved Outdated

Not sure if I am missing something, but I am not seeing where this is used? -- is MyEditItem needed?

Not sure if I am missing something, but I am not seeing where this is used? -- is MyEditItem needed?

Looking over this, it looks like it is not need here. I will remove it.

Looking over this, it looks like it is not need here. I will remove it.
MyEditItem = MyDisplayTabItem.MyStepTabPanel.MyStepPanel.SelectedEditItem;
}
else
{
MyItemInfo = _MyDisplayTabItem.MyItemInfo;
}
}
}
}
@@ -175,7 +186,8 @@ namespace Volian.Controls.Library
}
break;
}
WireCheckboxes();
WireCheckboxes();
MyApplicability = string.Empty;
string sep = string.Empty;
foreach (int i in MyCheckBoxes.Keys)
@@ -270,6 +282,77 @@ namespace Volian.Controls.Library
// s.Save();
//}
}
private void BtnApplicabilitychg_Click(object sender, System.EventArgs e)
{
//ItemInfo
mschill marked this conversation as resolved
Review

Remove commented out code

Remove commented out code
EditItem topEditItem = MyEditItem;
Volian.Base.Library.BigNum MasterSlave_ApplicabilityTmp;
mschill marked this conversation as resolved
Review

Is this still needed?

Is this still needed?
Review

It was needed in one solution, but no longer needed.

It was needed in one solution, but no longer needed.
StepConfig sc = MyItemInfo.MyConfig as StepConfig;
//sc.MasterSlave_Applicability = Volian.Base.Library.BigNum.MakeBigNum(MyApplicability);
mschill marked this conversation as resolved
Review

Remove commented out code

Remove commented out code
MasterSlave_ApplicabilityTmp = sc.MasterSlave_Applicability;
MyEditItem = MyDisplayTabItem.MyStepTabPanel.MyStepPanel.SelectedEditItem;
mschill marked this conversation as resolved
Review

Not sure if I am missing something, but I am not seeing where this is used? -- is topEditItem needed?

Not sure if I am missing something, but I am not seeing where this is used? -- is topEditItem needed?
Review

Looking over this, it looks like it is not need here. I will remove it.

Looking over this, it looks like it is not need here. I will remove it.
ItemInfo startitm = MyItemInfo.FirstSibling;
topEditItem = MyEditItem.MyStepPanel._LookupEditItems[startitm.ItemID];
while (startitm != null)
{
StepConfig sc2 = startitm.MyConfig as StepConfig;
using (Content cnt = Content.Get(startitm.MyContent.ContentID))
{
sc2.MasterSlave_Applicability = (MasterSlave_ApplicabilityTmp);
//sc.MasterSlave_Applicability = Volian.Base.Library.BigNum.MakeBigNum(MyApplicability);
mschill marked this conversation as resolved Outdated

Remove commented out code

Remove commented out code
cnt.Config = sc2.ToString();
cnt.Save();
}
startitm = startitm.GetNext();
}
//RefreshProcedure();
mschill marked this conversation as resolved Outdated

Remove commented out code

Remove commented out code
_MyDisplayTabItem.MyStepTabPanel.MyStepTabRibbon.RefreshProcedure();
//StepTabRibbon.RefreshProcedureApp(MyEditItem);
mschill marked this conversation as resolved Outdated

Remove commented out code

Remove commented out code
}
//public void RefreshProcedure()
mschill marked this conversation as resolved Outdated

please remove this commented out code

please remove this commented out code

Agreed

Agreed
//{
// StepTabPanel stab_Panel = Parent as StepTabPanel;
// if (_MyDisplayTabItem.MyStepTabPanel != null)
// {
// MyItemInfo = _MyDisplayTabItem.MyStepTabPanel.MyStepPanel.SelectedItemInfo;
// MyEditItem = MyDisplayTabItem.MyStepTabPanel.MyStepPanel.SelectedEditItem;
// }
// if (MyEditItem != null)
// {
// if (!MyEditItem.MyStepPanel.ContainsFocus)
// this.Invoke((Action)(() => { MyEditItem.MyStepPanel.Focus(); }));
// E_ViewMode mode = MyEditItem.MyStepPanel.VwMode;
// Application.DoEvents();
// this.Invoke((Action)(() => { MyEditItem.MyStepPanel.ResetAll(); }));
// Application.DoEvents();
// this.Invoke((Action)(() => { MyEditItem.MyStepPanel.Refresh(); }));
// Application.DoEvents();
// MyEditItem.MyStepPanel.VwMode = mode;
// Application.DoEvents();
// }
// else if (stab_Panel != null)
// {
// if (!stab_Panel.MyStepPanel.ContainsFocus)
// this.Invoke((Action)(() => { stab_Panel.MyStepPanel.Focus(); }));
// E_ViewMode mode = stab_Panel.MyStepPanel.VwMode;
// Application.DoEvents();
// this.Invoke((Action)(() => { stab_Panel.MyStepPanel.ResetAll(); }));
// Application.DoEvents();
// this.Invoke((Action)(() => { stab_Panel.MyStepPanel.Refresh(); }));
// Application.DoEvents();
// stab_Panel.MyStepPanel.VwMode = mode;
// Application.DoEvents();
// }
//}
// B2021-149: for procedure, only consider external transitions as invalid
private bool IsProcWithNoExternalTrans(ItemInfo ii, List<InvalidTransition> invalidTrans)
{
@@ -351,6 +434,57 @@ namespace Volian.Controls.Library
}
}
}
private EditItem _MyEditItem;
public EditItem MyEditItem
{
get { return _MyEditItem; }
set
{
_MyEditItem = value;
//if (DesignMode) return; // B2019-043 need to check if we are just saving changes to the user interface
mschill marked this conversation as resolved Outdated

Please remove the commented out code

Please remove the commented out code

Agreed

Agreed
//if (!Visible)
//{
// NotVisibleEditItem = value;
// CurItemInfo = null;
// return;
//}
//NotVisibleEditItem = null;
//if (value == null)
//{
// ClearControls();
// return;
//}
//if (CurItemInfo != null && CurItemInfo.ItemID == value.MyItemInfo.ItemID) return;
//if (!value.MyItemInfo.IsStep)
//{
// ClearControls();
// return;
//}
//_MyEditItem = value;
//CurItemInfo = value.MyItemInfo;
//_MyEditItem.MyStepPropertiesPanel = this; // this allows us to access the Step Property pannel and toggle check boxes with shortcut keystrokes
//// originally the change all (for step type) checkbox was initialized based
//// on whether all steps at level were same type, i.e. if same type, default
//// it to checked. This may confuse the user, so we decided to always default
//// to not checked. The code was left in here in case that decision is changed.
//// MRC, JSJ & KBR were in on discussion on 2/27/12:
//// only change all at level if all substeps are of same type
////bool allSameType = true;
////ItemInfo itmp = CurItemInfo.FirstSibling;
////while (itmp != null)
////{
//// if (CurItemInfo.MyContent.Type != itmp.MyContent.Type)
//// {
//// allSameType = false;
//// break;
//// }
//// itmp = itmp.NextItem;
////}
//cbChgAll.Checked = false;
//TagsFillIn();
}
}
private void WireCheckboxes()
{
foreach (CheckBox cb in MyCheckBoxes.Values)