1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-03 23:25:26 +02:00

[183772] need to pass existing names into the file wizard

This commit is contained in:
David McKnight 2007-04-27 17:45:11 +00:00
parent 275d4249da
commit bf910f21f8
2 changed files with 80 additions and 3 deletions

View file

@ -16,11 +16,15 @@
package org.eclipse.rse.internal.files.ui.wizards;
import java.util.Vector;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.rse.internal.files.ui.FileResources;
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFileChildrenContentsType;
import org.eclipse.rse.ui.ISystemMessages;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemWidgetHelpers;
@ -123,7 +127,42 @@ public class SystemNewFileWizardMainPage
protected void initializeInput()
{
connectionName.setEditable(false);
nameValidator = new ValidatorFileName();
// get existing names
if (parentFolders != null && parentFolders.length > 0)
{
IRemoteFile parentFolder = parentFolders[0];
try
{
Object[] contents = null;
if (parentFolder.isStale())
{
contents = parentFolder.getParentRemoteFileSubSystem().resolveFilterString(new NullProgressMonitor(), parentFolder, "*");
}
else
{
contents = parentFolder.getContents(RemoteFileChildrenContentsType.getInstance());
}
Vector names = new Vector();
for (int i = 0; i < contents.length; i++)
{
IRemoteFile child = (IRemoteFile)contents[i];
if (child.isFile())
{
names.add(child.getName());
}
}
nameValidator = new ValidatorFileName(names);
}
catch (Exception e)
{
}
}
else
{
nameValidator = new ValidatorFileName();
}
if ((parentFolders == null) || (parentFolders.length == 0))
{

View file

@ -16,17 +16,21 @@
package org.eclipse.rse.internal.files.ui.wizards;
import java.util.Vector;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.rse.internal.files.ui.FileResources;
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFileChildrenContentsType;
import org.eclipse.rse.ui.ISystemMessages;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemWidgetHelpers;
import org.eclipse.rse.ui.messages.ISystemMessageLine;
import org.eclipse.rse.ui.validators.ISystemValidator;
import org.eclipse.rse.ui.validators.ValidatorFolderName;
import org.eclipse.rse.ui.validators.ValidatorFileName;
import org.eclipse.rse.ui.validators.ValidatorUniqueString;
import org.eclipse.rse.ui.wizards.AbstractSystemWizardPage;
import org.eclipse.swt.events.ModifyEvent;
@ -127,7 +131,41 @@ public class SystemNewFolderWizardMainPage
protected void initializeInput()
{
connectionName.setEditable(false);
nameValidator = new ValidatorFolderName();
// get existing names
if (parentFolders != null && parentFolders.length > 0)
{
IRemoteFile parentFolder = parentFolders[0];
try
{
Object[] contents = null;
if (parentFolder.isStale())
{
contents = parentFolder.getParentRemoteFileSubSystem().resolveFilterString(new NullProgressMonitor(), parentFolder, "*");
}
else
{
contents = parentFolder.getContents(RemoteFileChildrenContentsType.getInstance());
}
Vector names = new Vector();
for (int i = 0; i < contents.length; i++)
{
IRemoteFile child = (IRemoteFile)contents[i];
if (!child.isFile())
{
names.add(child.getName());
}
}
nameValidator = new ValidatorFileName(names);
}
catch (Exception e)
{
}
}
else
{
nameValidator = new ValidatorFileName();
}
if (parentFolders == null)
{
folderName.setEditable(false);