PartManager
Esta classe lida com o evento alterado para o modelo do Diagrama e é responsável pela criação e remoção de nós e links para os dados no modelo.
Herda de: FrameworkElement
Construtores
public PartManager()
partManager = PartManager()
O construtor para o gerenciador de peças padrão que é o valor inicial de PartManager.
Propriedades
public bool AddsToLogicalTree { get; set; }
value = partManager.AddsToLogicalTree
partManager.AddsToLogicalTree = value
Obtém ou define se as partes são adicionadas e removidas da árvore lógica. [apenas WPF]
public bool ChecksTransactionLevel { get; set; }
value = partManager.ChecksTransactionLevel
partManager.ChecksTransactionLevel = value
Obtém ou define se este gestor de peças irá emitir avisos para os ouvintes Trace quando as alterações de modelo ocorrerem fora de uma transacção.
public Diagram Diagram { get; internal set; }
value = partManager.Diagram
partManager.Diagram = value
Obtém o Diagrama para o qual este PartManager gerencia a vida útil das Peças, dependendo do conteúdo do Modelo.
public IEnumerable<Link> Links { get; }
value = partManager.Links
Obtém um IEnumerável<Link> segurando todos os Links que estão no diagrama, incluindo links que não estão vinculados aos dados.
public int LinksCount { get; }
value = partManager.LinksCount
Obtém o número atual de Links no diagrama, incluindo links que não estão vinculados aos dados.
public IEnumerable<Node> Nodes { get; }
value = partManager.Nodes
Obtém um IEnumerável<Node> segurando todos os nós que estão no diagrama, incluindo Grupos, incluindo nós que não estão ligados a dados, mas excluindo Adornos.
public int NodesCount { get; }
value = partManager.NodesCount
Obtém o número atual de nós no diagrama, incluindo nós que não estão vinculados a dados e incluindo Grupos, mas excluindo Adornos.
public bool UpdatesRouteDataPoints { get; set; }
value = partManager.UpdatesRouteDataPoints
partManager.UpdatesRouteDataPoints = value
Obtém ou define se este PartManager deve chamar Link) para cada Link que tenha uma nova lista de Pontos.
Métodos
public Link AddLinkForData(object linkdata, IDiagramModel model)
result = partManager.AddLinkForData(linkdata, model)
Certifique-se de que existe um Link para alguns dados no modelo, adicionado ao LinkLayer especificado por seu LayerName.
- linkdata
- os dados na informação que contém relação de ligação
- model
- o modelo em que o está, um ILinksModel
Retorna: o Link para o , um existente ou um recém-criado, ou nulo se IDiagramModel) retorna false ou se o diagrama não é iniciado
public Link AddLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
result = partManager.AddLinkForData(fromnodedata, tonodedata, model)
Certifique-se de que existe um Link para a relação de ligação entre o dado par de dados de nó, adicionado ao LinkLayer especificado por seu LayerName.
- fromnodedata
- os dados de que vem a relação de ligação
- tonodedata
- os dados para os quais vai a relação de ligação
- model
- o modelo em que os dados do nó estão, não um ILinksModel
Retorna: o Link para a conexão dos dois dados de nó, um existente ou um recém-criado, ou nulo se IDiagramModel) retorna false ou se o diagrama não for iniciado
public Node AddNodeForData(object nodedata, IDiagramModel model)
result = partManager.AddNodeForData(nodedata, model)
Certifique-se de que existe um nó para alguns dados no modelo, adicionado ao NodeLayer especificado por seu LayerName.
- nodedata
- os dados na informação do nó que contém
- model
- o modelo em que o está
Retorna: o nó para o , um existente ou um recém-criado, ou nulo se IDiagramModel) retorna false ou se o diagrama não é iniciado
public virtual ICopyDictionary CopyParts(IEnumerable<Part> coll, IDiagramModel destmodel)
result = partManager.CopyParts(coll, destmodel)
Copie uma coleção de peças deste modelo para um determinado modelo.
- coll
- uma coleção de peças que estão neste modelo
- destmodel
- se null, isto cria um modelo como este chamando IDataCollection); o novo modelo está disponível a partir da propriedade retornada ICopyDictionary@ como DestinationModel@
Retorna: um ICopyDictionary que mapeia as partes originais para as copiadas
public virtual void DeleteParts(IEnumerable<Part> coll)
partManager.DeleteParts(coll)
Remover uma coleção de peças deste modelo.
- coll
- uma coleção de peças que estão neste modelo
protected virtual void DoRebuildLinkElements()
partManager.DoRebuildLinkElements()
Isto é chamado por RebuildLinkElements para construir ou reconstruir Links no diagrama.
protected virtual void DoRebuildNodeElements()
partManager.DoRebuildNodeElements()
Faça novos nós para todos os dados do modelo e adicione-os ao Diagrama.
protected virtual bool FilterLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
result = partManager.FilterLinkForData(fromnodedata, tonodedata, model)
Decida se a relação de ligação entre um determinado par de dados de nó deve ser representada no diagrama por um Link.
- fromnodedata
- os dados de que vem a relação de ligação
- tonodedata
- os dados para os quais vai a relação de ligação
- model
- o modelo em que os dados do nó estão, não um ILinksModel
Retorna: true somente se IDiagramModel) deve fazer e adicionar uma Ligação ao diagrama
protected virtual bool FilterLinkForData(object linkdata, IDiagramModel model)
result = partManager.FilterLinkForData(linkdata, model)
Decida se um particular deve ser representado no diagrama por um Link.
- linkdata
- os dados na informação que contém relação de ligação
- model
- o modelo em que o está, um ILinksModel
Retorna: true somente se IDiagramModel) deve fazer e adicionar uma Ligação ao diagrama
protected virtual bool FilterNodeForData(object nodedata, IDiagramModel model)
result = partManager.FilterNodeForData(nodedata, model)
Decida se um particular deve ser representado no diagrama por um nó.
- nodedata
- os dados na informação do nó que contém
- model
- o modelo em que o está
Retorna: true somente se IDiagramModel) deve fazer e adicionar um nó ao diagrama
protected virtual string FindCategoryForLink(object linkdata, IDiagramModel model)
result = partManager.FindCategoryForLink(linkdata, model)
Determinar a categoria para o link, para poder decidir entre diferentes modelos para o Link.
- linkdata
- se o modelo é um ILinksModel, este é o link de dados; caso contrário, este é um VirtualLinkData
- model
Retorna: Se não houver nenhuma categoria associada aos dados de ligação, isto usa a categoria dos dados do nó "de" se não for uma string vazia, ou então tenta usar a categoria dos dados do nó "para". A categoria por omissão é a string vazia.
protected virtual string FindCategoryForNode(object nodedata, IDiagramModel model, bool isgroup, bool islinklabel)
result = partManager.FindCategoryForNode(nodedata, model, isgroup, islinklabel)
Determinar a categoria para o nó, para poder decidir entre diferentes modelos para o nó.
- nodedata
- model
- isgroup
- islinklabel
Retorna: o resultado da chamada Objeto)
public virtual IDiagramModel FindCommonDataModel(object fromnodedata, object tonodedata)
result = partManager.FindCommonDataModel(fromnodedata, tonodedata)
Encontre o modelo para os dois objetos de dados que representam nós.
- fromnodedata
- tonodedata
Retorna: normalmente o Modelo, mas pode retornar o PartsModel se os dois e são nós, caso contrário nulo.
public Link FindLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
result = partManager.FindLinkForData(fromnodedata, tonodedata, model)
Dado um par de dados de nó para o qual existe uma relação de ligação, encontrar o Link correspondente neste diagrama.
- fromnodedata
- os dados de que vem a relação de ligação
- tonodedata
- os dados para os quais vai a relação de ligação
- model
- o modelo em que os dados do nó estão, não um ILinksModel
Retorna: um link, ou nulo, se tal link não tiver sido criado para esse par de dados de nó
public Link FindLinkForData(object linkdata, IDiagramModel model)
result = partManager.FindLinkForData(linkdata, model)
Dado alguns em um , encontrar o Link correspondente neste diagrama.
- linkdata
- os dados na informação que contém relação de ligação
- model
- o modelo em que o está, um ILinksModel
Retorna: um link, ou nulo, se tal link não tiver sido criado para esses dados
public virtual IEnumerable<Link> FindLinksForData(IDataCollection datacoll)
result = partManager.FindLinksForData(datacoll)
Devolver uma coleção de Links neste diagrama correspondente a alguns dados do modelo.
- datacoll
- a IDataCollection
Retorna: Se este modelo for um ILinksModel, isto chama apenas IDiagramModel) e recolhe os Links que são encontrados. Caso contrário, procura Links que estão ligados aos nós na recolha de dados.
public virtual IDiagramModel FindNodeDataModel(object nodedata)
result = partManager.FindNodeDataModel(nodedata)
Encontre o modelo para alguns dados.
- nodedata
Retorna: normalmente o Modelo, mas pode retornar o PartsModel se o é uma Parte.
public Node FindNodeForData(object nodedata, IDiagramModel model)
result = partManager.FindNodeForData(nodedata, model)
Dado alguns em um , encontrar o Nó correspondente neste diagrama.
- nodedata
- os dados na informação do nó que contém
- model
- o modelo em que o está
Retorna: um nó, ou nulo se tal nó não tiver sido criado para esses dados
public virtual IEnumerable<Node> FindNodesForData(IDataCollection datacoll)
result = partManager.FindNodesForData(datacoll)
Retornar uma coleção de nós neste diagrama correspondente a alguns dados do modelo.
- datacoll
- a IDataCollection
public virtual IEnumerable<Part> FindPartsForData(IDataCollection datacoll)
result = partManager.FindPartsForData(datacoll)
Devolver uma coleção de peças neste diagrama correspondente a alguns dados do modelo.
- datacoll
Retorna: uma sequência de ambos os nós e links
protected virtual DataTemplate FindTemplateForLink(object linkdata, IDiagramModel model, string category)
result = partManager.FindTemplateForLink(linkdata, model, category)
Dada uma categoria e os dados de link, encontrar um DataTemplate para usar na criação do Link.
- linkdata
- model
- category
Retorna: um DataTemplate retirado de LinkTemplate ou LinkTemplateDictionary, ou nulo se não for encontrado nenhum modelo
protected virtual DataTemplate FindTemplateForNode(object nodedata, IDiagramModel model, bool isgroup, bool islinklabel, string category)
result = partManager.FindTemplateForNode(nodedata, model, isgroup, islinklabel, category)
Dada uma categoria e os dados do nó, encontrar um DataTemplate para usar na fabricação do Node ou Grupo.
- nodedata
- model
- isgroup
- islinklabel
- category
Retorna: a DataTemplate retirado de NodeTemplate@ ou NodeTemplateDictionary (ou se for verdadeiro, de GroupTemplate ou GroupTemplateDictionary), ou nulo se não for encontrado nenhum modelo
protected virtual Link MakeLinkForData(object linkdata, IDiagramModel model, DataTemplate templ, string category)
result = partManager.MakeLinkForData(linkdata, model, templ, category)
Construir um novo Link, definindo seu Conteúdo e propriedades ContentTemplate.
- linkdata
- os dados a que esta ligação está ligada; não devem ser um Link ou qualquer UIElement
- model
- o modelo em que o está
- templ
- a DataTemplate para a propriedade ContentTemplate @
- category
- a categoria para a ligação
Retorna: um link recém-criado
protected virtual Node MakeNodeForData(object nodedata, IDiagramModel model, bool isgroup, bool islinklabel, string category, DataTemplate templ)
result = partManager.MakeNodeForData(nodedata, model, isgroup, islinklabel, category, templ)
Construir um novo nó, definindo seu conteúdo e propriedades ContentTemplate.
- nodedata
- os dados a que este nó está ligado; não devem ser um Nó ou qualquer UIElement
- model
- o modelo em que o está
- isgroup
- se o nó deve ser um Grupo em vez de um Nó
- islinklabel
- se o nó atua como o nó de etiqueta para um link
- category
- a categoria do nó
- templ
- a DataTemplate para a propriedade ContentTemplate @
Retorna: um Nó ou Grupo recém- criado, ligado a um PartBinding
protected virtual void OnLinkAdded(Link link)
partManager.OnLinkAdded(link)
Chamado após o é adicionado ao diagrama.
- link
- a Link
protected virtual void OnLinkRemoved(Link link, LinkLayer layer)
partManager.OnLinkRemoved(link, layer)
Chamado após o ser removido do diagrama.
- link
- a Link
- layer
- o LinkLayer de onde o foi removido
protected virtual void OnLinkRemoving(Link link)
partManager.OnLinkRemoving(link)
Chamado antes de o ser removido do diagrama.
- link
- a Link
protected virtual void OnMemberAdded(Node group, Part part)
partManager.OnMemberAdded(group, part)
Chamado após uma parte é adicionado aos membros de um nó de grupo.
- group
- a Grupo
- part
- uma parte que foi adicionada à
protected virtual void OnMemberRemoved(Node group, Part part)
partManager.OnMemberRemoved(group, part)
Chamado após uma parte é removido de membros de um nó de grupo.
- group
- a Grupo
- part
- uma parte que foi removida da
public virtual void OnModelChanged(ModelChangedEventArgs e)
partManager.OnModelChanged(e)
Isto é chamado para cada evento alterado do Modelo.
- e
- a propriedade Change dá uma descrição básica da alteração ao modelo
protected virtual void OnNodeAdded(Node node)
partManager.OnNodeAdded(node)
Chamado após um é adicionado ao diagrama.
- node
- um nó
protected virtual void OnNodeRemoved(Node node, NodeLayer layer)
partManager.OnNodeRemoved(node, layer)
Chamado após um é removido do diagrama.
- node
- um nó
- layer
- o NodeLayer de onde o foi removido
protected virtual void OnNodeRemoving(Node node)
partManager.OnNodeRemoving(node)
Chamado antes de um é removido do diagrama.
- node
- um nó
public virtual void RealizeSubGraphMembers(Group sg)
partManager.RealizeSubGraphMembers(sg)
Isso é chamado por ExpandSubGraph para garantir que os nós e links do membro do grupo existem no diagrama.
- sg
- a Grupo
public virtual void RealizeTreeChildren(Node parent)
partManager.RealizeTreeChildren(parent)
Isso é chamado por ExpandTree para ter certeza de que todos os nós conectados do nó existem no diagrama.
- parent
public void RebuildLinkElements()
partManager.RebuildLinkElements()
Descartar todas as ligações existentes e depois fazer novas para todos os dados do modelo e adicioná- las ao Diagrama.
public void RebuildNodeElements()
partManager.RebuildNodeElements()
Descartar todos os nós e links existentes e, em seguida, fazer novos para todos os dados do modelo e adicioná-los ao Diagrama.
public virtual void ReleaseSubGraphMembers(Group sg)
partManager.ReleaseSubGraphMembers(sg)
Isto é chamado por CollapseSubGraph para permitir que os nós e links dos membros sejam removidos do diagrama.
- sg
- a Grupo
public virtual void ReleaseTreeChildren(Node parent)
partManager.ReleaseTreeChildren(parent)
Isto é chamado por CollapseTree para permitir que todos os nós e links para um nó específico sejam removidos do diagrama.
- parent
public void RemoveLinkForData(object fromnodedata, object tonodedata, IDiagramModel model)
partManager.RemoveLinkForData(fromnodedata, tonodedata, model)
Remova qualquer Link que exista para um par de dados de nó dados.
- fromnodedata
- os dados de que vem a relação de ligação
- tonodedata
- os dados para os quais vai a relação de ligação
- model
- o modelo em que os dados do nó estão, não um ILinksModel
public void RemoveLinkForData(object linkdata, IDiagramModel model)
partManager.RemoveLinkForData(linkdata, model)
Remova qualquer Link que exista no diagrama para o .
- linkdata
- os dados na informação que contém relação de ligação
- model
- o modelo em que o está, um ILinksModel
public void RemoveNodeForData(object nodedata, IDiagramModel model)
partManager.RemoveNodeForData(nodedata, model)
Remova qualquer nó neste diagrama que exista para o .
- nodedata
- model
public virtual void SelectData(IDataCollection datacoll)
partManager.SelectData(datacoll)
Selecione as partes neste diagrama correspondentes a uma coleção de dados do modelo.
- datacoll
- a IDataCollection
protected virtual void UpdateRouteDataPoints(Link link)
partManager.UpdateRouteDataPoints(link)
Isso é chamado após roteamento de link, se UpdatesRouteDataPoints for verdadeiro, para permitir que os Pontos do link sejam copiados para os dados do link.
- link