Search in sources :

Example 1 with SavePerspectiveDialog

use of org.eclipse.ui.internal.dialogs.SavePerspectiveDialog in project eclipse.platform.ui by eclipse-platform.

the class SavePerspectiveHandler method saveNonSingleton.

/**
 * Save a singleton over the user selection.
 */
private void saveNonSingleton(IWorkbenchPage page, PerspectiveDescriptor oldDesc) {
    // Get reg.
    PerspectiveRegistry reg = (PerspectiveRegistry) WorkbenchPlugin.getDefault().getPerspectiveRegistry();
    // Get persp name.
    SavePerspectiveDialog dlg = new SavePerspectiveDialog(page.getWorkbenchWindow().getShell(), reg);
    // Look up the descriptor by id again to ensure it is still valid.
    IPerspectiveDescriptor description = reg.findPerspectiveWithId(oldDesc.getId());
    dlg.setInitialSelection(description);
    if (dlg.open() != IDialogConstants.OK_ID) {
        return;
    }
    // Create descriptor.
    PerspectiveDescriptor newDesc = (PerspectiveDescriptor) dlg.getPersp();
    if (newDesc == null) {
        String name = dlg.getPerspName();
        newDesc = reg.createPerspective(name, (PerspectiveDescriptor) description);
        if (newDesc == null) {
            MessageDialog.openError(dlg.getShell(), WorkbenchMessages.SavePerspective_errorTitle, WorkbenchMessages.SavePerspective_errorMessage);
            return;
        }
    }
    // Save state.
    page.savePerspectiveAs(newDesc);
}
Also used : PerspectiveRegistry(org.eclipse.ui.internal.registry.PerspectiveRegistry) IPerspectiveDescriptor(org.eclipse.ui.IPerspectiveDescriptor) SavePerspectiveDialog(org.eclipse.ui.internal.dialogs.SavePerspectiveDialog) PerspectiveDescriptor(org.eclipse.ui.internal.registry.PerspectiveDescriptor) IPerspectiveDescriptor(org.eclipse.ui.IPerspectiveDescriptor)

Example 2 with SavePerspectiveDialog

use of org.eclipse.ui.internal.dialogs.SavePerspectiveDialog in project eclipse.platform.ui by eclipse-platform.

the class UIDialogs method testSavePerspective.

@Test
public void testSavePerspective() {
    PerspectiveRegistry reg = (PerspectiveRegistry) WorkbenchPlugin.getDefault().getPerspectiveRegistry();
    // Get persp name.
    SavePerspectiveDialog dialog = new SavePerspectiveDialog(getShell(), reg);
    IPerspectiveDescriptor description = reg.findPerspectiveWithId(getWorkbench().getActiveWorkbenchWindow().getActivePage().getPerspective().getId());
    dialog.setInitialSelection(description);
    DialogCheck.assertDialog(dialog);
}
Also used : PerspectiveRegistry(org.eclipse.ui.internal.registry.PerspectiveRegistry) IPerspectiveDescriptor(org.eclipse.ui.IPerspectiveDescriptor) SavePerspectiveDialog(org.eclipse.ui.internal.dialogs.SavePerspectiveDialog) Test(org.junit.Test)

Example 3 with SavePerspectiveDialog

use of org.eclipse.ui.internal.dialogs.SavePerspectiveDialog in project eclipse.platform.ui by eclipse-platform.

the class UIDialogsAuto method testSavePerspective.

@Test
public void testSavePerspective() {
    PerspectiveRegistry reg = (PerspectiveRegistry) WorkbenchPlugin.getDefault().getPerspectiveRegistry();
    // Get persp name.
    SavePerspectiveDialog dialog = new SavePerspectiveDialog(getShell(), reg);
    IPerspectiveDescriptor description = reg.findPerspectiveWithId(getWorkbench().getActiveWorkbenchWindow().getActivePage().getPerspective().getId());
    dialog.setInitialSelection(description);
    DialogCheck.assertDialogTexts(dialog);
}
Also used : PerspectiveRegistry(org.eclipse.ui.internal.registry.PerspectiveRegistry) IPerspectiveDescriptor(org.eclipse.ui.IPerspectiveDescriptor) SavePerspectiveDialog(org.eclipse.ui.internal.dialogs.SavePerspectiveDialog) Test(org.junit.Test)

Aggregations

IPerspectiveDescriptor (org.eclipse.ui.IPerspectiveDescriptor)3 SavePerspectiveDialog (org.eclipse.ui.internal.dialogs.SavePerspectiveDialog)3 PerspectiveRegistry (org.eclipse.ui.internal.registry.PerspectiveRegistry)3 Test (org.junit.Test)2 PerspectiveDescriptor (org.eclipse.ui.internal.registry.PerspectiveDescriptor)1