~~NOTRANS~~
~~Title: Programatically Application Setup~~
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.