Ejemplo n.º 1
0
        /// <summary>
        /// 修改或新添标签标注
        /// </summary>
        /// <param name="path">标注路径</param>
        /// <param name="isNew">是否是新建</param>
        public static void AllOrEditTag(string path, bool isNew)
        {
            SelectTagWindow window       = new SelectTagWindow();
            bool?           dialogResult = window.ShowDialog();

            if (dialogResult == true)
            {
                TagBean tagBean = window.tagBean;
                if (tagBean.Id == 0)
                {
                    DirTagMapper.DeleteOneByPath(path);
                }
                if (isNew)
                {
                    DirTagMapper.AddOne(new DirTagBean()
                    {
                        Path  = path,
                        TagId = tagBean.Id,
                    });
                }
                else
                {
                    DirTagMapper.EditOneByPath(path, tagBean.Id);
                }
                //刷新标签缓存
                TagSupport.SetTagSort();
            }
        }
Ejemplo n.º 2
0
        //删除路径
        public void DeletePath_Click(object sender, RoutedEventArgs e)
        {
            Grid grid = VisualTreeHelper.GetParent(sender as UIElement) as Grid;

            DirTagMapper.DeleteOneById(uint.Parse(grid.Uid));
            pathList.ItemsSource = TagService.GetPathItemSource(selectedTagId);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 递归删除标签及其所有子标签
 /// </summary>
 /// <param name="tagId"></param>
 public static void DeleteTag(uint tagId)
 {
     TagBean[] beanList = TagMapper.GetChildTag(tagId);
     foreach (TagBean bean in beanList)
     {
         DeleteTag(bean.Id);
     }
     TagMapper.DeleteOne(tagId);
     DirTagMapper.DeleteByTagId(tagId);
 }
Ejemplo n.º 4
0
        //添加或修改标签的地址
        public void EditedItem_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (isInIt)
            {
                return;
            }
            //取消注册事件
            MouseLeftButtonDown          -= EditedItem_MouseDown;
            pathList.MouseLeftButtonDown -= EditedItem_MouseDown;
            tagName.MouseLeftButtonDown  -= EditedItem_MouseDown;
            pathGrid.MouseLeftButtonDown -= EditedItem_MouseDown;
            //获取相关信息
            string editedGridUid = editedGrid.Uid;
            string editedPath    = null;

            foreach (UIElement element in editedGrid.Children)
            {
                if (element is TextBox)
                {
                    editedPath = (element as TextBox).Text;
                }
            }
            if (editedPath != string.Empty)
            {
                //添加
                if (editedGridUid == "newPath")
                {
                    DirTagMapper.AddOne(new DirTagBean()
                    {
                        TagId = selectedTagId,
                        Path  = editedPath,
                    });
                }
                //修改
                else
                {
                    DirTagMapper.EditOneById(uint.Parse(editedGridUid), editedPath);
                }
            }
            TagSupport.SetTagSort();
            int index = pathList.SelectedIndex;

            pathList.ItemsSource   = TagService.GetPathItemSource(selectedTagId);
            pathList.SelectedIndex = index;
            isInIt = true; //设置为true,关闭该方法的相应
        }
Ejemplo n.º 5
0
        private static void SetTagSortAsyn()
        {
            DirTagBean[] beans = DirTagMapper.GetAll();
            //根据标注长度进行排序
            DirTagBean bean  = null;
            int        count = beans.Length;

            for (int r = 0; r < count; r++)
            {
                for (int i = 0; i < count - 1; i++)
                {
                    string a = beans[i].Path;
                    string b = beans[i + 1].Path;
                    if (a.Length < b.Length)
                    {
                        bean         = beans[i];
                        beans[i]     = beans[i + 1];
                        beans[i + 1] = bean;
                    }
                }
            }
            InternalStorage.Set(InternalStorage.Domain.tag, "tagSort", beans);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 获取地址列表
        /// </summary>
        /// <param name="tagId">标签id</param>
        public static Grid[] GetPathItemSource(uint tagId)
        {
            MainWindow main = Application.Current.MainWindow as MainWindow;

            DirTagBean[] beans = DirTagMapper.GetAllByTag(tagId);
            int          count = beans.Length;

            Grid[] items = new Grid[count + 1];
            for (int i = 0; i < count; i++)
            {
                TextBlock showPath = new TextBlock()
                {
                    FontSize = 16,
                    Text     = beans[i].Path,
                };
                showPath.MouseLeftButtonDown += main.tagPage.Path_Click;
                showPath.MouseLeftButtonDown += main.tagPage.EditedItem_MouseDown;
                TextBox editPath = new TextBox()
                {
                    FontSize   = 16,
                    Margin     = new Thickness(0, 0, 40, 0),
                    Text       = beans[i].Path,
                    Visibility = Visibility.Collapsed,
                };
                Button deleteButton = new Button()
                {
                    FontSize            = 16,
                    HorizontalAlignment = HorizontalAlignment.Right,
                    Content             = "删除",
                    Visibility          = Visibility.Collapsed,
                    Background          = new SolidColorBrush()
                    {
                        Color = Color.FromArgb(0, 0, 0, 0)
                    },
                };
                deleteButton.Click += main.tagPage.DeletePath_Click;
                Grid grid = new Grid()
                {
                    Uid = beans[i].Id.ToString(),
                };
                grid.Children.Add(showPath);
                grid.Children.Add(editPath);
                grid.Children.Add(deleteButton);
                items[i] = grid;
            }
            //添加新建行
            TextBlock showNewPath = new TextBlock()
            {
                FontSize = 16,
                Text     = "双击添加新地址",
            };

            showNewPath.MouseLeftButtonDown += main.tagPage.Path_Click;
            showNewPath.MouseLeftButtonDown += main.tagPage.EditedItem_MouseDown;
            TextBox editNewPath = new TextBox()
            {
                FontSize   = 16,
                Visibility = Visibility.Collapsed,
            };
            Grid newPathGrid = new Grid()
            {
                Uid = "newPath",
            };

            newPathGrid.Children.Add(showNewPath);
            newPathGrid.Children.Add(editNewPath);
            items[count] = newPathGrid;
            return(items);
        }