001 /******************************************************************************
002 * Copyright (C) MActor Developers. All rights reserved. *
003 * ---------------------------------------------------------------------------*
004 * This file is part of MActor. *
005 * *
006 * MActor is free software; you can redistribute it and/or modify *
007 * it under the terms of the GNU General Public License as published by *
008 * the Free Software Foundation; either version 2 of the License, or *
009 * (at your option) any later version. *
010 * *
011 * MActor is distributed in the hope that it will be useful, *
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
014 * GNU General Public License for more details. *
015 * *
016 * You should have received a copy of the GNU General Public License *
017 * along with MActor; if not, write to the Free Software *
018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
019 ******************************************************************************/
020 package org.mactor.ui.gui.project.editors;
021
022 import java.awt.event.ActionEvent;
023 import java.io.File;
024
025 import javax.swing.AbstractAction;
026 import javax.swing.JButton;
027 import javax.swing.JFileChooser;
028 import javax.swing.JTextField;
029
030 import org.mactor.framework.spec.ProjectContext;
031
032 public class GlobalDirSelector extends SimpleRowPanel {
033 JTextField path = new JTextField(30);
034 static JFileChooser fc = new JFileChooser(ProjectContext.getGlobalInstance().getProjectDir());
035 JButton selectButton = new JButton(new AbstractAction("Select..") {
036 public void actionPerformed(ActionEvent e) {
037 int returnVal = fc.showOpenDialog(GlobalDirSelector.this);
038 if (returnVal == JFileChooser.APPROVE_OPTION) {
039 File f = fc.getSelectedFile();
040 path.setText(f.getAbsolutePath());
041 }
042 }
043 });
044 public GlobalDirSelector() {
045 add(path);
046 add(selectButton);
047 fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
048 }
049 public String getPath() {
050 return path.getText();
051 }
052 public void setPath(String path) {
053 if (path != null && path.length() > 0)
054 fc.setSelectedFile(new File(path).getAbsoluteFile());
055 this.path.setText(path);
056 }
057 }