Exemple #1
0
 protected override void Tick(double delta)
 {
     if (MDown)
     {
         AdjustMax();
     }
     if (Selected)
     {
         int min = MinCursor;
         int max = MaxCursor;
         if (min > max)
         {
             MinCursor = max;
             MaxCursor = min;
         }
         bool            modified = false;
         KeyHandlerState khs      = KeyHandler.GetKBState();
         if (khs.InitBS > 0)
         {
             int end = MinCursor - Math.Min(khs.InitBS, MinCursor);
             Text      = Text.Substring(0, end) + Text.Substring(MaxCursor);
             MinCursor = end;
             MaxCursor = end;
             modified  = true;
         }
         if (khs.KeyboardString.Length > 0)
         {
             Text      = Text.Substring(0, MinCursor) + khs.KeyboardString + Text.Substring(MaxCursor);
             MinCursor = MinCursor + khs.KeyboardString.Length;
             MaxCursor = MinCursor;
             modified  = true;
         }
         if (!MultiLine && Text.Contains('\n'))
         {
             Text = Text.Substring(0, Text.IndexOf('\n'));
             if (MaxCursor > Text.Length)
             {
                 MaxCursor = Text.Length;
                 if (MinCursor > MaxCursor)
                 {
                     MinCursor = MaxCursor;
                 }
             }
             modified = true;
             if (EnterPressed != null)
             {
                 EnterPressed();
             }
         }
         if (modified && TextModified != null)
         {
             TextModified.Invoke(this, null);
         }
     }
 }
        /// <summary>
        /// Performs a tick on this element.
        /// </summary>
        /// <param name="delta">The time since the last tick.</param>
        protected override void Tick(double delta)
        {
            if (MDown)
            {
                AdjustMax();
            }
            if (Selected)
            {
                if (MinCursor > MaxCursor)
                {
                    int min = MinCursor;
                    MinCursor = MaxCursor;
                    MaxCursor = min;
                }
                bool modified = false;

                /*
                 * KeyHandlerState khs = KeyHandler.GetKBState();
                 * if (khs.Escaped)
                 * {
                 *  TriedToEscape = true;
                 * }
                 * if (khs.InitBS > 0)
                 * {
                 *  int end;
                 *  if (MaxCursor > MinCursor)
                 *  {
                 *      khs.InitBS--;
                 *  }
                 *  if (khs.InitBS > 0)
                 *  {
                 *      end = MinCursor - Math.Min(khs.InitBS, MinCursor);
                 *  }
                 *  else
                 *  {
                 *      end = MinCursor;
                 *  }
                 *  Text = Text.Substring(0, end) + Text.Substring(MaxCursor);
                 *  MinCursor = end;
                 *  MaxCursor = end;
                 *  modified = true;
                 * }
                 * if (khs.KeyboardString.Length > 0)
                 * {
                 *  Text = Text.Substring(0, MinCursor) + khs.KeyboardString + Text.Substring(MaxCursor);
                 *  MinCursor = MinCursor + khs.KeyboardString.Length;
                 *  MaxCursor = MinCursor;
                 *  modified = true;
                 * }
                 * if (!MultiLine && Text.Contains('\n'))
                 * {
                 *  Text = Text.Substring(0, Text.IndexOf('\n'));
                 *  if (MaxCursor > Text.Length)
                 *  {
                 *      MaxCursor = Text.Length;
                 *      if (MinCursor > MaxCursor)
                 *      {
                 *          MinCursor = MaxCursor;
                 *      }
                 *  }
                 *  modified = true;
                 *  EnterPressed?.Invoke();
                 * }
                 */
                if (modified && TextModified != null)
                {
                    TextModified.Invoke(this, null);
                }
            }
        }