Class FilteredTreeView<T>
- Namespace
- NanoByte.Common.EtoControls
- Assembly
- NanoByte.Common.EtoForms.dll
Displays a list of INameds objects in a Eto.Forms.TreeGridView with incremental search. An automatic hierarchy is generated based on a Separator character.
public sealed class FilteredTreeView<T> : Panel, IHandlerSource, IDisposable, IBindable, IMouseInputSource, IKeyboardInputSource, ICallbackSource, IBindableWidgetContainer where T : INamed
Type Parameters
TThe type of INamed object to list. Special support for types implementing IHighlightColor and/or IContextMenu.
- Inheritance
-
objectWidgetBindableWidgetControlContainerPanelFilteredTreeView<T>
- Implements
-
IHandlerSourceIBindableIMouseInputSourceIKeyboardInputSourceICallbackSourceIBindableWidgetContainer
- Inherited Members
-
Panel.Remove(Control)Panel.ControlsPanel.PaddingPanel.MinimumSizePanel.ContextMenuPanel.ContentContainer.RemoveAll()Container.ClientSizeContainer.ChildrenContainer.VisualChildrenContainer.StyleProviderContainer.StylesControl.SizeChangedEventControl.KeyDownEventControl.KeyUpEventControl.TextInputEventControl.MouseDownEventControl.MouseUpEventControl.MouseMoveEventControl.MouseLeaveEventControl.MouseEnterEventControl.MouseDoubleClickEventControl.MouseWheelEventControl.GotFocusEventControl.LostFocusEventControl.ShownEventControl.DragDropEventControl.DragOverEventControl.DragEnterEventControl.DragLeaveEventControl.DragEndEventControl.EnabledChangedEventControl.Invalidate()Control.Invalidate(Rectangle)Control.UpdateLayout()Control.GetPreferredSize()Control.GetPreferredSize(SizeF)Control.CaptureMouse()Control.ReleaseMouseCapture()Control.Detach()Control.AttachNative()Control.DetachNative()Control.Focus()Control.SuspendLayout()Control.ResumeLayout()Control.PointFromScreen(PointF)Control.PointToScreen(PointF)Control.RectangleToScreen(RectangleF)Control.RectangleFromScreen(RectangleF)Control.DoDragDrop(DataObject, DragEffects)Control.DoDragDrop(DataObject, DragEffects, Image, PointF)Control.TriggerStyleChanged()Control.Print()Control.LoadedControl.VisualControlsControl.TagControl.LogicalParentControl.IsVisualControlControl.SizeControl.IsMouseCapturedControl.WidthControl.HeightControl.EnabledControl.VisibleControl.ParentControl.VisualParentControl.IsAttachedControl.BackgroundColorControl.HasFocusControl.IsSuspendedControl.ParentWindowControl.SupportedPlatformCommandsControl.BoundsControl.LocationControl.CursorControl.ToolTipControl.TabIndexControl.AllowDropControl.SizeChangedControl.KeyDownControl.KeyUpControl.TextInputControl.MouseDownControl.MouseUpControl.MouseMoveControl.MouseLeaveControl.MouseEnterControl.MouseDoubleClickControl.MouseWheelControl.GotFocusControl.LostFocusControl.ShownControl.PreLoadControl.LoadControl.LoadCompleteControl.UnLoadControl.DragDropControl.DragOverControl.DragEnterControl.DragLeaveControl.DragEndControl.EnabledChangedBindableWidget.Unbind()BindableWidget.UpdateBindings(BindingUpdateMode)BindableWidget.ParentsBindableWidget.DataContextBindableWidget.BindingsBindableWidget.IsDataContextChangingBindableWidget.DataContextChangedWidget.Dispose()Widget.ToString()Widget.PlatformWidget.HandlerWidget.NativeHandleWidget.PropertiesWidget.IDWidget.StyleWidget.ControlObjectWidget.IsDisposedWidget.StyleChanged
- Extension Methods
Constructors
FilteredTreeView()
public FilteredTreeView()
Properties
CheckBoxes
Controls whether check boxes are displayed for every entry.
public bool CheckBoxes { get; set; }
Property Value
CheckedEntries
Returns a list of all INamed objects currently marked with a check box.
public ICollection<T> CheckedEntries { get; }
Property Value
- ICollection<T>
Remarks
Does NOT create a defensive copy. Take care to only add valid elements when modifying. Call UpdateList(object?) after changing.
Nodes
The INamed (and optionally IContextMenu) objects to be listed in the tree.
[SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "This control is supposed to represent a live and mutable collection")]
public NamedCollection<T>? Nodes { get; set; }
Property Value
SelectedEntry
The INamed object currently selected in the Eto.Forms.TreeGridView; null for no selection.
public T? SelectedEntry { get; set; }
Property Value
- T
Separator
The character used to split Names into tree levels.
public char Separator { get; set; }
Property Value
ShowSearchBox
Toggle the visibility of the search box.
public bool ShowSearchBox { get; set; }
Property Value
Methods
Dispose(bool)
Handles the disposal of this control
protected override void Dispose(bool disposing)
Parameters
disposingboolTrue if the caller called Eto.Widget.Dispose() manually, false if being called from a finalizer
UpdateList(object?)
Updates the filtered Eto.Forms.TreeGridView representation of Nodes.
public void UpdateList(object? sender = null)
Parameters
senderobject
Remarks
Called automatically internally.
Events
CheckedEntriesChanged
Occurs whenever the content of CheckedEntries has changed.
public event EventHandler? CheckedEntriesChanged
Event Type
SelectedEntryChanged
Occurs whenever SelectedEntry has been changed.
public event EventHandler? SelectedEntryChanged
Event Type
SelectionConfirmed
Occurs when the user has confirmed the SelectedEntry via double-clicking or pressing Enter.
public event EventHandler? SelectionConfirmed