diff --git a/PROMS/Volian.Controls.Library/DisplayApplicability.Designer.cs b/PROMS/Volian.Controls.Library/DisplayApplicability.Designer.cs index 9a7f4920..74a354b4 100644 --- a/PROMS/Volian.Controls.Library/DisplayApplicability.Designer.cs +++ b/PROMS/Volian.Controls.Library/DisplayApplicability.Designer.cs @@ -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 /// @@ -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; } } diff --git a/PROMS/Volian.Controls.Library/DisplayApplicability.cs b/PROMS/Volian.Controls.Library/DisplayApplicability.cs index a5869b64..052dbc52 100644 --- a/PROMS/Volian.Controls.Library/DisplayApplicability.cs +++ b/PROMS/Volian.Controls.Library/DisplayApplicability.cs @@ -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; 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 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; + 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 + EditItem topEditItem = MyEditItem; + Volian.Base.Library.BigNum MasterSlave_ApplicabilityTmp; + StepConfig sc = MyItemInfo.MyConfig as StepConfig; + //sc.MasterSlave_Applicability = Volian.Base.Library.BigNum.MakeBigNum(MyApplicability); + MasterSlave_ApplicabilityTmp = sc.MasterSlave_Applicability; + + MyEditItem = MyDisplayTabItem.MyStepTabPanel.MyStepPanel.SelectedEditItem; + + 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); + cnt.Config = sc2.ToString(); + cnt.Save(); + } + startitm = startitm.GetNext(); + } + + //RefreshProcedure(); + _MyDisplayTabItem.MyStepTabPanel.MyStepTabRibbon.RefreshProcedure(); + //StepTabRibbon.RefreshProcedureApp(MyEditItem); + + } + //public void RefreshProcedure() + //{ + // 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 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 + //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)