summaryrefslogtreecommitdiff
path: root/scripting/java/org/openoffice/netbeans/modules/office/wizard/SelectPathVisualPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'scripting/java/org/openoffice/netbeans/modules/office/wizard/SelectPathVisualPanel.java')
-rw-r--r--scripting/java/org/openoffice/netbeans/modules/office/wizard/SelectPathVisualPanel.java196
1 files changed, 196 insertions, 0 deletions
diff --git a/scripting/java/org/openoffice/netbeans/modules/office/wizard/SelectPathVisualPanel.java b/scripting/java/org/openoffice/netbeans/modules/office/wizard/SelectPathVisualPanel.java
new file mode 100644
index 000000000000..b39cd4452d4c
--- /dev/null
+++ b/scripting/java/org/openoffice/netbeans/modules/office/wizard/SelectPathVisualPanel.java
@@ -0,0 +1,196 @@
+/*
+ * SelectPathVisualPanel.java
+ *
+ * Created on February 12, 2003
+ */
+
+package org.openoffice.netbeans.modules.office.wizard;
+
+import java.util.Hashtable;
+import java.util.Enumeration;
+import java.io.File;
+import java.io.IOException;
+import javax.swing.JFileChooser;
+
+import org.openide.util.NbBundle;
+import org.openoffice.idesupport.SVersionRCFile;
+import org.openoffice.idesupport.OfficeInstallation;
+import org.openoffice.netbeans.modules.office.options.OfficeSettings;
+
+/** A single panel for a wizard - the GUI portion.
+ *
+ * @author tomaso
+ */
+public class SelectPathVisualPanel extends javax.swing.JPanel {
+
+ /** The wizard panel descriptor associated with this GUI panel.
+ * If you need to fire state changes or something similar, you can
+ * use this handle to do so.
+ */
+ private final SelectPathPanel panel;
+
+ /** Create the wizard panel and set up some basic properties. */
+ public SelectPathVisualPanel(SelectPathPanel panel) {
+ this.panel = panel;
+ initComponents();
+ OfficeInstallation orig = panel.getSelectedPath();
+
+ try {
+ Enumeration enumer = SVersionRCFile.createInstance().getVersions();
+
+ while (enumer.hasMoreElements()) {
+ OfficeInstallation oi = (OfficeInstallation)enumer.nextElement();
+ installationsComboBox.addItem(oi);
+ }
+ }
+ catch (IOException ioe) {
+ installationsComboBox.addItem("<empty>");
+ }
+
+ if (orig != null) {
+ installationsComboBox.setSelectedItem(orig);
+ installPath.setText(orig.getPath());
+ }
+
+ installationsComboBox.addActionListener(
+ new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ installationsComboBoxActionPerformed(evt);
+ }
+ }
+ );
+
+ // Provide a name in the title bar.
+ setName(NbBundle.getMessage(SelectPathVisualPanel.class, "TITLE_SelectPathVisualPanel"));
+ /*
+ // Optional: provide a special description for this pane.
+ // You must have turned on WizardDescriptor.WizardPanel_helpDisplayed
+ // (see descriptor in standard iterator template for an example of this).
+ try {
+ putClientProperty("WizardPanel_helpURL", // NOI18N
+ new URL("nbresloc:/org/openoffice/netbeans/modules/office/wizard/SelectPathVisualHelp.html")); // NOI18N
+ } catch (MalformedURLException mfue) {
+ throw new IllegalStateException(mfue.toString());
+ }
+ */
+ }
+
+ private void installationsComboBoxActionPerformed(
+ java.awt.event.ActionEvent evt) {
+
+ OfficeInstallation oi =
+ (OfficeInstallation)installationsComboBox.getSelectedItem();
+
+ installPath.setText(oi.getPath());
+ panel.setSelectedPath(oi);
+ }
+
+ /** This method is called from within the constructor to
+ * initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is
+ * always regenerated by the Form Editor.
+ */
+ private void initComponents() {//GEN-BEGIN:initComponents
+ java.awt.GridBagConstraints gridBagConstraints;
+
+ jLabel1 = new javax.swing.JLabel();
+ installPath = new javax.swing.JTextField();
+ jLabel2 = new javax.swing.JLabel();
+ installationsComboBox = new javax.swing.JComboBox();
+ jPanel1 = new javax.swing.JPanel();
+ browseButton = new javax.swing.JButton();
+
+ setLayout(new java.awt.GridBagLayout());
+
+ setPreferredSize(new java.awt.Dimension(600, 300));
+ jLabel1.setText("Installations Detected");
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.insets = new java.awt.Insets(12, 12, 11, 2);
+ add(jLabel1, gridBagConstraints);
+
+ installPath.setEditable(false);
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.weightx = 1.0;
+ gridBagConstraints.insets = new java.awt.Insets(12, 0, 11, 11);
+ add(installPath, gridBagConstraints);
+
+ jLabel2.setText("Installation Directory");
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.insets = new java.awt.Insets(12, 12, 11, 12);
+ add(jLabel2, gridBagConstraints);
+
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.insets = new java.awt.Insets(11, 0, 11, 11);
+ add(installationsComboBox, gridBagConstraints);
+
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
+ gridBagConstraints.weighty = 1.0;
+ add(jPanel1, gridBagConstraints);
+
+ browseButton.setText("Browse...");
+ browseButton.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ browseButtonActionPerformed(evt);
+ }
+ });
+
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
+ add(browseButton, gridBagConstraints);
+
+ }//GEN-END:initComponents
+
+ private void browseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseButtonActionPerformed
+ // Add your handling code here:
+ File target = null;
+
+ JFileChooser chooser = new JFileChooser();
+ chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+ int result = chooser.showDialog(null, null);
+
+ if (result == JFileChooser.APPROVE_OPTION) {
+ target = chooser.getSelectedFile();
+
+ String path;
+ try {
+ path = target.getCanonicalPath();
+ }
+ catch (IOException ioe) {
+ path = target.getAbsolutePath();
+ }
+
+ OfficeInstallation oi = new OfficeInstallation(path, path);
+
+ if (oi.supportsFramework()) {
+ installPath.setText(path);
+ panel.setSelectedPath(oi);
+ }
+ }
+
+ }//GEN-LAST:event_browseButtonActionPerformed
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JTextField installPath;
+ private javax.swing.JButton browseButton;
+ private javax.swing.JComboBox installationsComboBox;
+ private javax.swing.JLabel jLabel2;
+ private javax.swing.JLabel jLabel1;
+ private javax.swing.JPanel jPanel1;
+ // End of variables declaration//GEN-END:variables
+}