/* * ------------------------------------------------------------------------- * 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 voodoosoft.jroots.core.CServiceProvider; import voodoosoft.jroots.gui.CGuiComposite; import java.awt.*; import org.emile.cirilo.ServiceNames; import java.util.ResourceBundle; import javax.swing.*; import javax.swing.border.*; import org.apache.log4j.Logger; /** * Description of the Class * * @author postgres * @created 18. November 2005 */ public class GuiObjectEditorDialog extends CGuiComposite { private static Logger log = Logger.getLogger(GuiObjectEditorDialog.class); protected Container container; protected JTabbedPane tpPane; protected JTable jtDatastreams; protected JTable jtMetadata; protected JList jtRelations; protected JList jtNonRelations; protected JButton jbClose; protected JButton jbSave; protected JButton jbAddRelation; protected JButton jbRemoveRelation; protected JButton jbSaveRelations; protected JTextField jtfIdentifier; protected JComboBox jcbState; protected JTextField jtfLabel; protected JComboBox jcbUser; protected JButton jboUpload; protected JButton jbmUpload; protected JButton jboDownload; protected JButton jbmDownload; protected JButton jbNew; protected JButton jbDel; protected JButton jboEdit; protected JButton jbmEdit; protected JButton jbSeek; protected JTextField jtfSeek; /** * Constructor for the GuiObjectEditorDialog object */ public GuiObjectEditorDialog () { super("GuiObjectEditorDialog "); try { jbInit(); setRootComponent(container); setup(); } catch (Exception e) { log.error(e.getLocalizedMessage(),e); } } /** * Description of the Method */ protected void setup() { setWidgetName(jtDatastreams, "jtDatastreams"); setWidgetName(jtMetadata, "jtMetadata"); setWidgetName(jtRelations, "jtRelations"); setWidgetName(jtNonRelations, "jtNonRelations"); setWidgetName(jbClose, "jbClose"); setWidgetName(jtfIdentifier, "jtfIdentifier"); setWidgetName(jtfLabel, "jtfLabel"); setWidgetName(jcbUser, "jcbUser"); setWidgetName(jcbState, "jcbState"); setWidgetName(jbSave, "jbSave"); setWidgetName(jbAddRelation, "jbAddRelation"); setWidgetName(jbRemoveRelation, "jbRemoveRelation"); setWidgetName(jbSaveRelations, "jbSaveRelations"); setWidgetName(jboUpload, "jboUpload"); setWidgetName(jbmUpload, "jbmUpload"); setWidgetName(jboDownload, "jboDownload"); setWidgetName(jbmDownload, "jbmDownload"); setWidgetName(jboEdit, "jboEdit"); setWidgetName(jbmEdit, "jbmEdit"); setWidgetName(jbNew, "jbNew"); setWidgetName(jbDel, "jbDel"); setWidgetName(jbSeek, "jbSeek"); setWidgetName(jtfSeek, "jtfSeek"); setWidgetName(jtfSeek, "jtfSeek"); setWidgetName(tpPane, "tpPane"); } /** * Description of the Method * * @exception Exception Description of the Exception */ private void jbInit() throws Exception { ResourceBundle res=(ResourceBundle) CServiceProvider.getService(ServiceNames.RESOURCES); container = new Container(); container.setLayout(new net.miginfocom.swing.MigLayout("fill")); String[] states = new String[] {res.getString("active"), res.getString("inactive")}; String[] groups = new String[] {"Internal XML Metadata", "Managed Content", "External Referenced Content", "Redirect"}; String[] MIMETYPES = new String[] {"text/xml", "text/plain", "text/html", "text/html+xml", "text/svg+xml", "text/rtf", "image/jpeg", "image/gif", "image/bmp", "image/png", "image/tiff", "audio/mpeg", "audio/x-aiff", "audio/x-wav", "audio/x-pn-realaudio", "video/mpeg", "video/quicktime", "application/postscript", "application/pdf", "application/rdf+xml", "application/ms-word", "application/ms-excel", "application/ms-powerpoint", "application/smil", "application/octet-stream", "application/x-tar", "application/zip", "application/xhtml+xml", "application/xslt+xml", "application/xml-dtd"}; tpPane = new JTabbedPane(); jtDatastreams = new JTable(); jtMetadata = new JTable(); jtRelations = new JList(new DefaultListModel()); jtRelations.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); jtNonRelations = new JList(new DefaultListModel()); jtNonRelations.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); jbAddRelation = new JButton("+"); jbRemoveRelation = new JButton(res.getString("delete")); jbSaveRelations = new JButton(res.getString("apply")); jbSave = new JButton(res.getString("apply")); jbClose = new JButton(res.getString("close")); jbmEdit = new JButton(res.getString("edit")); jboEdit = new JButton(res.getString("edit")); jbNew = new JButton(res.getString("new")); jbDel = new JButton(res.getString("delete")); jtfSeek = new JTextField(); jbSeek = new JButton(res.getString("search")); jtfSeek.setPreferredSize(new Dimension(1500, jtfSeek.getPreferredSize().height)); jtfIdentifier = new JTextField(); jtfIdentifier.setBackground(Color.yellow); jtfIdentifier.setPreferredSize(new Dimension(200, jtfIdentifier.getPreferredSize().height)); jtfLabel = new JTextField(); jtfLabel.setBackground(Color.yellow); jcbUser = new JComboBox(); jcbUser.setBackground( Color.YELLOW ); jcbState = new JComboBox(states); jcbState.setBackground(Color.yellow); jboUpload = new JButton(res.getString("add")); jbmUpload = new JButton(res.getString("add")); jboDownload = new JButton(res.getString("saveas")); jbmDownload = new JButton(res.getString("saveas")); jbClose = new JButton(res.getString("close")); Container t0 = new Container(); t0.setLayout(new net.miginfocom.swing.MigLayout()); Box c0 = Box.createHorizontalBox(); c0.add(new JLabel("PID: ")); c0.add(jtfIdentifier); // c0.add(new JLabel(" ")); // c0.add(jcbState); c0.add(new JLabel(" Owner: ")); c0.add(jcbUser); c0.add(new JLabel(" ")); c0.add(jbSave); t0.add( c0, "wrap 10" ); Container t1 = new Container(); t1.setLayout(new net.miginfocom.swing.MigLayout("fillx")); t1.add(new JScrollPane(jtMetadata), "growx, wrap 5"); Box c1 = Box.createHorizontalBox(); c1.add(jbmUpload); c1.add(new JLabel(" ")); c1.add(jbmEdit); c1.add(new JLabel(" ")); c1.add(jbmDownload); t1.add( c1, "wrap 10" ); Container t2 = new Container(); t2.setLayout(new net.miginfocom.swing.MigLayout("fillx")); t2.add(new JScrollPane(jtDatastreams), "growx, wrap 5"); Box c2 = Box.createHorizontalBox(); c2.add(jboUpload); c2.add(new JLabel(" ")); c2.add(jboEdit); c2.add(new JLabel(" ")); c2.add(jbNew); c2.add(new JLabel(" ")); c2.add(jbDel); c2.add(new JLabel(" ")); c2.add(jboDownload); t2.add( c2, "wrap 10" ); 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:1000, 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:1000, growx, wrap 5" ); Box c4 = Box.createHorizontalBox(); c4.add(jtfSeek); c4.add(new JLabel(" ")); c4.add(jbSeek); c4.add(new JLabel(" ")); c4.add(jbSaveRelations); t3.add( c4, "wrap 10" ); tpPane.addTab(res.getString("prop"), t0); tpPane.addTab(res.getString("sysdata"), t1); tpPane.addTab(res.getString("streams"), t2); tpPane.addTab(res.getString("rels"), t3); container.add(tpPane, "grow, wrap 10"); container.add( jbClose, "gapleft push, wrap 10" ); } }