/// <summary> /// Creates the and add tag node in tree list on proper position defined by index. /// This allowes the tag nodes to keep ordered by name. /// </summary> /// <param name="tag"> The tag name to create. </param> /// <param name="index"> The index on which node would be inserted. If negative number, than it is added to the end. </param> /// <returns> Not null, newly creted node </returns> public TagTreeNode CreateAndAddTagNode(String tag, int index = -1) { TagTreeNode tagNode = new TagTreeNode(tag); InsertNodePreservingOrder(this.treeList.Nodes, index, tagNode); return(tagNode); }
private static void RemoveFavoriteFromTagNode(TagTreeNode tagNode, String favoriteName) { if (tagNode != null && !tagNode.NotLoadedYet) { tagNode.Nodes.RemoveByKey(favoriteName); } }
public override void LoadAllFavoritesUnderTag(TagTreeNode tagNode, string filter = null) { if (tagNode != null) { this.loader.LoadFavorites(tagNode, false, filter); } }
public void LoadTags(bool isDatabaseFavorite) { ClearTags(); this.unTaggedNode = this.CreateAndAddTagNode(Settings.UNTAGGED_NODENAME); // This prevents SharpDevelop and Visual Studio from both an exception in design mode for controls using this HistoryTreeView and from crashing when opening the // designer for this class. if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) { return; } // because of designer if (Settings.Tags(false) == null) { return; } int counter = 0; if (!isDatabaseFavorite) { foreach (string tagName in Settings.Tags(false)) { this.CreateAndAddTagNode(tagName); counter++; if (Program.LimitTags != 0 && Program.LimitTags == counter) { break; } } } else { using (Terminals.Configuration.Sql.TerminalsObjectContext dc = Terminals.Configuration.Sql.TerminalsObjectContext.Create()) { if (dc == null) { return; } // Filter all other tags foreach (var group in dc.Groups) { this.CreateAndAddTagNode(group.Name); counter++; if (Program.LimitTags != 0 && Program.LimitTags == counter) { break; } } } } }
private static void RefreshGroupNodes(TagTreeNode groupNode) { groupNode.Nodes.Clear(); SortableList <FavoriteConfigurationElement> groupFavorites = ConnectionHistory.Instance.GetDateItems(groupNode.Name); CreateGroupNodes(groupNode, groupFavorites); }
public void LoadFavorites(TagTreeNode tagNode, bool isDatabaseFavorite, string filter = null) { if (tagNode.NotLoadedYet) { tagNode.Nodes.Clear(); AddFavoriteNodes(tagNode, isDatabaseFavorite, filter); } }
private void ExpandDateGroupNode(TagTreeNode groupNode) { this.Cursor = Cursors.WaitCursor; if (groupNode.NotLoadedYet) { RefreshGroupNodes(groupNode); } this.Cursor = Cursors.Default; }
private static void CreateGroupNodes(TagTreeNode groupNode, SortableList <FavoriteConfigurationElement> groupFavorites) { foreach (FavoriteConfigurationElement favorite in groupFavorites) { FavoriteTreeNode favoriteNode = new FavoriteTreeNode(favorite); groupNode.Nodes.Add(favoriteNode); } }
private void FilterTags(string tagName, string filter) { TagTreeNode node = this.loader.CreateAndAddTagNode(tagName); LoadAllFavoritesUnderTag(node, filter); if (node.Nodes.Count == 0) { node.Remove(); } }
private static void InsertRecordedNode(TagTreeNode todayGroup, HistoryRecordedEventArgs args) { FavoriteConfigurationElement favorite = Settings.GetOneFavorite(args.ConnectionName, false); // shouldn't happen, because the favorite was actualy processed if (favorite != null) { int insertIndex = TreeListLoader.FindFavoriteNodeInsertIndex(todayGroup.Nodes, favorite); FavoriteTreeNode favoriteNode = new FavoriteTreeNode(favorite); todayGroup.Nodes.Insert(insertIndex, favoriteNode); } }
private void RemoveFavorites(List <FavoriteConfigurationElement> removedFavorites) { foreach (FavoriteConfigurationElement favorite in removedFavorites) { foreach (String tag in favorite.TagList) { TagTreeNode tagNode = this.treeList.Nodes[tag] as TagTreeNode; RemoveFavoriteFromTagNode(tagNode, favorite.Name); } RemoveFavoriteFromTagNode(this.unTaggedNode, favorite.Name); } }
private void AddFavoriteToAllItsTagNodes(FavoriteConfigurationElement favorite) { foreach (string tag in favorite.TagList) { TagTreeNode tagNode = GetTagTreeNode(tag); AddNewFavoriteNodeToTagNode(favorite, tagNode); } if (String.IsNullOrEmpty(favorite.Tags)) { AddNewFavoriteNodeToTagNode(favorite, this.unTaggedNode); } }
private void InsertRecordedNode(HistoryRecordedEventArgs args) { TagTreeNode todayGroup = this.Nodes[HistoryByFavorite.TODAY] as TagTreeNode; if (todayGroup.NotLoadedYet) { return; } if (!todayGroup.ContainsFavoriteNode(args.ConnectionName)) { InsertRecordedNode(todayGroup, args); } }
private static void AddFavoriteNodes(TagTreeNode tagNode, bool isDatabaseFavorite, string filter = null) { List <FavoriteConfigurationElement> tagFavorites = Settings.GetSortedFavoritesByTag(tagNode.Text, isDatabaseFavorite); int counter = 0; foreach (FavoriteConfigurationElement favorite in tagFavorites) { if (string.IsNullOrEmpty(filter) || favorite.Name.ToUpper().Contains(filter.ToUpper()) || favorite.Name.ToUpper() == filter.ToUpper()) { FavoriteTreeNode favoriteTreeNode = new FavoriteTreeNode(favorite); tagNode.Nodes.Add(favoriteTreeNode); counter++; if (Program.LimitFavorites != 0 && Program.LimitFavorites == counter) { break; } } } }
private void AddNewHistoryGroupNode(string name, string imageKey) { TagTreeNode groupNode = new TagTreeNode(name, imageKey); this.Nodes.Add(groupNode); }
private static void AddNewFavoriteNodeToTagNode(FavoriteConfigurationElement favorite, TagTreeNode tagNode) { if (tagNode != null && !tagNode.NotLoadedYet) // add only to expanded nodes { FavoriteTreeNode favoriteTreeNode = new FavoriteTreeNode(favorite); int index = FindFavoriteNodeInsertIndex(tagNode.Nodes, favorite); InsertNodePreservingOrder(tagNode.Nodes, index, favoriteTreeNode); } }
public virtual void LoadAllFavoritesUnderTag(TagTreeNode tagNode, string filter = null) { }
private void OnTreeViewExpand(object sender, TreeViewEventArgs e) { TagTreeNode groupNode = e.Node as TagTreeNode; this.ExpandDateGroupNode(groupNode); }
private static void AddFavoriteNodes(TagTreeNode tagNode, bool isDatabaseFavorite, string filter = null) { List<FavoriteConfigurationElement> tagFavorites = Settings.GetSortedFavoritesByTag(tagNode.Text, isDatabaseFavorite); int counter = 0; foreach (FavoriteConfigurationElement favorite in tagFavorites) { if (string.IsNullOrEmpty(filter) || favorite.Name.ToUpper().Contains(filter.ToUpper()) || favorite.Name.ToUpper() == filter.ToUpper()) { FavoriteTreeNode favoriteTreeNode = new FavoriteTreeNode(favorite); tagNode.Nodes.Add(favoriteTreeNode); counter++; if (Program.LimitFavorites != 0 && Program.LimitFavorites == counter) break; } } }
public void LoadTags(bool isDatabaseFavorite) { ClearTags(); this.unTaggedNode = this.CreateAndAddTagNode(Settings.UNTAGGED_NODENAME); // This prevents SharpDevelop and Visual Studio from both an exception in design mode for controls using this HistoryTreeView and from crashing when opening the // designer for this class. if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) return; // because of designer if (Settings.Tags(false) == null) return; int counter = 0; if (!isDatabaseFavorite) foreach (string tagName in Settings.Tags(false)) { this.CreateAndAddTagNode(tagName); counter++; if (Program.LimitTags != 0 && Program.LimitTags == counter) break; } else using (Terminals.Configuration.Sql.TerminalsObjectContext dc = Terminals.Configuration.Sql.TerminalsObjectContext.Create()) { if (dc == null) return; // Filter all other tags foreach (var group in dc.Groups) { this.CreateAndAddTagNode(group.Name); counter++; if (Program.LimitTags != 0 && Program.LimitTags == counter) break; } } }
private static void RefreshGroupNodes(TagTreeNode groupNode) { groupNode.Nodes.Clear(); SortableList<FavoriteConfigurationElement> groupFavorites = ConnectionHistory.Instance.GetDateItems(groupNode.Name); CreateGroupNodes(groupNode, groupFavorites); }
private static void CreateGroupNodes(TagTreeNode groupNode, SortableList<FavoriteConfigurationElement> groupFavorites) { foreach (FavoriteConfigurationElement favorite in groupFavorites) { FavoriteTreeNode favoriteNode = new FavoriteTreeNode(favorite); groupNode.Nodes.Add(favoriteNode); } }
private static void RemoveFavoriteFromTagNode(TagTreeNode tagNode, String favoriteName) { if (tagNode != null && !tagNode.NotLoadedYet) tagNode.Nodes.RemoveByKey(favoriteName); }
public override void LoadAllFavoritesUnderTag(TagTreeNode tagNode, string filter = null) { if (tagNode != null) this.loader.LoadFavorites(tagNode, true, filter); }
private void OnTreeViewExpand(object sender, TreeViewEventArgs e) { TagTreeNode tagNode = e.Node as TagTreeNode; LoadAllFavoritesUnderTag(tagNode); }
/// <summary> /// Creates the and add tag node in tree list on proper position defined by index. /// This allowes the tag nodes to keep ordered by name. /// </summary> /// <param name="tag"> The tag name to create. </param> /// <param name="index"> The index on which node would be inserted. If negative number, than it is added to the end. </param> /// <returns> Not null, newly creted node </returns> public TagTreeNode CreateAndAddTagNode(String tag, int index = -1) { TagTreeNode tagNode = new TagTreeNode(tag); InsertNodePreservingOrder(this.treeList.Nodes, index, tagNode); return tagNode; }