Java 类org.eclipse.ui.internal.ide.dialogs.IDEResourceInfoUtils 实例源码

项目:gama    文件:RefreshHandler.java   
void checkLocationDeleted(final IProject project) throws CoreException {
    if (!project.exists()) { return; }
    final IFileInfo location = IDEResourceInfoUtils.getFileInfo(project.getLocationURI());
    if (!location.exists()) {
        final String message = NLS.bind(IDEWorkbenchMessages.RefreshAction_locationDeletedMessage,
                project.getName(), location.toString());

        final MessageDialog dialog = new MessageDialog(WorkbenchHelper.getShell(),
                IDEWorkbenchMessages.RefreshAction_dialogTitle, null, message, MessageDialog.QUESTION,
                new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL }, 0) {
            @Override
            protected int getShellStyle() {
                return super.getShellStyle() | SWT.SHEET;
            }
        };
        WorkbenchHelper.run(() -> dialog.open());

        // Do the deletion back in the operation thread
        if (dialog.getReturnCode() == 0) { // yes was chosen
            project.delete(true, true, null);
        }
    }
}
项目:gama    文件:RefreshAction.java   
/**
 * Checks whether the given project's location has been deleted. If so, prompts the user with whether to delete the
 * project or not.
 */
void checkLocationDeleted(final IProject project) throws CoreException {
    if (!project.exists()) { return; }
    final IFileInfo location = IDEResourceInfoUtils.getFileInfo(project.getLocationURI());
    if (!location.exists()) {
        final String message = NLS.bind(IDEWorkbenchMessages.RefreshAction_locationDeletedMessage,
                project.getName(), location.toString());

        final MessageDialog dialog = new MessageDialog(WorkbenchHelper.getShell(),
                IDEWorkbenchMessages.RefreshAction_dialogTitle, null, message, MessageDialog.QUESTION,
                new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL }, 0) {
            @Override
            protected int getShellStyle() {
                return super.getShellStyle() | SWT.SHEET;
            }
        };
        WorkbenchHelper.run(() -> dialog.open());

        // Do the deletion back in the operation thread
        if (dialog.getReturnCode() == 0) { // yes was chosen
            project.delete(true, true, null);
        }
    }
}
项目:translationstudio8    文件:FileFolderSelectionDialog.java   
public IStatus validate(Object[] selection) {
    int nSelected = selection.length;
    String pluginId = IDEWorkbenchPlugin.IDE_WORKBENCH;

    if (nSelected == 0 || (nSelected > 1 && multiSelect == false)) {
        return new Status(IStatus.ERROR, pluginId, IStatus.ERROR,
                IDEResourceInfoUtils.EMPTY_STRING, null);
    }
    for (int i = 0; i < selection.length; i++) {
        Object curr = selection[i];
        if (curr instanceof IFileStore) {
            IFileStore file = (IFileStore) curr;
            if (acceptFolders == false
                    && file.fetchInfo().isDirectory()) {
                return new Status(IStatus.ERROR, pluginId,
                        IStatus.ERROR,
                        IDEResourceInfoUtils.EMPTY_STRING, null);
            }

        }
    }
    return Status.OK_STATUS;
}
项目:tmxeditor8    文件:FileFolderSelectionDialog.java   
public IStatus validate(Object[] selection) {
    int nSelected = selection.length;
    String pluginId = IDEWorkbenchPlugin.IDE_WORKBENCH;

    if (nSelected == 0 || (nSelected > 1 && multiSelect == false)) {
        return new Status(IStatus.ERROR, pluginId, IStatus.ERROR,
                IDEResourceInfoUtils.EMPTY_STRING, null);
    }
    for (int i = 0; i < selection.length; i++) {
        Object curr = selection[i];
        if (curr instanceof IFileStore) {
            IFileStore file = (IFileStore) curr;
            if (acceptFolders == false
                    && file.fetchInfo().isDirectory()) {
                return new Status(IStatus.ERROR, pluginId,
                        IStatus.ERROR,
                        IDEResourceInfoUtils.EMPTY_STRING, null);
            }

        }
    }
    return Status.OK_STATUS;
}
项目:translationstudio8    文件:FileFolderSelectionDialog.java   
public Object[] getChildren(Object parentElement) {
    if (parentElement instanceof IFileStore) {
        IFileStore[] children = IDEResourceInfoUtils.listFileStores(
                (IFileStore) parentElement, fileFilter,
                new NullProgressMonitor());
        if (children != null) {
            return children;
        }
    }
    return EMPTY;
}
项目:tmxeditor8    文件:FileFolderSelectionDialog.java   
public Object[] getChildren(Object parentElement) {
    if (parentElement instanceof IFileStore) {
        IFileStore[] children = IDEResourceInfoUtils.listFileStores(
                (IFileStore) parentElement, fileFilter,
                new NullProgressMonitor());
        if (children != null) {
            return children;
        }
    }
    return EMPTY;
}
项目:Pydev    文件:CopyFilesAndFoldersOperation.java   
/**
 * Checks whether the resources with the given names exist.
 *
 * @param resources
 *            IResources to checl
 * @return Multi status with one error message for each missing file.
 */
IStatus checkExist(IResource[] resources) {
    MultiStatus multiStatus = new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.OK, getProblemsMessage(), null);

    for (int i = 0; i < resources.length; i++) {
        IResource resource = resources[i];
        if (resource != null) {
            URI location = resource.getLocationURI();
            String message = null;
            if (location != null) {
                IFileInfo info = IDEResourceInfoUtils.getFileInfo(location);
                if (info == null || info.exists() == false) {
                    if (resource.isLinked()) {
                        message = NLS.bind(IDEWorkbenchMessages.CopyFilesAndFoldersOperation_missingLinkTarget,
                                resource.getName());
                    } else {
                        message = NLS.bind(IDEWorkbenchMessages.CopyFilesAndFoldersOperation_resourceDeleted,
                                resource.getName());
                    }
                }
            }
            if (message != null) {
                IStatus status = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, IStatus.OK, message, null);
                multiStatus.add(status);
            }
        }
    }
    return multiStatus;
}
项目:Pydev    文件:CopyFilesAndFoldersOperation.java   
/**
 * Build the collection of fileStores that map to fileNames. If any of them
 * cannot be found then match then return null.
 *
 * @param fileNames
 * @return IFileStore[]
 */
private IFileStore[] buildFileStores(final String[] fileNames) {
    IFileStore[] stores = new IFileStore[fileNames.length];
    for (int i = 0; i < fileNames.length; i++) {
        IFileStore store = IDEResourceInfoUtils.getFileStore(fileNames[i]);
        if (store == null) {
            reportFileInfoNotFound(fileNames[i]);
            return null;
        }
        stores[i] = store;
    }
    return stores;
}
项目:Pydev    文件:CopyFilesAndFoldersOperation.java   
/**
 * Checks whether the destination is valid for copying the source files.
 * <p>
 * Note this method is for internal use only. It is not API.
 * </p>
 *
 * @param destination
 *            the destination container
 * @param sourceNames
 *            the source file names
 * @return an error message, or <code>null</code> if the path is valid
 */
public String validateImportDestination(IContainer destination, String[] sourceNames) {

    IFileStore[] stores = new IFileStore[sourceNames.length];
    for (int i = 0; i < sourceNames.length; i++) {
        IFileStore store = IDEResourceInfoUtils.getFileStore(sourceNames[i]);
        if (store == null) {
            return NLS.bind(IDEWorkbenchMessages.CopyFilesAndFoldersOperation_infoNotFound, sourceNames[i]);
        }
        stores[i] = store;
    }
    return validateImportDestinationInternal(destination, stores);

}
项目:APICloud-Studio    文件:ProjectContentsLocationArea.java   
/**
 * Create the area for user entry.
 * 
 * @param composite
 * @param defaultEnabled
 */
private void createUserEntryArea(Composite composite, boolean defaultEnabled)
{
    // location label
    locationLabel = new Label(composite, SWT.NONE);
    locationLabel.setText(IDEWorkbenchMessages.ProjectLocationSelectionDialog_locationLabel);

    // project location entry field
    locationPathField = new Text(composite, SWT.BORDER);
    GridData data = new GridData(GridData.FILL_HORIZONTAL);
    data.widthHint = SIZING_TEXT_FIELD_WIDTH;
    data.horizontalSpan = 2;
    locationPathField.setLayoutData(data);

    // browse button
    browseButton = new Button(composite, SWT.PUSH);
    browseButton.setText(BROWSE_LABEL);
    browseButton.addSelectionListener(new SelectionAdapter()
    {
        public void widgetSelected(SelectionEvent event)
        {
            handleLocationBrowseButtonPressed();
        }
    });

    createFileSystemSelection(composite);

    if (defaultEnabled)
    {
        locationPathField.setText(TextProcessor.process(getDefaultPathDisplayString()));
    }
    else
    {
        if (existingProject == null)
        {
            locationPathField.setText(IDEResourceInfoUtils.EMPTY_STRING);
        }
        else
        {
            locationPathField.setText(TextProcessor.process(existingProject.getLocation().toOSString()));
        }
    }

    locationPathField.addModifyListener(new ModifyListener()
    {
        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
         */
        public void modifyText(ModifyEvent e)
        {
            errorReporter.reportError(checkValidLocation(), false);
        }
    });
}
项目:APICloud-Studio    文件:ProjectContentsLocationArea.java   
/**
 * Open an appropriate directory browser
 */
private void handleLocationBrowseButtonPressed()
{

    String selectedDirectory = null;
    String dirName = getPathFromLocationField();

    if (!dirName.equals(IDEResourceInfoUtils.EMPTY_STRING))
    {
        IFileInfo info;
        info = IDEResourceInfoUtils.getFileInfo(dirName);

        if (info == null || !(info.exists()))
            dirName = IDEResourceInfoUtils.EMPTY_STRING;
    }
    else
    {
        String value = getDialogSettings().get(SAVED_LOCATION_ATTR);
        if (value != null)
        {
            dirName = value;
        }
    }

    FileSystemConfiguration config = getSelectedConfiguration();
    if (config == null || config.equals(FileSystemSupportRegistry.getInstance().getDefaultConfiguration()))
    {
        DirectoryDialog dialog = new DirectoryDialog(locationPathField.getShell(), SWT.SHEET);
        dialog.setMessage(IDEWorkbenchMessages.ProjectLocationSelectionDialog_directoryLabel);

        dialog.setFilterPath(dirName);

        selectedDirectory = dialog.open();

    }
    else
    {
        URI uri = getSelectedConfiguration().getContributor().browseFileSystem(dirName, browseButton.getShell());
        if (uri != null)
            selectedDirectory = uri.toString();
    }

    if (selectedDirectory != null)
    {
        updateLocationField(selectedDirectory);
        getDialogSettings().put(SAVED_LOCATION_ATTR, selectedDirectory);
    }
}
项目:Pydev    文件:CopyFilesAndFoldersOperation.java   
/**
 * Check if the user wishes to overwrite the supplied resource or all
 * resources.
 *
 * @param source
 *            the source resource
 * @param destination
 *            the resource to be overwritten
 * @return one of IDialogConstants.YES_ID, IDialogConstants.YES_TO_ALL_ID,
 *         IDialogConstants.NO_ID, IDialogConstants.CANCEL_ID indicating
 *         whether the current resource or all resources can be overwritten,
 *         or if the operation should be canceled.
 */
private int checkOverwrite(final IResource source, final IResource destination) {
    final int[] result = new int[1];

    // Dialogs need to be created and opened in the UI thread
    Runnable query = new Runnable() {
        @Override
        public void run() {
            String message;
            int resultId[] = { IDialogConstants.YES_ID, IDialogConstants.YES_TO_ALL_ID, IDialogConstants.NO_ID,
                    IDialogConstants.CANCEL_ID };
            String labels[] = new String[] { IDialogConstants.YES_LABEL, IDialogConstants.YES_TO_ALL_LABEL,
                    IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL };

            if (destination.getType() == IResource.FOLDER) {
                if (homogenousResources(source, destination)) {
                    message = NLS.bind(IDEWorkbenchMessages.CopyFilesAndFoldersOperation_overwriteMergeQuestion,
                            destination.getFullPath().makeRelative());
                } else {
                    if (destination.isLinked()) {
                        message = NLS.bind(
                                IDEWorkbenchMessages.CopyFilesAndFoldersOperation_overwriteNoMergeLinkQuestion,
                                destination.getFullPath().makeRelative());
                    } else {
                        message = NLS.bind(
                                IDEWorkbenchMessages.CopyFilesAndFoldersOperation_overwriteNoMergeNoLinkQuestion,
                                destination.getFullPath().makeRelative());
                    }
                    resultId = new int[] { IDialogConstants.YES_ID, IDialogConstants.NO_ID,
                            IDialogConstants.CANCEL_ID };
                    labels = new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL,
                            IDialogConstants.CANCEL_LABEL };
                }
            } else {
                String[] bindings = new String[] { IDEResourceInfoUtils.getLocationText(destination),
                        IDEResourceInfoUtils.getDateStringValue(destination),
                        IDEResourceInfoUtils.getLocationText(source),
                        IDEResourceInfoUtils.getDateStringValue(source) };
                message = NLS.bind(IDEWorkbenchMessages.CopyFilesAndFoldersOperation_overwriteWithDetailsQuestion,
                        bindings);
            }
            MessageDialog dialog = new MessageDialog(messageShell,
                    IDEWorkbenchMessages.CopyFilesAndFoldersOperation_resourceExists, null, message,
                    MessageDialog.QUESTION, labels, 0);
            dialog.open();
            if (dialog.getReturnCode() == SWT.DEFAULT) {
                // A window close returns SWT.DEFAULT, which has to be
                // mapped to a cancel
                result[0] = IDialogConstants.CANCEL_ID;
            } else {
                result[0] = resultId[dialog.getReturnCode()];
            }
        }
    };
    messageShell.getDisplay().syncExec(query);
    return result[0];
}