private void ReleaseDrag() { screenView.ReleaseMouseCapture(); screenView.MouseMove -= OnMouseMove; screenView.MouseUp -= OnMouseUp; draggingView = null; }
public View GetView(int position, View convertView, ViewGroup parent) { Context c; if (!_contextReference.TryGetTarget(out c) || _adapter == null) { return(null); } LinearLayout view = null; if (!(convertView is LinearLayout) || !((int)convertView.Tag).Equals(_itemsPerRow)) { // create a linear Layout view = new LinearLayout(c); view.SetPadding(0, 0, _cellSpacing, 0); view.LayoutParameters = _rowLayoutParams; view.Orientation = Orientation.Horizontal; view.BaselineAligned = false; view.Tag = Integer.ValueOf(_itemsPerRow); } else { view = (LinearLayout)convertView; } for (var i = 0; i < _itemsPerRow; ++i) { var subView = i < view.ChildCount ? view.GetChildAt(i) : null; var p = position * _itemsPerRow + i; var newView = subView; if (p < _adapter.Count) { if (subView is PlaceholderView) { view.RemoveView(subView); subView = null; } newView = _adapter.GetView(p, subView, view); } else if (subView == null || !(subView is PlaceholderView)) { newView = new PlaceholderView(c); } if (newView != subView || i >= view.ChildCount) { if (i < view.ChildCount) { view.RemoveView(subView); } newView.LayoutParameters = _itemLayoutParams; view.AddView(newView, i); } } return(view); }
private void RightButtonClicked(object sender, MouseButtonEventArgs e) { PlaceholderView view = screenView.GetViewUnder(Mouse.GetPosition(screenView)); if (view == null) { return; } view.ShowLayoutFixMenu(); }
private void StartDrag(MouseButtonEventArgs e, PlaceholderView view) { draggingView = view; dragMouseStart = e.GetPosition(screenView); // TODO sert à rien de le stocker dragViewOffset = new Point(dragMouseStart.X - view.ContentBounds.X, dragMouseStart.Y - view.ContentBounds.Y); screenView.CaptureMouse(); screenView.MouseMove += OnMouseMove; screenView.MouseUp += OnMouseUp; }
private void OnMouseMove(object sender, EventArgs e) { if (toolTipView != null) { double distance = Point.Subtract(Mouse.GetPosition(screenView), mouseTriggerPosition).Length; if (distance > 10) { toolTipView.ShowToolTip(false); toolTipView = null; } } timer.Stop(); timer.Start(); }
private void OnMouseDown(object sender, MouseButtonEventArgs e) { Point mousePosition = e.GetPosition(screenView); PlaceholderView view = screenView.GetViewUnder(mousePosition); if (view == null) { interaction.DispatchEvent(new BaseEventArgs(ScreenViewMouseInteraction.EVENT_REQUEST_DESELECTION)); return; } if (view.IsSelected) { StartDrag(e, view); } else { interaction.DispatchEvent(new IntEventArgs(ScreenViewMouseInteraction.EVENT_REQUEST_SELECTION, view.Model.Id)); } }
private void DisplayTooltip() { PlaceholderView view = screenView.GetViewUnder(Mouse.GetPosition(screenView)); if (view == null) { return; } if (!view.GetLabelHitTestRect().Contains(Mouse.GetPosition(screenView))) { return; } if (toolTipView != null) { toolTipView.ShowToolTip(false); toolTipView = null; } toolTipView = view; mouseTriggerPosition = Mouse.GetPosition(screenView); view.ShowToolTip(true); }
public PlaceholderViewEventArgs(int eventId, PlaceholderView view, Point point) : base(eventId) { View = view; Point = point; }
public View GetView(int position, View convertView, ViewGroup parent) { Context c; if (!_contextReference.TryGetTarget(out c) || _adapter == null) return null; LinearLayout view = null; if ( !(convertView is LinearLayout) || !((int)convertView.Tag).Equals(_itemsPerRow)) { // create a linear Layout view = new LinearLayout(c); view.SetPadding(0, 0, _cellSpacing, 0); view.LayoutParameters = _rowLayoutParams; view.Orientation = Orientation.Horizontal; view.BaselineAligned = false; view.Tag = Integer.ValueOf(_itemsPerRow); } else { view = (LinearLayout) convertView; } for (var i = 0; i < _itemsPerRow; ++i) { var subView = i < view.ChildCount ? view.GetChildAt(i) : null; var p = position * _itemsPerRow + i; var newView = subView; if (p < _adapter.Count) { if (subView is PlaceholderView){ view.RemoveView(subView); subView = null; } newView = _adapter.GetView(p, subView, view); } else if (subView == null || !(subView is PlaceholderView)) { newView = new PlaceholderView(c); } if (newView != subView || i >= view.ChildCount) { if (i < view.ChildCount) { view.RemoveView(subView); } newView.LayoutParameters =_itemLayoutParams; view.AddView(newView, i); } } return view; }