diff --git a/PROMS/Volian.Controls.Library/EditItem.cs b/PROMS/Volian.Controls.Library/EditItem.cs index 2230f54a..23a748af 100644 --- a/PROMS/Volian.Controls.Library/EditItem.cs +++ b/PROMS/Volian.Controls.Library/EditItem.cs @@ -303,7 +303,7 @@ namespace Volian.Controls.Library //private string _LastMethod = ""; internal void LastMethodsPush(string str) { - if(MyStepPanel != null)MyStepPanel._LastAdjust = str; + if (MyStepPanel != null) MyStepPanel._LastAdjust = str; _LastMethods.Push(str); } internal string LastMethodsPop() @@ -331,7 +331,7 @@ namespace Volian.Controls.Library // whether it is expanded or collapsed. if (MyParentEditItem.MyPreviousEditItem != null) return MyParentEditItem.MyPreviousEditItem.BottomMostEditItem.Bottom; if (MyParentEditItem.MyBeforeEditItems != null) return MyParentEditItem.MyBeforeEditItems[MyParentEditItem.MyBeforeEditItems.Count - 1].BottomMostEditItem.Bottom; - return (MySectionRTBItem==null)?0:MySectionRTBItem.Bottom; + return (MySectionRTBItem == null) ? 0 : MySectionRTBItem.Bottom; } int b1 = prevOrParSupInfo.BottomMostEditItem.Bottom; int b2 = b1; @@ -370,7 +370,7 @@ namespace Volian.Controls.Library { EditItem eitmp = null; // if on a Note/Caution, need to be sure there isn't a step before me with supinfo (don't just assume going to Section) - if (prev.MyParentEditItem.MyPreviousEditItem!=null)eitmp = prev.MyParentEditItem.MyPreviousEditItem.BottomMostEditItem.FindPreviousOrParentSupInfo(); + if (prev.MyParentEditItem.MyPreviousEditItem != null) eitmp = prev.MyParentEditItem.MyPreviousEditItem.BottomMostEditItem.FindPreviousOrParentSupInfo(); return eitmp; } if (prev.MyParentEditItem.MySupInfoEditItems != null) return prev.MyParentEditItem.MySupInfoEditItems[0]; @@ -438,7 +438,7 @@ namespace Volian.Controls.Library { if (MyItemInfo.IsSupInfoPart) { - int? tmptop = FindTopSupInfo(test1); + int? tmptop = FindTopSupInfo(test1); return tmptop == null ? bottom : Math.Max(bottom, (int)tmptop); } } @@ -722,16 +722,16 @@ namespace Volian.Controls.Library { EditItem prevChild = nextEditItem.MyPreviousEditItem; EditItem parent = nextEditItem.MyParentEditItem; - if(siblingEditItems.Contains(nextEditItem)) - siblingEditItems.Insert(siblingEditItems.IndexOf(nextEditItem), this); + if (siblingEditItems.Contains(nextEditItem)) + siblingEditItems.Insert(siblingEditItems.IndexOf(nextEditItem), this); else siblingEditItems.Insert(0, this); MyStepPanel.ItemMoving++; _MyNextEditItem = nextEditItem; - if(!MyItemInfo.IsNote || !MyItemInfo.ActiveFormat.MyStepSectionLayoutData.Dev_Format || MyPreviousEditItem == null) + if (!MyItemInfo.IsNote || !MyItemInfo.ActiveFormat.MyStepSectionLayoutData.Dev_Format || MyPreviousEditItem == null) nextEditItem._MyPreviousEditItem = this; MyPreviousEditItem = prevChild;// If a previous exists - this will adjust the location and width of the EditItem - if (MyItemInfo.IsNote && MyItemInfo.ActiveFormat.MyStepSectionLayoutData.Dev_Format && MyPreviousEditItem != null) + if (MyItemInfo.IsNote && MyItemInfo.ActiveFormat.MyStepSectionLayoutData.Dev_Format && MyPreviousEditItem != null) nextEditItem.MyPreviousEditItem = this;//Position First Note in Dev Doc Format if (!MyItemInfo.ActiveFormat.MyStepSectionLayoutData.Dev_Format || !(nextEditItem.MyItemInfo.IsNote && MyItemInfo.IsCaution)) { @@ -980,11 +980,11 @@ namespace Volian.Controls.Library newFocus = MyNextEditItem; } // Adjust the vertical locations of all of the items below the item deleted - if (MyItemInfo.ActiveFormat.MyStepSectionLayoutData.Dev_Format && MyNextEditItem.MyPreviousEditItem == null && + if (MyItemInfo.ActiveFormat.MyStepSectionLayoutData.Dev_Format && MyNextEditItem.MyPreviousEditItem == null && (MyNextEditItem.MyItemInfo.IsNote || MyNextEditItem.MyItemInfo.IsCaution)) { - MyNextEditItem.MyParentEditItem.Top = (MyNextEditItem.MyParentEditItem.MyPreviousEditItem != null ? - MyNextEditItem.MyParentEditItem.MyPreviousEditItem.FindBottomDevDoc: MyNextEditItem.MyParentEditItem.MyParentEditItem.Bottom); + MyNextEditItem.MyParentEditItem.Top = (MyNextEditItem.MyParentEditItem.MyPreviousEditItem != null ? + MyNextEditItem.MyParentEditItem.MyPreviousEditItem.FindBottomDevDoc : MyNextEditItem.MyParentEditItem.MyParentEditItem.Bottom); MyNextEditItem.Top = MyNextEditItem.MyParentEditItem.Top; MyNextEditItem.AdjustLocation(); } @@ -1223,7 +1223,7 @@ namespace Volian.Controls.Library child = new ImageItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem, FigInsType); else if (MyItemInfo.IsRtfRaw) child = new RtfRawItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem); - if(MyItemInfo.MyContent.MyGrid != null) + if (MyItemInfo.MyContent.MyGrid != null) child = new GridItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem); else child = new RTBItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem); @@ -1357,7 +1357,7 @@ namespace Volian.Controls.Library public void AddSiblingBefore(int? type, bool updateStatus) { SaveContents(); - ItemInfo newItemInfo = MyItemInfo.InsertSiblingBefore("", "",type); + ItemInfo newItemInfo = MyItemInfo.InsertSiblingBefore("", "", type); AddGridIfNeeded(newItemInfo); AddImageIfNeeded(newItemInfo); DoAddSiblingBefore(newItemInfo, updateStatus); @@ -1594,9 +1594,9 @@ namespace Volian.Controls.Library public void PasteSiblingBefore(int copyStartID) { ItemInfo newItemInfo = MyItemInfo.PasteSiblingBefore(copyStartID, GetChangeId(MyItemInfo)); - + if (newItemInfo.ItemID == MyItemInfo.ItemID) return; - + EditItem newEditItem = null; switch (_MyChildRelation) { @@ -1759,7 +1759,7 @@ namespace Volian.Controls.Library } EditItem nextItem = GetNextItem(fromType, newItemInfo); EditItem newEditItem; - + switch (fromType) { case E_FromType.Caution: @@ -1801,7 +1801,7 @@ namespace Volian.Controls.Library // To allow a Paste Step into an empty (new) step/substep, we need to add a character to the the Text field // to simulate replacing an existing step - otherwise we will get null references. if (MyStepPanel.SelectedEditItem.Empty) - MyStepPanel.SelectedEditItem.Empty=false; + MyStepPanel.SelectedEditItem.Empty = false; MyStepPanel.SelectedEditItem = null; // Unselect the item to be deleted ChildRelation childRelation = _MyChildRelation; EditItem newFocus = null; @@ -1821,7 +1821,7 @@ namespace Volian.Controls.Library //catch (System.Data.SqlClient.SqlException ex) catch (Exception ex) { - if (HandleSqlExceptionOnCopy(ex)) return this; + if (HandleSqlExceptionOnCopy(ex)) return this; HandleSqlExceptionOnDelete(ex); return this; } @@ -1888,12 +1888,12 @@ namespace Volian.Controls.Library MessageBox.Show("The step being pasted has been deleted", "Cannot Paste Step", MessageBoxButtons.OK, MessageBoxIcon.Hand); return true; } - if(ex.Message.Contains("This current step has been deleted in another session")) - { - MessageBox.Show("The highlighted step has been deleted by another user.", "Cannot Paste Step", MessageBoxButtons.OK, MessageBoxIcon.Hand); - return true; - } - return false; + if (ex.Message.Contains("This current step has been deleted in another session")) + { + MessageBox.Show("The highlighted step has been deleted by another user.", "Cannot Paste Step", MessageBoxButtons.OK, MessageBoxIcon.Hand); + return true; + } + return false; } public void IdentifyChildren(bool highlight) { @@ -2048,64 +2048,64 @@ namespace Volian.Controls.Library //Volian.Base.Library.vlnStackTrace.ShowStackLocal(2,10,"\"EditItem_Move\"\t\"\"\t\"{0}\"\t{1}\t{2}\t{3}",MyItemInfo.ShortPath, MyID, Top, _LastTop); if (_LastTop == newTop) return; _LastTop = newTop; - int watchThis = _WatchThis; - if (MyStepPanel.ItemMoving == 0 && !TryAgainLater) - { - //vlnStackTrace.ScrollInStack(); - return; // If 0 - Indicates scrolling which requires no action. - } - TryAgainLater = false; - //ShowMe("Move"); - if (MyItemInfo == null) - return; - //if (_WatchThis > 0 && MyID > _StartingID) - //{ + int watchThis = _WatchThis; + if (MyStepPanel.ItemMoving == 0 && !TryAgainLater) + { + //vlnStackTrace.ScrollInStack(); + return; // If 0 - Indicates scrolling which requires no action. + } + TryAgainLater = false; + //ShowMe("Move"); + if (MyItemInfo == null) + return; + //if (_WatchThis > 0 && MyID > _StartingID) + //{ - // Console.WriteLine("{0}Start Move {1},{2}", WatchThisIndent, MyID, this); - // if (MyID == _LookForID) - // Console.WriteLine("{0}---------------", WatchThisIndent,MyID, this); - // _WatchThis++; - //} - if (MyExpandingStatus == ExpandingStatus.Expanding) + // Console.WriteLine("{0}Start Move {1},{2}", WatchThisIndent, MyID, this); + // if (MyID == _LookForID) + // Console.WriteLine("{0}---------------", WatchThisIndent,MyID, this); + // _WatchThis++; + //} + if (MyExpandingStatus == ExpandingStatus.Expanding) + { + _WatchThis = watchThis; + return; + } + Moving = true; + EditItem tmp = (EditItem)sender; + if (tmp.MyPreviousEditItem == null && tmp.MyParentEditItem == null) + { + _WatchThis = watchThis; + return; + } + if (RNOBelow) // Adjust substeps first + { + //Console.WriteLine("RNOBelow"); + AdjustLocation(); + MoveRNO(); + } + else // Adjust RNO First + { + if (RNORight) { - _WatchThis = watchThis; - return; - } - Moving = true; - EditItem tmp = (EditItem)sender; - if (tmp.MyPreviousEditItem == null && tmp.MyParentEditItem == null) - { - _WatchThis = watchThis; - return; - } - if (RNOBelow) // Adjust substeps first - { - //Console.WriteLine("RNOBelow"); - AdjustLocation(); + //Console.WriteLine("RNORight"); MoveRNO(); } - else // Adjust RNO First - { - if (RNORight) - { - //Console.WriteLine("RNORight"); - MoveRNO(); - } - AdjustLocation(); - } - Moving = false; - EditItem btm = BottomMostEditItem; - EditItem supinfo = null; - if (MySupInfoEditItems != null && MySupInfoEditItems.Count > 0) supinfo = MySupInfoEditItems[0].BottomMostEditItem; - if (supinfo != null && supinfo.Bottom > btm.Bottom) btm = supinfo; - if (this != btm) - btm.AdjustLocation(); - //if (_WatchThis > 0 && MyID > _StartingID) - //{ - // Console.WriteLine("{0}Finish Move {1},{2}",WatchThisIndent, MyID, this); - //} - _WatchThis = watchThis; + AdjustLocation(); } + Moving = false; + EditItem btm = BottomMostEditItem; + EditItem supinfo = null; + if (MySupInfoEditItems != null && MySupInfoEditItems.Count > 0) supinfo = MySupInfoEditItems[0].BottomMostEditItem; + if (supinfo != null && supinfo.Bottom > btm.Bottom) btm = supinfo; + if (this != btm) + btm.AdjustLocation(); + //if (_WatchThis > 0 && MyID > _StartingID) + //{ + // Console.WriteLine("{0}Finish Move {1},{2}",WatchThisIndent, MyID, this); + //} + _WatchThis = watchThis; + } /// /// Adjust the locations when the EditItem is resized /// @@ -2150,7 +2150,7 @@ namespace Volian.Controls.Library int center = aboveForLocation.ContentLeft + aboveForLocation.ContentWidth / 2; int rightLimit = aboveForLocation.Right; // Then should center on the wid Limit - if ((MyItemInfo.FormatStepData.Type.Contains("AER") == false && MyItemInfo.RNOLevel == 0 ) && !MyItemInfo.IsInSupInfo) + if ((MyItemInfo.FormatStepData.Type.Contains("AER") == false && MyItemInfo.RNOLevel == 0) && !MyItemInfo.IsInSupInfo) { // B2017-043 COLR is used as a Width int colR = MyStepPanel.ToDisplay(MyStepSectionLayoutData.ColRTable, MyItemInfo.ColumnMode); @@ -2164,7 +2164,7 @@ namespace Volian.Controls.Library int x = center - width / 2; if (x + width > rightLimit) x = rightLimit - width; // B2017-043 account for Horizontal Scroll - int colT =MyStepPanel.DisplayRectangle.X + MyStepPanel.ToDisplay((int)myStepSectionLayoutData.ColT); + int colT = MyStepPanel.DisplayRectangle.X + MyStepPanel.ToDisplay((int)myStepSectionLayoutData.ColT); if (x < colT) x = colT; int y = FindTop(myParentEditItem.Bottom); return new Point(x, y); @@ -2186,7 +2186,7 @@ namespace Volian.Controls.Library if (!MyStepRTB.ContainsFocus) MyStepRTB.Focus(); } - protected void ToggleContinuousActionSummary() + protected void ToggleContinuousActionSummary() { if (MyStepPropertiesPanel != null) // bug fix B2016-256 check for a null reference incase we are not on a step element MyStepPropertiesPanel.ToggleContActSummary(); // update the checkbox on the Step Properties panel @@ -2249,7 +2249,7 @@ namespace Volian.Controls.Library if (Top >= 0 && Bottom <= MyStepPanel.Height) return;// Don't move if within screen. int scrollValue = MyStepPanel.VerticalScroll.Value + (Top - (MyStepPanel.Height / 2)); // calculate scroll center for the item // Limit scroll location within allowable values - scrollValue = Math.Max(MyStepPanel.VerticalScroll.Minimum,Math.Min(MyStepPanel.VerticalScroll.Maximum,scrollValue)); + scrollValue = Math.Max(MyStepPanel.VerticalScroll.Minimum, Math.Min(MyStepPanel.VerticalScroll.Maximum, scrollValue)); //Console.WriteLine("CenterScroll {0} Current {1} New {2} Min {3} Max {4}", _MyItem.ItemID, _Panel.VerticalScroll.Value, scrollValue, _Panel.VerticalScroll.Minimum, _Panel.VerticalScroll.Maximum); //if (scrollValue >= MyStepPanel.VerticalScroll.Minimum && scrollValue <= MyStepPanel.VerticalScroll.Maximum) // If it is within range MyStepPanel.VerticalScroll.Value = scrollValue; // Center the item @@ -2395,9 +2395,9 @@ namespace Volian.Controls.Library return null; } } - /// - /// Adjust the Location of all items below the current item. - /// + /// + /// Adjust the Location of all items below the current item. + /// internal void AdjustLocation() { if (MyStepPanel.ShuttingDown) return; @@ -2412,9 +2412,17 @@ namespace Volian.Controls.Library // _NextDownEditItemPath); if (nextEditItem != null) { - if (MyStepPanel.ExpandingHLS != null && nextEditItem.MyItemInfo.IsSection) return; // without this, if next item is section, it crashes on null reference + if (MyStepPanel.ExpandingHLS != null && nextEditItem.MyItemInfo.IsSection) + { + AddAdjustItem(this);// B2017-175 Adjust Location after Expanding + return; // without this, if next item is section, it crashes on null reference + } if (MyStepPanel.ExpandingHLS != null && nextEditItem.MyItemInfo.MyHLS.ItemID != MyStepPanel.ExpandingHLS.ItemID) + { + AddAdjustItem(this);// B2017-175 Adjust Location after Expanding return; + } + if (AdjustItems.Contains(this)) AdjustItems.Remove(this);//B2017-175 If processed remove from list to do later int bottom = nextEditItem.FindTop(Bottom); if (MyItemInfo.ActiveFormat.MyStepSectionLayoutData.Dev_Format) { @@ -2466,12 +2474,27 @@ namespace Volian.Controls.Library _MyLog.InfoFormat("'TryAgainLater',{0},{1},{2},{3},{4},'{5}'", oldTop, nextEditItem.Top, newTop, MyStepPanel.Height, nextEditItem.MyID, nextEditItem.MyItemInfo.ShortPath); nextEditItem.TryAgainLater = true; - } + } nextEditItem.LastMethodsPop(); MyStepPanel.ItemMoving--; } } } + private static List _AdjustItems=new List();// B2017-175 Keep a list of EditItems to adjust after expanding + public static List AdjustItems + { + get { return _AdjustItems; } + set { _AdjustItems = value; } + } + private static void AddAdjustItem(EditItem ei)// B2017-175 Add edit item to adjust after expanding + { + if(!AdjustItems.Contains(ei)) AdjustItems.Add(ei); + } + private static void ProcessAdjustItems() // B2017-175 adjust after expanding + { + while (AdjustItems.Count > 0) + AdjustItems[0].AdjustLocation(); + } private int _DevDocHeight = 0; // Deviation Document Step Height B2016-123, B2017-020, B2017-021 public int DevDocHeight { @@ -2480,7 +2503,7 @@ namespace Volian.Controls.Library } public void TryAgainNow(int bottom) { - TryToSetTop(bottom-10); + TryToSetTop(bottom - 10); //TryToSetTop(bottom+10); TryToSetTop(bottom); } @@ -2488,7 +2511,7 @@ namespace Volian.Controls.Library { Top = offset; if (Top != offset) - _MyLog.InfoFormat("Didn't work - Top {0} != offset {1} {2}", Top, offset,MyStepPanel.VerticalScroll.Value); + _MyLog.InfoFormat("Didn't work - Top {0} != offset {1} {2}", Top, offset, MyStepPanel.VerticalScroll.Value); } /// /// Automatically expands Steps if not currently expanded @@ -2497,7 +2520,7 @@ namespace Volian.Controls.Library { if (CanExpand && Expanded == false)// TODO: May need to do some additional checking for subsections { - if(MyStepPanel.AutoExpand) + if (MyStepPanel.AutoExpand) Expand((_ContentType >= 20000) || MyItemInfo.ActiveFormat.MyStepSectionLayoutData.Dev_Format); else Expand(false); @@ -2556,10 +2579,10 @@ namespace Volian.Controls.Library // Only check the flag if the section has subsections because the // default for the flag is not editable, and this would make non-metasections // not editable. - bool hasMetaSubs = MyItemInfo.IsSection && MyItemInfo.Sections != null && MyItemInfo.Sections.Count>0; + bool hasMetaSubs = MyItemInfo.IsSection && MyItemInfo.Sections != null && MyItemInfo.Sections.Count > 0; bool EditSteps = !hasMetaSubs || (MyItemInfo.MyConfig is SectionConfig && (MyItemInfo.MyConfig as SectionConfig).SubSection_Edit == "Y"); if (EditSteps) AddChildAfter(MyItemInfo.Steps, expand); - + if (MyItemInfo.RNOs != null && MyItemInfo.RNOLevel >= MyItemInfo.ColumnMode && !((MyItemInfo.ActiveFormat.PlantFormat.FormatData.PurchaseOptions.Value & E_PurchaseOptions.EnhancedBackgrounds) == E_PurchaseOptions.EnhancedBackgrounds)) AddChildRNO(MyItemInfo.RNOs, expand); @@ -2569,6 +2592,8 @@ namespace Volian.Controls.Library } MyExpandingStatus = ExpandingStatus.Done; BottomMostEditItem.AdjustLocation(); + if (MyItemInfo.IsHigh) + ProcessAdjustItems(); // B2017-175 Adjust after expanding MyExpandingStatus = ExpandingStatus.No; //// TIMING: DisplayItem.TimeIt("Expand End"); } @@ -2715,7 +2740,7 @@ namespace Volian.Controls.Library if (btmNext != null) { int bottom = btmNext.FindTop(btm.Bottom); - if (btmNext.MySupInfoEditItems != null && btmNext.MySupInfoEditItems.Count > 0) + if (btmNext.MySupInfoEditItems != null && btmNext.MySupInfoEditItems.Count > 0) { int btmSupInfo = btmNext.MySupInfoEditItems[0].FindTop(btm.Bottom); if (btmSupInfo > bottom) bottom = btmSupInfo; @@ -2795,7 +2820,7 @@ namespace Volian.Controls.Library public abstract bool FindText(string str, bool caseSensitive, bool matchWholeWord, bool reverse); public abstract void PositionToEnd(); public abstract void PositionToStart(); - public abstract string SelectedTextForFind { get;} + public abstract string SelectedTextForFind { get; } public abstract bool SpellCheckNext(); public abstract void IdentifyMe(bool highlight); public abstract void SetActive(); @@ -2884,14 +2909,14 @@ namespace Volian.Controls.Library if (MyPreviousEditItem != null) { EditItem ei = MyPreviousEditItem.BottomMostEditItem; - if (ei.MyItemInfo.IsHigh && (ei.MyItemInfo.Cautions !=null || ei.MyItemInfo.Notes!=null)) + if (ei.MyItemInfo.IsHigh && (ei.MyItemInfo.Cautions != null || ei.MyItemInfo.Notes != null)) { - if (ei.MyItemInfo.Cautions!= null)// Look at cautions + if (ei.MyItemInfo.Cautions != null)// Look at cautions { EditItem eic = MyStepPanel._LookupEditItems[ei.MyItemInfo.Cautions[0].ItemID].BottomMostEditItem; if (eic.Bottom > ei.Bottom) ei = eic; } - if (ei.MyItemInfo.Notes!= null)//Look at notes + if (ei.MyItemInfo.Notes != null)//Look at notes { EditItem ein = MyStepPanel._LookupEditItems[ei.MyItemInfo.Notes[0].ItemID].BottomMostEditItem; if (ein.Bottom > ei.Bottom) ei = ein; @@ -2937,7 +2962,7 @@ namespace Volian.Controls.Library // Paul Linn made the request on 6/4/12 to align the Component Description & // Required Position under the Component Number. ItemLocation = new Point(_MyParentEditItem.ItemLocation.X, _MyParentEditItem.Bottom); - // part of F2017-011, for enhanced backgrounds, always align the TitleWithTextRight and TitleWithTextBelow with the parent tab (on the screen) + // part of F2017-011, for enhanced backgrounds, always align the TitleWithTextRight and TitleWithTextBelow with the parent tab (on the screen) else if ((MyItemInfo.FormatStepData.Type == "TitleWithTextRight" || MyItemInfo.FormatStepData.Type == "TitleWithTextBelow") && ((MyItemInfo.ActiveFormat.PlantFormat.FormatData.PurchaseOptions.Value & E_PurchaseOptions.EnhancedBackgrounds) == E_PurchaseOptions.EnhancedBackgrounds)) // align with parent tab if in background document ItemLocation = new Point(_MyParentEditItem.ItemLocation.X, _MyParentEditItem.Bottom); else if (MyItemInfo.FormatStepData.Type == "TitleWithTextRight" && (MyItemInfo.Steps == null || MyItemInfo.Steps.Count == 0)) // this code is run for siblings within a HLS (but not last sibling). @@ -2956,7 +2981,7 @@ namespace Volian.Controls.Library { ItemLocation = new Point(_MyParentEditItem.ContentLeft, _MyParentEditItem.Bottom); // if inserting a substep within supplemental information, then may have to adjust steps too: - if (MyItemInfo.IsInSupInfo) + if (MyItemInfo.IsInSupInfo) { AdjustLocation(); // find parent of supinfo & adjust its location: @@ -3004,12 +3029,12 @@ namespace Volian.Controls.Library ItemWidth = MyStepPanel.ToDisplay(MyStepSectionLayoutData.ColT) + MyStepPanel.ToDisplay(MyStepSectionLayoutData.WidSTableEdit, 0); else if (MyItemInfo.MyTab != null && MyItemInfo.MyTab.Offset != 0) { - // Farley - part of bug fix B2015-123 alignment of tabs on the edit screen (Farly is only one using tab offset) - ContentWidth = _MyParentEditItem.ContentWidth; - int xOffTabNew = (MyItemInfo.MyParent.MyTab != null ? MyItemInfo.MyParent.MyTab.Offset : MyItemInfo.MyParent.OffsetTab) + MyItemInfo.MyTab.Offset; - xOffTabNew += MyItemInfo.MyParent.MyTab == null ? 0 : MyItemInfo.MyParent.MyTab.Offset; - int xIncrement = xOffTabNew - MyItemInfo.MyTab.Offset; - MyStepRTB.Location = new Point(MyStepRTB.Location.X + xIncrement, MyStepRTB.Location.Y); + // Farley - part of bug fix B2015-123 alignment of tabs on the edit screen (Farly is only one using tab offset) + ContentWidth = _MyParentEditItem.ContentWidth; + int xOffTabNew = (MyItemInfo.MyParent.MyTab != null ? MyItemInfo.MyParent.MyTab.Offset : MyItemInfo.MyParent.OffsetTab) + MyItemInfo.MyTab.Offset; + xOffTabNew += MyItemInfo.MyParent.MyTab == null ? 0 : MyItemInfo.MyParent.MyTab.Offset; + int xIncrement = xOffTabNew - MyItemInfo.MyTab.Offset; + MyStepRTB.Location = new Point(MyStepRTB.Location.X + xIncrement, MyStepRTB.Location.Y); } else ItemWidth = _MyParentEditItem.ContentWidth; @@ -3063,11 +3088,11 @@ namespace Volian.Controls.Library // width for the screen (this does not affect the printout) // If in single column, don't make this adjustment: string[] splitRNOWidthAlt = MyStepSectionLayoutData.RNOWidthAlt.Split(','); - int ovrRNOWidth = (RNOLevel < splitRNOWidthAlt.Length)?MyStepPanel.ToDisplay(float.Parse(splitRNOWidthAlt[RNOLevel])+1) : 0; + int ovrRNOWidth = (RNOLevel < splitRNOWidthAlt.Length) ? MyStepPanel.ToDisplay(float.Parse(splitRNOWidthAlt[RNOLevel]) + 1) : 0; if (MyStepSectionLayoutData.RNOWidthAlt != null && ovrRNOWidth > 1 && MyItemInfo.ColumnMode != 0) ContentWidth = ovrRNOWidth; else - ContentWidth = _MyParentEditItem.ContentWidth; + ContentWidth = _MyParentEditItem.ContentWidth; _IgnoreResize = false; if (RNOLevel <= MyItemInfo.ColumnMode) { @@ -3127,23 +3152,23 @@ namespace Volian.Controls.Library //} if (MyItemInfo.ActiveFormat.MyStepSectionLayoutData.Dev_Format && (MyItemInfo.IsCaution || MyItemInfo.IsNote)) { - // B2017-043 account for Horizontal Scroll - int x = MyStepPanel.DisplayRectangle.X + MyStepPanel.ToDisplay(MyItemInfo.ActiveFormat.MyStepSectionLayoutData.ColT); - int y = Top; - if (MyPreviousEditItem == null || !MyPreviousEditItem.MyItemInfo.IsCaution || !MyItemInfo.IsNote) - y = FindTop(myTop); - // Get the "bottom" number of the longest Caution/Note on the step/substep above so that - // we can position properly on the screen. - // EX. Catawba Deviations E-1 step deviation for step 10 - EditItem eitm = (MyParentEditItem.MyPreviousEditItem != null) ? MyParentEditItem.MyPreviousEditItem : MyParentEditItem.MyParentEditItem; - if (eitm != null && eitm.MyBeforeEditItems != null) - foreach (EditItem eitmTmp in eitm.MyBeforeEditItems) - y = Math.Max(y, eitmTmp.Bottom); - if (MyItemInfo.IsNote) // Move to the right based upon the Width of the Caution which is the same as the width of the note. - { // AdjustChildren width BeforeItem setting Left offset - int width = MyStepPanel.ToDisplay(MyStepSectionLayoutData.WidT) + spaceToRTB; - x += width + 6;//Account for the width of the Caution in the Deviation Document - } + // B2017-043 account for Horizontal Scroll + int x = MyStepPanel.DisplayRectangle.X + MyStepPanel.ToDisplay(MyItemInfo.ActiveFormat.MyStepSectionLayoutData.ColT); + int y = Top; + if (MyPreviousEditItem == null || !MyPreviousEditItem.MyItemInfo.IsCaution || !MyItemInfo.IsNote) + y = FindTop(myTop); + // Get the "bottom" number of the longest Caution/Note on the step/substep above so that + // we can position properly on the screen. + // EX. Catawba Deviations E-1 step deviation for step 10 + EditItem eitm = (MyParentEditItem.MyPreviousEditItem != null) ? MyParentEditItem.MyPreviousEditItem : MyParentEditItem.MyParentEditItem; + if (eitm != null && eitm.MyBeforeEditItems != null) + foreach (EditItem eitmTmp in eitm.MyBeforeEditItems) + y = Math.Max(y, eitmTmp.Bottom); + if (MyItemInfo.IsNote) // Move to the right based upon the Width of the Caution which is the same as the width of the note. + { // AdjustChildren width BeforeItem setting Left offset + int width = MyStepPanel.ToDisplay(MyStepSectionLayoutData.WidT) + spaceToRTB; + x += width + 6;//Account for the width of the Caution in the Deviation Document + } Location = new Point(x, y); } else @@ -3225,7 +3250,7 @@ namespace Volian.Controls.Library else if (MyPreviousEditItem != null && MyPreviousEditItem.MyItemInfo.FormatStepData != null && MyPreviousEditItem.MyItemInfo.FormatStepData.ReadOnly) ItemWidth = MyStepPanel.ToDisplay(MyStepSectionLayoutData.ColT) + MyStepPanel.ToDisplay(MyStepSectionLayoutData.WidSTableEdit, 0); // RHM The following lines were commented-out for Facing Pages (Supplemental Information) to test follow the instructions - //else if (MyItemInfo.MyTab.Offset != 0) // Farley - part of bug fix B2015-123 alignment of tabs on the edit screen (Farly is only one using tab offset) + //else if (MyItemInfo.MyTab.Offset != 0) // Farley - part of bug fix B2015-123 alignment of tabs on the edit screen (Farly is only one using tab offset) // ContentWidth = (MyPreviousEditItem.MyItemInfo.MyTab.Offset != 0) ? MyPreviousEditItem.ContentWidth : MyPreviousEditItem.ContentWidth + 10; else Width = MyPreviousEditItem.Width; @@ -3310,7 +3335,7 @@ namespace Volian.Controls.Library } private EditItem AdjustForSupInfoHeight() { - if (MyStepPanel._LookupEditItems.ContainsKey(MyID) && MyItemInfo.IsInSupInfo) // only do this if it is displayed (in LookupEditItems and in sup info column + if (MyStepPanel._LookupEditItems.ContainsKey(MyID) && MyItemInfo.IsInSupInfo) // only do this if it is displayed (in LookupEditItems and in sup info column { ItemInfo supInfoPart = MyItemInfo; while (!supInfoPart.IsSupInfoPart) supInfoPart = supInfoPart.MyParent; @@ -3331,7 +3356,7 @@ namespace Volian.Controls.Library EIWsupInfoBelow.Top = Math.Max(bottomOfAboveSupInfoColumn, bottomOfImmediatelyAbove); EIWsupInfoBelow.AdjustLocation(); MyStepPanel.ItemMoving--; - return EIWsupInfoBelow.MySupInfoEditItems==null?null:EIWsupInfoBelow.MySupInfoEditItems[0]; + return EIWsupInfoBelow.MySupInfoEditItems == null ? null : EIWsupInfoBelow.MySupInfoEditItems[0]; } } return null; @@ -3340,7 +3365,7 @@ namespace Volian.Controls.Library { ItemInfo hls = ei.MyItemInfo.MyHLS; EditItem hlsEI = GetEditItemFromItemID(hls.ItemID); - if (hlsEI==null) return null; + if (hlsEI == null) return null; return ei; } // FindSiblingOrParentSiblingWithSupInfo will find the next edititem below me on the screen that has a supinfo @@ -3353,7 +3378,7 @@ namespace Volian.Controls.Library } EditItem chldOfNext = null; // if section, handle notes/cautions on section and if none, look for hls (children of section) - if (itm.NextItem.IsSection) + if (itm.NextItem.IsSection) { if (itm.NextItem.Steps == null || itm.NextItem.Steps.Count == 0) return null; chldOfNext = FindFirstCautionOrNoteWithSupInfo(itm.NextItem); @@ -3373,7 +3398,7 @@ namespace Volian.Controls.Library return GetEditItemFromItemID(itm.NextItem.ItemID); } // no longer looking at next, go to children. - chldOfNext = FindFirstChildWithSupInfo(itm.NextItem); + chldOfNext = FindFirstChildWithSupInfo(itm.NextItem); if (chldOfNext != null) return CheckForExpanded(chldOfNext); return FindSiblingOrParentSiblingWithSupInfo(itm.NextItem); } @@ -3393,14 +3418,14 @@ namespace Volian.Controls.Library } } // if on a caution or note check the step below me, which is really my activeparent (cautions/notes are above their respective parent) - if ((itm.IsCaution || itm.IsNote) && itm.NextItem == null && (itm.ActiveParent as ItemInfo).SupInfos != null && (itm.ActiveParent as ItemInfo).SupInfos.Count > 0) + if ((itm.IsCaution || itm.IsNote) && itm.NextItem == null && (itm.ActiveParent as ItemInfo).SupInfos != null && (itm.ActiveParent as ItemInfo).SupInfos.Count > 0) return GetEditItemFromItemID((itm.ActiveParent as ItemInfo).ItemID); // Finally check substeps: if (itm.Steps == null || itm.Steps.Count == 0) return null; foreach (ItemInfo ii in itm.Steps) { - if (ii.SupInfos != null && ii.SupInfos.Count > 0) + if (ii.SupInfos != null && ii.SupInfos.Count > 0) return GetEditItemFromItemID(ii.ItemID); EditItem chld = FindFirstChildWithSupInfo(ii); if (chld != null) return CheckForExpanded(chld); @@ -3467,7 +3492,7 @@ namespace Volian.Controls.Library { EditItem ei = this; while (ei != null && !ei.MyItemInfo.IsHigh) ei = ei.MyParent;// Get High Level Step - if(ei != null) ei=ei.MyNextEditItem;// Get Next High Level Step + if (ei != null) ei = ei.MyNextEditItem;// Get Next High Level Step if (ei != null) { if (ei.MyItemInfo.IsHigh && (ei.MyItemInfo.Cautions != null || ei.MyItemInfo.Notes != null)) @@ -3538,7 +3563,7 @@ namespace Volian.Controls.Library vlntxt = null; } ContentFont = myStepPanel.StepFont;//lblTab.Font = myStepPanel.StepFont; - if (itemInfo.MyTab != null ) TabFont = itemInfo.MyTab.MyFont.WindowsFont; + if (itemInfo.MyTab != null) TabFont = itemInfo.MyTab.MyFont.WindowsFont; MyStepData = itemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList[ContentType % 10000]; break; } @@ -3612,7 +3637,7 @@ namespace Volian.Controls.Library if (itemInfo.IsSupInfoPart) { EditItem high = MyStepPanel._LookupEditItems[itemInfo.MyHLS.ItemID]; - ContentLocation = new Point(high.ContentLeft + high.Width + 36, (int)_MyParentEditItem.Top + SupInfoTopOffset); + ContentLocation = new Point(high.ContentLeft + high.Width + 36, (int)_MyParentEditItem.Top + SupInfoTopOffset); } //// TIMING: DisplayItem.TimeIt("CSLARTB SetText"); if (itemInfo != null) @@ -3710,7 +3735,7 @@ namespace Volian.Controls.Library //g.DrawLine(Pens.DarkGreen, 18, 3, 21, 3); //g.DrawLine(Pens.DarkGreen, 18, 6, 21, 6); //g.DrawString("B", fnt, Brushes.Green, new RectangleF(new PointF(0,0), this.Size), StringFormat.GenericDefault); - g.DrawString(dved.PdfToken, fnt, Brushes.Green, new RectangleF(new PointF(x,y), this.Size), StringFormat.GenericDefault); + g.DrawString(dved.PdfToken, fnt, Brushes.Green, new RectangleF(new PointF(x, y), this.Size), StringFormat.GenericDefault); if (y > 0) { x += 18; @@ -3757,7 +3782,7 @@ namespace Volian.Controls.Library if (this is GridItem) { GridItem gi = this as GridItem; - X = gi.MyFlexGrid.Right+2; + X = gi.MyFlexGrid.Right + 2; H = gi.MyFlexGrid.Height; } else if (this is RtfRawItem) @@ -3778,7 +3803,7 @@ namespace Volian.Controls.Library X = ri.MyStepRTB.Right + 2; H = ri.MyStepRTB.Height; } - g.DrawLine(penCB, X, ContentTop, X, ContentTop+H); //Height); + g.DrawLine(penCB, X, ContentTop, X, ContentTop + H); //Height); } } if (UserCheckOff) @@ -3807,7 +3832,7 @@ namespace Volian.Controls.Library else location = new PointF(ii.MyPictureBox.Left + ii.MyPictureBox.Width + 2, ii.MyPictureBox.Top); } - else + else { RTBItem ri = this as RTBItem; // SkipSpaces puts the checkoff macro (if specified in the format) next to the step tab @@ -3823,7 +3848,7 @@ namespace Volian.Controls.Library // 'UserCheckOff' or 'UserCheckOffChar' properties to reflect that. if (co != null && co.UIMark != null) { - UserCheckOffChar = (char)co.UIMark; + UserCheckOffChar = (char)co.UIMark; Font myFont = new Font("VolianDraw", MyItemInfo.MyTab.MyFont.WindowsFont.Size); g.DrawString(UserCheckOffChar.ToString(), myFont, Brushes.DarkGreen, new RectangleF(location, MyStepPanel.MyStepPanelSettings.NumberSize), StringFormat.GenericDefault); }