private void UpdateDeltaItemPosition(ItemUI item, double delta) { int idx = IndexOfItem(item); MoveDeltaItemWithinBounds(item, delta); int num = PositionToIdx(item); if (idx == num) { return; } int index = idx - num < 0 ? idx + 1 : idx - 1; SwapItemsInList(item, (ItemUI)itemGrid.Children[index]); //Debug.WriteLine("index:{0} idx:{1}",index,idx); itemGrid.UpdateLayout(); AnimationUtil.translateY((FrameworkElement)itemGrid.Children[idx], IdxToPosition(idx), 200, null); }
private void onDragCompleted(object sender, Microsoft.Phone.Controls.GestureEventArgs e) { if (_disableTopLevelGesture || !_isDraggingListBox) { return; } _isDraggingListBox = false; if (!_isAddingItemViaDragTop) { return; } if (TransformUtil.GetScaleY((FrameworkElement)_newItem) < 0.7) { itemGrid.Children.Remove((UIElement)_newItem); } else { TransformUtil.SetScaleY((FrameworkElement)_newItem, 1.0); TransformUtil.setRotateX((FrameworkElement)_newItem, 0.0); TransformUtil.setScaleX((FrameworkElement)_newItem, 1.0); TransformUtil.setTranslateX((FrameworkElement)_newItem, 0.0); _newItem.Tag = CurrItem.Add(); if (_newItem.Tag == null) { itemGrid.Children.Remove((UIElement)_newItem); } else { _newItem.Update(); //sortZIndex(); _newItem.SetText(""); _newItem.text.Focus(); } } UpdateItemGridHeight(); for (int idx = IndexOfItem(_newItem) + 1; idx < itemGrid.Children.Count; ++idx) { TransformUtil.setTranslateY((FrameworkElement)itemGrid.Children[idx], IdxToPosition(idx)); } _newItem = (ItemUI)null; _isAddingItemViaDragTop = false; EnableNativeScrolling(true); EnableAllChildrenGesture(true); }
public ItemUI AddItem(ListItem data) { var listBoxItem = new ItemUI(this) { Tag = data }; listBoxItem.SetText(data.Name); itemGrid.Children.Add(listBoxItem); TransformUtil.setTranslateY(listBoxItem, 0); listBoxItem.markComplite.Visibility = data.Mark ? Visibility.Visible : Visibility.Collapsed; itemGrid.UpdateLayout(); _itemHeight = listBoxItem.ActualHeight; UpdateItemGridHeight(); MoveItemToIdxPosition(listBoxItem, IndexOfItem(listBoxItem)); SortZIndex(); return(listBoxItem); }
private void onDragDelta(object sender, DragDeltaGestureEventArgs e) { if (_disableTopLevelGesture || !_isDraggingListBox) { return; } bool flag1 = e.GetPosition(listbox).Y > _dragStartY; bool flag2 = _scrollViewer.VerticalOffset < 10.0 / itemGrid.Height; double verticalOffset = _scrollViewer.VerticalOffset; double scrollableHeight = _scrollViewer.ScrollableHeight; if (!_isAddingItemViaDragTop && flag2 && flag1) { e.Handled = true; _isAddingItemViaDragTop = true; EnableAllChildrenGesture(false); _newItem = AddItem("new item"); TransformUtil.setScaleX(_newItem, 0.9); TransformUtil.setTranslateX(_newItem, 20.0); } else { if (!_isAddingItemViaDragTop) { return; } e.Handled = true; double num1 = Math.Min((_lastDraggedYDist + e.VerticalChange) / _itemHeight, 1.0); _lastDraggedYDist += e.VerticalChange; TransformUtil.SetScaleY(_newItem, num1); TransformUtil.setScaleX(_newItem, 0.9 + num1 / 10); TransformUtil.setTranslateX(_newItem, 20.0 - (num1 * 20)); UpdateItemGrid(0); } }
public void maximizeTaskList(ItemUI item) { //this.IsHitTestVisible = false; //this.maximizedTaskList = item; //Point offset = item.TransformToVisual((UIElement)this).Transform(new Point(0.0, 0.0)); //TaskListData listData = item.Tag as TaskListData; //this.task_listbox.colorPivot = ColourUtil.hexStringToColor(listData.colour); //this.task_listbox.opacityValue = listData.opacity; //this.task_listbox.imgFilename = listData.imgFilename; //this.task_listbox.isColourBkgrd = listData.isColourBkgrd; //this.task_listbox.isUsingGradient = listData.isUsingGradient; //this.task_listbox.lastModified = listData.lastModified; //AnimationUtil.zoom((FrameworkElement)item, -600.0, 100, (Action<object, EventArgs>)((s, ev) => //{ // foreach (TaskData item_0 in listData.taskDataList) // this.task_listbox.addItem(item_0); // this.task_listbox.zoomBack(offset.Y); // TimerUtil.Perform((Action)(() => // { // AnimationUtil.translateY((FrameworkElement)item, -this.itemHeight, 200, (Action<object, EventArgs>)null); // AnimationUtil.zoom((FrameworkElement)item, 0.0, 100, (Action<object, EventArgs>)null); // this.task_listbox.updateInfoTxt(); // this.task_listbox.zoomFront(); // this.task_listbox.IsHitTestVisible = true; // }), 0); //})); //int num = this.indexOfItem(item); //for (int index = 0; index < this.itemList.Count; ++index) //{ // if (index < num) // AnimationUtil.translateY((FrameworkElement)this.itemList[index], -this.itemHeight, CommonUtil.calcAnimateYTime((FrameworkElement)this.itemList[index], -this.itemHeight), (Action<object, EventArgs>)null); // else if (index > num) // AnimationUtil.translateY((FrameworkElement)this.itemList[index], Math.Max(this.itemGrid.ActualHeight, 800.0), CommonUtil.calcAnimateYTime((FrameworkElement)this.itemList[index], Math.Max(this.itemGrid.ActualHeight, 800.0)), (Action<object, EventArgs>)null); //} //double v = this.scrollViewer.VerticalOffset; //this.Dispatcher.BeginInvoke((Action)(() => this.scrollViewer.ScrollToVerticalOffset(v))); }
private void onDragCompleted(object sender, Microsoft.Phone.Controls.GestureEventArgs e) { if (disableTopLevelGesture || !isDraggingListBox) { return; } isDraggingListBox = false; if (!isAddingItemViaDragTop) { return; } if (TransformUtil.getScaleY((FrameworkElement)newItem) < 0.7) { itemList.Remove(this.newItem); itemGrid.Children.Remove((UIElement)newItem); } else { TransformUtil.setScaleY((FrameworkElement)newItem, 1.0); TransformUtil.setRotateX((FrameworkElement)newItem, 0.0); TransformUtil.setScaleX((FrameworkElement)newItem, 1.0); TransformUtil.setTranslateX((FrameworkElement)newItem, 0.0); //sortZIndex(); newItem.setText(""); newItem.text.Focus(); } updateItemGridHeight(); for (int idx = indexOfItem(newItem) + 1; idx < itemList.Count; ++idx) { TransformUtil.setTranslateY((FrameworkElement)itemList[idx], idxToPosition(idx)); } newItem = (ItemUI)null; isAddingItemViaDragTop = false; enableNativeScrolling(true); enableAllChildrenGesture(true); }
public void OnUncompleteItem(ItemUI item) { ((ListItem)item.Tag).SetMark(false); item.Update(); }
private int IndexOfItem(ItemUI item) { return(itemGrid.Children.IndexOf(item)); }
private void MoveItemToIdxPosition(ItemUI item, int idx) { TransformUtil.setTranslateY(item, IdxToPosition(idx)); }
public void onCompletedEditText(ItemUI item) { _disableTopLevelGesture = false; EnableNativeScrolling(true); EnableAllChildrenGesture(true); }
public void onReorderDelta(ItemUI child, double delta) { UpdateDeltaItemPosition(child, delta); CheckIfScrollingIsNeeded(child); }
private int indexOfItem(ItemUI item) { return(this.itemList.IndexOf(item)); }
private void moveItemToIdxPosition(ItemUI item, int idx) { TransformUtil.setTranslateY((FrameworkElement)item, this.idxToPosition(idx)); }