If you want to change the default configuration of your client application, e.g., a different menu, no toolbar, a fancy background image, etc. you could use application.xml and set specific parameters or you could implement your own application behaviour. It's enough to set the application parameter:
Application.setup.classname
to com.sibvisions.apps.myerp.ERPApplicationSetup
The implementation could be:
public class ERPApplicationSetup implements IApplicationSetup { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Interface implementation //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @Override public void apply(IApplication pApplication) { ILauncher pLauncher = pApplication.getLauncher(); pLauncher.setParameter(ProjX.PARAM_LOGIN_CLASS, ERPLogin.class.getName()); pLauncher.setParameter(ProjX.PARAM_MENU_CLASS, ERPMenu.class.getName()); //never pLauncher.setParameter(ProjX.PARAM_LOGIN_USERNAME, null); pLauncher.setParameter(ProjX.PARAM_LOGIN_PASSWORD, null); pLauncher.setParameter(ProjX.PARAM_AUTHENTICATOR, ERPAuthenticator.class.getName()); //always direct! pLauncher.setParameter(ProjX.PARAM_CONNECTIONCLASS, DirectServerConnection.class.getName()); //login immediate! ((ProjX)pApplication).setUseLoginThread(false); } }
The advantage of an implementation of IApplicationSetup
is that you have access to the application instance before it is fully initialized. You can add listeners and directly call methods of the application if needed.