/// <summary> /// A method to move from the current button. /// </summary> /// <param name="direction">The direction to move.</param> internal void Move(char direction) { var x = CurrentButton.X; var y = CurrentButton.Y; switch (direction) { case 'U': y++; break; case 'D': y--; break; case 'L': x--; break; case 'R': x++; break; } CurrentButton = Buttons.Any(b => (b.X == x && b.Y == y)) ? Buttons.Where(b => (b.X == x && b.Y == y)).FirstOrDefault() : CurrentButton; }
private void AlignBtnsX() { if (Background != null) { Background.PositionUpLeft = this.MenuCenter; } if (Buttons.Any()) { var overallWidth = this.Margin * (this.Buttons.Count - 1); foreach (var btn in Buttons) { overallWidth += btn.CollisionRectangle.Width; } var position = overallWidth / 2; foreach (var btn in Buttons) { var pos = position - btn.CollisionRectangle.Width / 2; btn.PositionUpLeft = new Vector2(-position + btn.CollisionRectangle.Width / 2, //To be revised this.MenuCenter.Y); position -= (btn.CollisionRectangle.Width / 2 + this.Margin); } } }
private void AlignBtnsY() { if (Background != null) { Background.PositionUpLeft = this.MenuCenter; } if (Buttons.Any()) { var overallHeight = this.Margin * (this.Buttons.Count - 1); foreach (var btn in Buttons) { overallHeight += btn.CollisionRectangle.Height; } var position = overallHeight / 2; foreach (var btn in Buttons) { var pos = position - btn.CollisionRectangle.Height / 2; btn.PositionUpLeft = new Vector2(this.MenuCenter.X, -pos + this.MenuCenter.Y); position -= (btn.CollisionRectangle.Height / 2 + this.Margin); } } }
private void RecheckCancellation() { bool cancel = ((CommonButtons & TaskDialogCommonButtons.Cancel) != TaskDialogCommonButtons.None) || (Buttons != null && Buttons.Any(b => b.Result == TaskDialogResult.Cancel)); _IsCancellable = cancel || (_IsOnlyOK == true) || AllowDialogCancellation; if (!_IsCancellable) { DisableCloseButton(); } else { EnableCloseButton(); } }
public void ButtonPressed(object sender, EventArgs e) { if (((ASMultiSelectActionSheetButton)sender).Style == ASMultiSelectActionSheetButtonStyle.MultiSelect) { ((ASMultiSelectActionSheetButton)sender).Selected = !((ASMultiSelectActionSheetButton)sender).Selected; if (((ASMultiSelectActionSheetButton)sender).Selected || Buttons.Any(b => b.Selected)) { ActionButton.Enabled = true; } else { ActionButton.Enabled = false; } return; } if (ButtonPressedAction != null) { var indexPath = NSIndexPath.FromRowSection(((ASMultiSelectActionSheetButton)sender).Row, Index); ButtonPressedAction.Invoke(indexPath); } }
public void SetButtons(IEnumerable <string> buttons) { Buttons.Clear(); Buttons.AddRange(buttons.Select((b, i) => new Indexed <string>(i, b))); HasButtons = Buttons.Any(); }