Beispiel #1
0
		protected override void SelectOnly(DragTreeViewItem item)
		{
			base.SelectOnly(item);
			
			var node = item.DataContext as IOutlineNode;
			
			var surface = node.DesignItem.View.TryFindParent<DesignSurface>();
			if (surface != null)
				surface.ScrollIntoView(node.DesignItem);
		}
Beispiel #2
0
		internal void ItemAttached(DragTreeViewItem item)
		{
			if (item.IsSelected) Selection.Add(item);
		}
Beispiel #3
0
		internal void ItemMouseUp(DragTreeViewItem item)
		{
			if (upSelection == item) {
				SelectOnly(item);
			}
			upSelection = null;
		}
 void Select(DragTreeViewItem item)
 {
     Selection.Add(item);
     item.IsSelected = true;
     OnSelectionChanged();
 }
Beispiel #5
0
		public virtual bool ShouldItemBeVisible(DragTreeViewItem dragTreeViewitem)
		{
			return true;
		}
Beispiel #6
0
		protected virtual void Insert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy)
		{
		}
Beispiel #7
0
		protected virtual void SelectOnly(DragTreeViewItem item)
		{
			ClearSelection();
			Select(item);
			OnSelectionChanged();
		}
Beispiel #8
0
		void Select(DragTreeViewItem item)
		{
			Selection.Add(item);
			item.IsSelected = true;
			OnSelectionChanged();
		}
Beispiel #9
0
 protected override bool CanInsert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy)
 {
     UpdateCustomNodes(items);
     return((target.DataContext as IOutlineNode).CanInsert(_customOutlineNodes,
                                                           after == null ? null : after.DataContext as IOutlineNode, copy));
 }
Beispiel #10
0
 public virtual bool ShouldItemBeVisible(DragTreeViewItem dragTreeViewitem)
 {
     return(true);
 }
Beispiel #11
0
 protected virtual void Remove(DragTreeViewItem target, DragTreeViewItem item)
 {
 }
Beispiel #12
0
 protected virtual void Insert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy)
 {
 }
Beispiel #13
0
 protected virtual bool CanInsert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy)
 {
     return(true);
 }
Beispiel #14
0
 protected virtual void SelectOnly(DragTreeViewItem item)
 {
     ClearSelection();
     Select(item);
     OnSelectionChanged();
 }
Beispiel #15
0
 void Unselect(DragTreeViewItem item)
 {
     Selection.Remove(item);
     item.IsSelected = false;
     OnSelectionChanged();
 }
Beispiel #16
0
		internal void ItemDetached(DragTreeViewItem item)
		{
			if (item.IsSelected) Selection.Remove(item);
		}
Beispiel #17
0
		internal void ItemIsSelectedChanged(DragTreeViewItem item)
		{
			if (item.IsSelected) {
				Selection.Add(item);
			}
			else {
				Selection.Remove(item);
			}
		}
Beispiel #18
0
		public override bool ShouldItemBeVisible(DragTreeViewItem dragTreeViewitem)
		{
			var node = dragTreeViewitem.DataContext as IOutlineNode;
			
			return string.IsNullOrEmpty(Filter) || node.Name.ToLower().Contains(Filter.ToLower());
		}
Beispiel #19
0
		void Unselect(DragTreeViewItem item)
		{
			Selection.Remove(item);
			item.IsSelected = false;
			OnSelectionChanged();
		}
Beispiel #20
0
		public override bool ShouldItemBeVisible(DragTreeViewItem dragTreeViewitem)
		{
			var node = dragTreeViewitem.DataContext as IOutlineNode;
			
			return string.IsNullOrEmpty(Filter) || node.DesignItem.Services.GetService<IOutlineNodeNameService>().GetOutlineNodeName(node.DesignItem).ToLower().Contains(Filter.ToLower());
		}
Beispiel #21
0
		protected virtual bool CanInsert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy)
		{
			return true;
		}
Beispiel #22
0
		void PrepareDropInfo(DragEventArgs e)
		{
			dropTarget = null;
			dropAfter = null;
			treeItem = (e.OriginalSource as DependencyObject).GetVisualAncestors().OfType<DragTreeViewItem>().FirstOrDefault();

			if (treeItem != null) {
				var parent = ItemsControl.ItemsControlFromItemContainer(treeItem) as DragTreeViewItem;
				ContentPresenter header = treeItem.HeaderPresenter;
				Point p = e.GetPosition(header);
				part = (int)(p.Y / (header.ActualHeight / 3));
				dropCopy = Keyboard.IsKeyDown(Key.LeftCtrl);
				dropInside = false;

				if (part == 1 || parent == null) {
					dropTarget = treeItem;
					dropInside = true;
					if (treeItem.Items.Count > 0) {
						dropAfter = treeItem.ItemContainerGenerator.ContainerFromIndex(treeItem.Items.Count - 1) as DragTreeViewItem;
					}					
				}
				else if (part == 0) {
					dropTarget = parent;
					var index = dropTarget.ItemContainerGenerator.IndexFromContainer(treeItem);
					if (index > 0) {
						dropAfter = dropTarget.ItemContainerGenerator.ContainerFromIndex(index - 1) as DragTreeViewItem;
					}
				}
				else {
					dropTarget = parent;
					dropAfter = treeItem;
				}
			}
		}
Beispiel #23
0
		protected virtual void Remove(DragTreeViewItem target, DragTreeViewItem item)
		{
		}
Beispiel #24
0
		internal void ItemMouseDown(DragTreeViewItem item)
		{
			upSelection = null;
			bool control = Keyboard.IsKeyDown(Key.LeftCtrl);

			if (Selection.Contains(item)) {
				if (control) {
					Unselect(item);
				}
				else {
					upSelection = item;
				}
			}
			else {
				if (control) {
					Select(item);
				}
				else {
					SelectOnly(item);
				}
			}
		}
		protected override void Insert(DragTreeViewItem target, DragTreeViewItem[] items, DragTreeViewItem after, bool copy)
		{
			UpdateCustomNodes(items);
			(target.DataContext as OutlineNode).Insert(_customOutlineNodes,
			                                           after == null ? null : after.DataContext as OutlineNode, copy);
		}
Beispiel #26
0
        public override bool ShouldItemBeVisible(DragTreeViewItem dragTreeViewitem)
        {
            var node = dragTreeViewitem.DataContext as IOutlineNode;

            return(string.IsNullOrEmpty(Filter) || node.Name.ToLower().Contains(Filter.ToLower()));
        }