ILinksModel
Модель, которая поддерживает направленные связи между узлами, при этом информация об отношениях хранится в отдельных структурах данных ссылок.
Реализует: IDiagramModel
Свойства
public IEnumerable LinksSource { get; set; }
value = iLinksModel.LinksSource
iLinksModel.LinksSource = value
Сбор объектов данных ссылок
public ValidCycle ValidCycle { get; set; }
value = iLinksModel.ValidCycle
iLinksModel.ValidCycle = value
Это свойство контролирует общую структуру графа, которая может быть нарисована.
public ValidUnconnectedLinks ValidUnconnectedLinks { get; set; }
value = iLinksModel.ValidUnconnectedLinks
iLinksModel.ValidUnconnectedLinks = value
Это свойство контролирует, должны ли данные ссылки всегда подключаться к данным узла на обоих концах ссылки.
Методы
public void AddLink(object linkdata)
iLinksModel.AddLink(linkdata)
Добавить данные ссылки на LinksSource.
- linkdata
public object AddLinkCopy(object linkdata)
result = iLinksModel.AddLinkCopy(linkdata)
Добавьте копию данных ссылки на эту модель.
- linkdata
Возвращает: Новые скопированные данные о ссылках
public void DoLinkAdded(object linkdata)
iLinksModel.DoLinkAdded(linkdata)
Этот метод следует называть, когда в сбор данных по ссылкам добавлены данные LinksSource.
- linkdata
public void DoLinkLabelChanged(object linkdata)
iLinksModel.DoLinkLabelChanged(linkdata)
Этот метод должен быть назван, когда любой «метка» узла добавляется, удаляется или заменяется.
- linkdata
public void DoLinkPortsChanged(object linkdata)
iLinksModel.DoLinkPortsChanged(linkdata)
Этот метод должен быть назван, когда «от» или «до» узла (или порта) изменились.
- linkdata
- данные о связи
public void DoLinkRemoved(object linkdata)
iLinksModel.DoLinkRemoved(linkdata)
Этот метод следует называть, когда данные ссылки были удалены из коллекции LinksSource.
- linkdata
public string GetCategoryForLink(object linkdata)
result = iLinksModel.GetCategoryForLink(linkdata)
Чтобы помочь различать различные виды ссылок, каждая ссылка имеет «категорию», которая является просто строкой.
- linkdata
Возвращает: Категория по умолчанию - пустая строка
public IEnumerable<object> GetFromLinksForNode(object nodedata)
result = iLinksModel.GetFromLinksForNode(nodedata)
Найдите все ссылки, поступающие в данный узел.
- nodedata
Возвращает: Последовательность данных о ссылках
public object GetFromNodeForLink(object linkdata)
result = iLinksModel.GetFromNodeForLink(linkdata)
Возвращает узел, из которого происходит ссылка.
- linkdata
Возвращает: данные узла
public object GetFromParameterForLink(object linkdata)
result = iLinksModel.GetFromParameterForLink(linkdata)
Возвращает любую информацию о параметрах порта.
- linkdata
Возвращает: Данные параметров порта
public bool GetHasLabeledLinkForNode(object nodedata)
result = iLinksModel.GetHasLabeledLinkForNode(nodedata)
Этот предикат является истинным, если данные данного узла связаны с данными ссылки в качестве метки.
- nodedata
- Узел данных, который является «меткой»
public bool GetHasLabelNodeForLink(object linkdata)
result = iLinksModel.GetHasLabelNodeForLink(linkdata)
Этот предикат является верным, если данные данной ссылки имеют ярлык узла.
- linkdata
- данные о связи
public bool GetIsLinkLabelForNode(object nodedata)
result = iLinksModel.GetIsLinkLabelForNode(nodedata)
Этот предикат верен, если данные данного узла действуют как метка для ссылки.
- nodedata
- данные узла
public object GetLabeledLinkForNode(object nodedata)
result = iLinksModel.GetLabeledLinkForNode(nodedata)
Найдите данные ссылки, с которыми связан узел метки, если таковой имеется.
- nodedata
- Узел данных, который является «меткой»
Возвращает: Ссылочные данные или нулевые, если их нет
public object GetLabelNodeForLink(object linkdata)
result = iLinksModel.GetLabelNodeForLink(linkdata)
Найдите данные узла, которые являются метки для ссылки, если есть.
- linkdata
- данные о связи
Возвращает: Узел данных или нуль, если их нет
public IEnumerable<object> GetLinksBetweenNodes(object fromdata, object fromparam, object todata, object toparam)
result = iLinksModel.GetLinksBetweenNodes(fromdata, fromparam, todata, toparam)
Найдите все ссылки, соединяющие два узла / порта в одном направлении.
- fromdata
- ключ узла, идентифицирующий данные узла, из которых происходит ссылка
- fromparam
- необязательное значение, идентифицирующее, к какому порту на «от» узле подключена ссылка
- todata
- ключ узла идентифицирует данные узла, к которым идет ссылка
- toparam
- необязательное значение, идентифицирующее, к какому порту на узле «to» подключена ссылка
Возвращает: Последовательность данных о ссылках
public IEnumerable<object> GetLinksForNode(object nodedata, Predicate<object> predicate)
result = iLinksModel.GetLinksForNode(nodedata, predicate)
Найдите все ссылки, связанные с узлом, которые удовлетворяют данному предикату.
- nodedata
- predicate
- предикат принимает один аргумент, данные ссылки
Возвращает: Последовательность данных о ссылках
public IEnumerable<object> GetLinksForNode(object nodedata)
result = iLinksModel.GetLinksForNode(nodedata)
Найдите все ссылки, подключенные к узлу в любом направлении.
- nodedata
Возвращает: Последовательность данных о ссылках
public IEnumerable<object> GetToLinksForNode(object nodedata)
result = iLinksModel.GetToLinksForNode(nodedata)
Найдите все ссылки, выходящие из данного узла.
- nodedata
Возвращает: Последовательность данных о ссылках
public object GetToNodeForLink(object linkdata)
result = iLinksModel.GetToNodeForLink(linkdata)
Возвращает узел, к которому идет ссылка.
- linkdata
Возвращает: данные узла
public object GetToParameterForLink(object linkdata)
result = iLinksModel.GetToParameterForLink(linkdata)
Возвращает любую информацию о параметрах «в» порт.
- linkdata
Возвращает: Данные параметров порта
public bool IsLinkData(object linkdata)
result = iLinksModel.IsLinkData(linkdata)
Этот предикат верен, если данные ссылки находятся в коллекции LinksSource.
- linkdata
public bool IsLinkType(object linkdata)
result = iLinksModel.IsLinkType(linkdata)
Этот предикат верен, если объект не является нулевым и имеет тип, который модель принимает для данных ссылки.
- linkdata
public bool IsRelinkValid(object newfromdata, object newfromparam, object newtodata, object newtoparam, object oldlinkdata)
result = iLinksModel.IsRelinkValid(newfromdata, newfromparam, newtodata, newtoparam, oldlinkdata)
Этот предикат верен, если изменение существующей связи между двумя узлами/портами приведет к корректному графику.
- newfromdata
- ключ узла, идентифицирующий данные узла, из которых будет поступать новая ссылка
- newfromparam
- необязательное значение, определяющее, к какому порту на узле «от» будет подключена ссылка
- newtodata
- ключ узла идентифицирует данные узла, к которым будет идти новая ссылка
- newtoparam
- необязательное значение, определяющее, к какому порту на узле «to» будет подключена ссылка
- oldlinkdata
- существующая ссылка, которая будет удалена
public void RemoveLink(object linkdata)
iLinksModel.RemoveLink(linkdata)
Удалите данные ссылки с LinksSource.
- linkdata
public void SetLinkFromPort(object linkdata, object nodedata, object portparam)
iLinksModel.SetLinkFromPort(linkdata, nodedata, portparam)
Установите информацию «от» узла и порта для данных ссылки.
- linkdata
- Изменяются данные о ссылках
- nodedata
- данные узла
- portparam
public void SetLinkLabel(object linkdata, object labelnodedata)
iLinksModel.SetLinkLabel(linkdata, labelnodedata)
Измените данные «метки» узла для данных ссылки.
- linkdata
- Изменяются данные о ссылках
- labelnodedata
- новые данные узла, которые являются «меткой»; могут быть недействительными для удаления метки
public void SetLinkToPort(object linkdata, object nodedata, object portparam)
iLinksModel.SetLinkToPort(linkdata, nodedata, portparam)
Установите «узел» и информацию о порте для данных ссылки.
- linkdata
- Изменяются данные о ссылках
- nodedata
- данные узла
- portparam