private void ProcessDrag(DataGridControl lvSource, DataGridControl lvDest, GetPositionDelegate mousePoint)
        {
            sourceIndex = this.GetCurrentIndex(mousePoint, lvSource);
            curSource   = lvSource;

            if (sourceIndex < 0)
            {
                return;
            }

            lvSource.SelectedIndex = sourceIndex;
            selectedItem           = lvSource.Items[sourceIndex] as IqReportColumn;

            if (selectedItem == null)
            {
                return;
            }

            // this will create the drag "rectangle"
            DragDropEffects allowedEffects = DragDropEffects.Move;

            if (DragDrop.DoDragDrop(lvSource, selectedItem, allowedEffects) != DragDropEffects.None)
            {
                // The item was dropped into a new location,
                // so make it the new selected item.
                lvDest.SelectedItem = selectedItem;
            }
        }
Exemple #2
0
        public static int GetCurrentIndex(this ItemsControl thisItemsControl, GetPositionDelegate getPosition)
        {
            try
            {
                if (!ItemsControlExtensions.IsMouseOverTarget(thisItemsControl, getPosition))
                {
                    return(-1);
                }

                for (int i = 0; i < thisItemsControl.Items.Count; i++)
                {
                    Visual item = ItemsControlExtensions.GetItemsControlItem(thisItemsControl, i);

                    if (ItemsControlExtensions.IsMouseOverTarget(item, getPosition))
                    {
                        return(i);
                    }
                }
            }
            catch (Exception)
            {
            }

            return(-1);
        }
        bool IsMouseOverTarget(TreeViewItem item, GetPositionDelegate getPosition)
        {
            Rect  bounds   = VisualTreeHelper.GetDescendantBounds(item);
            Point mousePos = getPosition(item);

            return(bounds.Contains(mousePos));
        }
Exemple #4
0
        bool IsMouseOverTarget(Visual target, GetPositionDelegate getPosition)
        {
            Rect  bounds   = VisualTreeHelper.GetDescendantBounds(target);
            Point mousePos = getPosition((IInputElement)target);

            return(bounds.Contains(mousePos));
        }
        private void ProcessDrop(DataGridControl lvDest, GetPositionDelegate mousePoint)
        {
            return;

            if (curSource == lvDest)
            {
                return;
            }

            if (sourceIndex < 0)
            {
                return;
            }

            int index = this.GetCurrentIndex(mousePoint, lvDest);

            if (index < 0)
            {
                index = 0;  //return;
            }
            //RemoveBinByUser(this, new DataEventArgs<Bin>(selectedItem));

            //Destination Operation
            //Add Trask By User
            selectedItem.Rank = index;
            //AddBinByUser(this, new DataEventArgs<Bin>(selectedItem));

            lvDest.Items.Refresh();
            curSource.Items.Refresh();
        }
 protected HeifReader()
 {
     this.heifReaderHandle        = new DisposableLazy <SafeCoTaskMemHandle>(CreateHeifReader);
     this.getPositionDelegate     = GetPosition;
     this.readDelegate            = Read;
     this.seekDelegate            = Seek;
     this.waitForFileSizeDelegate = WaitForFileSize;
 }
 public QuadTreeNode(RectangleF range, GetPositionDelegate getPositionCallback, int Capacity = 10, int MaxLevels = 100)
 {
     level = MaxLevels;
     if (Capacity <= 0)
     {
         throw new ArgumentOutOfRangeException(nameof(Capacity), "Capacity must larger than 0");
     }
     Range       = range;
     capacity    = Capacity;
     center      = new Vector2(Range.X + Range.Width / 2, Range.Y + Range.Height / 2);
     getPosition = getPositionCallback;
 }
Exemple #8
0
        private static bool IsMouseOverTarget(Visual target, GetPositionDelegate getPosition)
        {
            if (target == null)
            {
                return(false);
            }

            Rect  bounds   = VisualTreeHelper.GetDescendantBounds(target);
            Point mousePos = MouseUtils.GetMousePosition(target);

            return(bounds.Contains(mousePos));
        }
 /// <summary>
 /// Returns the index of the item, hit by the cursor.
 /// </summary>
 /// <param name="getPosition"></param>
 /// <param name="list"></param>
 /// <returns></returns>
 protected int GetCurrentIndex(GetPositionDelegate getPosition, ListView list)
 {
     int index = -1;
     for (int i = 0; i < list.Items.Count; i++) {
         ListViewItem item = GetListViewItem(i, list);
         if (item == null)
             continue;
         if (IsOverTarget(item, getPosition((IInputElement)item))) {
             index = i;
             break;
         }
     }
     return index;
 }
        private int GetCurrentIndex(GetPositionDelegate getPosition)
        {
            int index = Items.Count;

            for (int i = 0; i < fileList.Items.Count; ++i)
            {
                ListViewItem item = GetListViewItem(i);
                if (item != null && this.IsMouseOverTarget(item, getPosition))
                {
                    index = i;
                    break;
                }
            }
            return(index);
        }
Exemple #11
0
        public HeifStreamIO(Stream stream, bool ownsStream = false)
        {
            Validate.IsNotNull(stream, nameof(stream));

            this.stream                  = stream;
            this.ownsStream              = ownsStream;
            this.heifReaderHandle        = new DisposableLazy <SafeCoTaskMemHandle>(CreateHeifReader);
            this.heifWriterHandle        = new DisposableLazy <SafeCoTaskMemHandle>(CreateHeifWriter);
            this.streamBuffer            = new byte[MaxBufferSize];
            this.getPositionDelegate     = GetPosition;
            this.readDelegate            = Read;
            this.seekDelegate            = Seek;
            this.waitForFileSizeDelegate = WaitForFileSize;
            this.writeDelegate           = Write;
        }
Exemple #12
0
        private int GetCurrentIndex(GetPositionDelegate getPosition)
        {
            int index = -1;

            for (int i = 0; i < View.Items.Count; ++i)
            {
                TViewItem item = GetItem(i);
                if (item != null && IsMouseOverTarget(item, getPosition))
                {
                    index = i;
                    break;
                }
            }
            return(index);
        }
Exemple #13
0
        int GetCurrentIndex(ListBox source, GetPositionDelegate getPosition)
        {
            int index = -1;

            for (int i = 0; i < source.Items.Count; ++i)
            {
                ListBoxItem item = GetListViewItem(source, i);
                if (this.IsMouseOverTarget(item, getPosition))
                {
                    index = i;
                    break;
                }
            }
            return(index);
        }
        // returns the index of the item in the ListView
        int GetCurrentIndex(GetPositionDelegate getPosition)
        {
            int index = -1;

            for (int i = 0; i < this.list.Items.Count; ++i)
            {
                TreeViewItem item = GetListViewItem(i);
                if (this.IsMouseOverTarget(item, getPosition))
                {
                    index = i;
                    break;
                }
            }
            return(index);
        }
Exemple #15
0
        private int GetCurrentIndex(ListView lv, GetPositionDelegate getPosition)
        {
            int index = -1;

            for (int i = 0; i < lv.Items.Count; ++i)
            {
                ListViewItem item = lv.ItemContainerGenerator.ContainerFromIndex(i) as ListViewItem;
                if (IsMouseOverTarget(item, getPosition))
                {
                    index = i;
                    break;
                }
            }
            return(index);
        }
        // returns the index of the item in the ListView
        int GetCurrentIndex(GetPositionDelegate getPosition, DataGridControl lvObject)
        {
            int index = -1;

            for (int i = 0; i < lvObject.Items.Count; ++i)
            {
                Row item = GetListViewItem(i, lvObject);

                if (item != null && this.IsMouseOverTarget(item, getPosition))
                {
                    index = i;
                    break;
                }
            }
            return(index);
        }
Exemple #17
0
 int GetCurrentIndex(GetPositionDelegate getPosition)
 {
     int index = -1;
     // 最後にヒットした要素を返す
     for (int i = 0; i < this.PseudoTabOwner.Items.Count; ++i)
     {
         var item = GetListBoxItem(i);
         if (item != null && this.IsMouseOverTarget(item, getPosition))
         {
             index = i;
         }
         else if (index != -1)
         {
             break;
         }
     }
     return index;
 }
Exemple #18
0
        int GetCurrentIndex(GetPositionDelegate getPosition)
        {
            int index = -1;

            for (int i = 0; i < ConstraintListView.Items.Count; ++i)
            {
                ListViewItem item = GetListViewItem(i);
                if (item != null)
                {
                    if (this.IsMouseOverTarget(item, getPosition))
                    {
                        index = i;
                        break;
                    }
                }
            }
            return(index);
        }
        public int GetCurrentIndex(ListView target, GetPositionDelegate getPosition)
        {
            int index = -1;

            for (int i = 0; i < target.Items.Count; i++)
            {
                ListViewItem item = GetListViewItem(target, i);
                if (item == null)
                {
                    continue;
                }
                if (IsMouseOverTarget(item, getPosition))
                {
                    index = i;
                    break;
                }
            }
            return(index);
        }
Exemple #20
0
        private int GetCurrentIndex(GetPositionDelegate getPosition)
        {
            int index = -1;

            for (int i = 0; i < this.cCategoryList.Items.Count; i++)
            {
                ListViewItem item = GetListViewItem(i);
                if (item == null)
                {
                    continue;
                }
                if (IsMouseOverTarget(item, getPosition))
                {
                    index = i;
                    break;
                }
            }
            return(index);
        }
        private void ProcessDrop(DataGridControl lvDest, GetPositionDelegate mousePoint)
        {
            if (curSource == lvDest)
            {
                return;
            }

            if (sourceIndex < 0)
            {
                return;
            }

            int index = this.GetCurrentIndex(mousePoint, lvDest);

            if (index < 0)
            {
                index = 0; //return;
            }
            ((IList <IqReportColumn>)curSource.Items.SourceCollection).Remove(selectedItem);

            if (curSource.Name == "lvDest")
            {
                //Remueve de los seleccionados cambia el visible a false
                RemoveFromSelected(this, new DataEventArgs <IqReportColumn>(selectedItem));
            }


            //Destination Operation
            if (((IList <IqReportColumn>)lvDest.Items.SourceCollection).Where(f => f.ReportColumnId == selectedItem.ReportColumnId).Count() == 0)
            {
                //Add Trask By User
                if (lvDest.Name == "lvDest")
                {
                    AddToSelected(this, new DataEventArgs <IqReportColumn>(selectedItem));
                }

                ((IList <IqReportColumn>)lvDest.Items.SourceCollection).Insert(index, selectedItem);
            }

            lvDest.Items.Refresh();
            curSource.Items.Refresh();
        }
        private void ProcessDrop(DataGridControl lvDest, GetPositionDelegate mousePoint)
        {
            if (curSource == lvDest)
            {
                return;
            }

            if (sourceIndex < 0)
            {
                return;
            }

            int index = this.GetCurrentIndex(mousePoint, lvDest);

            if (index < 0)
            {
                index = 0; //return;
            }
            ((IList <Document>)curSource.Items.SourceCollection).Remove(selectedItem);

            if (curSource.Name == "lvPickOrders")
            {
                RemoveTaskByUser(this, new DataEventArgs <Document>(selectedItem));
            }


            //Destination Operation
            if (((IList <Document>)lvDest.Items.SourceCollection).Where(f => f.DocID == selectedItem.DocID).Count() == 0)
            {
                //Add Trask By User
                if (lvDest.Name == "lvPickOrders")
                {
                    AddTaskByUser(this, new DataEventArgs <Document>(selectedItem));
                }

                ((IList <Document>)lvDest.Items.SourceCollection).Insert(index, selectedItem);
            }

            lvDest.Items.Refresh();
            curSource.Items.Refresh();
        }
Exemple #23
0
        public static object GetCurrentItem(this TreeView thisTreeView, GetPositionDelegate getPosition)
        {
            try
            {
                if (!TreeViewExtensions.IsMouseOverTarget(thisTreeView, getPosition))
                {
                    return(null);
                }

                var items = new List <TreeViewItem>();
                items.AddRange(thisTreeView.Items.OfType <TreeViewItem>());

                for (int i = 0; i < items.Count; i++)
                {
                    if (!items[i].IsExpanded)
                    {
                        continue;
                    }

                    foreach (TreeViewItem item in items[i].Items)
                    {
                        items.Add(item);
                    }
                }

                items.Reverse();

                foreach (var item in items)
                {
                    if (TreeViewExtensions.IsMouseOverTarget(item, getPosition))
                    {
                        return(item);
                    }
                }
            }
            catch (Exception)
            {
            }

            return(null);
        }
Exemple #24
0
        private int GetCurrentIndex(GetPositionDelegate getPosition)
        {
            int index = -1;

            for (int i = 0; i < Items.Count; i++)
            {
                ListViewItem item = GetListViewItem(i);
                if (item == null)
                {
                    continue;
                }
                if (IsMouseOverTarget(item, getPosition))
                {
                    index = i;
                    break;
                }
            }

            CurrentIndex        = index;
            isMouseWithinBounds = IsMouseOverTarget(this, getPosition);
            return(index);
        }
Exemple #25
0
        public static int GetCurrentIndex(this ItemsControl thisItemsControl, GetPositionDelegate getPosition)
        {
            try
            {
                if (!ItemsControlExtensions.IsMouseOverTarget(thisItemsControl, getPosition)) return -1;

                for (int i = 0; i < thisItemsControl.Items.Count; i++)
                {
                    Visual item = ItemsControlExtensions.GetItemsControlItem(thisItemsControl, i);

                    if (ItemsControlExtensions.IsMouseOverTarget(item, getPosition))
                    {
                        return i;
                    }
                }
            }
            catch (Exception)
            {

            }

            return -1;
        }
 private int GetCurrentIndex(GetPositionDelegate getPosition, DataGrid datagrid)
 {
     int _Index = -1;
     for (int _RowCount = 0; _RowCount < datagrid.Items.Count; ++_RowCount)
     {
         DataGridRow _Item = GetListViewItem(_RowCount, datagrid);
         if (this.IsMouseOverTarget(_Item, getPosition))
         {
             _Index = _RowCount;
             break;
         }
     }
     return _Index;
 }
 bool IsMouseOverTarget(Visual target, GetPositionDelegate getPosition)
 {
     Rect bounds = VisualTreeHelper.GetDescendantBounds(target);
     Point mousePos = getPosition((IInputElement)target);
     return bounds.Contains(mousePos);
 }
        // returns the index of the item in the ListView
        int GetCurrentIndex(GetPositionDelegate getPosition, DataGridControl lvObject)
        {
            int index = -1;
            for (int i = 0; i < lvObject.Items.Count; ++i)
            {

                Row item = GetListViewItem(i, lvObject);

                if (item != null && this.IsMouseOverTarget(item, getPosition))
                {
                    index = i;
                    break;
                }
            }
            return index;
        }
        private void ProcessDrop(DataGridControl lvDest, GetPositionDelegate mousePoint)
        {
            if (curSource == lvDest)
                return;

            if (sourceIndex < 0)
                return;

            int index = this.GetCurrentIndex(mousePoint, lvDest);

            if (index < 0)
                index = 0; //return;



            ((IList<IqReportColumn>)curSource.Items.SourceCollection).Remove(selectedItem);

            if (curSource.Name == "lvDest")
                //Remueve de los seleccionados cambia el visible a false
                RemoveFromSelected(this, new DataEventArgs<IqReportColumn>(selectedItem));


            //Destination Operation
            if (((IList<IqReportColumn>)lvDest.Items.SourceCollection).Where(f => f.ReportColumnId == selectedItem.ReportColumnId).Count() == 0)
            {
                //Add Trask By User
                if (lvDest.Name == "lvDest")
                    AddToSelected(this, new DataEventArgs<IqReportColumn>(selectedItem));

                ((IList<IqReportColumn>)lvDest.Items.SourceCollection).Insert(index, selectedItem);

            }

            lvDest.Items.Refresh();
            curSource.Items.Refresh();
        }
        private void ProcessDrag(DataGridControl lvSource, DataGridControl lvDest, GetPositionDelegate mousePoint)
        {

            sourceIndex = this.GetCurrentIndex(mousePoint, lvSource);
            curSource = lvSource;

            if (sourceIndex < 0)
                return;

            lvSource.SelectedIndex = sourceIndex;
            selectedItem = lvSource.Items[sourceIndex] as IqReportColumn;

            if (selectedItem == null)
                return;

            // this will create the drag "rectangle"
            DragDropEffects allowedEffects = DragDropEffects.Move;
            if (DragDrop.DoDragDrop(lvSource, selectedItem, allowedEffects) != DragDropEffects.None)
            {
                // The item was dropped into a new location,
                // so make it the new selected item.
                lvDest.SelectedItem = selectedItem;
            }
        }
 int GetCurrentIndex(GetPositionDelegate getPosition)
 {
     int index = -1;
     for (int i = 0; i < this.lstProgram.Items.Count; ++i)
     {
         ListViewItem item = GetListViewItem(i);
         if (this.IsMouseOverTarget(item, getPosition))
         {
             index = i;
             break;
         }
     }
     return index;
 }
Exemple #32
0
        /// <summary>
        /// Returns the index of the item in the ListView on the (paramter) position
        /// </summary>
        /// <param name="getPosition">Position Delegate MousePos</param>
        /// <returns>int index</returns>
        int GetCurrentIndex(GetPositionDelegate getPosition)
        {
            int listoffset;
            Rect bounds = new Rect(0, 0, 0, 0);

            if (GetListViewItem(0) != null)
                bounds = VisualTreeHelper.GetDescendantBounds(GetListViewItem(0));

            if (bounds.Height != 0 && bounds.Height > _listViewItemSize)
                _listViewItemSize = bounds.Height;

            System.Windows.Point mousePos = getPosition((IInputElement)listView);

            if (_listViewItemSize != 0)
                listoffset = (int)(mousePos.Y / _listViewItemSize);
            else
                return 0;

            int index = (int)UserInterfaceHelper.GetVisualChild<ScrollViewer>(listView).VerticalOffset + listoffset;

            if (index < 0)
                return 0;

            if (index >= listView.Items.Count)
                return listView.Items.Count - 1;

            return index;
        }
         private void ProcessDrop(DataGridControl lvDest, GetPositionDelegate mousePoint)
         {
             return;
             if (curSource == lvDest)
                 return;

             if (sourceIndex < 0)
                 return;

             int index = this.GetCurrentIndex(mousePoint, lvDest);

             if (index < 0)
                 index = 0; //return;

             //RemoveBinByUser(this, new DataEventArgs<Bin>(selectedItem));

             //Destination Operation
             //Add Trask By User
             selectedItem.Rank = index;
             //AddBinByUser(this, new DataEventArgs<Bin>(selectedItem));
 
             lvDest.Items.Refresh();
             curSource.Items.Refresh();
         }
Exemple #34
0
        private static bool IsMouseOverTarget(Visual target, GetPositionDelegate getPosition)
        {
            if (target == null) return false;

            Rect bounds = VisualTreeHelper.GetDescendantBounds(target);
            Point mousePos = MouseUtilities.GetMousePosition(target);
            return bounds.Contains(mousePos);
        }
Exemple #35
0
        public static object GetCurrentItem(this TreeView thisTreeView, GetPositionDelegate getPosition)
        {
            try
            {
                if (!TreeViewExtensions.IsMouseOverTarget(thisTreeView, getPosition)) return null;

                var items = new List<TreeViewItem>();
                items.AddRange(thisTreeView.Items.OfType<TreeViewItem>());

                for (int i = 0; i < items.Count; i++)
                {
                    if (!items[i].IsExpanded) continue;

                    foreach (TreeViewItem item in items[i].Items)
                    {
                        items.Add(item);
                    }
                }

                items.Reverse();

                foreach (var item in items)
                {
                    if (TreeViewExtensions.IsMouseOverTarget(item, getPosition))
                    {
                        return item;
                    }
                }
            }
            catch (Exception)
            {

            }

            return null;
        }
Exemple #36
0
 bool IsMouseOverTarget(Visual target, GetPositionDelegate getPosition)
 {
     return VisualTreeHelper.HitTest(target, getPosition((IInputElement)target)) != null;
 }