Пример #1
0
        /// <summary>
        /// Gets the items from file.
        /// </summary>
        /// <param name="sourceFile">Source file.</param>
        /// <returns>Items list.</returns>
        public ObservableList <string> GetItemsFromFile(TextAsset sourceFile)
        {
            var result = new ObservableList <string>();

            if (file == null)
            {
                result.Comparison = ListView.ItemsComparison;
                return(result);
            }

            foreach (var str in sourceFile.text.Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.None))
            {
                var item = str.TrimEnd();

                if (Unique && result.Contains(item))
                {
                    continue;
                }

                if (!AllowEmptyItems && string.IsNullOrEmpty(item))
                {
                    continue;
                }

                if (IsComment(item))
                {
                    continue;
                }

                result.Add(item);
            }

            result.Comparison = ListView.ItemsComparison;

            return(result);
        }
Пример #2
0
        /// <summary>
        /// Convert nodes tree to list.
        /// </summary>
        /// <returns>The list.</returns>
        /// <param name="sourceNodes">Source nodes.</param>
        /// <param name="depth">Depth.</param>
        /// <param name="list">List.</param>
        protected virtual int Nodes2List(IObservableList <TreeNode <TItem> > sourceNodes, int depth, ObservableList <ListNode <TItem> > list)
        {
            var added_nodes = 0;

            foreach (var node in sourceNodes)
            {
                if (!node.IsVisible)
                {
                    continue;
                }
                list.Add(new ListNode <TItem>(node, depth));
                if ((node.IsExpanded) && (node.Nodes != null) && (node.Nodes.Count > 0))
                {
                    var used = Nodes2List(node.Nodes, depth + 1, list);
                    node.UsedNodesCount = used;
                }
                else
                {
                    node.UsedNodesCount = 0;
                }
                added_nodes += 1;
            }
            return(added_nodes);
        }
Пример #3
0
        /// <summary>
        /// Ger drives.
        /// </summary>
        /// <returns>Drives list.</returns>
        public virtual ObservableList <TreeNode <FileSystemEntry> > GetDrives()
        {
            var nodes = new ObservableList <TreeNode <FileSystemEntry> >();

            ExceptionsView.Execute(() => {
                /*
                 * DriveInfo.GetDrives().ForEach(drive => {
                 *      var format = !string.IsNullOrEmpty(drive.VolumeLabel) ? "{1} ({0})" : "{0}";
                 *      var label = String.Format(format, drive.Name, drive.VolumeLabel);
                 *      var item = new FileSystemEntry(drive.Name, label, false);
                 *      nodes.Add(new TreeNode<FileSystemEntry>(item, null));
                 * });
                 */
#if !NETFX_CORE
                var drives = Directory.GetLogicalDrives();
                drives.ForEach(drive => {
                    var item = new FileSystemEntry(drive, drive, false);
                    nodes.Add(new TreeNode <FileSystemEntry>(item, null));
                });
#endif
            });

            return(nodes);
        }