/*
* -------------------------------------------------------------------------
* Copyright 2014
* Centre for Information Modeling - Austrian Centre for Digital Humanities
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License
* -------------------------------------------------------------------------
*/
package org.emile.cirilo.gui;
import org.emile.cirilo.*;
import java.util.ResourceBundle;
import voodoosoft.jroots.core.CServiceProvider;
import voodoosoft.jroots.gui.CGuiComposite;
import java.awt.*;
import javax.swing.*;
import org.apache.log4j.Logger;
/**
* Description of the Class
*
* @author hstigler
* @created 28. Jan 2009
*/
public class GuiReplaceDialog extends CGuiComposite {
private static Logger log = Logger.getLogger(GuiReplaceDialog.class);
protected Container container;
protected JTextField jtfTitle;
protected JTextField jtfSubject;
protected JTextField jtfDescription;
protected JTextField jtfCreator;
protected JTextField jtfPublisher;
protected JTextField jtfContributor;
protected JTextField jtfDate;
protected JTextField jtfType;
protected JTextField jtfFormat;
protected JTextField jtfSource;
protected JTextField jtfLanguage;
protected JTextField jtfRelation;
protected JTextField jtfCoverage;
protected JTextField jtfRights;
protected JTextField jtfReferences;
protected JComboBox jcbTitle;
protected JComboBox jcbSubject;
protected JComboBox jcbDescription;
protected JComboBox jcbCreator;
protected JComboBox jcbPublisher;
protected JComboBox jcbContributor;
protected JComboBox jcbDate;
protected JComboBox jcbType;
protected JComboBox jcbFormat;
protected JComboBox jcbSource;
protected JComboBox jcbLanguage;
protected JComboBox jcbRelation;
protected JComboBox jcbCoverage;
protected JComboBox jcbRights;
protected JComboBox jcbQueries;
protected JCheckBox jcbOAIProvider;
protected JCheckBox jcbDCMIMapping;
protected JComboBox jcbOAI;
protected JComboBox jcbRels;
protected JComboBox jcbOwner;
protected JComboBox jcbUser;
protected JComboBox jcbDCMapping;
protected JComboBox jcbReferences;
protected JComboBox jcbMReferences;
protected JList jtRelations;
protected JList jtNonRelations;
protected JTextField jtfXSLStylesheet;
protected JComboBox jcbXSLStylesheet;
protected JComboBox jcbDatastreams;
protected JButton jbXSLStylesheet;
protected JButton jbAddRelation;
protected JButton jbRemoveRelation;
protected JTextArea jtaQueries;
protected JButton jbReferences;
protected JButton jbReplace;
protected JButton jbClose;
protected JButton jbSeek;
protected JTextField jtfSeek;
/**
* Constructor for the GuiNewObjectDialog object
*/
public GuiReplaceDialog() {
super( "GuiReplaceDialog" );
try {
jbInit();
setRootComponent(container);
setup();
} catch (Exception e) {
log.error(e.getLocalizedMessage(),e);
}
}
/**
* Description of the Method
*/
protected void setup() {
setWidgetName(jbReplace, "jbReplace");
setWidgetName(jbClose, "jbClose");
setWidgetName(jtfTitle, "jtfTitle");
setWidgetName(jtfSubject, "jtfSubject");
setWidgetName(jtfDescription, "jtfDescription");
setWidgetName(jtfCreator, "jtfCreator");
setWidgetName(jtfPublisher, "jtfPublisher");
setWidgetName(jtfContributor, "jtfContributor");
setWidgetName(jtfDate, "jtfDate");
setWidgetName(jtfType, "jtfType");
setWidgetName(jtfFormat, "jtfFormat");
setWidgetName(jtfSource, "jtfSource");
setWidgetName(jtfLanguage, "jtfLanguage");
setWidgetName(jtfRelation, "jtfRelation");
setWidgetName(jtfCoverage, "jtfCoverage");
setWidgetName(jtfRights, "jtfRights");
setWidgetName(jcbOAIProvider, "jcbOAIProvider");
setWidgetName(jcbDCMapping, "jcbDCMapping");
setWidgetName(jcbDCMIMapping, "jcbDCMIMapping");
setWidgetName(jcbTitle, "jcbTitle");
setWidgetName(jcbSubject, "jcbSubject");
setWidgetName(jcbDescription, "jcbDescription");
setWidgetName(jcbCreator, "jcbCreator");
setWidgetName(jcbPublisher, "jcbPublisher");
setWidgetName(jcbContributor, "jcbContributor");
setWidgetName(jcbDate, "jcbDate");
setWidgetName(jcbType, "jcbType");
setWidgetName(jcbFormat, "jcbFormat");
setWidgetName(jcbSource, "jcbSource");
setWidgetName(jcbLanguage, "jcbLanguage");
setWidgetName(jcbRelation, "jcbRelation");
setWidgetName(jcbCoverage, "jcbCoverage");
setWidgetName(jcbRights, "jcbRights");
setWidgetName(jtfReferences, "jtfReferences");
setWidgetName(jcbReferences, "jcbReferences");
setWidgetName(jcbMReferences, "jcbMReferences");
setWidgetName(jbReferences, "jbReferences");
setWidgetName(jcbOwner, "jcbOwner");
setWidgetName(jcbUser, "jcbUser");
setWidgetName(jbSeek, "jbSeek");
setWidgetName(jtfSeek, "jtfSeek");
setWidgetName(jtaQueries, "jtaQueries");
setWidgetName(jcbQueries, "jcbQueries");
setWidgetName(jcbOAI, "jcbOAI");
setWidgetName(jtRelations, "jtRelations");
setWidgetName(jtNonRelations, "jtNonRelations");
setWidgetName(jbAddRelation, "jbAddRelation");
setWidgetName(jbRemoveRelation, "jbRemoveRelation");
setWidgetName(jcbRels, "jcbRels");
setWidgetName(jtfXSLStylesheet, "jtfXSLStylesheet");
setWidgetName(jcbXSLStylesheet, "jcbXSLStylesheet");
setWidgetName(jcbDatastreams, "jcbDatastreams");
setWidgetName(jbXSLStylesheet, "jbXSLStylesheet");
}
/**
* Description of the Method
*
* @exception Exception
* Description of the Exception
*/
private void jbInit() throws Exception {
ResourceBundle res=(ResourceBundle) CServiceProvider.getService(ServiceNames.RESOURCES);
Object[] states = { res.getString("unmod"), res.getString("replace"), res.getString("add")};
Object[] modes = { res.getString("unmod"), res.getString("replace") };
Object[] cmodes = { res.getString("unmod"), res.getString("simulate"), res.getString("apply")};
Object[] datastreams = { "BIBTEX", "DC", "METS_SOURCE", "RELS-EXT", "TEI_SOURCE" };
Object[] references = { "STYLESHEET", "FO_STYLESHEET", "HSSF_STYLESHEET", "DC_MAPPING", "RDF_MAPPING", "BIBTEX_MAPPING", "KML_TEMPLATE", "REPLACEMENT_RULESET", "TORDF", "TOMETS"};
container = new Container();
container.setLayout(new net.miginfocom.swing.MigLayout("","[grow]",""));
jcbOAIProvider = new JCheckBox(res.getString("checkoai"));
jcbDCMIMapping = new JCheckBox(res.getString("dcfromtei"));
jtfXSLStylesheet = new JTextField();
jtfXSLStylesheet.setPreferredSize(new Dimension(1500, jtfXSLStylesheet.getPreferredSize().height));
jcbXSLStylesheet = new JComboBox(cmodes);
jcbXSLStylesheet.setPreferredSize(new Dimension(1500, jcbXSLStylesheet.getPreferredSize().height));
jcbDatastreams = new JComboBox(datastreams);
jcbDatastreams.setPreferredSize(new Dimension(1500, jcbDatastreams.getPreferredSize().height));
jbXSLStylesheet = new JButton("...");
jtfTitle = new JTextField();
jcbTitle = new JComboBox(states);
jcbTitle.setPreferredSize(new Dimension(88, jcbTitle.getPreferredSize().height));
jtfTitle.setPreferredSize(new Dimension(1000, jtfTitle.getPreferredSize().height));
jtfSubject = new JTextField();
jcbSubject = new JComboBox(states);
jcbSubject.setPreferredSize(new Dimension(88, jcbSubject.getPreferredSize().height));
jtfDescription = new JTextField();
jcbDescription = new JComboBox(states);
jcbDescription.setPreferredSize(new Dimension(88, jcbDescription.getPreferredSize().height));
jtfCreator = new JTextField();
jcbCreator = new JComboBox(states);
jcbCreator.setPreferredSize(new Dimension(88, jcbCreator.getPreferredSize().height));
jtfPublisher = new JTextField();
jcbPublisher = new JComboBox(states);
jcbPublisher.setPreferredSize(new Dimension(88, jcbPublisher.getPreferredSize().height));
jtfContributor = new JTextField();
jcbContributor = new JComboBox(states);
jcbContributor.setPreferredSize(new Dimension(88, jcbContributor.getPreferredSize().height));
jtfDate = new JTextField();
jcbDate = new JComboBox(states);
jcbDate.setPreferredSize(new Dimension(88, jcbDate.getPreferredSize().height));
jtfType = new JTextField();
jcbType = new JComboBox(states);
jcbType.setPreferredSize(new Dimension(88, jcbType.getPreferredSize().height));
jtfFormat = new JTextField();
jcbFormat = new JComboBox(states);
jcbFormat.setPreferredSize(new Dimension(88, jcbFormat.getPreferredSize().height));
jtfSource = new JTextField();
jcbSource = new JComboBox(states);
jcbSource.setPreferredSize(new Dimension(88, jcbSource.getPreferredSize().height));
jtfLanguage = new JTextField();
jcbLanguage = new JComboBox(states);
jcbLanguage.setPreferredSize(new Dimension(88, jcbLanguage.getPreferredSize().height));
jtfRelation = new JTextField();
jcbRelation = new JComboBox(states);
jcbRelation.setPreferredSize(new Dimension(88, jcbRelation.getPreferredSize().height));
jtfCoverage = new JTextField();
jcbCoverage = new JComboBox(states);
jcbCoverage.setPreferredSize(new Dimension(88, jcbCoverage.getPreferredSize().height));
jtfRights = new JTextField();
jcbRights = new JComboBox(states);
jcbRights.setPreferredSize(new Dimension(88, jcbRights.getPreferredSize().height));
jtfReferences = new JTextField();
jtfReferences.setPreferredSize(new Dimension(900, jtfReferences.getPreferredSize().height));
jcbMReferences = new JComboBox(states);
jcbReferences = new JComboBox(references);
jbReferences = new JButton(new ImageIcon(Cirilo.class.getResource("seek.gif")));
jcbMReferences.setPreferredSize(new Dimension(88, jcbMReferences.getPreferredSize().height));
jcbOwner = new JComboBox(modes);
jcbUser = new JComboBox();
jcbOwner.setPreferredSize(new Dimension(88, jcbOwner.getPreferredSize().height));
jcbOAI = new JComboBox(modes);
jcbOAI.setPreferredSize(new Dimension(88, jcbOAI.getPreferredSize().height));
jbAddRelation = new JButton("+");
jbRemoveRelation = new JButton(res.getString("delete"));
jtRelations = new JList(new DefaultListModel());
jtRelations.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
jtNonRelations = new JList(new DefaultListModel());
jtNonRelations.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
jtaQueries = new JTextArea();
jcbQueries = new JComboBox(modes);
jcbQueries.setMinimumSize(new Dimension(88, jcbQueries.getMinimumSize().height));
jcbQueries.setPreferredSize(new Dimension(88, jcbQueries.getPreferredSize().height));
jcbQueries.setMaximumSize(new Dimension(89, jcbQueries.getMaximumSize().height));
jtfSeek = new JTextField();
jbSeek = new JButton(res.getString("search"));
jtfSeek.setPreferredSize(new Dimension(1500, jtfSeek.getPreferredSize().height));
jcbRels = new JComboBox(states);
jcbDCMapping = new JComboBox(modes);
jcbDCMapping.setPreferredSize(new Dimension(88, jcbDCMapping.getPreferredSize().height));
jbReplace = new JButton(res.getString("replace"));
jbClose = new JButton(res.getString("close"));
JTabbedPane tp = new JTabbedPane();
Container t0 = new Container();
t0.setLayout(new net.miginfocom.swing.MigLayout("fillx"));
t0.add( new JLabel( "dc:Title" ) );
t0.add(jcbTitle);
t0.add( jtfTitle, "grow, wrap 5" );
t0.add( new JLabel( "dc:Description" ) );
t0.add(jcbDescription);
t0.add( jtfDescription, "grow, wrap 5" );
t0.add( new JLabel( "dc:Subject" ) );
t0.add(jcbSubject);
t0.add( jtfSubject, "grow, wrap 5" );
t0.add( new JLabel( "dc:Creator" ) );
t0.add(jcbCreator);
t0.add( jtfCreator, "grow, wrap 5" );
t0.add( new JLabel( "dc:Publisher" ) );
t0.add(jcbPublisher);
t0.add( jtfPublisher, "grow, wrap 5" );
t0.add( new JLabel( "dc:Contributor" ) );
t0.add(jcbContributor);
t0.add( jtfContributor, "grow, wrap 5" );
t0.add( new JLabel( "dc:Language" ) );
t0.add(jcbLanguage);
Box d1 = Box.createHorizontalBox();
d1.add( jtfLanguage );
d1.add( new JLabel( " dc:Date " ) );
d1.add(jcbDate);
d1.add( new JLabel( " " ) );
d1.add( jtfDate );
t0.add(d1,"grow, wrap 5");
t0.add( new JLabel( "dc:Type" ) );
t0.add(jcbType);
Box d2 = Box.createHorizontalBox();
d2.add( jtfType );
d2.add( new JLabel( " dc:Format " ) );
d2.add(jcbFormat);
d2.add( new JLabel( " " ) );
d2.add( jtfFormat );
t0.add(d2,"grow, wrap 5");
t0.add( new JLabel( "dc:Source" ) );
t0.add(jcbSource);
t0.add( jtfSource, "grow, wrap 5" );
t0.add( new JLabel( "dc:Relation" ) );
t0.add(jcbRelation);
t0.add( jtfRelation, "grow, wrap 5" );
t0.add( new JLabel( "dc:Coverage" ) );
t0.add(jcbCoverage);
t0.add( jtfCoverage, "grow, wrap 5" );
t0.add( new JLabel( "dc:Rights" ) );
t0.add(jcbRights);
t0.add( jtfRights, "grow, wrap 5" );
t0.add( new JLabel( "Owner" ) );
t0.add(jcbOwner);
t0.add( jcbUser, "grow, wrap 5" );
t0.add( new JLabel( "" ) );
t0.add(jcbOAI);
t0.add( jcbOAIProvider, "grow, wrap 5" );
t0.add( new JLabel( "" ) );
t0.add(jcbDCMapping);
t0.add( jcbDCMIMapping, "grow, wrap 5" );
Container t1 = new Container();
// t1.setLayout(new net.miginfocom.swing.MigLayout("fillx"));
t1.setLayout(new net.miginfocom.swing.MigLayout("","[][][grow][]",""));
t1.add(jcbReferences);
t1.add(jcbMReferences);
t1.add(jtfReferences);
t1.add(jbReferences);
Container t2 = new Container();
t2.setLayout(new net.miginfocom.swing.MigLayout("fillx",""));
t2.add(new JScrollPane(jtaQueries), "height 100:500:1500, growx, wrap 5");
t2.add(jcbQueries);
Container t3 = new Container();
t3.setLayout(new net.miginfocom.swing.MigLayout("fillx"));
t3.add(new JLabel(res.getString("appear")), "wrap 2");
t3.add(new JScrollPane(jtRelations), "height 100:500:1500, growx, wrap 5");
Box c3 = Box.createHorizontalBox();
c3.add(jbAddRelation);
c3.add(new JLabel(" "));
c3.add(jbRemoveRelation);
t3.add( c3, "gapleft push, wrap 10" );
t3.add(new JScrollPane(jtNonRelations), "height 100:500:1500, growx, wrap 5" );
Box c4 = Box.createHorizontalBox();
c4.add(jtfSeek);
c4.add(new JLabel(" "));
c4.add(jbSeek);
t3.add( c4, "wrap 10" );
t3.add(jcbRels);
Container t4 = new Container();
t4.setLayout(new net.miginfocom.swing.MigLayout("fillx"));
t4.add(new JLabel("XSLT-Stylesheet: "));
Box c5 = Box.createHorizontalBox();
c5.add(jtfXSLStylesheet);
c5.add( new JLabel (" "));
c5.add(jbXSLStylesheet);
t4.add( c5, "wrap 5" );
t4.add(new JLabel(res.getString("streamid")+": "));
Box c6 = Box.createHorizontalBox();
c6.add(jcbDatastreams);
t4.add( c6, "wrap 5" );
t4.add(new JLabel(" "));
Box c7 = Box.createHorizontalBox();
c7.add(jcbXSLStylesheet);
t4.add( c7, "wrap 10" );
tp.addTab("Dublin Core", t0);
tp.addTab(res.getString("datalocations"), t1);
tp.addTab("Queries", t2);
tp.addTab(res.getString("rels"), t3);
tp.addTab(res.getString("transfs"), t4);
container.add(tp, "grow, wrap 10");
Box c8 = Box.createHorizontalBox();
c8.add( jbReplace );
c8.add( new JLabel (" "));
c8.add( jbClose );
container.add( c8, "gapleft push, wrap 10" );
}
}