DiagramElement
Элемент диаграммы.
Наследует: BaseLogReceiver
Реализует: INotifyPropertyChanging, INotifyPropertyChanged, ICustomTypeDescriptor, INotifyPropertiesChanged, IPersistable
Конструкторы
protected DiagramElement()
diagramElement = DiagramElement()
Инициализирует новый экземпляр DiagramElement.
Свойства
public bool CanAutoName { get; set; }
value = diagramElement.CanAutoName
diagramElement.CanAutoName = value
Используйте автоназвание.
public virtual string Category { get; private set; }
value = diagramElement.Category
diagramElement.Category = value
Название группы, включающей элемент диаграммы.
public DebuggerSyncObject DebuggerSyncObject { get; set; }
value = diagramElement.DebuggerSyncObject
diagramElement.DebuggerSyncObject = value
Объект синхронизации для отладчика.
public virtual string Description { get; private set; }
value = diagramElement.Description
diagramElement.Description = value
Описание элемента диаграммы.
protected virtual IDispatcher Dispatcher { get; }
value = diagramElement.Dispatcher
Идентификатор.
public virtual string DocUrl { get; set; }
value = diagramElement.DocUrl
diagramElement.DocUrl = value
Помоги Урлу.
public int FlushPriority { get; protected set; }
value = diagramElement.FlushPriority
diagramElement.FlushPriority = value
Необходимость состояния смыва (FlushDisabled означает Нет).
public virtual bool HasUndoManager { get; }
value = diagramElement.HasUndoManager
Проверьте, определен ли менеджер undo
public abstract string IconName { get; }
value = diagramElement.IconName
Имя ресурса Иконы.
public IReadOnlyCollection<DiagramSocket> InputSockets { get; }
value = diagramElement.InputSockets
Входящие соединения.
public virtual bool IsExternalCode { get; }
value = diagramElement.IsExternalCode
Элемент содержит внешний код.
public virtual bool IsUndoRedoing { get; }
value = diagramElement.IsUndoRedoing
В настоящее время проводится операция undo/redo.
public override LogLevels LogLevel { get; set; }
value = diagramElement.LogLevel
diagramElement.LogLevel = value
Уровень для выполнения этого правила логарифмирования.
public override string Name { get; set; }
value = diagramElement.Name
diagramElement.Name = value
Имя.
public IReadOnlyCollection<DiagramSocket> OutputSockets { get; }
value = diagramElement.OutputSockets
Исходящие связи.
public virtual IEnumerable<IDiagramElementParam> Parameters { get; }
value = diagramElement.Parameters
Настройки элементов диаграммы.
public CompositionDiagramElement ParentComposition { get; private set; }
value = diagramElement.ParentComposition
diagramElement.ParentComposition = value
Родительский состав этого элемента принадлежит.
protected int ProcessingLevel { get; private set; }
value = diagramElement.ProcessingLevel
diagramElement.ProcessingLevel = value
Уровень обработки элементов. Сколько раз DiagramSocketValue) возвращается.
public bool ProcessNullValues { get; set; }
value = diagramElement.ProcessNullValues
diagramElement.ProcessNullValues = value
нулевые значения процесса.
public bool ShowParameters { get; set; }
value = diagramElement.ShowParameters
diagramElement.ShowParameters = value
Отображать параметры элемента в элементах более высокого порядка.
public bool ShowSockets { get; set; }
value = diagramElement.ShowSockets
diagramElement.ShowSockets = value
Показывать сокеты элементов в элементах более высокого порядка.
public virtual DiagramStrategy Strategy { get; set; }
value = diagramElement.Strategy
diagramElement.Strategy = value
Стратегия, к которой прикреплен элемент.
public abstract Guid TypeId { get; }
value = diagramElement.TypeId
Уникальный идентификатор типа элемента диаграммы.
protected virtual bool WaitAllInput { get; }
value = diagramElement.WaitAllInput
Подождите все параметры, прежде чем использовать метод.
Методы
protected DiagramSocket AddInput(StaticSocketIds id, string name, DiagramSocketType type, Action<DiagramSocketValue> process, int linkableMax, int index, bool? isDynamic)
result = diagramElement.AddInput(id, name, type, process, linkableMax, index, isDynamic)
Чтобы добавить или получить существующее входящее соединение. isDynamic по умолчанию имеет значение false.
- id
- Идентификатор соединения.
- name
- Имя соединения.
- type
- Тип подключения.
- linkableMax
- Максимальное количество подключений.
- process
- Действие вызывается при обработке нового входящего значения для сокета.
- index
- Индекс в списке сокетов.
- isDynamic
- Сокет будет сохранен вместе с элементом. По умолчанию верно для сокетов с явным идентификатором.
Возвращает: Соединение.
protected DiagramSocket AddInput(string id, string name, DiagramSocketType type, Action<DiagramSocketValue> process, int linkableMax, int index, bool? isDynamic)
result = diagramElement.AddInput(id, name, type, process, linkableMax, index, isDynamic)
Чтобы добавить или получить существующее входящее соединение. isDynamic по умолчанию истинно.
- id
- Идентификатор соединения.
- name
- Имя соединения.
- type
- Тип подключения.
- linkableMax
- Максимальное количество подключений.
- process
- Действие вызывается при обработке нового входящего значения для сокета.
- index
- Индекс в списке сокетов.
- isDynamic
- Сокет будет сохранен вместе с элементом. По умолчанию верно для сокетов с явным идентификатором.
Возвращает: Соединение.
protected DiagramSocket AddOutput(StaticSocketIds id, string name, DiagramSocketType type, int linkableMax, int index, bool isDynamic)
result = diagramElement.AddOutput(id, name, type, linkableMax, index, isDynamic)
Чтобы добавить или получить исходящее соединение.
- id
- Идентификатор соединения.
- name
- Имя соединения.
- type
- Тип подключения.
- linkableMax
- Максимальное количество подключений.
- index
- Индекс в списке сокетов.
- isDynamic
- Динамические сокеты удаляются во время Load().
Возвращает: Соединение.
protected DiagramSocket AddOutput(string id, string name, DiagramSocketType type, int linkableMax, int index, bool isDynamic)
result = diagramElement.AddOutput(id, name, type, linkableMax, index, isDynamic)
Чтобы добавить или получить исходящее соединение.
- id
- Идентификатор соединения.
- name
- Имя соединения.
- type
- Тип подключения.
- linkableMax
- Максимальное количество подключений.
- index
- Индекс в списке сокетов.
- isDynamic
- Динамические сокеты удаляются во время Load().
Возвращает: Соединение.
protected void AddParam(IDiagramElementParam param)
diagramElement.AddParam(param)
Чтобы добавить параметр.
- param
- Параметр.
protected DiagramElementParam<T> AddParam<T>(string name, T value)
result = diagramElement.AddParam(name, value)
Чтобы добавить параметр.
- name
- Имя.
- value
- Ценность.
Возвращает: Параметр.
public virtual void ClearSocketValues()
diagramElement.ClearSocketValues()
Очистить значения сокета.
public virtual DiagramElement Clone(bool cloneSockets)
result = diagramElement.Clone(cloneSockets)
Создайте копию DiagramElement.
- cloneSockets
- Для создания копий соединений.
Возвращает: Копия.
protected virtual DiagramElement CreateCopy()
result = diagramElement.CreateCopy()
Создайте копию DiagramElement.
Возвращает: DiagramElement копия.
protected virtual DiagramSocket CreateSocketInstance(DiagramSocketDirection dir, string socketId)
result = diagramElement.CreateSocketInstance(dir, socketId)
Создайте новый экземпляр сокета.
protected override void DisposeManaged()
diagramElement.DisposeManaged()
Освободите ресурсы.
public virtual void Flush(DateTime time)
diagramElement.Flush(time)
Промывка нетриггерных (корневых) элементов.
public static string GenerateSocketId(string suffix)
result = DiagramElement.GenerateSocketId(suffix)
Сгенерировать идентификатор сокета.
- suffix
- Суффикс.
Возвращает: Идентификатор.
public virtual string GetCategory()
result = diagramElement.GetCategory()
Получить категорию.
Возвращает: Категория.
public DiagramSocket[] GetConnectedSourceSockets(DiagramSocket targetInputSocket)
result = diagramElement.GetConnectedSourceSockets(targetInputSocket)
Подключите исходные сокеты.
- targetInputSocket
public virtual string GetDescription()
result = diagramElement.GetDescription()
Получить описание.
Возвращает: Описание.
public virtual string GetDisplayName()
result = diagramElement.GetDisplayName()
Получить отображаемое имя.
Возвращает: Имя.
public int GetNumConnections(DiagramSocket socket)
result = diagramElement.GetNumConnections(socket)
Получить количество подключений.
- socket
- Розетка.
Возвращает: Граф.
protected ValueTuple<DiagramSocket, bool> GetOrAddSocket(string socketId, DiagramSocketDirection dir, string name, DiagramSocketType type, Action<DiagramSocketValue> process, int linkableMax, int index, bool isDynamic, bool allowGet)
result = diagramElement.GetOrAddSocket(socketId, dir, name, type, process, linkableMax, index, isDynamic, allowGet)
Чтобы добавить или получить исходящее соединение.
- socketId
- Идентификатор соединения.
- dir
- DiagramSocketDirection
- name
- Имя соединения.
- type
- Тип подключения.
- process
- Действие вызывается при обработке нового входящего значения для сокета.
- linkableMax
- Максимальное количество подключений.
- index
- Индекс в списке сокетов.
- isDynamic
- Динамические сокеты удаляются во время SettingsStorage).
- allowGet
- Вернуть существующий сокет, если он уже существует.
Возвращает: Соединение.
public void Init(ILogSource parent)
diagramElement.Init(parent)
Инициализировать элемент.
- parent
- Родительский состав или стратегия.
public virtual void InitializeCopy(DiagramElement copiedFrom)
diagramElement.InitializeCopy(copiedFrom)
public override void Load(SettingsStorage storage)
diagramElement.Load(storage)
Загрузить настройки.
- storage
- Хранилище настроек.
protected virtual void OnInit()
diagramElement.OnInit()
Метод вызывается при инициализации элемента диаграммы.
protected virtual void OnPrepare()
diagramElement.OnPrepare()
Подготовиться к запуску алгоритма элемента диаграммы.
protected virtual void OnProcess(DateTime time, IDictionary<DiagramSocket, DiagramSocketValue> values, DiagramSocketValue source)
diagramElement.OnProcess(time, values, source)
Метод вызывается при обработке новых поступающих значений.
- time
- Время.
- values
- Ценности.
- source
- Исходное значение.
protected virtual void OnReseted()
diagramElement.OnReseted()
Метод вызывается при повторной инициализации состояния элемента диаграммы.
protected virtual void OnSocketConnected(DiagramSocket socket, DiagramSocket source)
diagramElement.OnSocketConnected(socket, source)
Метод вызывается при подписке на обработку выходных значений элемента диаграммы.
- socket
- Сокет элемента диаграммы.
- source
- Сокет элемента исходной диаграммы.
protected virtual void OnSocketDisconnected(DiagramSocket socket, DiagramSocket source)
diagramElement.OnSocketDisconnected(socket, source)
Метод вызывается при отписке от обработки выходных значений элемента диаграммы.
- socket
- Сокет элемента диаграммы.
- source
- Сокет элемента исходной диаграммы.
protected virtual void OnStart(DateTime time)
diagramElement.OnStart(time)
Метод вызывается в начале алгоритма элемента диаграммы.
protected virtual void OnStop()
diagramElement.OnStop()
Метод вызывается при остановке алгоритма элемента диаграммы.
protected virtual void OnUnInit()
diagramElement.OnUnInit()
Метод вызывается при деинициализации элемента диаграммы.
public void Prepare()
diagramElement.Prepare()
Подготовиться к запуску алгоритма элемента диаграммы.
public void Process(DiagramSocketValue value)
diagramElement.Process(value)
Для обработки входящего значения.
- value
- Ценность.
protected virtual void RaiseParameterValueChanged(string parameterName)
diagramElement.RaiseParameterValueChanged(parameterName)
Чтобы вызвать событие ParameterValueChanged.
- parameterName
- Имя параметра.
protected void RaiseProcessOutput(DiagramSocket socket, DateTime time, object value, DiagramSocketValue source, Subscription subscription)
diagramElement.RaiseProcessOutput(socket, time, value, source, subscription)
Чтобы вызвать событие ProcessOutput.
- socket
- Выходное гнездо.
- time
- Время.
- value
- Ценность.
- source
- Исходное значение.
- subscription
- Подписка.
protected virtual void RaisePropertiesChanged()
diagramElement.RaisePropertiesChanged()
Чтобы вызвать событие PropertiesChanged.
protected virtual void RaisePropertyChanged(string propertyName)
diagramElement.RaisePropertyChanged(propertyName)
Чтобы вызвать событие PropertyChanged.
- propertyName
- Имя свойства.
protected virtual void RaisePropertyChanged(object sender, PropertyChangedEventArgs args)
diagramElement.RaisePropertyChanged(sender, args)
Чтобы вызвать событие PropertyChanged.
- sender
- Отправитель.
- args
- Аргументы.
protected virtual void RaisePropertyChanging(string propertyName)
diagramElement.RaisePropertyChanging(propertyName)
Чтобы вызвать событие PropertyChanging.
- propertyName
- Имя свойства.
protected virtual void RaisePropertyChanging(object sender, PropertyChangingEventArgs args)
diagramElement.RaisePropertyChanging(sender, args)
Чтобы вызвать событие PropertyChanging.
- sender
- Отправитель.
- args
- Аргументы.
protected void RaiseSocketChanged(DiagramSocket socket)
diagramElement.RaiseSocketChanged(socket)
Чтобы вызвать событие SocketChanged.
- socket
- Розетка.
protected void RemoveParam(IDiagramElementParam param)
diagramElement.RemoveParam(param)
Чтобы удалить параметр.
- param
- Параметр.
protected void RemoveSocket(DiagramSocket socket)
diagramElement.RemoveSocket(socket)
Чтобы удалить соединение.
- socket
- Соединение.
protected void RemoveSockets(Func<DiagramSocket, bool> predicate, bool raiseSocketRemoved)
diagramElement.RemoveSockets(predicate, raiseSocketRemoved)
Удаление нескольких сокетов.
- predicate
- raiseSocketRemoved
- Вызовите событие SocketRemoved.
protected virtual void RemoveSockets(bool raiseSocketRemoved)
diagramElement.RemoveSockets(raiseSocketRemoved)
Удалить все входящие и исходящие соединения.
- raiseSocketRemoved
- Вызовите событие SocketRemoved.
public void Reset()
diagramElement.Reset()
Повторная инициализация состояния элемента диаграммы.
protected void ResetFlushPriority()
diagramElement.ResetFlushPriority()
Сброс FlushPriority.
public override void Save(SettingsStorage storage)
diagramElement.Save(storage)
Сохраните настройки.
- storage
- Хранилище настроек.
protected IDisposable SaveUndoState(object debugState)
result = diagramElement.SaveUndoState(debugState)
Сохраните состояние, чтобы включить отмену.
protected void SetElementName(string name)
diagramElement.SetElementName(name)
Установить имя элемента.
- name
- Имя.
public void Start(DateTime time)
diagramElement.Start(time)
Для начала начнем алгоритм элемента диаграммы.
События
public event Action<DiagramElement, IUndoableEdit> CommittedUndoableOperation
diagramElement.CommittedUndoableOperation += handler
Зафиксирована невыполнимая операция.
public event Action<string> ParameterValueChanged
diagramElement.ParameterValueChanged += handler
Событие изменения значения параметра элемента диаграммы.
public event Action<DiagramSocketValue> ProcessOutput
diagramElement.ProcessOutput += handler
Событие появления новых данных.
public event Action PropertiesChanged
diagramElement.PropertiesChanged += handler
Событие изменения доступных свойств.
public event PropertyChangedEventHandler PropertyChanged
diagramElement.PropertyChanged += handler
Событие изменения значения свойств элемента диаграммы.
public event PropertyChangingEventHandler PropertyChanging
diagramElement.PropertyChanging += handler
Событие изменения значения свойств элемента диаграммы.
public event Action<DiagramSocket> SocketAdded
diagramElement.SocketAdded += handler
Добавлено событие подключения элемента схемы.
public event Action<DiagramSocket> SocketChanged
diagramElement.SocketChanged += handler
Событие изменения подключения элемента схемы.
public event Action<DiagramSocket> SocketRemoved
diagramElement.SocketRemoved += handler
Соединение элемента диаграммы удалило событие.
public event Action StartedUndoableOperation
diagramElement.StartedUndoableOperation += handler
Начал операцию отмены.
Поля
protected const int FlushDisabled
value = DiagramElement.FlushDisabled
Отключено значение для FlushPriority.
protected const int FlushNormal
value = DiagramElement.FlushNormal
Нормальное значение для FlushPriority.