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:

ERPApplicationSetup.java
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.