Le code suivant est le texte du fichier MainHandler.egl après la leçon 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 = "Calculator"};
resultsPortlet Portlet{children =[resultsHandler.ui ],
title = "Results", canMove = TRUE, canMinimize = TRUE};
function start()
mortgagePortal.addPortlet(calculatorPortlet, 1);
mortgagePortal.addPortlet(resultsPortlet, 1);
// Abonnement aux événements de calcul
InfoBus.subscribe("mortgageApplication.mortgageCalculated", restorePortlets);
// L'état initial est réduit
resultsPortlet.minimize();
end
function restorePortlets(eventName STRING in, dataObject ANY in)
if(resultsPortlet.isMinimized())
resultsPortlet.restore();
end
end
end