@Override
public void viewMenuOptions(final UserActionSet options) {
options.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_MENU_WORKSPACE));
options.add(new UserActionAbstract("Close all") {
@Override
public void execute(final Workspace workspace, final View view, final Location at) {
final View views[] = getWindowViews();
for (final View v : views) {
// if (v.getSpecification().isOpen()) {
v.dispose();
// }
}
markDamaged();
}
});
options.add(new UserActionAbstract("Tidy up windows") {
@Override
public void execute(final Workspace workspace, final View view, final Location at) {
tidyViews(getWindowViews());
}
});
options.add(new UserActionAbstract("Tidy up icons") {
@Override
public void execute(final Workspace workspace, final View view, final Location at) {
tidyViews(getObjectIconViews());
}
});
options.add(new UserActionAbstract("Tidy up all") {
@Override
public void execute(final Workspace workspace, final View view, final Location at) {
tidyViews(getObjectIconViews());
tidyViews(getWindowViews());
}
});
options.add(new UserActionAbstract("Services...") {
@Override
public void execute(final Workspace workspace, final View view, final Location at) {
final List<Object> services = IsisContext.getServices();
final ObjectAdapter[] serviceObjects = new ObjectAdapter[services.size()];
int i = 0;
for (final Object object : services) {
final AdapterManager adapterManager = IsisContext.getPersistenceSession().getAdapterManager();
serviceObjects[i++] = adapterManager.adapterFor(object);
}
final ObjectSpecification spec = getSpecificationLoader().loadSpecification(Object.class);
final ObjectList collection = new ObjectList(spec, serviceObjects);
addWindowFor(getAdapterManager().adapterFor(collection), new Placement(at));
}
});
menuForChangingLook(options);
menuForChangingUsers(options);
options.add(new UserActionAbstract("Save User Profile", ActionType.USER) {
@Override
public void execute(final Workspace workspace, final View view, final Location at) {
final Feedback feedbackManager = getFeedbackManager();
feedbackManager.showBusyState(ApplicationWorkspace.this);
getViewManager().saveOpenObjects();