HelpButtonDialog.java |
1 /** 2 * QJ-Pro 3 * Copyright (c) 2004, http://qjpro.sourceforge.net 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License as published by the 7 * Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 12 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 * details. 14 * 15 * You should have received a copy of the GNU General Public License along with 16 * this program; if not, write to the Free Software Foundation, Inc., 17 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 */ 19 package com.qasystems.qstudio.java.gui.dialog; 20 21 import com.qasystems.international.MessageResource; 22 import com.qasystems.qstudio.java.browser.BrowserHelpContext; 23 import com.qasystems.swing.ButtonDialog; 24 25 import java.awt.Dialog; 26 import java.awt.Frame; 27 28 import javax.swing.JButton; 29 30 /** 31 * This class creates a standard button dialog which always 32 * contains a help button, the help button is always added. 33 */ 34 public class HelpButtonDialog extends ButtonDialog { 35 private JButton helpButton = 36 new JButton(MessageResource.getClientInstance().getString("BUTTON_031")); 37 38 /** 39 * Default constructor 40 */ 41 public HelpButtonDialog() { 42 super(); 43 } 44 45 /** 46 * Creates a new HelpButtonDialog object. 47 * 48 * @param parent DOCUMENT ME! 49 */ 50 public HelpButtonDialog(Dialog parent) { 51 super(parent); 52 } 53 54 /** 55 * Creates a new HelpButtonDialog object. 56 * 57 * @param parent DOCUMENT ME! 58 */ 59 public HelpButtonDialog(Frame parent) { 60 super(parent); 61 } 62 63 /** 64 * Override method to add the help button 65 * 66 * @param buttons 67 */ 68 public void setButtons(Object[] buttons) { 69 super.setButtons(addHelpButton(buttons)); 70 } 71 72 /** 73 * Connect a context help action with the help button. 74 * 75 * @param the context 76 */ 77 public void setHelpContext(BrowserHelpContext ctx) { 78 helpButton.setAction(ctx.getContextAction()); 79 } 80 81 /** 82 * Add a standard help button for the dialog 83 * 84 * @param ops the other buttons 85 * @return the new button set with the help button included 86 */ 87 private Object[] addHelpButton(Object[] ops) { 88 Object[] result = null; 89 90 if (ops != null) { 91 final MessageResource resources = MessageResource.getClientInstance(); 92 result = new Object[ops.length + 1]; 93 94 for (int i = 0; i < ops.length; i++) { 95 result[i] = ops[i]; 96 } 97 98 result[ops.length] = helpButton; 99 } 100 101 return (result); 102 } 103 } 104