public final class Graph extends tecgraf.vix.Group implements GraphElementListener, ViewValidator
O grafo é a representação gráfica de um fluxo de algoritmo. Os nós do grafo são a representação gráfica das versões dos algoritmos. As arestras são as ligações entre os algoritmos. A ligação é unidirecional e representa o encameamento de um arquivo de saída com um arquivo de entrada.
| Modifier and Type | Field and Description |
|---|---|
static java.awt.Point |
INITIAL_POINT
Ponto inicial para posicionamento de novos nó.
|
| Constructor and Description |
|---|
Graph(java.awt.Window window)
Constrói um grafo.
|
Graph(java.awt.Window window,
csbase.logic.algorithms.flows.Flow flow)
Constrói um grafo a partir de um fluxo.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addGraphListener(GraphListener listener)
Adiciona um observador de grafo.
|
void |
addGraphListeners(java.util.List<GraphListener> listenerList)
Adiciona um conjunto de observadores de grafo ao mesmo tempo.
|
void |
clearGraphListeners()
Remove todos os observadores de grafo.
|
void |
createGraphLink(GraphFileDescriptor inputFileDescriptor,
GraphFileDescriptor outputFileDescriptor,
java.util.List<java.awt.geom.Point2D> pointList)
Cria uma nova conexão no grafo entre um arquivo de saída de um nó e um de
entrada de outro nó.
|
void |
createGraphLink(int id,
GraphFileDescriptor inputFileDescriptor,
GraphFileDescriptor outputFileDescriptor,
java.util.List<java.awt.geom.Point2D> pointList)
Cria uma nova conexão no grafo entre um arquivo de saída de um nó e um de
entrada de outro nó, com o identificador especificado.
|
GraphNode |
createGraphNode(AlgorithmConfiguratorView algorithmConfiguratorView,
java.awt.geom.Point2D point,
boolean bypassed)
Cria um novo nó no grafo a partir do configurador do algoritmo que ele
representa.
|
GraphNode |
createGraphNode(AlgorithmConfiguratorView algorithmConfiguratorView,
java.awt.geom.Point2D point,
java.awt.geom.Dimension2D size,
boolean bypassed)
Cria um novo nó no grafo a partir do configurador do algoritmo que ele
representa.
|
void |
createGraphNode(int id,
AlgorithmConfiguratorView configuratorView,
java.awt.geom.Point2D point,
java.awt.geom.Dimension2D size,
boolean bypassed)
Cria um novo nó no grafo a partir do configurador do algoritmo que ele
representa, com o id especificado.
|
void |
createGraphNode(int id,
csbase.logic.algorithms.AlgorithmInfo algorithmInfo,
csbase.logic.algorithms.AlgorithmVersionId versionId,
java.awt.geom.Point2D point,
java.awt.geom.Dimension2D size,
boolean bypassed)
Cria um novo nó no grafo a partir de informações do algoritmo que ele
representa, com o id especificado.
|
void |
createGraphNode(int id,
java.lang.String algorithmName,
csbase.logic.algorithms.AlgorithmVersionId versionId,
java.awt.geom.Point2D point,
java.awt.geom.Dimension2D size,
boolean bypassed)
Cria um novo nó no grafo a partir de informações do algoritmo que ele
representa, com o id especificado.
|
java.awt.Point |
findPositionForNewNode()
Encontra uma posição para um nó a partir da localização dos nós já
existentes, caso existam.
|
java.awt.geom.Rectangle2D |
getBounds2D() |
java.lang.String |
getDescription()
Retorna a descrição do fluxo representado por este grafo.
|
java.util.Collection<GraphElement> |
getElementCollection()
Retorna o conjunto de elementos do grafo.
|
java.util.Collection<GraphElement> |
getElementCollection(java.awt.geom.Point2D pt)
Obtém a coleção dos elementos do grafo (
GraphElement) que
contenham o ponto fornecido. |
java.util.Collection<GraphElement> |
getElementCollection(java.awt.geom.Rectangle2D bounds)
Obtém a coleção dos elementos do grafo (
GraphElement) que
estão contidos na região limitada pelo retângulo fornecido. |
java.awt.Graphics2D |
getGraphics2D() |
java.util.List<GraphListener> |
getGraphListenerList()
Retorna uma lista de observadores do grafo.
|
GraphLink |
getLink(int id)
Retorna a conexão com o identificador especificado ou nulo, caso não exista
conexão com esse identificador.
|
java.util.Collection<GraphLink> |
getLinkCollection()
Obtém a coleção dos conexões do grafo (
GraphLink). |
java.lang.String |
getName()
Obtém o nome do fluxo representado por este grafo.
|
GraphNode |
getNode(int id)
Retorna o nó com o identificador especificado ou nulo, caso não exista nó
com esse identificador.
|
GraphNode |
getNode(java.lang.String nodeName,
csbase.logic.algorithms.AlgorithmVersionId nodeVersionId)
Obtém um determinado nó do grafo, a partir do nome do algoritmo que ele
representa.
|
java.util.Collection<GraphNode> |
getNodeCollection()
Obtém a coleção dos nós do grafo (
GraphNode). |
java.awt.Window |
getParentWindow()
Retorna a janela onde o grafo é desenhado.
|
java.util.Set<GraphElement> |
getSelectedElements()
Retorna o conjunto de itens do grafo que estão selecionados.
|
java.util.Set<GraphLink> |
getSelectedLinks()
Retorna o conjunto de ligações do grafo que estão selecionadas.
|
java.util.Set<GraphNode> |
getSelectedNodes()
Retorna o conjunto de nós do grafo que estão selecionados.
|
java.util.List<GraphElement> |
getVOs() |
boolean |
hasElements()
Verifica se o grafo possui elementos.
|
boolean |
hasSelectedElements()
Verifica se o grafo possui elementos selecionados.
|
boolean |
highlightValidationResult(ViewValidationResult result)
Indica na visão o resultado da validação.
|
boolean |
isExecutable()
Verifica se o grafo representa um fluxo de algoritmos que pode ser
executado.
|
boolean |
isReadyToExecute()
Verifica se o grafo está pronto para ser executado.
|
protected boolean |
isVersionInfoVisible()
Indica se a informação de versão do algoritmo deve ser mostrada nos nós.
|
java.util.Collection<GraphElement> |
merge(Graph graph)
Faz a junção deste grafo com o outro especificado.
|
boolean |
msgHandlerVO(tecgraf.vix.TypeMessage msg) |
ViewValidationResult |
nodeValidation(csbase.logic.algorithms.validation.ValidationMode mode,
boolean highlight)
Valida os nós do grafo.
|
void |
notifyChangedWorkspace()
Notifica os observadores sobre mudanças no workspace.
|
void |
removeAllListeners()
Remove todos os observadores do grafo cadastrados.
|
void |
removeGraphListener(GraphListener listener)
Remove um observador de grafo.
|
void |
repaint() |
void |
setVersionInfoVisible(boolean visible)
Determina se a informação de versão do algoritmo deve ser mostrada nos nós.
|
csbase.logic.algorithms.flows.Flow |
toFlow()
Gera um fluxo que corresponde a este grafo.
|
static csbase.logic.algorithms.flows.Flow |
toFlow(java.lang.String flowName,
java.lang.String flowDescription,
java.util.Collection<GraphNode> nodes,
java.util.Collection<GraphLink> links)
Gera um fluxo a partir dos dados de um grafo.
|
void |
translate(java.awt.geom.Point2D point)
Translada os elementos do grafo.
|
ViewValidationResult |
validate(csbase.logic.algorithms.validation.ValidationMode mode)
Valida a configuração do grafo, procurando erros e inconsistências.
|
void |
wasAnchored(GraphLink link,
GraphFileDescriptor fileDescriptor)
Notifica que a conexão se fixou a um arquivo.
|
void |
wasDragged(GraphElement element,
double tx,
double ty)
Notifica que o elemento passado foi deslocado tx para direita e ty para
cima.
|
void |
wasDragged(GraphElement element,
java.awt.geom.Point2D startPoint,
java.awt.geom.Point2D endPoint)
Notifica que o elemento passo por arrastado (drag) do ponto inicial até o
ponto final.
|
void |
wasDropped(GraphElement element,
java.awt.geom.Point2D point)
Notifica que o elemento passado foi largado (drop) no ponto passado.
|
void |
wasIncreased(GraphLink link)
Notifica que a aresta passada foi aumentada.
|
void |
wasLinkStatusChanged(GraphLink link)
Notifica de link mudou de estado.
|
void |
wasParameterSetEnabled(GraphNode node,
java.lang.String parameterName,
boolean isEnabled)
Notifica que um parâmetro do algoritmo do nó foi habilitado/desabilitado.
|
void |
wasParameterSetVisible(GraphNode node,
java.lang.String parameterName,
boolean isVisible)
Notifica que um parâmetro do algoritmo do nó foi habilitado/desabilitado.
|
void |
wasParametrized(GraphElement element)
Notifica que o elemento foi parametrizado.
|
void |
wasRenamed(GraphNode node)
Notifica que o nó foi renomeado.
|
void |
wasResized(GraphNode node)
Notifica que o nó foi redimensionado.
|
void |
wasSelected(GraphElement element)
Notifica que houve mudança na seleção do elemento, ou seja, ele foi
selecionado ou foi desselecionado.
|
void |
wasUnanchored(GraphLink link,
GraphFileDescriptor fileDescriptor)
Notifica que a conexão perdeu um de seus arquivos, onde ela se fixava.
|
public static final java.awt.Point INITIAL_POINT
public Graph(java.awt.Window window)
window - A janela onde o grafo será desenhado.public Graph(java.awt.Window window,
csbase.logic.algorithms.flows.Flow flow)
throws csbase.exception.ParseException,
java.rmi.RemoteException
window - A janela onde o grafo será desenhado.flow - O fluxo .csbase.exception.ParseException - em caso de erro na atribuição dos valores dos
parâmetros dos nós do fluxo.java.rmi.RemoteException - em caso de erro de comunicação com o servidor.public void addGraphListener(GraphListener listener)
listener - O observador.public void addGraphListeners(java.util.List<GraphListener> listenerList)
listenerList - O conjunto de observadores de grafo.public void clearGraphListeners()
public void createGraphLink(int id,
GraphFileDescriptor inputFileDescriptor,
GraphFileDescriptor outputFileDescriptor,
java.util.List<java.awt.geom.Point2D> pointList)
id - Identificador da conexão.inputFileDescriptor - Arquivo de entrada da conexão.outputFileDescriptor - Arquivo de saída da conexão.pointList - Lista de pontos que a conexão percorre.public void createGraphLink(GraphFileDescriptor inputFileDescriptor, GraphFileDescriptor outputFileDescriptor, java.util.List<java.awt.geom.Point2D> pointList)
inputFileDescriptor - Arquivo de entrada da conexão.outputFileDescriptor - Arquivo de saída da conexão.pointList - Lista de pontos que a conexão percorre.public GraphNode createGraphNode(AlgorithmConfiguratorView algorithmConfiguratorView, java.awt.geom.Point2D point, boolean bypassed)
algorithmConfiguratorView - A visão do configurador do algoritmo
representado pelo nó.point - Ponto onde o nó deve ser colocado no grafo.bypassed - Indica se o nó deve ser desviado.public GraphNode createGraphNode(AlgorithmConfiguratorView algorithmConfiguratorView, java.awt.geom.Point2D point, java.awt.geom.Dimension2D size, boolean bypassed)
algorithmConfiguratorView - A visão do configurador do algoritmo
representado pelo nó.point - Ponto onde o nó deve ser colocado no grafo.size - Tamanho que o nó deve ter.bypassed - Indica se o nó deve ser desviado.public void createGraphNode(int id,
AlgorithmConfiguratorView configuratorView,
java.awt.geom.Point2D point,
java.awt.geom.Dimension2D size,
boolean bypassed)
id - Identificador do nó.configuratorView - A visão do configurador do algoritmo representado
pelo nó.point - Ponto onde o nó deve ser colocado no grafo.size - Tamanho que o nó deve ter.bypassed - Indica se o nó deve ser desviado.public void createGraphNode(int id,
csbase.logic.algorithms.AlgorithmInfo algorithmInfo,
csbase.logic.algorithms.AlgorithmVersionId versionId,
java.awt.geom.Point2D point,
java.awt.geom.Dimension2D size,
boolean bypassed)
id - Identificador do nó.algorithmInfo - Informações sobre o algoritmo.versionId - Informações sobre a versão do algoritmo.point - Ponto onde o nó deve ser colocado no grafo.size - Tamanho que o nó deve ter.bypassed - Indica se o nó deve ser desviado.public void createGraphNode(int id,
java.lang.String algorithmName,
csbase.logic.algorithms.AlgorithmVersionId versionId,
java.awt.geom.Point2D point,
java.awt.geom.Dimension2D size,
boolean bypassed)
id - Identificador do nó.algorithmName - Nome do algoritmo.versionId - Informações sobre a versão do algoritmo.point - Ponto onde o nó deve ser colocado no grafo.size - Tamanho que o nó deve ter.bypassed - Indica se o nó deve ser desviado.public java.awt.geom.Rectangle2D getBounds2D()
getBounds2D in interface tecgraf.vix.TypeVOgetBounds2D in class tecgraf.vix.Grouppublic java.util.Collection<GraphElement> getElementCollection()
public java.util.Collection<GraphElement> getElementCollection(java.awt.geom.Point2D pt)
GraphElement) que
contenham o ponto fornecido.pt - O ponto.public java.util.Collection<GraphElement> getElementCollection(java.awt.geom.Rectangle2D bounds)
GraphElement) que
estão contidos na região limitada pelo retângulo fornecido.bounds - O retãngulo.public java.awt.Graphics2D getGraphics2D()
getGraphics2D in interface tecgraf.vix.TypeVSgetGraphics2D in class tecgraf.vix.Grouppublic java.util.List<GraphListener> getGraphListenerList()
public GraphLink getLink(int id)
id - O identificador da conexão.public java.util.Collection<GraphLink> getLinkCollection()
GraphLink).public java.lang.String getName()
null.public java.lang.String getDescription()
public GraphNode getNode(int id)
id - O identificador do nó.public GraphNode getNode(java.lang.String nodeName, csbase.logic.algorithms.AlgorithmVersionId nodeVersionId)
nodeName - nome do algoritmo do nónodeVersionId - o identificador da versão do algoritmo do nópublic java.util.Collection<GraphNode> getNodeCollection()
GraphNode).public java.awt.Window getParentWindow()
public java.util.Set<GraphElement> getSelectedElements()
public java.util.Set<GraphNode> getSelectedNodes()
public java.util.Set<GraphLink> getSelectedLinks()
public java.util.List<GraphElement> getVOs()
getVOs in class tecgraf.vix.Grouppublic boolean hasElements()
true se o grafo possui elementos ou false
caso contrário.public boolean hasSelectedElements()
true se o grafo possui elementos selecionados ou
false caso contrário.public boolean isExecutable()
Verifica se o grafo representa um fluxo de algoritmos que pode ser executado.
Condições para um grafo ser executável:
true se é executável ou false caso
contrário.public boolean isReadyToExecute()
Verifica se o grafo está pronto para ser executado.
Condições para um grafo estar pronto para ser executado:
true se está pronto para ser executado ou
false caso contrário.public java.util.Collection<GraphElement> merge(Graph graph)
graph - O grafo que deve ser combinado com esse.public boolean msgHandlerVO(tecgraf.vix.TypeMessage msg)
msgHandlerVO in interface tecgraf.vix.TypeVOmsgHandlerVO in class tecgraf.vix.Grouppublic void notifyChangedWorkspace()
public void removeAllListeners()
public void removeGraphListener(GraphListener listener)
listener - O observador.public void repaint()
repaint in interface tecgraf.vix.TypeVSrepaint in class tecgraf.vix.Grouppublic csbase.logic.algorithms.flows.Flow toFlow()
public static csbase.logic.algorithms.flows.Flow toFlow(java.lang.String flowName,
java.lang.String flowDescription,
java.util.Collection<GraphNode> nodes,
java.util.Collection<GraphLink> links)
flowName - o nome do fluxo.flowDescription - a descrição do fluxo.nodes - conjunto de nós do grafo.links - conjunto de ligações do grafo.public ViewValidationResult validate(csbase.logic.algorithms.validation.ValidationMode mode)
validate in interface ViewValidatormode - Modo de validação (ValidationMode.FULL ou
ValidationMode.ALLOW_EMPY_VALUES).public ViewValidationResult nodeValidation(csbase.logic.algorithms.validation.ValidationMode mode, boolean highlight)
mode - o modo de validação.highlight - determina se o resultado da validação deve ser indicado na
interface gráfica.public void wasAnchored(GraphLink link, GraphFileDescriptor fileDescriptor)
wasAnchored in interface GraphElementListenerlink - A conexão.fileDescriptor - O arquivo.public void wasDragged(GraphElement element, double tx, double ty)
wasDragged in interface GraphElementListenerelement - O elemento que foi arrastado.tx - O deslocamento em x.ty - O deslocamento em y.public void wasDragged(GraphElement element, java.awt.geom.Point2D startPoint, java.awt.geom.Point2D endPoint)
wasDragged in interface GraphElementListenerelement - O elemento que foi arrastado.startPoint - O ponto inicial.endPoint - O ponto final.public void wasDropped(GraphElement element, java.awt.geom.Point2D point)
wasDropped in interface GraphElementListenerelement - O elemento que foi arrastado.point - O ponto.public void wasIncreased(GraphLink link)
wasIncreased in interface GraphElementListenerlink - A aresta.public void wasLinkStatusChanged(GraphLink link)
wasLinkStatusChanged in interface GraphElementListenerlink - linkpublic void wasParameterSetEnabled(GraphNode node, java.lang.String parameterName, boolean isEnabled)
wasParameterSetEnabled in interface GraphElementListenernode - O nó.parameterName - O nome do parâmetro.isEnabled - Flag que indica se o parâmetro foi habilitado (
true) ou desabilitado (false).public void wasParameterSetVisible(GraphNode node, java.lang.String parameterName, boolean isVisible)
wasParameterSetVisible in interface GraphElementListenernode - O nó.parameterName - O nome do parâmetro.isVisible - Flag que indica se o parâmetro está visível (
true) ou não (false).public void wasParametrized(GraphElement element)
wasParametrized in interface GraphElementListenerelement - O elemento que foi parametrizado.public void wasRenamed(GraphNode node)
wasRenamed in interface GraphElementListenernode - O nó que foi renomeado.public void wasResized(GraphNode node)
wasResized in interface GraphElementListenernode - O nó que foi redimensionado.public void wasSelected(GraphElement element)
wasSelected in interface GraphElementListenerelement - O elemento.public void wasUnanchored(GraphLink link, GraphFileDescriptor fileDescriptor)
wasUnanchored in interface GraphElementListenerlink - A conexão.fileDescriptor - O arquivo.public boolean highlightValidationResult(ViewValidationResult result)
highlightValidationResult in interface ViewValidatorresult - o resultado da validação.public void setVersionInfoVisible(boolean visible)
visible - verdadeiro se a informação deve ser mostrada ou falso, caso
contrário.protected boolean isVersionInfoVisible()
public java.awt.Point findPositionForNewNode()
public void translate(java.awt.geom.Point2D point)
point - o tamanho do translado.Copyright © 2015. All Rights Reserved.