예제 #1
0
        /// <summary>
        /// 获取筛选项
        /// </summary>
        /// <param name="filter">筛选条件</param>
        /// <returns></returns>
        public static List <ResourceBrowserFilterItem> GetFilterItem(string filter)
        {
            if (filter.IsNullOrEmptyOrWhiteSpace())
            {
                return(ResourceBrowserHelper.GetDefaultFilterItem());
            }
            string[] tokens = filter.Split('|');
            if (tokens.Length % 2 != 0)
            {
                return(ResourceBrowserHelper.GetDefaultFilterItem());
            }
            List <ResourceBrowserFilterItem> list = new List <ResourceBrowserFilterItem>();

            for (int i = 0; i < tokens.Length; i += 2)
            {
                ResourceBrowserFilterItem item = new ResourceBrowserFilterItem();
                item.Label = tokens[i];
                string   str_types = tokens[i + 1];
                string[] types     = str_types.Split(';');
                item.Filters = new List <string>();
                item.Filters.AddRange(types);
                item.DisplayLabel = item.Label + "(" + str_types + ")";
                list.Add(item);
            }
            return(list);
        }
예제 #2
0
        /// <summary>
        /// 创建逻辑跟路径下的文件夹
        /// </summary>
        /// <param name="temp_text">要创建文件夹的父目录信息</param>
        /// <param name="floderPath">要创建的目录完整路径</param>
        /// <param name="selected">当前树选中的节点</param>
        private void PART_CreateFloder_Click_LogicRoot(string temp_text, string floderPath, ResourceBrowserItem selected)
        {
            ResourceBrowserItem parent = ResourceBrowserHelper.FindItem(this.PART_Tree.ItemsSource, temp_text);

            if (parent != null)
            {
                if (parent.Items == null)
                {
                    this.PART_Tree.Expand(parent);
                    ResourceBrowserItem item = ResourceBrowserHelper.FindItem(this.PART_Tree.ItemsSource, floderPath);
                    if (ResourceBrowserHelper.IsParent(selected, item))
                    {
                        this.PART_Tree.SetSelectedValue(item);
                    }
                }
                else
                {
                    ResourceBrowserItem item = new ResourceBrowserItem(floderPath, false);
                    parent.Items.Add(item);
                    this.PART_Tree.Expand(parent);
                    item.Parent = parent;
                    if (ResourceBrowserHelper.IsParent(selected, item))
                    {
                        this.PART_Tree.SetSelectedValue(item);
                    }
                }
            }
        }
예제 #3
0
 /// <summary>
 /// 构建一个资源项
 /// </summary>
 /// <param name="isFile">是否是文件</param>
 /// <param name="path">路径</param>
 /// <param name="icon">图标</param>
 /// <param name="name">标题</param>
 public ResourceBrowserItem(string path, bool?isFile = null, Icon icon = null, string name = null)
 {
     this.FullPath = path;
     this.Icon     = icon;
     if (isFile == null)
     {
         this.IsFile = ResourceBrowserHelper.IsFile(path);
     }
     else
     {
         this.IsFile = isFile.Value;
     }
     if (this.IsFile)
     {
         System.IO.FileInfo fi = new System.IO.FileInfo(this.FullPath);
         if (name == null)
         {
             this.Name = fi.Name;
         }
         else
         {
             this.Name = name;
         }
         this.Token = fi.Name.Replace("\\", string.Empty);
         if (icon == null)
         {
             this.Icon = ResourceBrowserHelper.GetFileIcon(fi.FullName);
         }
     }
     else
     {
         System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(this.FullPath);
         if (name == null)
         {
             this.Name = di.Name;
         }
         else
         {
             this.Name = name;
         }
         this.Token = di.Name.Replace("\\", string.Empty).ToLower();
         if (icon == null)
         {
             this.Icon = ResourceBrowserHelper.GetDirectoryIcon();
         }
     }
 }
        public System.Collections.IEnumerable SelectChildren(object item)
        {
            ResourceBrowserItem i = item as ResourceBrowserItem;

            if (i == null || i.IsFile)
            {
                return(null);
            }

            if (i.Items == null)
            {
                i.Items = ResourceBrowserHelper.GetDirectorys(i.FullPath);
                if (i.Items == null)
                {
                    return(null);
                }
                foreach (ResourceBrowserItem v in i.Items)
                {
                    v.Parent = i;
                }
            }
            return(i.Items);
        }
예제 #5
0
        /// <summary>
        /// 点击向上按钮
        /// </summary>
        private void PART_Up_Click(object sender, RoutedEventArgs e)
        {
            if (this.PART_TextBox.Text.IsNullOrEmptyOrWhiteSpace())
            {
                return;
            }

            string path = System.IO.Path.GetDirectoryName(this.PART_TextBox.Text);

            if (path.IsNullOrEmptyOrWhiteSpace())
            {
                return;
            }

            ResourceBrowserItem selected = this.PART_Tree.GetSelectedValue() as ResourceBrowserItem;

            if (selected == null)
            {
                return;
            }

            ResourceBrowserItem root = ResourceBrowserHelper.FindRoot(selected);

            ResourceBrowserItem item = ResourceBrowserHelper.FindItemEx(root, path);

            if (item == null)
            {
                this.DirectoryPath     = path;
                this.PART_TextBox.Text = path;
            }
            else
            {
                this.PART_Tree.SetSelectedValue(item);
                this.PART_TextBox.Text = item.FullPath;
                this.DirectoryPath     = item.FullPath;
            }
        }