Utilización de las escuchas de sucesos

Todas las clases de diseño admiten dos tipos de sucesos: sucesos de diseño y sucesos de parámetros. Por eso, el mecanismo de escucha proporciona:

Escuchas de sucesos de diseño de gráficos

El mecanismo de escucha de sucesos de diseño proporciona una manera de informar al usuario de lo que sucede durante el diseño. A veces, un algoritmo de diseño puede tardar mucho tiempo en ejecutarse, sobre todo cuando se trabaja con gráficos grandes. Además, en algunos casos es posible que un algoritmo no converja. Independientemente de la situación, el usuario debe ser informado de los sucesos que se producen durante el diseño.
Esto se puede hacer mostrando la información oportuna, como el porcentaje completado tras cada iteración o paso.
Para recibir sucesos de diseño durante el diseño, debe conectarse (utilizando dojo.connect) con el método on <Suceso> adecuado.
Se desencadenan los sucesos siguientes:
  1. onLayoutStepPerformed(layoutStarted, layoutFinished): Un suceso "paso de diseño realizado" indica si se ha realizado un paso de la ejecución del diseño de gráficos. También indica si el diseño ha finalizado o se ha detenido.
  2. onAttached(): Este suceso se desencadena cuando el diseño de gráficos se conecta a un modelo de diseño de gráficos. Un diseño de gráficos debe estar conectado a un modelo de diseño de gráficos para poder ejecutarse.
  3. onDetached(): Este suceso se desencadena cuando el diseño de gráficos se desconecta de un modelo de diseño de gráficos.
Para estar a la escucha de sucesos de diseño de gráficos, debe implementar una función de escucha y conectarla (utilizando dojo.connect) al método adecuado de la instancia de diseño de gráficos.
Consulte Utilización de un informe de diseño de gráficos. De este modo, podrá consultar la información sobre el estado actual del informe de diseño. (Por ejemplo, puede leer esta información después de cada iteración o paso del algoritmo de diseño).
En el ejemplo siguiente se muestra cómo implementar y conectar una escucha de sucesos de diseño:
dojo.connect(layout, "onLayoutStepPerformed", function(layoutStarted, layoutFinished){
 console.log("started = " + layoutStarted + " finished = " + layoutFinished);
 console.log("percentage of completion: " + layout.getLayoutReport().getPercentageComplete());
});

Escuchas de sucesos de parámetros

El mecanismo de escuchas de sucesos de parámetros de diseño proporciona un modo de informar al usuario de que un parámetro de diseño ha cambiado.
Para recibir los sucesos de parámetros de diseño, debe implementar una función de escucha y registrarla conectándose con el suceso onParameterChanged.
Pueden recibirse los sucesos siguientes:
  1. ibm_ilog.graphlayout.GraphLayout.onObjectParameterChanged(nodeOrLink, parameterName): Este suceso se desencadena siempre que cambia un parámetro de diseño local (es decir, un parámetro que se aplica a un nodo o enlace específico).
  2. ibm_ilog.graphlayout.GraphLayout.onParameterChanged(parameterName): Este suceso se desencadena siempre que cambia un parámetro de diseño global.
En el ejemplo siguiente se muestra cómo implementar una escucha de sucesos de parámetros de diseño.
 dojo.connect(layout, "onParameterChanged", function(parameterName){
  console.log("parameter " + parameterName + " has changed");
 });