internal UpDownButtons(UpDownBase parent) : base() { SetStyle(ControlStyles.Selectable, false); this.parent = parent; timer = new Timer(); pressed = ButtonID.None; captured = ButtonID.None; }
public Vector2 GetTouchPosition(ButtonID axisIndex = ButtonID.TrackpadTouch) { if ((_currentStates.touches & (1 << (int)axisIndex)) != 0) { return(new Vector2(_currentStates.touchpadAxis.x, _currentStates.touchpadAxis.y)); } return(Vector2.zero); }
protected void OnPointerUp(PointerEventData data, ButtonID buttonID) { if (buttonIsDown) { buttonIsDown = false; nextButtonHold = m_ButtonDownHoldDelta; buttonHoldTime = 0.0f; currentHoldButton = ButtonID.Null; } }
public Button(int x, int y, Texture2D textureFocused, Texture2D textureBasic, Texture2D textureUpgradeFocused, Texture2D textureUpgradeBasic, ButtonID buttonID) { PosX = x; PosY = y; TextureBasic = textureBasic; TextureFocused = textureFocused; ButtonId = buttonID; TextureUpgradeBasic = textureUpgradeBasic; TextureUpgradeFocused = textureUpgradeFocused; }
private void EndButtonPress() { if (captured != ButtonID.None) { StopTimer(); pressed = ButtonID.None; captured = pressed; base.Capture = false; Invalidate(); } }
protected void NumeredButtonClicked(int steep, ButtonID buttonId) { if (buttonId == ButtonID.UP_BUTTON) { SetPickerValue(PickerValue - steep); } else if (buttonId == ButtonID.DOWN_BUTTON) { SetPickerValue(PickerValue + steep); } }
/// <summary> /// Registers the custom rotation key pressed for the selected button /// </summary> /// <param name="selectedButtonID"></param> private void RegisterCustomKey(ButtonID selectedButtonID) { foreach (KeyCode key in System.Enum.GetValues(typeof(KeyCode))) { if (key != KeyCode.Mouse0 && key != KeyCode.Mouse1 && key != KeyCode.Mouse2 && key != KeyCode.Mouse3 && key != KeyCode.Mouse4 && key != KeyCode.Mouse5 && key != KeyCode.Mouse6 && key != KeyCode.Escape) { if (Input.GetKeyDown(key)) { if (key == KeyCode.Backspace) { if (selectedButtonID == ButtonID.ROT_LEFT) { _gameController.customKey[4] = KeyCode.None; } else if (selectedButtonID == ButtonID.ROT_UP) { _gameController.customKey[5] = KeyCode.None; } else if (selectedButtonID == ButtonID.ROT_RIGHT) { _gameController.customKey[6] = KeyCode.None; } else if (selectedButtonID == ButtonID.ROT_DOWN) { _gameController.customKey[7] = KeyCode.None; } } else { if (DoesKeyExists(key) == false) { if (selectedButtonID == ButtonID.ROT_LEFT) { _gameController.customKey[4] = key; } if (selectedButtonID == ButtonID.ROT_UP) { _gameController.customKey[5] = key; } if (selectedButtonID == ButtonID.ROT_RIGHT) { _gameController.customKey[6] = key; } if (selectedButtonID == ButtonID.ROT_DOWN) { _gameController.customKey[7] = key; } } } } } } }
private void OnButtonClick(ButtonID id) { if (hoveringVehicle == null) { return; } switch (id) { case ButtonID.UpgradeSpeed: { if (hoveringVehicle.speed.isMaxedOut() || !hoveringVehicle.speed.canPurchase()) { break; } hoveringVehicle.speed.AddValue(1); hoveringVehicle.speed.AddCost(15 * Mathf.RoundToInt(hoveringVehicle.gearMultiplier * 100)); hoveringVehicle.speed.IncrementTier(); speed.TriggerPop(); break; } case ButtonID.UpgradeDurability: { if (hoveringVehicle.durability.isMaxedOut() || !hoveringVehicle.durability.canPurchase()) { break; } hoveringVehicle.durability.AddValue(1); hoveringVehicle.durability.AddCost(15 * Mathf.RoundToInt(hoveringVehicle.gearMultiplier * 100)); hoveringVehicle.durability.IncrementTier(); durability.TriggerPop(); break; } case ButtonID.UpgradeFuryTime: { if (hoveringVehicle.furyTime.isMaxedOut() || !hoveringVehicle.furyTime.canPurchase()) { break; } hoveringVehicle.furyTime.AddValue(1); hoveringVehicle.furyTime.AddCost(15 * Mathf.RoundToInt(hoveringVehicle.gearMultiplier * 100)); hoveringVehicle.furyTime.IncrementTier(); furyTime.TriggerPop(); break; } } hoveringVehicle.Save(); UpdateUpgradeUI(hoveringVehicle); }
private void ProcessArrowKey(ButtonID buttonId) { // if (_realtimeChange && (_edit != null)) // _edit.CommitChanges(); _pushed = buttonId; Invalidate(); HandleUpDownButton(_pushed, false); StartTimer(); }
void OnButtonClick(ButtonID id) { if (id == ButtonID.MapSelect) { ToggleMapSelectUI(true); } if (id == ButtonID.Back) { ToggleMapSelectUI(false); PlayerPrefs.SetInt("SelectedMap", (int)(SelectedMap.type)); } }
public void ButtonSelected(ButtonID buttonId) { if (!Results.AnyButtonSelected) { Results.FirstButtonSelected = buttonId; } if (ButtonID == buttonId) { Results.CorrectButtonSelected = true; } Results.AnyButtonSelected = true; }
private string GetButtonText(ButtonID buttonID) { int buttonTextArrayIndex = Convert.ToInt32(buttonID); return(languageID switch { TwoLetterISOLanguageID.de => BUTTON_TEXTS_GERMAN_DE[buttonTextArrayIndex], TwoLetterISOLanguageID.es => BUTTON_TEXTS_SPANISH_ES[buttonTextArrayIndex], TwoLetterISOLanguageID.it => BUTTON_TEXTS_ITALIAN_IT[buttonTextArrayIndex], TwoLetterISOLanguageID.tr => BUTTON_TEXTS_TURKISH_TR[buttonTextArrayIndex], TwoLetterISOLanguageID.zh => BUTTON_TEXTS_CHINA_ZH[buttonTextArrayIndex], _ => BUTTON_TEXTS_ENGLISH_EN[buttonTextArrayIndex], });
/// <summary> /// Gets the button text for the CurrentUICulture language. /// Note: The fallback language is English /// </summary> /// <param name="buttonID">The ID of the button.</param> /// <returns>The button text</returns> private string GetButtonText(ButtonID buttonID) { var buttonTextArrayIndex = Convert.ToInt32(buttonID); switch (this.languageID) { case TwoLetterISOLanguageID.de: return(BUTTON_TEXTS_GERMAN_DE[buttonTextArrayIndex]); case TwoLetterISOLanguageID.es: return(BUTTON_TEXTS_SPANISH_ES[buttonTextArrayIndex]); case TwoLetterISOLanguageID.it: return(BUTTON_TEXTS_ITALIAN_IT[buttonTextArrayIndex]); default: return(BUTTON_TEXTS_ENGLISH_EN[buttonTextArrayIndex]); } }
void OnButtonClick(ButtonID id) { if (id == ButtonID.SelectModel) { GameController.SELECTED_MODEL_INDEX = selectingIndex; PlayerPrefs.SetInt("SELECTED_MODEL_INDEX", GameController.SELECTED_MODEL_INDEX); if (EventManager.OnShowcaseModelSelected != null) { EventManager.OnShowcaseModelSelected(selectedShowcaseModel); } } }
void OnButtonClick(ButtonID id) { if (id != ButtonID.ToMenu) { return; } PlayerPrefs.SetFloat("current_exp", LevelController.Instance.CurrentExp); PlayerPrefs.SetFloat("target_exp", LevelController.Instance.TargetExp); PlayerPrefs.SetInt("LEVEL", LevelController.LEVEL); if (EventManager.OnRestartGame != null) { EventManager.OnRestartGame(); } }
protected override void OnMouseMove(MouseEventArgs e) { if (Capture) { Rectangle rectangle1 = ClientRectangle; rectangle1.Height /= 2; if (_captured == ButtonID.Down) { rectangle1.Y += rectangle1.Height; } if (rectangle1.Contains(e.X, e.Y)) { if (_pushed != _captured) { StartTimer(); _pushed = _captured; Invalidate(); } } else if (_pushed != ButtonID.None) { StopTimer(); _pushed = ButtonID.None; Invalidate(); } } int halfHeight = (int)Math.Round(ClientSize.Height / 2.0); int buttonWidth = SystemInformation.VerticalScrollBarWidth; int leftSide = ClientSize.Width - buttonWidth; Rectangle rectangle2 = new Rectangle(leftSide, 0, buttonWidth, halfHeight); Rectangle rectangle3 = new Rectangle(leftSide, halfHeight, buttonWidth, halfHeight); if (rectangle2.Contains(e.X, e.Y)) { _mouseOver = ButtonID.Up; Invalidate(); } else if (rectangle3.Contains(e.X, e.Y)) { _mouseOver = ButtonID.Down; Invalidate(); } base.OnMouseMove(e); }
public static Texture GetButtonTexture(ButtonID id) { switch (buttonManager.currentControll) { case Controll.Xbox: return(buttonManager.buttonTextures[id].xbox); case Controll.Steam: return(buttonManager.buttonTextures[id].steam); case Controll.Keyboard: return(buttonManager.buttonTextures[id].keyboard); case Controll.Ps4: default: return(buttonManager.buttonTextures[id].ps4); } }
protected void AddTriggers(GameObject buttonObject, ButtonID buttonID) { EventTrigger eventTrigger = buttonObject.AddComponent <EventTrigger>(); EventTrigger.Entry pointerDownEvent = new EventTrigger.Entry(); pointerDownEvent.eventID = EventTriggerType.PointerDown; pointerDownEvent.callback.AddListener( (data) => { OnPointerDown((PointerEventData)data, buttonID); } ); eventTrigger.triggers.Add(pointerDownEvent); EventTrigger.Entry pointerUpEvent = new EventTrigger.Entry(); pointerUpEvent.eventID = EventTriggerType.PointerUp; pointerUpEvent.callback.AddListener( (data) => { OnPointerUp((PointerEventData)data, buttonID); } ); eventTrigger.triggers.Add(pointerUpEvent); }
private void BeginButtonPress(MouseEventArgs e) { if (e.Y < Size.Height / 2) { _captured = _pushed = ButtonID.Up; } else { _captured = _pushed = ButtonID.Down; } Invalidate(); Capture = true; HandleUpDownButton(_pushed, false); StartTimer(); }
/// <summary> /// Maps a key to selected button /// </summary> /// <param name="selectedButtonID"></param> /// <param name="key"></param> private void MapKey(ButtonID selectedButtonID, KeyCode key) { if (selectedButtonID == ButtonID.LEFT) { _gameController.customKey[0] = key; } else if (selectedButtonID == ButtonID.UP) { _gameController.customKey[1] = key; } else if (selectedButtonID == ButtonID.RIGHT) { _gameController.customKey[2] = key; } else if (selectedButtonID == ButtonID.DOWN) { _gameController.customKey[3] = key; } }
private string GetButtonText(ButtonID buttonID) { int buttonTextArrayIndex = Convert.ToInt32(buttonID); switch (languageID) { case TwoLetterISOLanguageID.de: return(BUTTON_TEXTS_GERMAN_DE[buttonTextArrayIndex]); case TwoLetterISOLanguageID.es: return(BUTTON_TEXTS_SPANISH_ES[buttonTextArrayIndex]); case TwoLetterISOLanguageID.it: return(BUTTON_TEXTS_ITALIAN_IT[buttonTextArrayIndex]); case TwoLetterISOLanguageID.tr: return(BUTTON_TEXTS_TURKISH_TR[buttonTextArrayIndex]); case TwoLetterISOLanguageID.zh: return(BUTTON_TEXTS_CHINA_ZH[buttonTextArrayIndex]); default: return(BUTTON_TEXTS_ENGLISH_EN[buttonTextArrayIndex]); } }
protected override void OnMouseMove(MouseEventArgs e) { int x = e.X; int y = e.Y; mouseX = e.X; mouseY = e.Y; if (captured != ButtonID.None) { if ((captured == ButtonID.Up) && (upButton.Contains(x, y))) { if (captured != pressed) { pressed = captured; StartTimer(); Invalidate(); } } else { if ((captured == ButtonID.Down) && (downButton.Contains(x, y))) { if (captured != pressed) { pressed = captured; StartTimer(); Invalidate(); } } else { if (pressed != ButtonID.None) { pressed = ButtonID.None; StopTimer(); Invalidate(); } } } } base.OnMouseMove(e); }
public override void AppendTo(ref SpanWriter writer, OrderedHashSet <string> strings, ref int entries, ref int switches) { writer.Write((ushort)0x7B20); // "{ " writer.Write(LayoutName); writer.Write((byte)0x20); // ' ' writer.WriteAscii(X.ToString()); writer.Write((byte)0x20); // ' ' writer.WriteAscii(Y.ToString()); writer.Write((byte)0x20); // ' ' writer.WriteAscii(NormalID.ToString()); writer.Write((byte)0x20); // ' ' writer.WriteAscii(PressedID.ToString()); writer.Write((byte)0x20); // ' ' writer.WriteAscii(((int)Type).ToString()); writer.Write((byte)0x20); // ' ' writer.WriteAscii(Param.ToString()); writer.Write((byte)0x20); // ' ' writer.WriteAscii(ButtonID.ToString()); writer.Write((ushort)0x207D); // " }" }
void OnButtonClick(ButtonID id) { switch (id) { case ButtonID.VelocityGraph: { TogglePanel(1); selectedGraph = SelectedGraph.VelocityGraph; titleText.text = "Velocity"; unitsText.text = "(m/s)"; graphCreator.CreateGraph(); break; } case ButtonID.AccelerationGraph: { TogglePanel(1); selectedGraph = SelectedGraph.AccelerationGraph; titleText.text = "Acceleration"; unitsText.text = "(m/s^2)"; graphCreator.CreateGraph(); break; } case ButtonID.PositionGraph: { TogglePanel(1); selectedGraph = SelectedGraph.PositionGraph; titleText.text = "Displacement"; unitsText.text = "(m)"; graphCreator.CreateGraph(); break; } case ButtonID.InfoBack: { TogglePanel(0); break; } } }
private void AddStatLock(int x, int y, StatLockType setting, ButtonID buttonID) { if (m_Target.ControlMaster != m_User && m_User.AccessLevel < AccessLevel.GameMaster) { return; // no fooling around with wild/other people's critters! } int buttonID1, buttonID2; int xOffset, yOffset; switch (setting) { default: case StatLockType.Up: buttonID1 = 0x983; buttonID2 = 0x983; xOffset = 3; yOffset = 4; break; case StatLockType.Down: buttonID1 = 0x985; buttonID2 = 0x985; xOffset = 3; yOffset = 4; break; case StatLockType.Locked: buttonID1 = 0x82C; buttonID2 = 0x82C; xOffset = 2; yOffset = 2; break; } AddButton(x + xOffset, y + yOffset, buttonID1, buttonID2, (int)buttonID, GumpButtonType.Reply, 0); }
private void BeginButtonPress(MouseEventArgs e) { int x = e.X; int y = e.Y; mouseX = x; mouseY = y; // Set focus to parent if (!parent.ContainsFocus) { parent.Focus(); } if (upButton.Contains(x, y)) { pressed = ButtonID.Up; } else { if (downButton.Contains(x, y)) { pressed = ButtonID.Down; } else { pressed = ButtonID.None; } } base.OnMouseDown(e); if (pressed != ButtonID.None) { Invalidate(); OnUpDown(new UpDownEventArgs((int)pressed)); base.Capture = true; captured = pressed; StartTimer(); } }
private void BeginButtonPress(MouseEventArgs e) { int x = e.X; int y = e.Y; mouseX = x; mouseY = y; // Set focus to parent if (!parent.ContainsFocus) { parent.Focus(); } if (upButton.Contains(x,y)) { pressed = ButtonID.Up; } else { if (downButton.Contains(x,y)) { pressed = ButtonID.Down; } else { pressed = ButtonID.None; } } base.OnMouseDown(e); if (pressed != ButtonID.None) { Invalidate(); OnUpDown(new UpDownEventArgs((int)pressed)); base.Capture = true; captured = pressed; StartTimer(); } }
void OnButtonClick(ButtonID id) { switch (id) { case ButtonID.Pause: { if (EventManager.OnPauseStatus != null) { EventManager.OnPauseStatus(true); } break; } case ButtonID.Resume: { if (EventManager.OnPauseStatus != null) { EventManager.OnPauseStatus(false); } break; } } }
/// <summary> /// Gets the button text for the CurrentUICulture language. /// Note: The fallback language is English /// </summary> /// <param name="buttonID">The ID of the button.</param> /// <returns>The button text</returns> private string GetButtonText(ButtonID buttonID) { var buttonTextArrayIndex = Convert.ToInt32(buttonID); switch (this.languageID) { case TwoLetterISOLanguageID.de: return(BUTTON_TEXTS_GERMAN_DE[buttonTextArrayIndex]); case TwoLetterISOLanguageID.es: return(BUTTON_TEXTS_SPANISH_ES[buttonTextArrayIndex]); case TwoLetterISOLanguageID.it: return(BUTTON_TEXTS_ITALIAN_IT[buttonTextArrayIndex]); case TwoLetterISOLanguageID.fr: return(BUTTON_TEXTS_FRENCH_FR[buttonTextArrayIndex]); case TwoLetterISOLanguageID.ro: return(BUTTON_TEXTS_ROMANIAN_RO[buttonTextArrayIndex]); case TwoLetterISOLanguageID.pl: return(BUTTON_TEXTS_POLISH_PL[buttonTextArrayIndex]); case TwoLetterISOLanguageID.fa: return(BUTTON_TEXTS_PERSIAN_FA[buttonTextArrayIndex]); default: return(BUTTON_TEXTS_ENGLISH_EN[buttonTextArrayIndex]); } }
//Feed correct button into Input callback bool ButtonHelper(ButtonID button, ButtonFunc bf) { KeyCode key; switch (button) { case ButtonID.ROLL: key = rollkey; break; case ButtonID.SHOT: key = shootkey; break; case ButtonID.SUBWEAPON: key = subweaponkey; break; case ButtonID.SWITCH_MAIN_LEFT: key = switchWeaponLeftKey; break; case ButtonID.SWITCH_MAIN_RIGHT: key = switchWeaponRightKey; break; case ButtonID.SWITCH_SUB_LEFT: key = switchSubLeftKey; break; case ButtonID.SWITCH_SUB_RIGHT: default: key = switchSubRightKey; break; } return(bf(key)); }
private static ButtonID CheckInvert(ButtonID id) { if (!buttonManager.DEBUG_changeControllerInputs) { return(id); } switch (id) { case ButtonID.DIRECT_DOWN: case ButtonID.DIRECT_UP: case ButtonID.DIRECT_LEFT: case ButtonID.DIRECT_RIGHT: return((ButtonID)((int)ButtonID.L_UP + (int)id - (int)ButtonID.DIRECT_UP)); case ButtonID.L_DOWN: case ButtonID.L_UP: case ButtonID.L_LEFT: case ButtonID.L_RIGHT: return((ButtonID)((int)ButtonID.DIRECT_UP + (int)id - (int)ButtonID.L_UP)); } return(id); }
public bool GetTouchUp(ButtonID btn) { return((_currentStates.touches & (1 << (int)btn)) == 0 && (_prevStates.touches & (1 << (int)btn)) != 0); }
private void AddStatLock(int x, int y, StatLockType setting, ButtonID buttonID) { if (m_Target.ControlMaster != m_User && m_User.AccessLevel < AccessLevel.GameMaster) return; // no fooling around with wild/other people's critters! int buttonID1, buttonID2; int xOffset, yOffset; switch (setting) { default: case StatLockType.Up: buttonID1 = 0x983; buttonID2 = 0x983; xOffset = 3; yOffset = 4; break; case StatLockType.Down: buttonID1 = 0x985; buttonID2 = 0x985; xOffset = 3; yOffset = 4; break; case StatLockType.Locked: buttonID1 = 0x82C; buttonID2 = 0x82C; xOffset = 2; yOffset = 2; break; } AddButton(x + xOffset, y + yOffset, buttonID1, buttonID2, (int)buttonID, GumpButtonType.Reply, 0); }
private void AddSkillLock(int x, int y, BaseCreature c, SkillName skill, ButtonID buttonID) { if (m_Target.ControlMaster != m_User && m_User.AccessLevel < AccessLevel.GameMaster) return; // no fooling around with wild/other people's critters! Skill sk = c.Skills[skill]; if (sk != null) { int buttonID1, buttonID2; int xOffset, yOffset; switch (sk.Lock) { default: case SkillLock.Up: buttonID1 = 0x983; buttonID2 = 0x983; xOffset = 3; yOffset = 4; break; case SkillLock.Down: buttonID1 = 0x985; buttonID2 = 0x985; xOffset = 3; yOffset = 4; break; case SkillLock.Locked: buttonID1 = 0x82C; buttonID2 = 0x82C; xOffset = 2; yOffset = 2; break; } AddButton(x + xOffset, y + yOffset, buttonID1, buttonID2, (int)buttonID, GumpButtonType.Reply, 0); } }
bool DoButtonClick(ButtonID btn) { switch (btn) { case ButtonID.Cancel: return false; case ButtonID.Done: Commit(); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.EliminateRedNebula3); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.BartMan4); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.Hulk4); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.CrabNebula3); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.GreenLantern3); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.Homer3); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.GreenLantern6); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.Bartman7); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.RedNebula6); return false; case ButtonID.Reset: { m_iLargeIcon = -1; for (int i = 0; i < m_bIconStatus.Length; i++) m_bIconStatus[i] = true; } break; case ButtonID.Confirm: m_iLargeIcon = m_iSelectedIcon; if (m_iSelectedIcon == 2) { m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.CrabNebula2); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.GreenLantern5); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.Bartman6); } else if( m_iSelectedIcon == 0 ) m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.Homer2); SelectIcon(-1); break; case ButtonID.Eliminate: m_bIconStatus[m_iSelectedIcon] = !m_bIconStatus[m_iSelectedIcon]; SelectIcon(m_iSelectedIcon); if (m_iSelectedIcon == 1) { m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.EliminateRedNebula2); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.RedNebula5); } else if (m_iSelectedIcon == 2) { m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.BartMan3); m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.GreenLantern2); } else if (m_iSelectedIcon == 0) m_Game.Game.Tutorial.FinishPiece(TutorialSystem.TutorialPiece.Hulk3); break; } return true; }
private void EndButtonPress() { _pushed = ButtonID.None; _captured = ButtonID.None; StopTimer(); Capture = false; Invalidate(); }
protected override void OnMouseLeave(EventArgs e) { _mouseOver = ButtonID.None; Invalidate(); base.OnMouseLeave(e); }
// Called when the mouse button is released - we need to stop // spinning the value of the updown. // private void EndButtonPress() { pushed = ButtonID.None; captured = ButtonID.None; // Stop the timer StopTimer(); // Release the mouse CaptureInternal = false; // Redraw the buttons Invalidate(); }
private void EndProcessArrowKey() { _pushed = ButtonID.None; StopTimer(); Invalidate(); }
private void HandleUpDownButton(ButtonID buttonId, bool rotate) { string strValue = Text; PropertyUpDownEventArgs args = new PropertyUpDownEventArgs( _ownerPropertyEnum, (buttonId == ButtonID.Up ? PropertyUpDownEventArgs.UpDownButtons.Up : PropertyUpDownEventArgs.UpDownButtons.Down)); args.Value = Text; string oldStr = Text; _ownerPropertyEnum.Property.ParentGrid.OnPropertyUpDown(args); if (Text != args.Value) strValue = args.Value; else { string[] displayedStrings = _ownerPropertyEnum.Property.Value.GetDisplayedValues(); if (displayedStrings.Length > 0) { strValue = Text; if (_ownerPropertyEnum.Property.Value.HasMultipleValues) { int index = -1; if (buttonId == ButtonID.Down) index = displayedStrings.Length - 1; else if (buttonId == ButtonID.Up) index = 0; if (index != -1) strValue = displayedStrings[index]; } else { for (int i = 0; i < displayedStrings.Length; i++) { if (displayedStrings[i] == strValue) { int index = -1; if ((buttonId == ButtonID.Down) && (i > 0)) index = i - 1; else if ((buttonId == ButtonID.Down) && rotate) index = displayedStrings.Length - 1; else if ((buttonId == ButtonID.Up) && (i < displayedStrings.Length - 1)) index = i + 1; else if ((buttonId == ButtonID.Up) && rotate) index = 0; if (index != -1) strValue = displayedStrings[index]; break; } } } } else if (_ownerPropertyEnum.Property.Value.UnderlyingType != typeof(string)) { TypeConverter tc = _ownerPropertyEnum.Property.Value.TypeConverter; PropertyTypeDescriptorContext context = _ownerPropertyEnum.Property.Value.GetTypeDescriptorContext(_ownerPropertyEnum); decimal value; object originalValue; try { if (_ownerPropertyEnum.Property.Value.HasMultipleValues) { DefaultValueAttribute attr = (DefaultValueAttribute)_ownerPropertyEnum.Property.Value.GetAttribute(typeof(DefaultValueAttribute)); if (attr != null) originalValue = attr.Value; else originalValue = 0; value = Convert.ToDecimal(originalValue); } else { originalValue = tc.ConvertFromString(context, _ownerPropertyEnum.Property.Value.CultureInfo, Text); value = Convert.ToDecimal(originalValue); } } catch (Exception e) { _currentInvalidPropertyEnum = OwnerPropertyEnumerator; _currentValueValidationResult = PropertyValue.ValueValidationResult.TypeConverterFailed; _ownerPropertyEnum.Property.ParentGrid.NotifyValueValidation( new ValueValidationEventArgs(OwnerPropertyEnumerator, _currentInvalidPropertyEnum, Text, PropertyValue.ValueValidationResult.TypeConverterFailed, e)); return; } if (buttonId == ButtonID.Up) { try { value += Increment; } catch (OverflowException) { } } else if (buttonId == ButtonID.Down) { try { value -= Increment; } catch (OverflowException) { } } CultureInfo culture = _ownerPropertyEnum.Property.Value.CultureInfo; strValue = tc.ConvertToString(context, culture, Convert.ChangeType(value, originalValue.GetType(), culture)); if (strValue == null) strValue = ""; } } if (Text != strValue) { _ownerPropertyEnum.Property.Value.PreviousValue = _ownerPropertyEnum.Property.Value.GetValue(); PropertyValidatorBase validator = _ownerPropertyEnum.Property.Value.Validator; // Check current value try { object valueToValidate = _ownerPropertyEnum.Property.Value.GetValueToValidate(Text); if (validator != null) { if (!validator.Check(_ownerPropertyEnum.Property.Value.GetValueToValidate(Text), false)) { if (_edit != null) _edit.SelectAll(); _currentInvalidPropertyEnum = OwnerPropertyEnumerator; _currentValueValidationResult = PropertyValue.ValueValidationResult.ValidatorFailed; _ownerPropertyEnum.Property.ParentGrid.NotifyValueValidation( new ValueValidationEventArgs(OwnerPropertyEnumerator, OwnerPropertyEnumerator, Text, _currentValueValidationResult)); return; } } } catch (Exception e) { if (_edit != null) _edit.SelectAll(); _currentInvalidPropertyEnum = OwnerPropertyEnumerator; _currentValueValidationResult = PropertyValue.ValueValidationResult.TypeConverterFailed; _ownerPropertyEnum.Property.ParentGrid.NotifyValueValidation( new ValueValidationEventArgs(OwnerPropertyEnumerator, _currentInvalidPropertyEnum, Text, PropertyValue.ValueValidationResult.TypeConverterFailed, e)); return; } if (validator != null) { if (!validator.Check(_ownerPropertyEnum.Property.Value.GetValueToValidate(strValue), false)) return; } if (_realtimeChange) CommitChanges(strValue, false); else Text = strValue; } if ((_edit != null) && _edit.Focused) _edit.SelectAll(); else Invalidate(); }
/// <summary> /// Gets the button text for the CurrentUICulture language. /// Note: The fallback language is English /// </summary> /// <param name="buttonID">The ID of the button.</param> /// <returns>The button text</returns> private string GetButtonText(ButtonID buttonID) { var buttonTextArrayIndex = Convert.ToInt32(buttonID); switch (this.languageID) { case TwoLetterISOLanguageID.de: return BUTTON_TEXTS_GERMAN_DE[buttonTextArrayIndex]; case TwoLetterISOLanguageID.es: return BUTTON_TEXTS_SPANISH_ES[buttonTextArrayIndex]; case TwoLetterISOLanguageID.it: return BUTTON_TEXTS_ITALIAN_IT[buttonTextArrayIndex]; default: return BUTTON_TEXTS_ENGLISH_EN[buttonTextArrayIndex]; } }
/// <include file='doc\UpDownBase.uex' path='docs/doc[@for="UpDownBase.UpDownButtons.OnMouseMove"]/*' /> /// <devdoc> /// /// Handles detecting mouse movement. /// /// </devdoc> protected override void OnMouseMove(MouseEventArgs e) { // If the mouse is captured by the buttons (i.e. an updown button // was pushed, and the mouse button has not yet been released), // determine the new state of the buttons depending on where // the mouse pointer has moved. if (Capture) { // Determine button area Rectangle rect = ClientRectangle; rect.Height /= 2; if (captured == ButtonID.Down) { rect.Y += rect.Height; } // Test if the mouse has moved outside the button area if (rect.Contains(e.X, e.Y)) { // Inside button // Repush the button if necessary if (pushed != captured) { // Restart the timer StartTimer(); pushed = captured; Invalidate(); } } else { // Outside button // Retain the capture, but pop the button up whilst // the mouse remains outside the button and the // mouse button remains pressed. if (pushed != ButtonID.None) { // Stop the timer for updown events StopTimer(); pushed = ButtonID.None; Invalidate(); } } } //Logic for seeing which button is Hot if any Rectangle rectUp = ClientRectangle, rectDown = ClientRectangle; rectUp.Height /= 2; rectDown.Y += rectDown.Height / 2; //Check if the mouse is on the upper or lower button. Note that it could be in neither. if (rectUp.Contains(e.X, e.Y)) { mouseOver = ButtonID.Up; Invalidate(); } else if (rectDown.Contains(e.X, e.Y)) { mouseOver = ButtonID.Down; Invalidate(); } // At no stage should a button be pushed, and the mouse // not captured. Debug.Assert(!(pushed != ButtonID.None && captured == ButtonID.None), "Invalid button pushed/captured combination"); parent.OnMouseMove(parent.TranslateMouseEvent(this, e)); }
// Called when the mouse button is pressed - we need to start // spinning the value of the updown. // private void BeginButtonPress(MouseEventArgs e) { int half_height = Size.Height / 2; if (e.Y < half_height) { // Up button // pushed = captured = ButtonID.Up; Invalidate(); } else { // Down button // pushed = captured = ButtonID.Down; Invalidate(); } // Capture the mouse // CaptureInternal = true; // Generate UpDown event // OnUpDown(new UpDownEventArgs((int)pushed)); // Start the timer for new updown events // StartTimer(); }
private void BeginButtonPress(MouseEventArgs e) { if (e.Y < Size.Height / 2) _captured = _pushed = ButtonID.Up; else _captured = _pushed = ButtonID.Down; Invalidate(); Capture = true; HandleUpDownButton(_pushed, false); StartTimer(); }