GraphLinksModel
Общая реализация модели диаграммы, состоящей из узлов и подграфов, с любым количеством явных данных ссылок, представляющих связи между любыми двумя узлами.
Наследует: DiagramModel
Реализует: ILinksModel, IDiagramModel, ISubGraphLinksModel, ISubGraphModel, IGroupsModel
Конструкторы
public GraphLinksModel()
graphLinksModel = GraphLinksModel()
Конструктор по умолчанию производит пустую модель.
Свойства
public string GroupNodePath { get; set; }
value = graphLinksModel.GroupNodePath
graphLinksModel.GroupNodePath = value
Получает или устанавливает путь свойств, который определяет, как получить ключ для «контейнерных» или групповых данных узла объекта данных.
public string LinkCategoryPath { get; set; }
value = graphLinksModel.LinkCategoryPath
graphLinksModel.LinkCategoryPath = value
Получает или устанавливает путь свойств, который определяет, как найти категорию данных ссылки.
public string LinkFromParameterPath { get; set; }
value = graphLinksModel.LinkFromParameterPath
graphLinksModel.LinkFromParameterPath = value
Получает или устанавливает путь свойств, который определяет, как получить дополнительную информацию о параметрах «порта» для данных узла объекта данных ссылки.
public string LinkFromPath { get; set; }
value = graphLinksModel.LinkFromPath
graphLinksModel.LinkFromPath = value
Получает или устанавливает путь свойств, который определяет, как получить ключ для данных узла объекта данных ссылки.
public string LinkLabelNodePath { get; set; }
value = graphLinksModel.LinkLabelNodePath
graphLinksModel.LinkLabelNodePath = value
Получает или устанавливает путь свойств, который определяет, как получить ключ для данных узла «метки» объекта данных ссылки.
public IEnumerable LinksSource { get; set; }
value = graphLinksModel.LinksSource
graphLinksModel.LinksSource = value
Получает или устанавливает сбор элементов данных ссылок для модели.
public string LinkToParameterPath { get; set; }
value = graphLinksModel.LinkToParameterPath
graphLinksModel.LinkToParameterPath = value
Получает или устанавливает путь свойств, который определяет, как получить дополнительную информацию о параметрах «порта» для данных узла объекта данных ссылки.
public string LinkToPath { get; set; }
value = graphLinksModel.LinkToPath
graphLinksModel.LinkToPath = value
Получает или устанавливает путь свойств, который определяет, как получить ключ для данных узла объекта данных ссылки.
public string MemberNodesPath { get; set; }
value = graphLinksModel.MemberNodesPath
graphLinksModel.MemberNodesPath = value
Получает или устанавливает путь свойств, который определяет, как получить список ключей для узлов «члена» объекта данных узла группы.
public string NodeCategoryPath { get; set; }
value = graphLinksModel.NodeCategoryPath
graphLinksModel.NodeCategoryPath = value
Получает или устанавливает путь свойств, который определяет, как найти категорию данных узла.
public string NodeIsGroupPath { get; set; }
value = graphLinksModel.NodeIsGroupPath
graphLinksModel.NodeIsGroupPath = value
Получает или устанавливает путь свойств, который определяет, как узнать, являются ли данные узла также группой контейнеров.
public string NodeIsLinkLabelPath { get; set; }
value = graphLinksModel.NodeIsLinkLabelPath
graphLinksModel.NodeIsLinkLabelPath = value
Получает или устанавливает путь свойств, который определяет, как узнать, являются ли данные узла также «меткой» для данных ссылки.
public bool NodeKeyIsNodeData { get; set; }
value = graphLinksModel.NodeKeyIsNodeData
graphLinksModel.NodeKeyIsNodeData = value
Получает или устанавливает, являются ли все данные узла также своими собственными ключами.
public string NodeKeyPath { get; set; }
value = graphLinksModel.NodeKeyPath
graphLinksModel.NodeKeyPath = value
Получает или устанавливает путь свойств, который определяет, как получить ключ для данных узла.
public bool NodeKeyReferenceAutoInserts { get; set; }
value = graphLinksModel.NodeKeyReferenceAutoInserts
graphLinksModel.NodeKeyReferenceAutoInserts = value
Получает или устанавливает, является ли ссылка, когда NodeKeyIsNodeData является правдой, автоматически вставляет узел в NodesSource.
public IEnumerable NodesSource { get; set; }
value = graphLinksModel.NodesSource
graphLinksModel.NodesSource = value
Получает или устанавливает сбор узловых элементов данных для модели.
public ValidCycle ValidCycle { get; set; }
value = graphLinksModel.ValidCycle
graphLinksModel.ValidCycle = value
Укажите, какие графы позволяет эта модель.
public ValidUnconnectedLinks ValidUnconnectedLinks { get; set; }
value = graphLinksModel.ValidUnconnectedLinks
graphLinksModel.ValidUnconnectedLinks = value
Получает или устанавливает, должны ли данные каждой ссылки иметь оба конца, относится к данным узла.
Методы
AddCollectionCopy(GraphLinksModel{, GraphLinksModel{) : CopyDictionary<T, T, T, T>
Скопируйте существующие узлы и данные ссылок и добавьте к этой модели.
- coll
- Сбор данных, подлежащих копированию
- env
- ICopyDictionary используется для отслеживания скопированных объектов; если null, метод позвонит CreateCopyDictionary, использовать его и вернуть его
Возвращает: Обновленный словарь копий, отображение оригинальных данных на скопированные данные
public LinkType AddLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.AddLink(fromdata, fromparam, todata, toparam)
Добавить данные ссылки на LinksSource.
- fromdata
- ключ узла, идентифицирующий данные узла, из которых происходит ссылка
- fromparam
- необязательное значение, идентифицирующее, к какому порту на «от» узле подключена ссылка
- todata
- ключ узла идентифицирует данные узла, к которым идет ссылка
- toparam
- необязательное значение, идентифицирующее, к какому порту на узле «to» подключена ссылка
public void AddLink(LinkType linkdata)
graphLinksModel.AddLink(linkdata)
Добавить данные ссылки на LinksSource.
- linkdata
public LinkType AddLinkCopy(LinkType linkdata)
result = graphLinksModel.AddLinkCopy(linkdata)
Добавьте копию данных ссылки на эту модель.
- linkdata
Возвращает: скопированные данные ссылки
public void AddMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.AddMemberNodeKey(nodedata, memberkey)
Добавьте ключевое значение данных узла «member» в список «members» данных узла.
- nodedata
- Данные узла должны быть изменены
- memberkey
- Ключевое значение новых данных узла «член»
public void AddNode(NodeType nodedata)
graphLinksModel.AddNode(nodedata)
Добавить данные узла на NodesSource.
- nodedata
public NodeType AddNodeCopy(NodeType nodedata)
result = graphLinksModel.AddNodeCopy(nodedata)
Добавьте копию данных узла в эту модель.
- nodedata
Возвращает: скопированные данные узлов
AugmentCopyCollection(GraphLinksModel{)
Переопределить этот метод, чтобы добавить больше (связанных) данных для копирования.
- coll
- Сбор данных, подлежащих копированию
AugmentCopyDictionary(GraphLinksModel{)
Отмените этот метод, чтобы избежать копирования некоторых данных или изменить способ разрешения копируемых ссылок.
- env
- Словарь, отображающий оригинальные объекты на скопированные объекты
protected override void ChangeDataValue(ModelChangedEventArgs e, bool undo)
graphLinksModel.ChangeDataValue(e, undo)
Это называется во время отмены или изменения состояния для изменения данных модели.
- e
- Редактирование, описывающее изменение, которое должно быть выполнено
- undo
- Истину, если она неверна; ложь, если она неверна.
protected override void ChangeModelValue(ModelChangedEventArgs e, bool undo)
graphLinksModel.ChangeModelValue(e, undo)
Это называется во время отмены или переделки для изменения состояния этой модели.
- e
- Редактирование, описывающее изменение, которое должно быть выполнено
- undo
- Истину, если она неверна; ложь, если она неверна.
protected virtual bool CheckLinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam, bool ignoreexistinglink, LinkType oldlinkdata)
result = graphLinksModel.CheckLinkValid(fromdata, fromparam, todata, toparam, ignoreexistinglink, oldlinkdata)
Этот предикат верен, если добавление связи между двумя узлами/портами приведет к правильно структурированному графику.
- fromdata
- ключ узла, идентифицирующий данные узла, из которых происходит ссылка
- fromparam
- необязательное значение, идентифицирующее, к какому порту на «от» узле подключена ссылка
- todata
- ключ узла идентифицирует данные узла, к которым идет ссылка
- toparam
- необязательное значение, идентифицирующее, к какому порту на узле «to» подключена ссылка
- ignoreexistinglink
- истинное при повторной ссылке; ложное при добавлении новой ссылки
- oldlinkdata
- исходные данные ссылки, которые могут быть изменены, если это правда
Возвращает: Поведение этого предиката зависит от величины ValidCycle и ValidUnconnectedLinks.
protected virtual bool CheckMemberValid(NodeType groupnodedata, NodeType membernodedata, bool ignoreexistingmembership)
result = graphLinksModel.CheckMemberValid(groupnodedata, membernodedata, ignoreexistingmembership)
Этот предикат верен, если добавление узла к узлу группы приведет к недействительному графу.
- groupnodedata
- Узел данных, который является группой
- membernodedata
- данные узла, подлежащие рассмотрению для добавления в группу
- ignoreexistingmembership
- игнорировать ли существующее членство в группе, поскольку этот член переводится из существующей группы;
Возвращает: Это возвращает ложное для членства, которое нарушит древовидную структуру диаграммы групп модели.
public void ClearUnresolvedReferences()
graphLinksModel.ClearUnresolvedReferences()
Забудьте все нерешенные отложенные или пересылаемые ссылки.
CopyLink1(T, GraphLinksModel{) : T
Это первая передача копирования данных ссылок, ответственная за создание копии и копирование большинства ее свойств.
- linkdata
- env
- Словарь, отображающий оригинальные объекты на скопированные объекты
Возвращает: скопированные данные ссылки
CopyLink2(T, GraphLinksModel{, T, T, T, T)
Это второй пропуск копирования данных ссылок, отвечающий за фиксацию ссылок на другие объекты.
- oldlinkdata
- Оригинальные данные ссылки
- env
- Словарь, отображающий оригинальные объекты на скопированные объекты
- newlinkdata
- скопированные данные ссылки
- newfromnodedata
- Для удобства, скопированный «с» узла
- newtonodedata
- Для удобства, скопированный «в» узел
- newlinklabel
- для удобства, скопированный узел «метки»
CopyNode1(T, GraphLinksModel{) : T
Это первый пропуск копирования данных узла, отвечающий за построение копии и копирование большинства ее свойств.
- nodedata
- env
- Словарь, отображающий оригинальные объекты на скопированные объекты
Возвращает: скопированные данные узлов
CopyNode2(T, GraphLinksModel{, T, T, IEnumerable<T>)
Это второй пропуск копирования данных узла, отвечающий за фиксацию ссылок на другие объекты.
- oldnodedata
- Оригинальные данные Node
- env
- Словарь, отображающий оригинальные объекты на скопированные объекты
- newnodedata
- скопированные данные узлов
- newgroup
- для удобства скопированные «родительские» данные узла
- newmembers
- для удобства, список вновь скопированных узлов-членов
public virtual CopyDictionary<NodeType, NodeKey, PortKey, LinkType> CreateCopyDictionary()
result = graphLinksModel.CreateCopyDictionary()
Создайте ICopyDictionary инициализированный для этой модели.
Возвращает: Обычно это пустой словарь.
public virtual DataCollection<NodeType, NodeKey, PortKey, LinkType> CreateDataCollection()
result = graphLinksModel.CreateDataCollection()
Создайте пустой IDataCollection для этой модели.
CreateInitializedCopy(GraphLinksModel{) : GraphLinksModel<T, T, T, T>
Сделайте копию этой модели, не делясь коллекциями NodesSource или LinksSource.
- init
- Это DataCollection, который предоставляет исходные данные узла и ссылки. (Такие данные не копируются.) Если это не соответствует нулю, первоначальные значения NodesSource и LinksSource представляют собой пустые коллекции.
Возвращает: модель как эта, но с разными данными
protected virtual void DeleteLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
graphLinksModel.DeleteLink(fromdata, fromparam, todata, toparam)
Этот метод фактически реализует удаление данных ссылки из коллекции LinksSource.
- fromdata
- ключ узла, идентифицирующий данные узла, из которых происходит ссылка
- fromparam
- необязательное значение, идентифицирующее, к какому порту на «от» узле подключена ссылка
- todata
- ключ узла идентифицирует данные узла, к которым идет ссылка
- toparam
- необязательное значение, идентифицирующее, к какому порту на узле «to» подключена ссылка
protected virtual void DeleteLink(LinkType linkdata)
graphLinksModel.DeleteLink(linkdata)
Этот метод фактически реализует удаление данных ссылки из коллекции LinksSource.
- linkdata
protected virtual void DeleteMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DeleteMemberNodeKey(nodedata, memberkey)
Этот метод на самом деле реализует модификацию данных узла, так что его сбор данных узла ребенка не включает в себя данную информацию.
- nodedata
- данные узла должны быть изменены; если нуль, этот метод ничего не делает
- memberkey
- ключевое значение данных узла «член»; если нуль, этот метод ничего не делает
protected virtual void DeleteNode(NodeType nodedata)
graphLinksModel.DeleteNode(nodedata)
Этот метод фактически реализует удаление данных узла из коллекции NodesSource.
- nodedata
public void DoGroupNodeChanged(NodeType nodedata)
graphLinksModel.DoGroupNodeChanged(nodedata)
Это следует называть, когда членство данных узла в группе может измениться.
- nodedata
- Данные модифицированного узла
public void DoLinkAdded(LinkType linkdata)
graphLinksModel.DoLinkAdded(linkdata)
Это следует называть, когда объект данных ссылки добавляется в коллекцию LinksSource.
- linkdata
public void DoLinkCategoryChanged(LinkType linkdata)
graphLinksModel.DoLinkCategoryChanged(linkdata)
Это следует называть, когда значение категории данных ссылки может измениться.
- linkdata
public void DoLinkLabelChanged(LinkType linkdata)
graphLinksModel.DoLinkLabelChanged(linkdata)
Это должно быть вызвано, когда узел метки данных ссылки может измениться.
- linkdata
public void DoLinkPortsChanged(LinkType linkdata)
graphLinksModel.DoLinkPortsChanged(linkdata)
Это должно называться, когда подключенный узел или порт данных ссылки, либо «от», либо «к», может измениться.
- linkdata
public void DoLinkRemoved(LinkType linkdata)
graphLinksModel.DoLinkRemoved(linkdata)
Это следует называть, когда объект данных ссылки удаляется из коллекции LinksSource.
- linkdata
public void DoMemberNodeKeyAdded(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DoMemberNodeKeyAdded(nodedata, memberkey)
Это должно называться, когда ключ данных узла «member» был добавлен к набору ключей узла «member».
- nodedata
- Данные модифицированного узла
- memberkey
- ключ для добавленных данных узла «член»
public void DoMemberNodeKeyRemoved(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DoMemberNodeKeyRemoved(nodedata, memberkey)
Это должно называться, когда ключ данных узла «член» был удален из набора ключей узла «член».
- nodedata
- Данные модифицированного узла
- memberkey
- ключ для удаленных данных узла «member»
public void DoMemberNodeKeysChanged(NodeType nodedata)
graphLinksModel.DoMemberNodeKeysChanged(nodedata)
Это должно быть названо, когда список данных узла «члена» узлов был заменен.
- nodedata
public void DoNodeAdded(NodeType nodedata)
graphLinksModel.DoNodeAdded(nodedata)
Это следует называть, когда объект данных узла добавляется в коллекцию NodesSource.
- nodedata
public void DoNodeCategoryChanged(NodeType nodedata)
graphLinksModel.DoNodeCategoryChanged(nodedata)
Это следует называть, когда значение категории данных узла может измениться.
- nodedata
public void DoNodeKeyChanged(NodeType nodedata)
graphLinksModel.DoNodeKeyChanged(nodedata)
Это следует называть, когда ключевое значение данных узла может измениться.
- nodedata
public void DoNodeRemoved(NodeType nodedata)
graphLinksModel.DoNodeRemoved(nodedata)
Это следует называть, когда объект данных узла удаляется из коллекции NodesSource.
- nodedata
protected virtual string FindCategoryForLink(LinkType linkdata)
result = graphLinksModel.FindCategoryForLink(linkdata)
Найдите категорию данных ссылки.
- linkdata
Возвращает: По умолчанию пустая строка
protected virtual string FindCategoryForNode(NodeType nodedata)
result = graphLinksModel.FindCategoryForNode(nodedata)
Найдите категорию данных узла.
- nodedata
Возвращает: По умолчанию пустая строка
protected virtual NodeKey FindFromNodeKeyForLink(LinkType linkdata)
result = graphLinksModel.FindFromNodeKeyForLink(linkdata)
Найдите ключ «от» узла для заданных данных ссылки.
- linkdata
Возвращает: a для подключенного узла
protected virtual PortKey FindFromParameterForLink(LinkType linkdata)
result = graphLinksModel.FindFromParameterForLink(linkdata)
Найдите дополнительную информацию о подключении «из» узла для данных данной ссылки.
- linkdata
Возвращает: а
protected virtual NodeKey FindGroupKeyForNode(NodeType nodedata)
result = graphLinksModel.FindGroupKeyForNode(nodedata)
Найдите ключ группового узла для данных данного узла, если таковой имеется.
- nodedata
Возвращает: a для узла, содержащего группу, или значение по умолчанию для этого типа, если для узла нет контейнерного узла;
protected virtual bool FindIsGroupForNode(NodeType nodedata)
result = graphLinksModel.FindIsGroupForNode(nodedata)
Узнайте, является ли узел данных группой или контейнером других узлов.
- nodedata
protected virtual bool FindIsLinkLabelForNode(NodeType nodedata)
result = graphLinksModel.FindIsLinkLabelForNode(nodedata)
Узнайте, являются ли данные узла «меткой» для данных ссылки.
- nodedata
protected virtual NodeKey FindKeyForNode(NodeType nodedata)
result = graphLinksModel.FindKeyForNode(nodedata)
Найдите ключ для данных узла.
- nodedata
Возвращает: (надеюсь) уникальный ключ для данных данного узла в этой модели
protected virtual NodeKey FindLabelNodeKeyForLink(LinkType linkdata)
result = graphLinksModel.FindLabelNodeKeyForLink(linkdata)
Найдите ключ «знак» узла для заданных данных ссылки, если таковые имеются.
- linkdata
Возвращает: a для данных узла метки
protected virtual IEnumerable FindMemberNodeKeysForNode(NodeType nodedata)
result = graphLinksModel.FindMemberNodeKeysForNode(nodedata)
Найдите список ключей детских узлов для объекта данных узла.
- nodedata
Возвращает: Список детских ключей, число
public NodeType FindNodeByKey(NodeKey key)
result = graphLinksModel.FindNodeByKey(key)
Получив ключ, найдите данные узла с этим ключом.
- key
- значение нуля для этого аргумента приведет к значению по умолчанию для
Возвращает: a; значение будет по умолчанию для типа, если в этой модели не известны данные такого узла;
protected virtual NodeKey FindToNodeKeyForLink(LinkType linkdata)
result = graphLinksModel.FindToNodeKeyForLink(linkdata)
Найдите ключ «to» для заданных данных ссылки.
- linkdata
Возвращает: a для подключенного узла
protected virtual PortKey FindToParameterForLink(LinkType linkdata)
result = graphLinksModel.FindToParameterForLink(linkdata)
Найдите дополнительную информацию о подключении «к» узлу для данных данной ссылки.
- linkdata
Возвращает: а
public string GetCategoryForLink(LinkType linkdata)
result = graphLinksModel.GetCategoryForLink(linkdata)
Этот метод получает категорию ссылки.
- linkdata
Возвращает: Струна, по умолчанию для пустой строки
public string GetCategoryForNode(NodeType nodedata)
result = graphLinksModel.GetCategoryForNode(nodedata)
Этот метод получает категорию узла.
- nodedata
Возвращает: Струна, по умолчанию для пустой строки
public IEnumerable<NodeType> GetConnectedNodesForNode(NodeType nodedata, Predicate<PortKey> portpred)
result = graphLinksModel.GetConnectedNodesForNode(nodedata, portpred)
Возвращать последовательность данных узла, которые непосредственно связаны с данным узлом, в любом направлении.
- nodedata
- portpred
- предикат, применяемый к каждому параметру порта; если ненулевой, то этот предикат должен быть верным для того, чтобы узел был включен в последовательность возврата
Возвращает: бесчисленный
public IEnumerable<NodeType> GetConnectedNodesForNode(NodeType nodedata)
result = graphLinksModel.GetConnectedNodesForNode(nodedata)
Возвращать последовательность данных узла, которые непосредственно связаны с данным узлом, в любом направлении.
- nodedata
Возвращает: бесчисленный
public IEnumerable<LinkType> GetFromLinksForNode(NodeType nodedata)
result = graphLinksModel.GetFromLinksForNode(nodedata)
Возвращать последовательность данных связи, которые соединены с данными заданного узла, только войдя в заданный узел.
- nodedata
Возвращает: бесчисленный
public NodeType GetFromNodeForLink(LinkType linkdata)
result = graphLinksModel.GetFromNodeForLink(linkdata)
Возвращайте данные «из» узла, с которым связаны данные ссылки.
- linkdata
Возвращает: данные узла
public IEnumerable<NodeType> GetFromNodesForNode(NodeType nodedata)
result = graphLinksModel.GetFromNodesForNode(nodedata)
Возвращать последовательность данных узла, которые непосредственно связаны ссылками, идущими в данный узел.
- nodedata
Возвращает: бесчисленный
public IEnumerable<NodeType> GetFromNodesForNode(NodeType nodedata, Predicate<PortKey> toportpred)
result = graphLinksModel.GetFromNodesForNode(nodedata, toportpred)
Возвращать последовательность данных узла, которые непосредственно связаны ссылками, идущими в данный узел.
- nodedata
- toportpred
- предикат, который должен быть применен к каждому параметру порта «to»; если ненулевой, этот предикат должен быть верен для «от» узла, который должен быть включен в последовательность возврата
Возвращает: бесчисленный
public PortKey GetFromParameterForLink(LinkType linkdata)
result = graphLinksModel.GetFromParameterForLink(linkdata)
Верните дополнительную информацию «порта» для «от» конца данных ссылки.
- linkdata
public NodeType GetGroupForLink(LinkType linkdata)
result = graphLinksModel.GetGroupForLink(linkdata)
Возврат данных контейнерного узла для данных данной ссылки, если ссылка принадлежит группе.
- linkdata
Возвращает: данные узла
public NodeType GetGroupForNode(NodeType nodedata)
result = graphLinksModel.GetGroupForNode(nodedata)
Возврат данных узла контейнерной группы для данных данного узла, если таковой имеется.
- nodedata
Возвращает: данные узла
public bool GetHasLabeledLinkForNode(NodeType nodedata)
result = graphLinksModel.GetHasLabeledLinkForNode(nodedata)
Этот предикат верен для данных узла, если он связан с данными ссылки в качестве его «метки».
- nodedata
public bool GetHasLabelNodeForLink(LinkType linkdata)
result = graphLinksModel.GetHasLabelNodeForLink(linkdata)
Этот предикат верен, если данные данной ссылки имеют «метку» узла.
- linkdata
public bool GetIsGroupForNode(NodeType nodedata)
result = graphLinksModel.GetIsGroupForNode(nodedata)
Этот предикат является верным, если данные данного узла могут представлять собой группу (i.e. контейнер) других узлов.
- nodedata
public bool GetIsLinkLabelForNode(NodeType nodedata)
result = graphLinksModel.GetIsLinkLabelForNode(nodedata)
Этот предикат верен, если данные данного узла могут использоваться в качестве «метки» для ссылки.
- nodedata
public LinkType GetLabeledLinkForNode(NodeType nodedata)
result = graphLinksModel.GetLabeledLinkForNode(nodedata)
Получите данные ссылки, которые относятся к данным данного узла как к его «метке».
- nodedata
Возвращает: данные о связи
public NodeType GetLabelNodeForLink(LinkType linkdata)
result = graphLinksModel.GetLabelNodeForLink(linkdata)
Получите данные «метки» узла для данных ссылки, если таковые имеются.
- linkdata
Возвращает: данные узла
public IEnumerable<LinkType> GetLinksBetweenNodes(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.GetLinksBetweenNodes(fromdata, fromparam, todata, toparam)
Возврат последовательности всех данных ссылок, которые идут от одного узла к другому, возможно, ограниченному определенными «портами».
- fromdata
- ключ узла, идентифицирующий данные узла, из которых происходит ссылка
- fromparam
- необязательное значение, идентифицирующее, к какому порту на «от» узле подключена ссылка
- todata
- ключ узла идентифицирует данные узла, к которым идет ссылка
- toparam
- необязательное значение, идентифицирующее, к какому порту на узле «to» подключена ссылка
Возвращает: бесчисленный
public IEnumerable<LinkType> GetLinksForNode(NodeType nodedata)
result = graphLinksModel.GetLinksForNode(nodedata)
Возвращайте последовательность данных связи, которые соединены с данными данного узла, в любом направлении.
- nodedata
Возвращает: бесчисленный
public IEnumerable<LinkType> GetLinksForNode(NodeType nodedata, Predicate<LinkType> predicate)
result = graphLinksModel.GetLinksForNode(nodedata, predicate)
Возвращать последовательность данных связи, которые соединены с данными данного узла, в любом направлении, которые удовлетворяют данному предикату.
- nodedata
- predicate
- делегат, который принимает аргумент и возвращает булеву
Возвращает: бесчисленный
public IEnumerable<LinkType> GetMemberLinksForGroup(NodeType nodedata)
result = graphLinksModel.GetMemberLinksForGroup(nodedata)
Возвращать последовательность данных связи, которые содержатся данными данного узла.
- nodedata
Возвращает: IEnumerable of Member Link Data (несколько ссылок на член); пустая последовательность, если нет ссылок на член
public IEnumerable<NodeType> GetMemberNodesForGroup(NodeType nodedata)
result = graphLinksModel.GetMemberNodesForGroup(nodedata)
Возврат последовательности данных узла, которые являются непосредственными членами данных данного узла.
- nodedata
Возвращает: IEnumerable of Member Node Data (несколько членов) — пустая последовательность, если нет членов
public Type GetNodeType()
result = graphLinksModel.GetNodeType()
Верни мне.
Возвращает: Тип, а не объект данных узла, ни строка
public IEnumerable<LinkType> GetToLinksForNode(NodeType nodedata)
result = graphLinksModel.GetToLinksForNode(nodedata)
Возвращать последовательность данных связи, которые соединены с данными заданного узла, только выходящие из данного узла.
- nodedata
Возвращает: бесчисленный
public NodeType GetToNodeForLink(LinkType linkdata)
result = graphLinksModel.GetToNodeForLink(linkdata)
Верните данные «в» узел, в котором соединены данные ссылки.
- linkdata
Возвращает: данные узла
public IEnumerable<NodeType> GetToNodesForNode(NodeType nodedata, Predicate<PortKey> fromportpred)
result = graphLinksModel.GetToNodesForNode(nodedata, fromportpred)
Возвращать последовательность данных узла, которые непосредственно связаны ссылками, выходящими из данного узла.
- nodedata
- fromportpred
- предикат, который должен быть применен к каждому параметру порта «от»; если ненулевой, этот предикат должен быть верен для узла «к», который должен быть включен в последовательность возврата
Возвращает: бесчисленный
public IEnumerable<NodeType> GetToNodesForNode(NodeType nodedata)
result = graphLinksModel.GetToNodesForNode(nodedata)
Возвращать последовательность данных узла, которые непосредственно связаны ссылками, выходящими из данного узла.
- nodedata
Возвращает: бесчисленный
public PortKey GetToParameterForLink(LinkType linkdata)
result = graphLinksModel.GetToParameterForLink(linkdata)
Верните дополнительную информацию «порта» для «до» конца данных ссылки.
- linkdata
protected virtual void HandleLinkPropertyChanged(object sender, PropertyChangedEventArgs e)
graphLinksModel.HandleLinkPropertyChanged(sender, e)
Это INotifyPropertyChanged event handler для данных ссылок.
- sender
- e
- предпочтительно ModelChangedEventArgs, который описывает, что изменилось и как
protected virtual void HandleNodePropertyChanged(object sender, PropertyChangedEventArgs e)
graphLinksModel.HandleNodePropertyChanged(sender, e)
Это INotifyPropertyChanged event handler для данных узлов.
- sender
- e
- предпочтительно ModelChangedEventArgs, который описывает, что изменилось и как
protected virtual LinkType InsertLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.InsertLink(fromdata, fromparam, todata, toparam)
Этот метод фактически реализует создание и добавление данных ссылки в коллекцию LinksSource.
- fromdata
- ключ узла, идентифицирующий данные узла, из которых происходит ссылка
- fromparam
- необязательное значение, идентифицирующее, к какому порту на «от» узле подключена ссылка
- todata
- ключ узла идентифицирует данные узла, к которым идет ссылка
- toparam
- необязательное значение, идентифицирующее, к какому порту на узле «to» подключена ссылка
protected virtual void InsertLink(LinkType linkdata)
graphLinksModel.InsertLink(linkdata)
Этот метод фактически реализует добавление данных ссылки в коллекцию LinksSource.
- linkdata
protected virtual void InsertMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.InsertMemberNodeKey(nodedata, memberkey)
Этот метод фактически реализует модификацию данных узла так, что его сбор данных узла-члена включает в себя заданный .
- nodedata
- данные узла должны быть изменены; если нуль, этот метод ничего не делает
- memberkey
- ключевое значение новых данных узла «член»; если оно не соответствует нулю, этот метод не делает ничего.
protected virtual void InsertNode(NodeType nodedata)
graphLinksModel.InsertNode(nodedata)
Этот метод фактически реализует добавление данных узла в коллекцию NodesSource.
- nodedata
protected virtual bool IsEqualPortParameters(PortKey a, PortKey b)
result = graphLinksModel.IsEqualPortParameters(a, b)
Этот предикат сравнивает два значения и возвращает истинное, если они «равны».
- a
- b
Возвращает: Обычно для этого используется стандартный EqualityComparer для данного типа. Но вам может потребоваться отменить этот метод, если такое сравнение не подходит для вашей информации о порте.
public bool IsLinkData(LinkType linkdata)
result = graphLinksModel.IsLinkData(linkdata)
Этот предикат верен, если аргумент является ссылкой в этой модели.
- linkdata
- объект, подлежащий проверке, чтобы увидеть, является ли он известными данными связи в этой модели;
Возвращает: если оно находится в LinksSource
public bool IsLinked(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.IsLinked(fromdata, fromparam, todata, toparam)
Этот предикат верен, если есть ссылка из одного узла данных/порта в другой.
- fromdata
- ключ узла, идентифицирующий данные узла, из которых происходит ссылка
- fromparam
- необязательное значение, идентифицирующее, к какому порту на «от» узле подключена ссылка
- todata
- ключ узла идентифицирует данные узла, к которым идет ссылка
- toparam
- необязательное значение, идентифицирующее, к какому порту на узле «to» подключена ссылка
public bool IsLinkType(object linkdata)
result = graphLinksModel.IsLinkType(linkdata)
Верни мне.
Возвращает: Тип, а не объект данных ссылки или строка
public bool IsLinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.IsLinkValid(fromdata, fromparam, todata, toparam)
Этот предикат верен, если добавление связи между двумя узлами/портами приведет к действительному графику.
- fromdata
- ключ узла, идентифицирующий данные узла, из которых происходит ссылка
- fromparam
- необязательное значение, идентифицирующее, к какому порту на «от» узле подключена ссылка
- todata
- ключ узла идентифицирует данные узла, к которым идет ссылка
- toparam
- необязательное значение, идентифицирующее, к какому порту на узле «to» подключена ссылка
public bool IsMember(NodeType groupnodedata, NodeType membernodedata)
result = graphLinksModel.IsMember(groupnodedata, membernodedata)
Этот предикат является истинным, если он является членом контейнерной группы.
- groupnodedata
- membernodedata
public bool IsMemberValid(NodeType groupnodedata, NodeType membernodedata, bool ignoreexistingmembership)
result = graphLinksModel.IsMemberValid(groupnodedata, membernodedata, ignoreexistingmembership)
Этот предикат верен, если добавление к узлу группы () приведет к недействительному графу.
- groupnodedata
- Узел данных, который является группой
- membernodedata
- данные узла
- ignoreexistingmembership
- игнорировать ли существующее членство в группе, поскольку этот член переводится из существующей группы;
public bool IsNodeData(NodeType nodedata)
result = graphLinksModel.IsNodeData(nodedata)
Этот предикат верен, если аргумент является узлом данных в этой модели.
- nodedata
- объект, подлежащий проверке, чтобы увидеть, является ли он известными данными узла в этой модели;
Возвращает: если оно находится в NodesSource
public bool IsNodeType(object nodedata)
result = graphLinksModel.IsNodeType(nodedata)
Этот предикат верен, когда аргумент является примером.
- nodedata
- произвольный объект, подлежащий проверке на совместимость, чтобы быть данными узла
Возвращает: Если же он может быть ложным, то он может быть ложным.
public bool IsRelinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam, LinkType oldlinkdata)
result = graphLinksModel.IsRelinkValid(fromdata, fromparam, todata, toparam, oldlinkdata)
Этот предикат верен, если замена связи между двумя узлами/портами приведет к действительному графу.
- fromdata
- ключ узла, идентифицирующий данные узла, из которых происходит ссылка
- fromparam
- необязательное значение, идентифицирующее, к какому порту на «от» узле подключена ссылка
- todata
- ключ узла идентифицирует данные узла, к которым идет ссылка
- toparam
- необязательное значение, идентифицирующее, к какому порту на узле «to» подключена ссылка
- oldlinkdata
- исходные данные ссылки, которые могут быть изменены
public void Load<NodeDataType, LinkDataType>(XContainer root, XName nodename, XName linkname)
graphLinksModel.Load(root, nodename, linkname)
Учитывая Linq для XML XContainer, содержащего данные узла и ссылки, замените коллекции этой модели NodesSource и LinksSource коллекциями новых данных узла и новых данных ссылки.
- root
- XContainer, содержащий все данные
- nodename
- Название каждого XElement, содержащего данные узла
- linkname
- Название каждого XElement, содержащего данные о ссылках
public void Load<NodeDataType, LinkDataType>(XContainer root, Func<XElement, NodeDataType> nodedataallocator, Func<XElement, LinkDataType> linkdataallocator)
graphLinksModel.Load(root, nodedataallocator, linkdataallocator)
Учитывая Linq для XML XContainer, содержащего данные узла и ссылки, замените коллекции этой модели NodesSource и LinksSource коллекциями новых данных узла и новых данных ссылки.
- root
- XContainer, содержащий все данные
- nodedataallocator
- Функция, которая принимает XElement и возвращает либо недавно построенный объект типа, либо нулевую, если этот XElement следует игнорировать.
- linkdataallocator
- Функция, которая принимает XElement и возвращает либо недавно построенный объект типа, либо нулевую, если этот XElement следует игнорировать.
protected virtual bool MakeNodeKeyUnique(NodeType nodedata)
result = graphLinksModel.MakeNodeKeyUnique(nodedata)
Этот метод называется, когда найден дублированный ключ.
- nodedata
Возвращает: верно принимать данные в качестве узла после того, как ключ стал уникальным в модели; неверно игнорировать эти данные.
protected virtual void ModifyGroupNodeKey(NodeType nodedata, NodeKey groupkey)
graphLinksModel.ModifyGroupNodeKey(nodedata, groupkey)
Этот метод фактически реализует модификацию данных узла так, что его ссылка на содержащие данные узла группы (если таковые имеются) является заданной.
- nodedata
- Данные узла должны быть изменены
- groupkey
- Ключевое значение данных узла «группы»
protected virtual void ModifyLinkFromPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.ModifyLinkFromPort(linkdata, nodekey, portparam)
Этот метод фактически реализует модификацию данных ссылки для изменения ссылки на данные узла «с» и информацию порта ссылки «с».
- linkdata
- Данные ссылки должны быть изменены
- nodekey
- Новые данные Node Data
- portparam
protected virtual void ModifyLinkLabelKey(LinkType linkdata, NodeKey linklabelkey)
graphLinksModel.ModifyLinkLabelKey(linkdata, linklabelkey)
Этот метод фактически реализует модификацию данных ссылки для изменения ссылки на данные узла «метки».
- linkdata
- Данные ссылки должны быть изменены
- linklabelkey
- Новые данные этикетки
protected virtual void ModifyLinkToPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.ModifyLinkToPort(linkdata, nodekey, portparam)
Этот метод фактически реализует модификацию данных ссылки для изменения ссылки на данные узла «to» и информацию порта ссылки «to».
- linkdata
- Данные ссылки должны быть изменены
- nodekey
- Новые данные Node Data
- portparam
protected virtual void ModifyMemberNodeKeys(NodeType nodedata, IEnumerable membernodekeys)
graphLinksModel.ModifyMemberNodeKeys(nodedata, membernodekeys)
Этот метод фактически реализует замену набора данных группового узла ключами узлов-членов.
- nodedata
- Данные узла должны быть изменены
- membernodekeys
- последовательность значений ключа данных "member" node
public void RemoveLink(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
graphLinksModel.RemoveLink(fromdata, fromparam, todata, toparam)
Удалите все данные ссылки с LinksSource, которые соединяют два узла / порта.
- fromdata
- ключ узла, идентифицирующий данные узла, из которых происходит ссылка
- fromparam
- необязательное значение, идентифицирующее, к какому порту на «от» узле подключена ссылка
- todata
- ключ узла идентифицирует данные узла, к которым идет ссылка
- toparam
- необязательное значение, идентифицирующее, к какому порту на узле «to» подключена ссылка
public void RemoveLink(LinkType linkdata)
graphLinksModel.RemoveLink(linkdata)
Удалите данные ссылки с LinksSource.
- linkdata
public void RemoveMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.RemoveMemberNodeKey(nodedata, memberkey)
Удалите ключевое значение данных узла ребенка из списка ключевых значений «члена» данных узла группы.
- nodedata
- Данные узла должны быть изменены
- memberkey
- Ключевое значение данных узла «член»
public void RemoveNode(NodeType nodedata)
graphLinksModel.RemoveNode(nodedata)
Удалить данные узла с NodesSource.
- nodedata
public void ResolveAllReferences()
graphLinksModel.ResolveAllReferences()
ResolveNodeKey(называется по каждой известной ссылке с задержкой или пересылкой).
protected virtual void ResolveNodeKey(NodeKey nodekey)
graphLinksModel.ResolveNodeKey(nodekey)
Это называется неоднократно по ResolveAllReferences, один раз для каждого известного отсроченного или пересылаемого узла ссылки.
- nodekey
public XElement Save<NodeDataType, LinkDataType>(XName rootname, XName nodename, XName linkname)
result = graphLinksModel.Save(rootname, nodename, linkname)
Создайте Linq для XML XElement, удерживающий все данные узла и ссылки.
- rootname
- Название возвращенного XElement
- nodename
- Название каждого XElement, содержащего данные узла
- linkname
- Название каждого XElement, содержащего данные о ссылках
Возвращает: XElement
public void SetGroupNodeKey(NodeType nodedata, NodeKey groupkey)
graphLinksModel.SetGroupNodeKey(nodedata, groupkey)
Измените данные узла так, чтобы они относились к другим данным узла контейнерной группы, по ключу узла.
- nodedata
- Данные узла должны быть изменены
- groupkey
- Ключевое значение новых данных узла «группы»
public void SetLinkFromPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.SetLinkFromPort(linkdata, nodekey, portparam)
Измените данные ссылки так, чтобы они относились к другим «от» данным узла и связанной с ними информации о порту.
- linkdata
- Данные ссылки должны быть изменены
- nodekey
- Новые данные Node Data
- portparam
public void SetLinkLabelKey(LinkType linkdata, NodeKey linklabelkey)
graphLinksModel.SetLinkLabelKey(linkdata, linklabelkey)
Измените данные ссылки так, чтобы они относились к другим «меткам» узловых данных.
- linkdata
- Данные ссылки должны быть изменены
- linklabelkey
- Новые данные этикетки
public void SetLinkToPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.SetLinkToPort(linkdata, nodekey, portparam)
Измените данные ссылки так, чтобы они относились к другим данным «узел» и связанной с ними информации о порту.
- linkdata
- Данные ссылки должны быть изменены
- nodekey
- Новые данные Node Data
- portparam
public void SetMemberNodeKeys(NodeType nodedata, IEnumerable membernodekeys)
graphLinksModel.SetMemberNodeKeys(nodedata, membernodekeys)
Замените список данных узла на ключевые значения «член».
- nodedata
- Данные узла должны быть изменены
- membernodekeys
- последовательность значений ключа данных "member" node