Ejemplo n.º 1
0
        public override void KeyDown(KeyEventArgs args, KeyStateInfo keyStateInfo)
        {
            if (args.Handled)
            {
                return;
            }

            if (keyStateInfo.Equals(Session.Current.Settings.SettingsKeyStateInfo))
            {
                Session.Current.ShowSettings();
                args.Handled = true;
            }
        }
Ejemplo n.º 2
0
        public override void KeyDown(KeyEventArgs args, KeyStateInfo keyStateInfo)
        {
            if ((args.Handled) || (!Session.Current.Settings.EnableXmlDocumentation))
            {
                return;
            }

            if ((args.Key == Key.Enter) || (args.Key == Key.Return))
            {
                CurrentLineInformation lineInformation = this.KeyProcessor.CurrentLineInformation;

                if ((lineInformation.LineText.StartsWith("///")) && (lineInformation.CaretColumn > 2))
                {
                    this.KeyProcessor.EditorOperations.InsertNewLine();
                    this.KeyProcessor.EditorOperations.InsertText("/// ");
                    args.Handled = true;
                }
            }
        }
        public override void KeyDown(KeyEventArgs args, KeyStateInfo keyStateInfo)
        {
            if (args.Handled)
            {
                return;
            }

            //open snippets selection window
            if (keyStateInfo.Equals(Session.Current.Settings.SnippetSelectionKeyStateInfo))
            {
                SnippetSelectionVM viewModel        = new SnippetSelectionVM(Session.Current.SnippetManager);
                SnippetSelection   snippetSelection = new SnippetSelection();
                snippetSelection.ViewModel = viewModel;
                if (snippetSelection.ShowDialog() == true)
                {
                    if (snippetSelection.ViewModel.Selected != null)
                    {
                        RunSnippet(snippetSelection.ViewModel.Selected);
                    }
                }
                args.Handled = true;
                return;
            }

            //check snippet hot keys
            foreach (Snippet snippet in Session.Current.Settings.Snippets)
            {
                if (!String.IsNullOrWhiteSpace(snippet.HotKey))
                {
                    KeyStateInfo snippetKeyStateInfo = new KeyStateInfo(snippet.HotKey);
                    if (keyStateInfo.Equals(snippetKeyStateInfo))
                    {
                        RunSnippet(snippet);
                        args.Handled = true;
                        return;
                    }
                }
            }
        }
 public virtual void KeyDown(KeyEventArgs args, KeyStateInfo keyStateInfo)
 {
 }
Ejemplo n.º 5
0
	private void CheckKey(KeyCode k, InputDefinition def)
	{		
		if (k != KeyCode.None)
		{
			// Get it started
			if (Input.GetKeyDown(k))
			{
				KeyStateInfo ks = null;
				keyState.TryGetValue(k, out ks);
				if (ks == null)
				{	// is a new key, add it now
					ks = new KeyStateInfo()
					{
						timer = 0.45f,
						wentUpCount = 0,
						allreadyWentUpThisFrame = false,
						hasSendSingleTriggers = false,
						shouldSetAs_hasSendSingleTriggers = false,
						shouldRemove = false,
					};
					keyState.Add(k, ks);
				}
			}

			// Detect Single/Double click event
			if (Input.GetKeyUp(k))
			{
				KeyStateInfo ks = null;
				keyState.TryGetValue(k, out ks);
				if (ks != null)
				{
					if (!ks.allreadyWentUpThisFrame)
					{
						ks.allreadyWentUpThisFrame = true;
						ks.wentUpCount++;
					}

					if (!ks.hasSendSingleTriggers)
					{
						ks.shouldSetAs_hasSendSingleTriggers = true;
						if (def.triggerOnSingle)
						{
							MakeCallback(new InputEvent() { isSingle = true }, def);
						}
					}

					if (ks.wentUpCount > 1)
					{	// a double click was detected?
						if (ks.timer > 0.0f)
						{	// yes
							if (def.triggerOnDouble)
							{	// send double click event
								ks.hasSendSingleTriggers = true; // don't allow further single triggers to occur
								MakeCallback(new InputEvent() { isDouble = true }, def);
							}
						}
						ks.shouldRemove = true;
					}

					else
					{
						if (ks.timer <= 0.0f)
						{
							ks.shouldRemove = true;
						}
					}
				}
			}

			// Detect 'Held' event
			if (Input.GetKey(k))
			{
				KeyStateInfo ks = null;
				keyState.TryGetValue(k, out ks);
				if (ks != null)
				{
					if (def.triggerOnHeld)
					{
						MakeCallback(new InputEvent() { isHeld = true }, def);
					}
				}
			}
		}
	}