1*cd519653SAndrew Rist /**************************************************************
2*cd519653SAndrew Rist  *
3*cd519653SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*cd519653SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*cd519653SAndrew Rist  * distributed with this work for additional information
6*cd519653SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*cd519653SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*cd519653SAndrew Rist  * "License"); you may not use this file except in compliance
9*cd519653SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*cd519653SAndrew Rist  *
11*cd519653SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*cd519653SAndrew Rist  *
13*cd519653SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*cd519653SAndrew Rist  * software distributed under the License is distributed on an
15*cd519653SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*cd519653SAndrew Rist  * KIND, either express or implied.  See the License for the
17*cd519653SAndrew Rist  * specific language governing permissions and limitations
18*cd519653SAndrew Rist  * under the License.
19*cd519653SAndrew Rist  *
20*cd519653SAndrew Rist  *************************************************************/
21*cd519653SAndrew Rist 
22cdf0e10cSrcweir package installer;
23cdf0e10cSrcweir 
24cdf0e10cSrcweir import javax.swing.*;
25cdf0e10cSrcweir import java.awt.*;
26cdf0e10cSrcweir import java.awt.event.*;
27cdf0e10cSrcweir public class NavPanel extends JPanel implements ActionListener {
28cdf0e10cSrcweir 
NavPanel(InstallWizard wizard, boolean bBack, boolean bNext, boolean bCancel, String prev, String next)29cdf0e10cSrcweir     NavPanel(InstallWizard wizard, boolean bBack, boolean bNext, boolean bCancel, String prev, String next) {
30cdf0e10cSrcweir         setBackground(Color.white);
31cdf0e10cSrcweir         setBorder(new javax.swing.border.EtchedBorder(javax.swing.border.EtchedBorder.LOWERED));
32cdf0e10cSrcweir         this.wizard = wizard;
33cdf0e10cSrcweir         this.next = next;
34cdf0e10cSrcweir         this.prev = prev;
35cdf0e10cSrcweir         navBack = new javax.swing.JButton("<< Back");
36cdf0e10cSrcweir         navNext = new javax.swing.JButton("Next >>");
37cdf0e10cSrcweir         navCancel = new javax.swing.JButton("Cancel");
38cdf0e10cSrcweir         setLayout(new GridBagLayout());
39cdf0e10cSrcweir 
40cdf0e10cSrcweir         gridBagConstraints1 = new java.awt.GridBagConstraints();
41cdf0e10cSrcweir         gridBagConstraints1.insets = new java.awt.Insets(1, 1, 1, 1);
42cdf0e10cSrcweir 	  gridBagConstraints1.anchor = gridBagConstraints1.WEST;
43cdf0e10cSrcweir 
44cdf0e10cSrcweir         gridBagConstraints2 = new java.awt.GridBagConstraints();
45cdf0e10cSrcweir         gridBagConstraints2.gridx = 2;
46cdf0e10cSrcweir         gridBagConstraints2.gridy = 0;
47cdf0e10cSrcweir 
48cdf0e10cSrcweir         gridBagConstraints3 = new java.awt.GridBagConstraints();
49cdf0e10cSrcweir         gridBagConstraints3.gridx = 6;
50cdf0e10cSrcweir         gridBagConstraints3.gridy = 0;
51cdf0e10cSrcweir 
52cdf0e10cSrcweir         navNext.setEnabled(bNext);
53cdf0e10cSrcweir         navBack.setEnabled(bBack);
54cdf0e10cSrcweir         navCancel.setEnabled(bCancel);
55cdf0e10cSrcweir         navNext.addActionListener(this);
56cdf0e10cSrcweir         navBack.addActionListener(this);
57cdf0e10cSrcweir         navCancel.addActionListener(this);
58cdf0e10cSrcweir         add(navBack, gridBagConstraints1);
59cdf0e10cSrcweir         add(navNext, gridBagConstraints2);
60cdf0e10cSrcweir         add(navCancel, gridBagConstraints3);
61cdf0e10cSrcweir     }
62cdf0e10cSrcweir 
enableNext(boolean bEnable)63cdf0e10cSrcweir     public void enableNext(boolean bEnable) {
64cdf0e10cSrcweir         navNext.setEnabled(bEnable);
65cdf0e10cSrcweir     }
66cdf0e10cSrcweir 
enableBack(boolean bEnable)67cdf0e10cSrcweir     public void enableBack(boolean bEnable) {
68cdf0e10cSrcweir         navBack.setEnabled(bEnable);
69cdf0e10cSrcweir     }
70cdf0e10cSrcweir 
enableCancel(boolean bEnable)71cdf0e10cSrcweir     public void enableCancel(boolean bEnable) {
72cdf0e10cSrcweir         navCancel.setEnabled(bEnable);
73cdf0e10cSrcweir     }
74cdf0e10cSrcweir 
enableIDE(boolean bEnable)75cdf0e10cSrcweir     public void enableIDE(boolean bEnable) {
76cdf0e10cSrcweir 	ideDetected = bEnable;
77cdf0e10cSrcweir     }
78cdf0e10cSrcweir 
actionPerformed(ActionEvent ev)79cdf0e10cSrcweir     public void actionPerformed(ActionEvent ev) {
80cdf0e10cSrcweir         if ((ev.getSource() == navNext) && (next.length() != 0)) {
81cdf0e10cSrcweir             wizard.show(next);
82cdf0e10cSrcweir         }
83cdf0e10cSrcweir         if ((ev.getSource() == navBack) && (prev.length() != 0)) {
84cdf0e10cSrcweir             wizard.show(prev);
85cdf0e10cSrcweir         }
86cdf0e10cSrcweir         if (ev.getSource() == navCancel) {
87cdf0e10cSrcweir 	    if( ideDetected ) {
88cdf0e10cSrcweir 		    wizard.show(InstallWizard.IDEWELCOME);
89cdf0e10cSrcweir 	    }
90cdf0e10cSrcweir 	    else {
91cdf0e10cSrcweir 		    wizard.exitForm(null);
92cdf0e10cSrcweir 	    }
93cdf0e10cSrcweir 	    enableIDE(false);
94cdf0e10cSrcweir         }
95cdf0e10cSrcweir     }
96cdf0e10cSrcweir 
setNextListener(ActionListener listener)97cdf0e10cSrcweir     public void setNextListener(ActionListener listener) {
98cdf0e10cSrcweir         navNext.addActionListener(listener);
99cdf0e10cSrcweir     }
100cdf0e10cSrcweir 
setBackListener(ActionListener listener)101cdf0e10cSrcweir     public void setBackListener(ActionListener listener) {
102cdf0e10cSrcweir         navBack.addActionListener(listener);
103cdf0e10cSrcweir     }
104cdf0e10cSrcweir 
setCancelListener(ActionListener listener)105cdf0e10cSrcweir     public void setCancelListener(ActionListener listener) {
106cdf0e10cSrcweir         navCancel.addActionListener(listener);
107cdf0e10cSrcweir     }
108cdf0e10cSrcweir 
removeNextListener(ActionListener listener)109cdf0e10cSrcweir 	public void removeNextListener(ActionListener listener)
110cdf0e10cSrcweir 	{
111cdf0e10cSrcweir 		navNext.removeActionListener(listener);
112cdf0e10cSrcweir 	}
113cdf0e10cSrcweir 
removeBackListener(ActionListener listener)114cdf0e10cSrcweir 	public void removeBackListener(ActionListener listener)
115cdf0e10cSrcweir 	{
116cdf0e10cSrcweir 		navBack.removeActionListener(listener);
117cdf0e10cSrcweir 	}
118cdf0e10cSrcweir 
removeCancelListener(ActionListener listener)119cdf0e10cSrcweir 	public void removeCancelListener(ActionListener listener)
120cdf0e10cSrcweir 	{
121cdf0e10cSrcweir 		navCancel.removeActionListener(listener);
122cdf0e10cSrcweir 	}
123cdf0e10cSrcweir 
124cdf0e10cSrcweir     public JButton navBack;
125cdf0e10cSrcweir     public JButton navNext;
126cdf0e10cSrcweir     public JButton navCancel;
127cdf0e10cSrcweir     private GridBagConstraints gridBagConstraints1;
128cdf0e10cSrcweir     private GridBagConstraints gridBagConstraints2;
129cdf0e10cSrcweir     private GridBagConstraints gridBagConstraints3;
130cdf0e10cSrcweir     private InstallWizard wizard;
131cdf0e10cSrcweir     private String next;
132cdf0e10cSrcweir     private String prev;
133cdf0e10cSrcweir     private boolean ideDetected = false;
134cdf0e10cSrcweir }
135