001: package com.xoetrope.carousel.catalog;
002:
003: import com.xoetrope.carousel.build.BuildProperties;
004: import com.xoetrope.carousel.wizard.XWizardPanel;
005: import java.awt.Font;
006: import java.awt.Rectangle;
007: import javax.swing.BorderFactory;
008: import javax.swing.ButtonGroup;
009: import javax.swing.JCheckBox;
010: import javax.swing.JLabel;
011: import javax.swing.JPanel;
012: import javax.swing.JRadioButton;
013: import javax.swing.JTextArea;
014: import net.xoetrope.editor.project.XEditorProject;
015: import net.xoetrope.editor.project.XEditorProjectManager;
016: import net.xoetrope.swing.XImage;
017:
018: /**
019: * <p> Copyright (c) Xoetrope Ltd., 2001-2006, This software is licensed under
020: * the GNU Public License (GPL), please see license.txt for more details. If
021: * you make commercial use of this software you must purchase a commercial
022: * license from Xoetrope.</p>
023: * <p> $Revision: 1.6 $</p>
024: */
025: public class Navigation extends XWizardPanel {
026: private boolean isStandalone = false;
027: private XCatalogueWizardDialog wizard;
028: private XImage imageControl1 = new XImage();
029: private JTextArea jTextArea1 = new JTextArea();
030: private JPanel jPanel1 = new JPanel();
031: private JLabel jLabel1 = new JLabel();
032: private JPanel jPanel2 = new JPanel();
033: private JPanel jPanel3 = new JPanel();
034: private JPanel jPanel4 = new JPanel();
035: private JLabel jLabel2 = new JLabel();
036: private JLabel jLabel3 = new JLabel();
037: private JLabel jLabel4 = new JLabel();
038:
039: private JCheckBox forwardCB = new JCheckBox();
040: private JCheckBox addressCB = new JCheckBox();
041: private JCheckBox homeCB = new JCheckBox();
042: private JCheckBox helpCB = new JCheckBox();
043: private JCheckBox aboutCB = new JCheckBox();
044: private JCheckBox menuCB = new JCheckBox();
045:
046: private JRadioButton videoRB = new JRadioButton();
047: private JRadioButton hotTextRB = new JRadioButton();
048: private JRadioButton iconsRB = new JRadioButton();
049: private JRadioButton listRB = new JRadioButton();
050: private JRadioButton toolbarRB = new JRadioButton();
051: private JRadioButton topLeftRB = new JRadioButton();
052: private JRadioButton topRightRB = new JRadioButton();
053: private JRadioButton bottomLeftRB = new JRadioButton();
054: private JRadioButton bottomRightRB = new JRadioButton();
055: private JCheckBox horizontalCB = new JCheckBox();
056: private JCheckBox statusBarCB = new JCheckBox();
057: private JCheckBox hintsCB = new JCheckBox();
058: private ButtonGroup buttonGroup = new ButtonGroup();
059: private ButtonGroup buttonGroup2 = new ButtonGroup();
060:
061: /**
062: * Constructor which takes an instance of the <CODE>XCatalogueWizardDialog</CODE> and
063: * a String specifying the super class name.
064: * @param wiz the <CODE>XCatalogueWizardDialog</CODE> instance passed to this class.
065: * @param name the <CODE>String</CODE> instance passed to this class specifying the super class name.
066: */
067: public Navigation(XCatalogueWizardDialog wiz, String name) {
068: super (name);
069: wizard = wiz;
070:
071: try {
072: jbInit();
073: } catch (Exception ex) {
074: if (BuildProperties.DEBUG)
075: ex.printStackTrace();
076: }
077: }
078:
079: /**
080: * Method responsible for initialising the components used in this wizard panel.
081: */
082: void jbInit() throws Exception {
083: aboutCB.setName("aboutCB");
084: addressCB.setName("addressCB");
085:
086: forwardCB.setFocusable(false);
087: aboutCB.setFocusable(false);
088: homeCB.setFocusable(false);
089: addressCB.setFocusable(false);
090: topLeftRB.setFocusable(false);
091: topRightRB.setFocusable(false);
092: bottomLeftRB.setFocusable(false);
093: bottomRightRB.setFocusable(false);
094: statusBarCB.setFocusable(false);
095: hintsCB.setFocusable(false);
096:
097: Font font = new java.awt.Font("SansSerif", 0, 11);
098:
099: setLayout(null);
100: imageControl1.setBackground(getBackground());
101: imageControl1.setBounds(new Rectangle(5, 9, 179, 366));
102: imageControl1.setImage(((XEditorProject) (XEditorProjectManager
103: .getCurrentProject())).getImage(getClass(),
104: "com/xoetrope/carousel/survey/navigation.jpg"));
105:
106: jTextArea1.setBackground(getBackground());
107: jTextArea1.setEditable(false);
108: jTextArea1
109: .setText("Step 5: Define the navigation methods and controls for the catalogue.");
110: jTextArea1.setLineWrap(true);
111: jTextArea1.setWrapStyleWord(true);
112: jTextArea1.setBounds(new Rectangle(190, 10, 400, 39));
113:
114: jPanel1.setBorder(BorderFactory.createEtchedBorder());
115: jPanel1.setBounds(new Rectangle(191, 73, 397, 32));
116: jPanel1.setLayout(null);
117:
118: jLabel1.setText("Controls");
119: jLabel1.setBounds(new Rectangle(191, 55, 88, 17));
120:
121: jPanel2.setBorder(BorderFactory.createEtchedBorder());
122: jPanel2.setBounds(new Rectangle(192, 156, 192, 117));
123: jPanel2.setLayout(null);
124:
125: jPanel3.setBorder(BorderFactory.createEtchedBorder());
126: jPanel3.setBounds(new Rectangle(192, 136, 397, 57));
127: jPanel3.setLayout(null);
128:
129: jPanel4.setBorder(BorderFactory.createEtchedBorder());
130: jPanel4.setBounds(new Rectangle(193, 231, 393, 57));
131: jPanel4.setLayout(null);
132:
133: jLabel2.setText("Styles");
134: jLabel2.setBounds(new Rectangle(193, 139, 41, 17));
135:
136: jLabel3.setText("Location");
137: jLabel3.setBounds(new Rectangle(193, 119, 95, 17));
138:
139: jLabel4.setText("Feedback");
140: jLabel4.setBounds(new Rectangle(194, 211, 95, 17));
141:
142: forwardCB
143: .setToolTipText("Add forward and backward buttons to move through the catalogue.");
144: forwardCB.setSelected(true);
145: forwardCB.setText("Forwards/Backwards");
146: forwardCB.setBounds(new Rectangle(10, 4, 143, 25));
147:
148: addressCB
149: .setToolTipText("Add a quick link to the address book");
150: addressCB.setText("Address Book");
151: addressCB.setBounds(new Rectangle(10, 24, 123, 25));
152:
153: homeCB
154: .setToolTipText("Add a quick link to the catalogue\'s home page");
155: homeCB.setText("Home");
156: homeCB.setBounds(new Rectangle(156, 4, 101, 25));
157:
158: helpCB.setToolTipText("Add a help button to each form");
159: helpCB.setText("Help");
160: helpCB.setBounds(new Rectangle(156, 24, 103, 25));
161:
162: aboutCB
163: .setToolTipText("Add an about page linked to from the catalog page");
164: aboutCB.setText("About");
165: aboutCB.setBounds(new Rectangle(277, 4, 113, 25));
166:
167: topLeftRB
168: .setToolTipText("Place the navigation buttons in the top left of the form");
169: topLeftRB.setText("Top left");
170: topLeftRB.setBounds(new Rectangle(13, 5, 174, 25));
171:
172: topRightRB
173: .setToolTipText("Place the navigation buttons in the top right of the form");
174: topRightRB.setText("Top right");
175: topRightRB.setBounds(new Rectangle(13, 25, 175, 25));
176:
177: bottomLeftRB
178: .setToolTipText("Place the navigation buttons in the bottom left of the form");
179: bottomLeftRB.setText("Bottom left");
180: bottomLeftRB.setBounds(new Rectangle(187, 5, 174, 25));
181:
182: bottomRightRB
183: .setToolTipText("Place the navigation buttons in the bottom right of the form");
184: bottomRightRB.setSelected(true);
185: bottomRightRB.setText("Bottom right");
186: bottomRightRB.setBounds(new Rectangle(187, 25, 176, 25));
187:
188: buttonGroup2.add(topLeftRB);
189: buttonGroup2.add(topRightRB);
190: buttonGroup2.add(bottomLeftRB);
191: buttonGroup2.add(bottomRightRB);
192:
193: statusBarCB
194: .setToolTipText("Show a status bar on the bottom of the forms");
195: statusBarCB.setText("Status bar");
196: statusBarCB.setBounds(new Rectangle(10, 5, 218, 25));
197:
198: hintsCB
199: .setToolTipText("Show navigation hints for each button on the forms");
200: hintsCB.setText("Hints");
201: hintsCB.setBounds(new Rectangle(10, 25, 218, 25));
202:
203: add(imageControl1, null);
204: add(jTextArea1, null);
205: add(jPanel1, null);
206:
207: jPanel1.add(forwardCB, null);
208: jPanel1.add(aboutCB, null);
209: jPanel1.add(homeCB, null);
210:
211: add(jLabel1, null);
212: add(jPanel4, null);
213:
214: jPanel4.add(statusBarCB, null);
215: jPanel4.add(hintsCB, null);
216:
217: add(jPanel3, null);
218:
219: jPanel3.add(topLeftRB, null);
220: jPanel3.add(topRightRB, null);
221: jPanel3.add(bottomLeftRB, null);
222: jPanel3.add(bottomRightRB, null);
223:
224: add(jLabel3, null);
225: add(jLabel4, null);
226: }
227:
228: /**
229: * Returns an integer specifying where the navigation button are to be located in the catalogue
230: * @return <CODE>int</CODE> specifying the location
231: */
232: public int getButtonLocation() {
233: if (topLeftRB.isSelected())
234: return 0;
235: else if (topRightRB.isSelected())
236: return 1;
237: else if (bottomLeftRB.isSelected())
238: return 2;
239: else if (bottomRightRB.isSelected())
240: return 3;
241:
242: return 0;
243: }
244:
245: /**
246: * Specifies whether forward/backward buttons are to be included in the catalogue for navigation
247: * @return <CODE>boolean</CODE> specifying whether forward/backward button are to be included
248: */
249: public boolean useForwardBackward() {
250: return forwardCB.isSelected();
251: }
252:
253: /**
254: * Specifies whether a home button is to be included in the catalogue for navigation
255: * @return <CODE>boolean</CODE> specifying whether a home button is to be included
256: */
257: public boolean useHome() {
258: return homeCB.isSelected();
259: }
260:
261: /**
262: * Specifies whether an about button is to be included in the catalogue for navigation
263: * @return <CODE>boolean</CODE> specifying whether an about button is to be included
264: */
265: public boolean useAbout() {
266: return aboutCB.isSelected();
267: }
268:
269: /**
270: * Specifies whether hints are to be included in the catalogue for the navigation buttons
271: * @return <CODE>boolean</CODE> specifying whether hints are to be included
272: */
273: public boolean useHints() {
274: return hintsCB.isSelected();
275: }
276:
277: /**
278: * Specifies whether a status bar is to be included in the catalogue for navigation
279: * @return <CODE>boolean</CODE> specifying whether a status bar is to be included
280: */
281: public boolean usesStatusBar() {
282: return statusBarCB.isSelected();
283: }
284: }
|