blob: b52964e2030d816f7befdf581ef86887d33b7403 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
package org.openoffice.setup.Panel;
import org.openoffice.setup.InstallData;
import org.openoffice.setup.PanelHelper.PanelLabel;
import org.openoffice.setup.PanelHelper.PanelTitle;
import org.openoffice.setup.ResourceManager;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class ChooseDirectory extends JPanel implements ActionListener {
private JFileChooser directoryChooser;
private JFileChooser directoryChooserRootdir;
private JButton directoryButton;
private JButton directoryButtonRootdir;
private JTextField directoryField;
private JTextField directoryFieldRootdir;
private PanelLabel databaseProgress;
private PanelTitle titleBox;
public ChooseDirectory() {
setLayout(new java.awt.BorderLayout());
setBorder(new EmptyBorder(new Insets(10, 10, 10, 10)));
String titleText = ResourceManager.getString("String_ChooseDirectory1");
String subtitleText = ResourceManager.getString("String_ChooseDirectory2");
titleBox = new PanelTitle(titleText, subtitleText);
titleBox.addVerticalStrut(10);
add(titleBox, BorderLayout.NORTH);
Box contentBox = new Box(BoxLayout.Y_AXIS);
JPanel contentPanel = new JPanel();
contentPanel.setLayout(new GridBagLayout());
directoryChooser = new JFileChooser();
directoryChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
String browseText = ResourceManager.getString("String_ChooseDirectory3");
directoryButton = new JButton(browseText);
directoryButton.addActionListener(this);
directoryField = new JTextField();
GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.weightx = 1;
constraints.weighty = 0;
constraints.fill = GridBagConstraints.HORIZONTAL;
contentPanel.add(directoryField, constraints);
constraints.gridx = 1;
constraints.gridy = 0;
constraints.weightx = 0;
constraints.weighty = 0;
constraints.fill = GridBagConstraints.HORIZONTAL;
contentPanel.add(directoryButton, constraints);
constraints.gridx = 0;
constraints.gridy = 1;
constraints.weightx = 0;
constraints.weighty = 1;
constraints.fill = GridBagConstraints.VERTICAL;
contentPanel.add(new JPanel(), constraints);
contentBox.add(contentPanel);
// defining a place for text output
databaseProgress = new PanelLabel(""); // planned for database progress
contentBox.add(databaseProgress);
add(contentBox, BorderLayout.CENTER);
}
public void setDatabaseText(String s) {
databaseProgress.setText(s);
}
public void setTitleText(String s) {
titleBox.setTitle(s);
}
public void setDirectory(String dir) {
directoryField.setText(dir);
}
public void disableDirectoryField() {
directoryField.setEditable(false) ;
}
public void disableBrowseButton() {
directoryButton.setEnabled(false);
}
public void enableDirectoryField() {
directoryField.setEditable(true) ;
}
public String getDirectory() {
return directoryField.getText();
}
public void setRootDirectory(String dir) {
directoryFieldRootdir.setText(dir);
}
public String getRootDirectory() {
return directoryFieldRootdir.getText();
}
public void actionPerformed(ActionEvent e) {
//Handle open button action.
if (e.getSource() == directoryButton) {
int ReturnValue = directoryChooser.showOpenDialog(ChooseDirectory.this);
if (ReturnValue == JFileChooser.APPROVE_OPTION) {
File file = directoryChooser.getSelectedFile();
directoryField.setText(file.getAbsolutePath());
} else {
// do nothing for now
}
}
if (e.getSource() == directoryButtonRootdir) {
int ReturnValue = directoryChooserRootdir.showOpenDialog(ChooseDirectory.this);
if (ReturnValue == JFileChooser.APPROVE_OPTION) {
File file = directoryChooserRootdir.getSelectedFile();
directoryFieldRootdir.setText(file.getAbsolutePath());
} else {
// do nothing for now
}
}
}
}