C2021-035 Add Refresh Tree Option at highest level
This commit is contained in:
		@@ -1269,6 +1269,11 @@ namespace Volian.Controls.Library
 | 
			
		||||
					if (ok)
 | 
			
		||||
						if (pia == null && tn.VEObject as StepInfo == null) cm.MenuItems.Add("Properties...", new EventHandler(mi_Click));
 | 
			
		||||
					#endregion
 | 
			
		||||
					#region Refresh_Tree
 | 
			
		||||
					//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
					if (tn == (VETreeNode)Nodes[0])
 | 
			
		||||
						cm.MenuItems.Add("Refresh Tree", new EventHandler(mi_Click));
 | 
			
		||||
					#endregion
 | 
			
		||||
					//_MyLog.WarnFormat("Context Menu 7 - {0}", GC.GetTotalMemory(true));
 | 
			
		||||
 | 
			
		||||
					if (fi != null && fi.HasWorkingDraft)
 | 
			
		||||
@@ -2352,6 +2357,10 @@ namespace Volian.Controls.Library
 | 
			
		||||
				case "Print All Approved Procedures": //C2025-017 print all approved procedures
 | 
			
		||||
					OnPrintAllApprovedProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
 | 
			
		||||
					break;
 | 
			
		||||
				//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
				case "Refresh Tree":
 | 
			
		||||
					RefreshTree();
 | 
			
		||||
					break;
 | 
			
		||||
				default:
 | 
			
		||||
					if (mi.Text.StartsWith("Showing Change Bars Starting"))
 | 
			
		||||
						OnSelectDateToStartChangeBars(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
 | 
			
		||||
@@ -3926,6 +3935,13 @@ namespace Volian.Controls.Library
 | 
			
		||||
			if (Processing != null)
 | 
			
		||||
				Processing(this, new vlnTreeStatusEventArgs(status, message));
 | 
			
		||||
		}
 | 
			
		||||
		//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
		public event vlnTreeViewStatusEvent RefreshFormats;
 | 
			
		||||
		private void OnRefreshFormats(bool status, string message)
 | 
			
		||||
		{
 | 
			
		||||
			if (RefreshFormats != null)
 | 
			
		||||
				RefreshFormats(this, new vlnTreeStatusEventArgs(status, message));
 | 
			
		||||
		}
 | 
			
		||||
		#endregion
 | 
			
		||||
		#region SetLastValuesAndSaveIfChangedStuff
 | 
			
		||||
		private void SetLastValues(VETreeNode node)
 | 
			
		||||
@@ -4648,6 +4664,36 @@ namespace Volian.Controls.Library
 | 
			
		||||
				if (myFolder.FolderID == ((FolderInfo)obj2).FolderID) return true;
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//C2021-035 Add Refresh Tree Option at highest level
 | 
			
		||||
		public void RefreshTree()
 | 
			
		||||
        {
 | 
			
		||||
			//reload the base node
 | 
			
		||||
			VETreeNode tbase = (VETreeNode) Nodes[0];
 | 
			
		||||
			tbase.ChildrenLoaded = false;
 | 
			
		||||
 | 
			
		||||
			//Refresh the formats
 | 
			
		||||
			OnRefreshFormats(true, "Refreshing Formats");
 | 
			
		||||
 | 
			
		||||
			//reset the procedure lists so db is re-queried in case they changed
 | 
			
		||||
			//also clear other caches in case added steps / sections / etc...
 | 
			
		||||
			PartInfo.ClearPartInfoCache();
 | 
			
		||||
			ItemInfo.ClearItemInfoCache();
 | 
			
		||||
			DocVersionInfo.ResetAllProcedures();
 | 
			
		||||
			FolderInfo.ClearFolderInfoCache();
 | 
			
		||||
 | 
			
		||||
			//Refresh the base VEPROMS object
 | 
			
		||||
			var fldr = tbase.VEObject as FolderInfo;
 | 
			
		||||
			if (fldr != null)
 | 
			
		||||
			{
 | 
			
		||||
				Invoke((Action)(() => { tbase.VEObject = FolderInfo.Get(fldr.FolderID); }));
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			//refresh the tree
 | 
			
		||||
			Invoke((Action)(() => { tbase.RefreshNode(); }));
 | 
			
		||||
			this.Invoke((Action)(() => { this.Update(); }));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
	#region DragHelper
 | 
			
		||||
	public class DragHelper
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user