package org.deved.antlride.app;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.swt.graphics.Point;
import org.eclipse.ui.application.ActionBarAdvisor;
import org.eclipse.ui.application.IActionBarConfigurer;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;
public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
public ApplicationWorkbenchWindowAdvisor(
IWorkbenchWindowConfigurer configurer) {
super(configurer);
}
public ActionBarAdvisor createActionBarAdvisor(
IActionBarConfigurer configurer) {
return new ApplicationActionBarAdvisor(configurer);
}
public void preWindowOpen() {
IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
configurer.setInitialSize(new Point(1024, 900));
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(true);
configurer.setTitle("ANTLR IDE");
}
@Override
public void postWindowOpen() {
super.postWindowOpen();
IWorkbenchWindowConfigurer workbenchWindowConfigurer = getWindowConfigurer();
IActionBarConfigurer actionBarConfigurer = workbenchWindowConfigurer
.getActionBarConfigurer();
IMenuManager menuManager = actionBarConfigurer.getMenuManager();
IContributionItem[] menuItems = menuManager.getItems();
for (int i = 0; i < menuItems.length; i++) {
IContributionItem menuItem = menuItems[i];
// Hack to remove the Run menu - it seems you cannot do this using
// the
// "org.eclipse.ui.activities" extension
if ("org.eclipse.ui.run".equals(menuItem.getId())) {
menuManager.remove(menuItem);
}
}
menuManager.update(true);
}
}