Il codice riportato di seguito è il testo del file
MainHandler.egl dopo la Lezione 7.
package handlers;
import com.ibm.egl.rui.infobus.InfoBus;
import utils.portal.Portal;
import utils.portal.Portlet;
handler MainHandler type RUIhandler
{initialUI = [ mortgagePortal ],
onConstructionFunction = start,
cssFile="css/MortgageUIProject.css",
title="MainHandler"}
mortgagePortal Portal{ columns = 2, columnWidths = [ 350, 650 ] };
calculatorHandler MortgageCalculatorHandler{};
resultsHandler CalculationResultsHandler{};
calculatorPortlet Portlet
{children = [calculatorHandler.ui], title = "Calcolatore"};
resultsPortlet Portlet{children = [resultsHandler.ui],
title = "Risultati", canMove = TRUE, canMinimize = TRUE};
function start()
mortgagePortal.addPortlet(calculatorPortlet, 1);
mortgagePortal.addPortlet(resultsPortlet, 1);
// Esegue la sottoscrizione agli eventi di calcolo
InfoBus.subscribe("mortgageApplication.mortgageCalculated", restorePortlets);
// Lo stato iniziale è ridotto a icona
resultsPortlet.minimize();
end
function restorePortlets(eventName STRING in, dataObject ANY in)
if(resultsPortlet.isMinimized())
resultsPortlet.restore();
end
end
end