/*
* File : EditDialog.java
* Created : 12-jun-2002 20:21
* By : fbusquets
*
* JClic - Authoring and playing system for educational activities
*
* Copyright (C) 2000 - 2005 Francesc Busquets & Departament
* d'Educacio de la Generalitat de Catalunya
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details (see the LICENSE file).
*/
package edu.xtec.jclic.edit;
import edu.xtec.util.ExtendedJDialog;
import edu.xtec.util.Options;
import edu.xtec.util.ResourceManager;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dialog;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JPanel;
/**
* This class is a basic template of a {@link javax.swing.JDialog} useful for editing
* objects. It builds two {@link javax.swing.Action} and {@link javax.swing.JButton}
* objects under the main JPanel, used to confirm or cancel the changes made in the
* edited object.
* @author Francesc Busquets (fbusquets@xtec.cat)
* @version 1.0
*/
public class EditDialog extends ExtendedJDialog{
public Options options;
public JPanel southPanel;
public Action okAction;
public Action cancelAction;
public JButton okButton, cancelButton;
public boolean result=false;
protected Component owner;
public EditDialog(Options options, String msgKey, Dialog owner){
super(owner, options.getMsg(msgKey), true);
this.owner=owner;
buildDialog(options);
}
public EditDialog(Options options, String msgKey, Frame owner){
super(owner, options.getMsg(msgKey), true);
this.owner=owner;
buildDialog(options);
}
/** Creates new EditDialog */
protected void buildDialog(Options options) {
this.options=options;
southPanel=new JPanel();
okAction=new AbstractAction(options.getMsg("OK"),
ResourceManager.getImageIcon("icons/commit_changes.gif")){
public void actionPerformed(ActionEvent ev){
result=true;
setVisible(false);
}
};
cancelAction=new AbstractAction(options.getMsg("CANCEL"),
ResourceManager.getImageIcon("icons/cancel.gif")){
public void actionPerformed(ActionEvent ev){
result=false;
setVisible(false);
}
};
okButton=new JButton(okAction);
cancelButton=new JButton(cancelAction);
southPanel.add(okButton);
southPanel.add(cancelButton);
getContentPane().add(southPanel, BorderLayout.SOUTH);
}
public boolean showDialog(){
pack();
if(owner!=null)
centerOver(owner);
setVisible(true);
return result;
}
}