/*
* File : ProjectSettingsEditorPanel.java
* Created : 27-feb-2004 10:33
* 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.project;
import edu.xtec.jclic.beans.EventSoundsButton;
import edu.xtec.jclic.beans.TextListEditor;
import edu.xtec.jclic.edit.Editor;
import edu.xtec.jclic.edit.EditorPanel;
import edu.xtec.jclic.media.EventSounds;
import edu.xtec.util.Messages;
import edu.xtec.util.Options;
import edu.xtec.util.StrUtils;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JComponent;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingUtilities;
/**
*
* @author Francesc Busquets (fbusquets@xtec.cat)
* @version 13.10.29
*/
public class ProjectSettingsEditorPanel extends EditorPanel {
/** Creates new form JClicProjectEditorPanel */
public ProjectSettingsEditorPanel(Options options) {
super(options);
initComponents();
evSoundsBtn.setOptions(options);
postInit(250, false, false);
setEnabled(false);
}
/** 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
javax.swing.JLabel areaLb;
javax.swing.JLabel authorLb;
javax.swing.JLabel descLb;
javax.swing.JScrollPane descScroll;
javax.swing.JLabel descriptorslLb;
javax.swing.JLabel evSoundsLb;
java.awt.GridBagConstraints gridBagConstraints;
javax.swing.JLabel langLb;
javax.swing.JLabel levelLb;
javax.swing.JLabel orgLb;
javax.swing.JLabel revLb;
javax.swing.JLabel skinLb;
javax.swing.JLabel spacer;
javax.swing.JLabel titleLb;
scroll = new javax.swing.JScrollPane();
mainPanel = new javax.swing.JPanel();
descrPanel = new edu.xtec.jclic.beans.RollPanel();
titleLb = new javax.swing.JLabel();
titleText = new javax.swing.JTextField();
descLb = new javax.swing.JLabel();
descScroll = new javax.swing.JScrollPane();
descText = new javax.swing.JTextPane();
authPanel = new edu.xtec.jclic.beans.RollPanel();
authorLb = new javax.swing.JLabel();
authorListEditor = new TextListEditor(options){
protected Object editItem(Object currentValue, boolean newValue){
return editAuthor(currentValue, newValue);
}
};
orgLb = new javax.swing.JLabel();
orgListEditor = new TextListEditor(options){
protected Object editItem(Object currentValue, boolean newValue){
return editOrg(currentValue, newValue);
}
};
revLb = new javax.swing.JLabel();
revListEditor = new TextListEditor(options){
protected Object editItem(Object currentValue, boolean newValue){
return editRevision(currentValue, newValue);
}
};
descPanel = new edu.xtec.jclic.beans.RollPanel();
levelLb = new javax.swing.JLabel();
levelText = new javax.swing.JTextField();
areaLb = new javax.swing.JLabel();
areaText = new javax.swing.JTextField();
descriptorslLb = new javax.swing.JLabel();
descriptorsText = new javax.swing.JTextField();
langLb = new javax.swing.JLabel();
langListEditor = new TextListEditor(options){
protected Object editItem(Object currentValue, boolean newValue){
return editLanguage(currentValue, newValue);
}
};
uiPanel = new edu.xtec.jclic.beans.RollPanel();
skinLb = new javax.swing.JLabel();
skinCombo = new javax.swing.JComboBox(edu.xtec.jclic.skins.Skin.getSystemSkinList(false));
skinCombo.setSelectedItem(null);
evSoundsLb = new javax.swing.JLabel();
evSoundsBtn = new edu.xtec.jclic.beans.EventSoundsButton();
spacer = new javax.swing.JLabel();
setLayout(new java.awt.BorderLayout());
mainPanel.setLayout(new java.awt.GridBagLayout());
descrPanel.getMainPanel().setLayout(new java.awt.GridBagLayout());
descrPanel.setTitle(options.getMsg("edit_project_description_block"));
titleLb.setLabelFor(titleText);
titleLb.setText(options.getMsg("edit_project_title"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descrPanel.getMainPanel().add(titleLb, gridBagConstraints);
titleText.setToolTipText(options.getMsg("edit_project_title_tooltip"));
titleText.setPreferredSize(new java.awt.Dimension(400, 21));
titleText.getDocument().addDocumentListener(this);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descrPanel.getMainPanel().add(titleText, gridBagConstraints);
descLb.setText(options.getMsg("edit_project_description"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descrPanel.getMainPanel().add(descLb, gridBagConstraints);
descScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
descScroll.setPreferredSize(new java.awt.Dimension(400, 100));
descText.setToolTipText(options.getMsg("edit_project_description_tooltip"));
descText.getDocument().addDocumentListener(this);
descScroll.setViewportView(descText);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descrPanel.getMainPanel().add(descScroll, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
mainPanel.add(descrPanel, gridBagConstraints);
authPanel.getMainPanel().setLayout(new java.awt.GridBagLayout());
authPanel.setTitle(options.getMsg("edit_project_author_group"));
authorLb.setLabelFor(authorListEditor);
authorLb.setText(options.getMsg("edit_project_authors"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
authPanel.getMainPanel().add(authorLb, gridBagConstraints);
authorListEditor.setToolTipText(options.getMsg("edit_project_authors_tooltip"));
authorListEditor.setPreferredSize(new java.awt.Dimension(400, 80));
authorListEditor.addPropertyChangeListener(TextListEditor.PROP_LIST, this);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
authPanel.getMainPanel().add(authorListEditor, gridBagConstraints);
orgLb.setLabelFor(orgListEditor);
orgLb.setText(options.getMsg("edit_project_org"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
authPanel.getMainPanel().add(orgLb, gridBagConstraints);
orgListEditor.setToolTipText(options.getMsg("edit_project_org_tooltip"));
orgListEditor.setPreferredSize(new java.awt.Dimension(400, 80));
orgListEditor.addPropertyChangeListener(TextListEditor.PROP_LIST, this);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
authPanel.getMainPanel().add(orgListEditor, gridBagConstraints);
revLb.setLabelFor(revListEditor);
revLb.setText(options.getMsg("edit_project_rev"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
authPanel.getMainPanel().add(revLb, gridBagConstraints);
revListEditor.setToolTipText(options.getMsg("edit_project_rev_tooltip"));
revListEditor.setPreferredSize(new java.awt.Dimension(400, 80));
revListEditor.addPropertyChangeListener(TextListEditor.PROP_LIST, this);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
authPanel.getMainPanel().add(revListEditor, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
mainPanel.add(authPanel, gridBagConstraints);
descPanel.getMainPanel().setLayout(new java.awt.GridBagLayout());
descPanel.setTitle(options.getMsg("edit_project_descriptors_block"));
levelLb.setLabelFor(levelText);
levelLb.setText(options.getMsg("edit_project_level"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descPanel.getMainPanel().add(levelLb, gridBagConstraints);
levelText.setToolTipText(options.getMsg("edit_project_level_tooltip"));
levelText.setPreferredSize(new java.awt.Dimension(400, 21));
levelText.getDocument().addDocumentListener(this);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descPanel.getMainPanel().add(levelText, gridBagConstraints);
areaLb.setLabelFor(areaText);
areaLb.setText(options.getMsg("edit_project_area"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descPanel.getMainPanel().add(areaLb, gridBagConstraints);
areaText.setToolTipText(options.getMsg("edit_project_area_tooltip"));
areaText.setPreferredSize(new java.awt.Dimension(400, 21));
areaText.getDocument().addDocumentListener(this);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descPanel.getMainPanel().add(areaText, gridBagConstraints);
descriptorslLb.setLabelFor(descriptorsText);
descriptorslLb.setText(options.getMsg("edit_project_descriptors"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descPanel.getMainPanel().add(descriptorslLb, gridBagConstraints);
descriptorsText.setToolTipText(options.getMsg("edit_project_descriptors_tooltip"));
descriptorsText.setPreferredSize(new java.awt.Dimension(400, 21));
descriptorsText.getDocument().addDocumentListener(this);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descPanel.getMainPanel().add(descriptorsText, gridBagConstraints);
langLb.setLabelFor(langListEditor);
langLb.setText(options.getMsg("edit_project_languages"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
descPanel.getMainPanel().add(langLb, gridBagConstraints);
langListEditor.setToolTipText(options.getMsg("edit_project_languages_tooltip"));
langListEditor.setPreferredSize(new java.awt.Dimension(200, 80));
langListEditor.addPropertyChangeListener(TextListEditor.PROP_LIST, this);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
descPanel.getMainPanel().add(langListEditor, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
mainPanel.add(descPanel, gridBagConstraints);
uiPanel.getMainPanel().setLayout(new java.awt.GridBagLayout());
uiPanel.setTitle(options.getMsg("edit_project_ui_block"));
skinLb.setLabelFor(skinCombo);
skinLb.setText(options.getMsg("settings_skin"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
uiPanel.getMainPanel().add(skinLb, gridBagConstraints);
skinCombo.setToolTipText(options.getMsg("settings_skin_tooltip"));
skinCombo.setEditable(true);
skinCombo.addActionListener(this);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
uiPanel.getMainPanel().add(skinCombo, gridBagConstraints);
evSoundsLb.setLabelFor(revListEditor);
evSoundsLb.setText(options.getMsg("edit_project_evsounds"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
uiPanel.getMainPanel().add(evSoundsLb, gridBagConstraints);
evSoundsBtn.setToolTipText(options.getMsg("edit_project_evsounds_tooltip"));
evSoundsBtn.addPropertyChangeListener(EventSoundsButton.PROP_EVSND_NAME, this);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
uiPanel.getMainPanel().add(evSoundsBtn, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
mainPanel.add(uiPanel, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
gridBagConstraints.weighty = 1.0;
mainPanel.add(spacer, gridBagConstraints);
scroll.setViewportView(mainPanel);
add(scroll, java.awt.BorderLayout.CENTER);
}//GEN-END:initComponents
public boolean checkIfEditorValid(Editor e) {
return (e instanceof ProjectSettingsEditor);
}
protected ProjectSettingsEditor getProjectSettingsEditor(){
return (ProjectSettingsEditor)getEditor();
}
protected ProjectSettings getProjectSettings(){
ProjectSettings result=null;
ProjectSettingsEditor pse=getProjectSettingsEditor();
if(pse!=null)
result=pse.getProjectSettings();
return result;
}
protected void fillData() {
ProjectSettings ps=getProjectSettings();
JClicProjectEditor prjed=(ps==null ? null : getProjectSettingsEditor().getProjectEditor());
if(prjed!=null){
evSoundsBtn.setMediaBagEditor(prjed.getMediaBagEditor());
}
evSoundsBtn.setEventSounds(ps==null ? null : ps.eventSounds);
titleText.setText(ps==null || ps.title==null ? options.getMsg("UNNAMED") : ps.title);
descText.setText(ps==null ? "" : StrUtils.secureString(ps.description));
areaText.setText(ps==null ? "" : StrUtils.secureString(ps.area));
levelText.setText(ps==null ? "" : StrUtils.secureString(ps.level));
descriptorsText.setText(ps==null ? "" : StrUtils.secureString(ps.descriptors));
skinCombo.setSelectedItem(ps==null ? null : ps.skinFileName);
List<Object> v=new ArrayList<Object>();
if(ps!=null && ps.languages!=null){
for(int i=0; i<ps.languages.length; i++){
String code=(String)Messages.getNamesToCodes().get(ps.languages[i].toLowerCase());
if(code!=null)
v.add(Messages.getDescriptiveLanguageCode(code));
else
v.add(ps.languages[i]);
}
}
langListEditor.setListData(v);
v.clear();
if(ps!=null && ps.authors!=null){
for(Author a: ps.authors)
v.add(a);
}
authorListEditor.setListData(v);
v.clear();
if(ps!=null && ps.organizations!=null){
for(Organization o : ps.organizations)
v.add(o);
}
orgListEditor.setListData(v);
v.clear();
if(ps!=null && ps.revisions!=null){
for(Revision r : ps.revisions)
v.add(r);
}
revListEditor.setListData(v);
}
@Override
public void setEnabled(boolean enabled){
super.setEnabled(enabled);
evSoundsBtn.setEnabled(enabled);
titleText.setEnabled(enabled);
descText.setEnabled(enabled);
areaText.setEnabled(enabled);
levelText.setEnabled(enabled);
descriptorsText.setEnabled(enabled);
skinCombo.setEnabled(enabled);
langListEditor.setEnabled(enabled);
authorListEditor.setEnabled(enabled);
orgListEditor.setEnabled(enabled);
revListEditor.setEnabled(enabled);
}
/*
public boolean isModified(){
boolean result=super.isModified();
ProjectSettings ps=getProjectSettings();
if(ps!=null && !result){
result=
!titleText.getText().equals(ps.title)
|| !descText.getText().equals(ps.description)
|| !areaText.getText().equals(ps.area)
|| !levelText.getText().equals(ps.level)
|| !descriptorsText.getText().equals(ps.descriptors)
|| !Utils.compareObjects(skinCombo.getSelectedItem(), ps.skinFileName)
|| langListEditor.isModified()
|| authorListEditor.isModified()
|| orgListEditor.isModified()
|| revListEditor.isModified()
|| evSoundsBtn.isModified();
}
return result;
}
*/
protected void saveData() {
ProjectSettings ps=getProjectSettings();
if(ps!=null){
ps.title=StrUtils.secureString(titleText.getText(), options.getMsg("UNNAMED"));
ps.description=StrUtils.nullableString(descText.getText());
List<Object> v=authorListEditor.getListData();
ps.authors=(Author[])v.toArray(new Author[v.size()]);
v=orgListEditor.getListData();
ps.organizations=(Organization[])v.toArray(new Organization[v.size()]);
v=revListEditor.getListData();
ps.revisions=(Revision[])v.toArray(new Revision[v.size()]);
ps.level=StrUtils.nullableString(levelText.getText());
ps.area=StrUtils.nullableString(areaText.getText());
ps.descriptors=StrUtils.nullableString(descriptorsText.getText());
String[] langs=langListEditor.getTextList();
ps.languages=new String[langs.length];
for(int i=0; i<langs.length; i++){
String ln=langs[i];
int p=ln.length();
if(p>5){
String code=ln.substring(p-3, p-1);
ln=(String)Messages.getNamesToCodes().get(code);
}
ps.languages[i]=(ln==null ? langs[i] : ln);
}
ps.skinFileName=StrUtils.nullableString(skinCombo.getSelectedItem());
EventSounds evs=evSoundsBtn.getEventSounds();
ps.eventSounds=(evs==null ? new EventSounds(null) : evs);
}
}
private static JScrollPane langListPanel;
private static JList langList;
private Object editLanguage(final Object currentValue, boolean newValue){
if(langList==null || langListPanel==null){
langList=new JList(options.getMessages().getDescriptiveLanguageCodes());
langListPanel=new JScrollPane(langList);
}
Object result=null;
if(!newValue && currentValue!=null){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
langList.setSelectedValue(currentValue, true);
}
});
} else{
langList.setSelectedIndex(-1);
}
if(options.getMessages().showInputDlg(
this, new String[] {"edit_project_languages_select"}
, null, new JComponent[]{langListPanel}
, (newValue ? "edit_project_languages_add" : "edit_project_languages_modify"))){
result=langList.getSelectedValue();
}
return result;
}
private AuthorEditPanel authorEditPanel;
private Object editAuthor(Object currentValue, boolean newValue){
Author result=null;
if(authorEditPanel==null)
authorEditPanel=new AuthorEditPanel(options);
if(newValue)
currentValue=null;
authorEditPanel.setAuthor((Author)currentValue);
if(options.getMessages().showInputDlg(
this, new String[] {"edit_project_author_info"}
, null, new JComponent[]{authorEditPanel}
, (newValue ? "edit_project_author_add" : "edit_project_author_edit"))){
result=authorEditPanel.getAuthor();
if(result.name.length()<1)
result=null;
}
return result;
}
private OrganizationEditPanel organizationEditPanel;
private Object editOrg(Object currentValue, boolean newValue){
Organization result=null;
if(organizationEditPanel==null)
organizationEditPanel=new OrganizationEditPanel(options);
if(newValue)
currentValue=null;
organizationEditPanel.setOrganization((Organization)currentValue);
if(options.getMessages().showInputDlg(
this, new String[] {"edit_project_org_info"}
, null, new JComponent[]{organizationEditPanel}
, (newValue ? "edit_project_org_add" : "edit_project_org_edit"))){
result=organizationEditPanel.getOrganization();
if(result.name.length()<1)
result=null;
}
return result;
}
private RevisionEditPanel revisionEditPanel;
private Object editRevision(Object currentValue, boolean newValue){
Revision result=null;
if(revisionEditPanel==null)
revisionEditPanel=new RevisionEditPanel(options);
if(newValue)
currentValue=null;
revisionEditPanel.setRevision((Revision)currentValue);
if(options.getMessages().showInputDlg(
this, new String[] {"edit_project_rev_info"}
, null, new JComponent[]{revisionEditPanel}
, (newValue ? "edit_project_rev_add" : "edit_project_rev_edit"))){
result=revisionEditPanel.getRevision();
if(result!=null && result.description.length()<1)
result=null;
}
return result;
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JTextField areaText;
private edu.xtec.jclic.beans.RollPanel authPanel;
private edu.xtec.jclic.beans.TextListEditor authorListEditor;
private edu.xtec.jclic.beans.RollPanel descPanel;
private javax.swing.JTextPane descText;
private edu.xtec.jclic.beans.RollPanel descrPanel;
private javax.swing.JTextField descriptorsText;
private edu.xtec.jclic.beans.EventSoundsButton evSoundsBtn;
private edu.xtec.jclic.beans.TextListEditor langListEditor;
private javax.swing.JTextField levelText;
private javax.swing.JPanel mainPanel;
private edu.xtec.jclic.beans.TextListEditor orgListEditor;
private edu.xtec.jclic.beans.TextListEditor revListEditor;
private javax.swing.JScrollPane scroll;
private javax.swing.JComboBox skinCombo;
private javax.swing.JTextField titleText;
private edu.xtec.jclic.beans.RollPanel uiPanel;
// End of variables declaration//GEN-END:variables
}