001: /*
002: * Copyright (C) 2005 Jeff Tassin
003: *
004: * This library is free software; you can redistribute it and/or
005: * modify it under the terms of the GNU Lesser General Public
006: * License as published by the Free Software Foundation; either
007: * version 2.1 of the License, or (at your option) any later version.
008: *
009: * This library is distributed in the hope that it will be useful,
010: * but WITHOUT ANY WARRANTY; without even the implied warranty of
011: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012: * Lesser General Public License for more details.
013: *
014: * You should have received a copy of the GNU Lesser General Public
015: * License along with this library; if not, write to the Free Software
016: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
017: */
018:
019: package com.jeta.swingbuilder.gui.filechooser;
020:
021: import java.awt.Component;
022:
023: import javax.swing.JFileChooser;
024:
025: /**
026: * This class is used to configure the file chooser dialog. Parameters such as
027: * initial directory, file filters, etc are set in this config class.
028: *
029: * @author Jeff Tassin
030: */
031: public class FileChooserConfig {
032:
033: /**
034: * This is used when loading files of a given type. It is not the file
035: * filter. Rather is is used to store the directory last accessed for this
036: * type. For example, if the type is an ".img", we want to store the
037: * directory last accessed for images. However, if the file is a ".txt", we
038: * don't want to go to the last images directory but rather the last .txt
039: * directory.
040: */
041: private String m_file_type;
042:
043: /**
044: * The mode for the JFileChooser (e.g. FILES_ONLY )
045: */
046: private int m_mode = JFileChooser.FILES_ONLY;
047:
048: /**
049: * The file filters.
050: */
051: private TSFileFilter[] m_file_filter;
052:
053: /**
054: * The directory to open in the file chooser.
055: */
056: private String m_initial_directory;
057:
058: private Component m_parent = null;
059:
060: /**
061: * ctor
062: */
063: public FileChooserConfig(String initialDirectory, String type,
064: int mode, TSFileFilter fileFilter) {
065: m_initial_directory = initialDirectory;
066: m_file_type = type;
067: m_mode = mode;
068: if (fileFilter != null)
069: m_file_filter = new TSFileFilter[] { fileFilter };
070: }
071:
072: /**
073: * ctor
074: */
075: public FileChooserConfig(String type, int mode,
076: TSFileFilter fileFilter) {
077: m_file_type = type;
078: m_mode = mode;
079: if (fileFilter != null)
080: m_file_filter = new TSFileFilter[] { fileFilter };
081: }
082:
083: /**
084: * ctor
085: */
086: public FileChooserConfig(String type, TSFileFilter fileFilter) {
087: m_file_type = type;
088: if (fileFilter != null)
089: m_file_filter = new TSFileFilter[] { fileFilter };
090: }
091:
092: /**
093: * ctor
094: */
095: public FileChooserConfig(String initialDir, String type,
096: TSFileFilter fileFilter) {
097: m_initial_directory = initialDir;
098: m_file_type = type;
099: if (fileFilter != null)
100: m_file_filter = new TSFileFilter[] { fileFilter };
101: }
102:
103: /**
104: * ctor
105: */
106: public FileChooserConfig(String type, int mode,
107: TSFileFilter[] fileFilters) {
108: m_file_type = type;
109: m_mode = mode;
110: m_file_filter = fileFilters;
111: }
112:
113: /**
114: * ctor
115: */
116: public FileChooserConfig(String initialDirectory, String type,
117: int mode, TSFileFilter[] fileFilters) {
118: m_initial_directory = initialDirectory;
119: m_file_type = type;
120: m_mode = mode;
121: m_file_filter = fileFilters;
122: }
123:
124: public String getFileType() {
125: return m_file_type;
126: }
127:
128: /**
129: * The mode for the JFileChooser (e.g. FILES_ONLY )
130: */
131: public int getMode() {
132: return m_mode;
133: }
134:
135: /**
136: * The file filters.
137: */
138: public TSFileFilter[] getFileFilters() {
139: return m_file_filter;
140: }
141:
142: /**
143: * The directory to open in the file chooser.
144: */
145: public String getInitialDirectory() {
146: return m_initial_directory;
147: }
148:
149: public void setInitialDirectory(String dir) {
150: m_initial_directory = dir;
151: }
152:
153: public Component getParentComponent() {
154: return m_parent;
155: }
156:
157: public void setParentComponent(Component comp) {
158: m_parent = comp;
159: }
160: }
|