Initial commit from SVN.
This commit is contained in:
154
Foundation SWT/src/com/foundation/view/swt/FileDialog.java
Normal file
154
Foundation SWT/src/com/foundation/view/swt/FileDialog.java
Normal file
@@ -0,0 +1,154 @@
|
||||
/*
|
||||
* Copyright (c) 2003,2006 Declarative Engineering LLC.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Declarative Engineering LLC
|
||||
* verson 1 which accompanies this distribution, and is available at
|
||||
* http://declarativeengineering.com/legal/DE_Developer_License_v1.txt
|
||||
*/
|
||||
package com.foundation.view.swt;
|
||||
|
||||
import java.io.File;
|
||||
import org.eclipse.swt.SWT;
|
||||
import com.common.debug.*;
|
||||
import com.foundation.view.*;
|
||||
|
||||
public class FileDialog extends Dialog {
|
||||
public static final int STYLE_OPEN = SWT.OPEN;
|
||||
public static final int STYLE_SAVE = SWT.SAVE;
|
||||
public static final int STYLE_MULTI = SWT.MULTI;
|
||||
/**
|
||||
* FileDialog constructor.
|
||||
*/
|
||||
private FileDialog() {
|
||||
super();
|
||||
}//FileDialog()//
|
||||
/**
|
||||
* FileDialog constructor.
|
||||
* @param parent The parent view which is required for this dialog.
|
||||
*/
|
||||
public FileDialog(IView parent) {
|
||||
super();
|
||||
|
||||
if(parent instanceof Container) {
|
||||
org.eclipse.swt.widgets.Shell shell = ((Container) parent).getSwtControl().getShell();
|
||||
|
||||
shell.setFocus();
|
||||
setSwtDialog(new org.eclipse.swt.widgets.FileDialog(shell));
|
||||
}//if//
|
||||
else {
|
||||
Debug.log("Error: Cannot create a dialog without a valid SWT parent control.");
|
||||
}//else//
|
||||
}//FileDialog()//
|
||||
/**
|
||||
* FileDialog constructor.
|
||||
* @param parent The parent view which is required for this dialog.
|
||||
* @param style Zero or more of the STYLE_xxx identifiers defined by this class.
|
||||
*/
|
||||
public FileDialog(IView parent, int style) {
|
||||
super();
|
||||
|
||||
if(parent instanceof Container) {
|
||||
setSwtDialog(new org.eclipse.swt.widgets.FileDialog(((Container) parent).getSwtControl().getShell(), style));
|
||||
}//if//
|
||||
else {
|
||||
Debug.log("Error: Cannot create a dialog without a valid SWT parent control.");
|
||||
}//else//
|
||||
}//FileDialog()//
|
||||
/**
|
||||
* Gets the SWT file dialog instance.
|
||||
* @return The SWT file dialog.
|
||||
*/
|
||||
protected org.eclipse.swt.widgets.FileDialog getSwtFileDialog() {
|
||||
return (org.eclipse.swt.widgets.FileDialog) getSwtDialog();
|
||||
}//getSwtFileDialog()//
|
||||
/**
|
||||
* Gets the file name of the first file selected by the user.
|
||||
* @return One of the selected file names.
|
||||
*/
|
||||
public String getFileName() {
|
||||
return getSwtFileDialog().getFileName();
|
||||
}//getFileName()//
|
||||
/**
|
||||
* Gets the path + file name of the first file selected by the user.
|
||||
* @return One of the selected file names.
|
||||
*/
|
||||
public String getPathAndFileName() {
|
||||
return getFilterPath() + File.separator + getFileName();
|
||||
}//getPathAndFileName()//
|
||||
/**
|
||||
* Sets the initially selected file in the dialog.
|
||||
* @return The initially selected file.
|
||||
*/
|
||||
public void setFileName(String fileName) {
|
||||
getSwtFileDialog().setFileName(fileName);
|
||||
}//setFileName()//
|
||||
/**
|
||||
* Gets all of the file names selected by the user.
|
||||
* @return An array of the selected file names.
|
||||
*/
|
||||
public String[] getFileNames() {
|
||||
return getSwtFileDialog().getFileNames();
|
||||
}//getFileNames()//
|
||||
/**
|
||||
* Gets all of the path + file names selected by the user.
|
||||
* @return An array of the selected file names.
|
||||
*/
|
||||
public String[] getPathAndFileNames() {
|
||||
String[] fileNames = getFileNames();
|
||||
|
||||
for(int index = 0; index < fileNames.length; index++) {
|
||||
fileNames[index] = getFilterPath() + File.separator + fileNames[index];
|
||||
}//for//
|
||||
|
||||
return fileNames;
|
||||
}//getPathAndFileNames()//
|
||||
/**
|
||||
* Gets the extensions used to filter what files the user sees.
|
||||
* @return An array of file extensions that the user may view or save as.
|
||||
*/
|
||||
public String[] getFilterExtensions() {
|
||||
return getSwtFileDialog().getFilterExtensions();
|
||||
}//getFilterExtensions()//
|
||||
/**
|
||||
* Sets the extensions used to filter what files the user sees.
|
||||
* @param filterExtensions An array of file extensions that the user may view or save as.
|
||||
*/
|
||||
public void setFilterExtensions(String[] filterExtensions) {
|
||||
getSwtFileDialog().setFilterExtensions(filterExtensions);
|
||||
}//setFilterExtensions()//
|
||||
/**
|
||||
* Gets the file names used to filter what files the user sees.
|
||||
* @return An array of file names that the user may view or save as.
|
||||
*/
|
||||
public String[] getFilterNames() {
|
||||
return getSwtFileDialog().getFilterNames();
|
||||
}//getFilterNames()//
|
||||
/**
|
||||
* Sets the file names used to filter what files the user sees.
|
||||
* @param filterNames An array of file names that the user may view or save as.
|
||||
*/
|
||||
public void setFilterNames(String[] filterNames) {
|
||||
getSwtFileDialog().setFilterNames(filterNames);
|
||||
}//setFilterNames()//
|
||||
/**
|
||||
* Gets the directory path the user will see.
|
||||
* @return The directory seen by the user.
|
||||
*/
|
||||
public String getFilterPath() {
|
||||
return getSwtFileDialog().getFilterPath();
|
||||
}//getFilterPath()//
|
||||
/**
|
||||
* Sets the directory path the user will see.
|
||||
* @param filterPath The directory seen by the user.
|
||||
*/
|
||||
public void setFilterPath(String filterPath) {
|
||||
getSwtFileDialog().setFilterPath(filterPath);
|
||||
}//setFilterPath()//
|
||||
/**
|
||||
* Opens the dialog making it visible to the user.
|
||||
* @return The directory of the first selected file. This will be null if an error occured.
|
||||
*/
|
||||
public String open() {
|
||||
return getSwtFileDialog().open();
|
||||
}//open()//
|
||||
}//FileDialog//
|
||||
Reference in New Issue
Block a user