Exemplo n.º 1
0
        private void TableViewKeyPress(View.KeyEventEventArgs e)
        {
            if (e.KeyEvent.Key == Key.DeleteChar)
            {
                if (tableView.FullRowSelect)
                {
                    // Delete button deletes all rows when in full row mode
                    foreach (int toRemove in tableView.GetAllSelectedCells().Select(p => p.Y).Distinct().OrderByDescending(i => i))
                    {
                        tableView.Table.Rows.RemoveAt(toRemove);
                    }
                }
                else
                {
                    // otherwise set all selected cells to null
                    foreach (var pt in tableView.GetAllSelectedCells())
                    {
                        tableView.Table.Rows[pt.Y][pt.X] = DBNull.Value;
                    }
                }

                tableView.Update();
                e.Handled = true;
            }
        }
        private void KeyDownHandler(View.KeyEventEventArgs a)
        {
            if (a.KeyEvent.IsCapslock)
            {
                capsLock.Title = "Capslock: On";
                statusBar.SetNeedsDisplay();
            }
            else
            {
                capsLock.Title = "Capslock: Off";
                statusBar.SetNeedsDisplay();
            }

            if (a.KeyEvent.IsNumlock)
            {
                numLock.Title = "Numlock: On";
                statusBar.SetNeedsDisplay();
            }
            else
            {
                numLock.Title = "Numlock: Off";
                statusBar.SetNeedsDisplay();
            }

            if (a.KeyEvent.IsScrolllock)
            {
                scrollLock.Title = "Scrolllock: On";
                statusBar.SetNeedsDisplay();
            }
            else
            {
                scrollLock.Title = "Scrolllock: Off";
                statusBar.SetNeedsDisplay();
            }
        }
Exemplo n.º 3
0
        private void TreeViewFiles_KeyPress(View.KeyEventEventArgs obj)
        {
            if (obj.KeyEvent.Key == (Key.R | Key.CtrlMask))
            {
                var selected = treeViewFiles.SelectedObject;

                // nothing is selected
                if (selected == null)
                {
                    return;
                }

                var location = treeViewFiles.GetObjectRow(selected);

                //selected object is offscreen or somehow not found
                if (location == null || location < 0 || location > treeViewFiles.Frame.Height)
                {
                    return;
                }

                ShowContextMenu(new Point(
                                    5 + treeViewFiles.Frame.X,
                                    location.Value + treeViewFiles.Frame.Y + 2),
                                selected);
            }
        }
Exemplo n.º 4
0
 private static void ConditionalFocusTo(View.KeyEventEventArgs e, View target, Key handleKey)
 {
     if (e.KeyEvent.Key == handleKey)
     {
         e.Handled = true;  //to ensure no further processing of the event
         target.SetFocus();
     }
 }
Exemplo n.º 5
0
 static void ExpandCollapse(View.KeyEventEventArgs e, TreeView tv)
 {
     if (e.KeyEvent.Key == Key.Enter)
     {
         tv.OnExpandOrCollapseSelectedItem();
         e.Handled = true;
     }
 }
 void OnDialogKeyPress(View.KeyEventEventArgs args)
 {
     if (this.Dialog.MostFocused is TextField textField)
     {
         ClipboardMenu.PerformEdit(args, textField);
     }
     else if (this.Dialog.MostFocused is TextView textView)
     {
         ClipboardMenu.PerformEdit(args, textView);
     }
 }
Exemplo n.º 7
0
        private void treeView_KeyPress(View.KeyEventEventArgs obj)
        {
            if (!_treeView.CanFocus || !_treeView.HasFocus)
            {
                return;
            }

            try
            {
                switch (obj.KeyEvent.Key)
                {
                case Key.DeleteChar:
                    var many = _treeView.GetAllSelectedObjects().ToArray();
                    obj.Handled = true;

                    //delete many at once?
                    if (many.Length > 1)
                    {
                        if (many.Cast <object>().All(d => d is IDeleteable))
                        {
                            var cmd = new ExecuteCommandDelete(_activator, many.Cast <IDeleteable>().ToArray());
                            if (!cmd.IsImpossible)
                            {
                                cmd.Execute();
                            }
                            else
                            {
                                _activator.Show("Cannot Delete", cmd.ReasonCommandImpossible);
                            }
                        }
                    }
                    else
                    if (_treeView.SelectedObject is IDeleteable d)
                    {
                        // it is a single object selection
                        _activator.DeleteWithConfirmation(d);
                    }

                    break;
                }
            }
            catch (Exception ex)
            {
                _activator.ShowException("Error", ex);
            }
        }
Exemplo n.º 8
0
        private void TreeView_KeyPress(View.KeyEventEventArgs obj)
        {
            if (obj.KeyEvent.Key == Key.DeleteChar)
            {
                var toDelete = treeView.SelectedObject;

                if (toDelete == null)
                {
                    return;
                }

                obj.Handled = true;

                // if it is a root object remove it
                if (treeView.Objects.Contains(toDelete))
                {
                    treeView.Remove(toDelete);
                }
                else
                {
                    var parent = treeView.GetParent(toDelete);

                    if (parent == null)
                    {
                        MessageBox.ErrorQuery("Could not delete", $"Parent of '{toDelete}' was unexpectedly null", "Ok");
                    }
                    else
                    {
                        //update the model
                        parent.Children.Remove(toDelete);

                        //refresh the tree
                        treeView.RefreshObject(parent);
                    }
                }
            }
        }