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:
- 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.
- 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.
- 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:
- 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).
- 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"); });