protected virtual void OnCollapsing(TreeGridViewItemCancelEventArgs e) { if (Collapsing != null) { Collapsing(this, e); } }
protected virtual void OnExpanding(TreeGridViewItemCancelEventArgs e) { if (Expanding != null) { Expanding(this, e); } }
public override bool ShouldCollapseItem(NSOutlineView outlineView, NSObject item) { var h = Handler; if (h.suppressExpandCollapseEvents > 0) { return(true); } var myitem = h.GetEtoItem(item); if (myitem != null) { var args = new TreeGridViewItemCancelEventArgs(myitem); h.Callback.OnCollapsing(h.Widget, args); if (!args.Cancel && !h.AllowMultipleSelection) { collapsedItemIsSelected = h.ChildIsSelected(myitem); if (collapsedItemIsSelected == true) { h.skipSelectionChanged = 1; } } else { collapsedItemIsSelected = null; } return(!args.Cancel); } collapsedItemIsSelected = null; return(true); }
public void HandleTestExpandRow(object o, Gtk.TestExpandRowArgs args) { var h = Handler; var e = new TreeGridViewItemCancelEventArgs(h.GetItem(args.Path) as ITreeGridItem); h.Widget.OnExpanding(e); args.RetVal = e.Cancel; }
public override bool ShouldExpandItem(NSOutlineView outlineView, NSObject item) { var myitem = item as EtoTreeItem; if (myitem != null) { var args = new TreeGridViewItemCancelEventArgs(myitem.Item); Handler.Widget.OnExpanding(args); return(!args.Cancel); } return(true); }
public void HandleTestExpandRow(object o, Gtk.TestExpandRowArgs args) { var h = Handler; if (h.suppressExpandCollapseEvents > 0) { return; } var e = new TreeGridViewItemCancelEventArgs(h.GetItem(args.Path) as ITreeGridItem); h.Callback.OnExpanding(h.Widget, e); args.RetVal = e.Cancel; }
public void HandleTestCollapseRow(object o, Gtk.TestCollapseRowArgs args) { var h = Handler; var e = new TreeGridViewItemCancelEventArgs(h.GetItem(args.Path) as ITreeGridItem); h.Widget.OnCollapsing(e); args.RetVal = e.Cancel; if (!e.Cancel) { h.selectCollapsingItem = !h.AllowMultipleSelection && h.ChildIsSelected(e.Item); h.SkipSelectedChange = true; } }
public bool ExpandRow(int row) { var args = new TreeGridViewItemCancelEventArgs(GetItemAtRow(row)); OnExpanding(args); if (args.Cancel) { return(false); } args.Item.Expanded = true; ExpandRowInternal(row); OnExpanded(new TreeGridViewItemEventArgs(args.Item)); return(true); }
public override bool ShouldExpandItem(NSOutlineView outlineView, NSObject item) { var h = Handler; if (h.suppressExpandCollapseEvents > 0) { return(true); } var myitem = h.GetEtoItem(item); if (myitem != null) { var args = new TreeGridViewItemCancelEventArgs(myitem); h.Callback.OnExpanding(h.Widget, args); return(!args.Cancel); } return(true); }
public override bool ShouldCollapseItem(NSOutlineView outlineView, NSObject item) { var myitem = item as EtoTreeItem; if (myitem != null) { var args = new TreeGridViewItemCancelEventArgs(myitem.Item); Handler.Widget.OnCollapsing(args); if (!args.Cancel && !Handler.AllowMultipleSelection) { collapsedItemIsSelected = Handler.ChildIsSelected(myitem.Item); skipSelectionChanged = collapsedItemIsSelected ?? false; } else { collapsedItemIsSelected = null; } return(!args.Cancel); } collapsedItemIsSelected = null; return(true); }
public bool CollapseRow(int row) { var args = new TreeGridViewItemCancelEventArgs(GetItemAtRow(row)); OnCollapsing(args); if (args.Cancel) { return(false); } var shouldSelect = !Handler.AllowMultipleSelection && ChildIsSelected(args.Item); args.Item.Expanded = false; OnCollapsed(new TreeGridViewItemEventArgs(args.Item)); CollapseSection(row); ResetCollection(); if (shouldSelect) { Handler.SelectRow(row); } return(true); }
public override void AttachEvent(string handler) { switch (handler) { case TreeGridView.ExpandingEvent: this.Tree.TestExpandRow += delegate(object o, Gtk.TestExpandRowArgs args) { var e = new TreeGridViewItemCancelEventArgs(GetItem(args.Path) as ITreeGridItem); Widget.OnExpanding(e); args.RetVal = e.Cancel; }; break; case TreeGridView.ExpandedEvent: this.Tree.RowExpanded += delegate(object o, Gtk.RowExpandedArgs args) { var e = new TreeGridViewItemEventArgs(GetItem(args.Path) as ITreeGridItem); e.Item.Expanded = true; Widget.OnExpanded(e); }; break; case TreeGridView.CollapsingEvent: this.Tree.TestCollapseRow += delegate(object o, Gtk.TestCollapseRowArgs args) { var e = new TreeGridViewItemCancelEventArgs(GetItem(args.Path) as ITreeGridItem); Widget.OnCollapsing(e); args.RetVal = e.Cancel; if (!e.Cancel) { selectCollapsingItem = AllowMultipleSelection ? false : ChildIsSelected(e.Item); SkipSelectedChange = true; } }; break; case TreeGridView.CollapsedEvent: this.Tree.RowCollapsed += delegate(object o, Gtk.RowCollapsedArgs args) { var e = new TreeGridViewItemEventArgs(GetItem(args.Path) as ITreeGridItem); e.Item.Expanded = false; Widget.OnCollapsed(e); SkipSelectedChange = false; if (selectCollapsingItem == true) { Tree.Selection.UnselectAll(); Tree.Selection.SelectPath(args.Path); selectCollapsingItem = null; } }; break; case TreeGridView.SelectedItemChangedEvent: this.Tree.Selection.Changed += (o, args) => { var item = this.SelectedItem; if (!SkipSelectedChange && !object.ReferenceEquals(item, lastSelected)) { Widget.OnSelectedItemChanged(EventArgs.Empty); lastSelected = item; } }; break; default: base.AttachEvent(handler); break; } }
protected void OnTreeImagesItemExpanding(object sender, TreeGridViewItemCancelEventArgs e) { // First expansion of a device if ((e.Item as TreeGridItem)?.Children?.Count == 1 && ((TreeGridItem)e.Item).Children[0] == placeholderItem && ((TreeGridItem)e.Item).Parent == devicesRoot) { TreeGridItem deviceItem = (TreeGridItem)e.Item; deviceItem.Children.Clear(); Device dev; try { dev = new Device((string)deviceItem.Values[1]); if (dev.Error) { deviceItem.Values[2] = $"Error {dev.LastError} opening device"; e.Cancel = true; treeImages.ReloadData(); treeImages.SelectedItem = deviceItem; return; } } catch (SystemException ex) { deviceItem.Values[2] = ex.Message; e.Cancel = true; treeImages.ReloadData(); DicConsole.ErrorWriteLine(ex.Message); treeImages.SelectedItem = deviceItem; return; } if (!dev.IsRemovable) { deviceItem.Children.Add(new TreeGridItem { Values = new object[] { "Non-removable device commands not yet implemented" } }); } else { // TODO: Removable non-SCSI? ScsiInfo scsiInfo = new ScsiInfo(dev); if (!scsiInfo.MediaInserted) { deviceItem.Children.Add(new TreeGridItem { Values = new object[] { "No media inserted" } }); } else { deviceItem.Children.Add(new TreeGridItem { Values = new[] { scsiInfo.MediaType, deviceItem.Values[1], new pnlScsiInfo(scsiInfo) } }); } } dev.Close(); } }