INodeHandler.cs 1.2 KB

1234567891011121314151617181920212223242526
  1. using System.Collections.ObjectModel;
  2. using System.ComponentModel;
  3. using ChunkyImageLib;
  4. using PixiEditor.AvaloniaUI.Models.Structures;
  5. using PixiEditor.ChangeableDocument.Changeables.Graph.Interfaces;
  6. using PixiEditor.Numerics;
  7. namespace PixiEditor.AvaloniaUI.Models.Handlers;
  8. public interface INodeHandler : INotifyPropertyChanged
  9. {
  10. public Guid Id { get; }
  11. public string NodeName { get; set; }
  12. public string InternalName { get; }
  13. public ObservableRangeCollection<INodePropertyHandler> Inputs { get; }
  14. public ObservableRangeCollection<INodePropertyHandler> Outputs { get; }
  15. public Surface ResultPreview { get; set; }
  16. public VecD PositionBindable { get; set; }
  17. public bool IsSelected { get; set; }
  18. public void TraverseBackwards(Func<INodeHandler, bool> func);
  19. public void TraverseBackwards(Func<INodeHandler, INodeHandler, bool> func);
  20. public void TraverseBackwards(Func<INodeHandler, INodeHandler, INodePropertyHandler, bool> func);
  21. public void TraverseForwards(Func<INodeHandler, bool> func);
  22. public void TraverseForwards(Func<INodeHandler, INodeHandler, bool> func);
  23. public void TraverseForwards(Func<INodeHandler, INodeHandler, INodePropertyHandler, bool> func);
  24. }