Added the initial version of Tibbibl, which Nathaniel Garson of UVa
e-mailed to me. Tibbibl is an editor for XML-based bibliographies of Tibetan texts. All I did was change the package from org.thdl.xml to org.thdl.tib.bibl and add boilerplate; no changes to Than's code were made. Tibbibl features a diacritic input tool which Jskad might want to swipe.
This commit is contained in:
parent
32a08c06c3
commit
72ee4fc7d2
28 changed files with 10248 additions and 3 deletions
205
source/org/thdl/tib/bibl/TibDialog.java
Normal file
205
source/org/thdl/tib/bibl/TibDialog.java
Normal file
|
@ -0,0 +1,205 @@
|
|||
/*
|
||||
The contents of this file are subject to the THDL Open Community License
|
||||
Version 1.0 (the "License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License on the THDL web site
|
||||
(http://www.thdl.org/).
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
License for the specific terms governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Initial Developer of this software is the Tibetan and Himalayan Digital
|
||||
Library (THDL). Portions created by the THDL are Copyright 2001-2003 THDL.
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s): ______________________________________.
|
||||
*/
|
||||
|
||||
package org.thdl.tib.bibl;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.util.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.*;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* This class is a generic class for displaying a dialog in TiblEdit. I'm not sure if it is actually used in
|
||||
* TiblEdit. It may be a relic. CHECK!
|
||||
* </p>
|
||||
*
|
||||
*/
|
||||
|
||||
public class TibDialog extends JDialog implements ActionListener, TibConstants
|
||||
{
|
||||
// Attributes
|
||||
TiblEdit controller;
|
||||
TibFrame frame;
|
||||
String[] specs;
|
||||
String response;
|
||||
int num;
|
||||
Hashtable results;
|
||||
JLabel[] jl;
|
||||
JTextField[] jtf;
|
||||
String type;
|
||||
boolean isStartUp = false;
|
||||
|
||||
transient protected String value;
|
||||
public static final String RESPONSE_PROPERTY = "response";
|
||||
public static final String NEW_ED = "new edition";
|
||||
|
||||
private void init()
|
||||
{
|
||||
GridLayout gl = new GridLayout(0,2);
|
||||
gl.setHgap(5);
|
||||
gl.setVgap(5);
|
||||
JPanel cpane = new JPanel(gl);
|
||||
jl = new JLabel[num];
|
||||
jtf = new JTextField[num];
|
||||
for(int n=0; n<num; n++)
|
||||
{
|
||||
jl[n] = new JLabel(specs[n]);
|
||||
jtf[n] = new JTextField();
|
||||
cpane.add(jl[n]);
|
||||
cpane.add(jtf[n]);
|
||||
}
|
||||
JButton enter = new JButton(ENTER);
|
||||
JButton cancel = new JButton(CANCEL);
|
||||
enter.addActionListener(this);
|
||||
cancel.addActionListener(this);
|
||||
cpane.add(enter);
|
||||
cpane.add(cancel);
|
||||
setContentPane(cpane);
|
||||
pack();
|
||||
setLocation(250,250);
|
||||
type = "";
|
||||
}
|
||||
|
||||
public void showDialog()
|
||||
{
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
public String getResponse()
|
||||
{
|
||||
return response;
|
||||
}
|
||||
|
||||
public void setResponse(String newValue) {
|
||||
String oldValue = value;
|
||||
value = newValue;
|
||||
firePropertyChange(RESPONSE_PROPERTY, oldValue, value);
|
||||
}
|
||||
|
||||
public String getType()
|
||||
{
|
||||
return (String)results.get(TYPE);
|
||||
}
|
||||
|
||||
public void setValue(int index, String value)
|
||||
{
|
||||
jtf[index].setText(value);
|
||||
}
|
||||
|
||||
public String getValue(String key)
|
||||
{
|
||||
return (String)results.get(key);
|
||||
}
|
||||
|
||||
public String[] getResults()
|
||||
{
|
||||
Vector newResults = new Vector();
|
||||
for(int n=0;n<specs.length;n++)
|
||||
{
|
||||
newResults.add(getValue(specs[n]));
|
||||
}
|
||||
String[] output = TiblEdit.toStringArray(newResults);
|
||||
return output;
|
||||
}
|
||||
|
||||
public JTextField getTextField(int index)
|
||||
{
|
||||
if(index > -1 && index < jtf.length) {
|
||||
return jtf[index];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void clearTextFields() {
|
||||
for(int n=0; n<jtf.length; n++) {
|
||||
jtf[n].setText("");
|
||||
jtf[n].repaint();
|
||||
}
|
||||
}
|
||||
|
||||
public void clear()
|
||||
{
|
||||
System.out.println("Clearing tibdialog");
|
||||
results = new Hashtable();
|
||||
response = new String();
|
||||
clearTextFields();
|
||||
repaint();
|
||||
}
|
||||
|
||||
public void reset()
|
||||
{
|
||||
specs = null;
|
||||
results = new Hashtable();
|
||||
response = new String();
|
||||
}
|
||||
|
||||
public TibDialog(TibFrame frame, String title, String[] specs)
|
||||
{
|
||||
super(frame,title,true);
|
||||
this.frame = frame;
|
||||
this.specs = specs;
|
||||
num = specs.length;
|
||||
results = new Hashtable();
|
||||
results.put(TYPE,title);
|
||||
response =new String();
|
||||
value = "null";
|
||||
if(title.equals(EDITORS_INFO)) { isStartUp = true;} else {isStartUp = false;}
|
||||
init();
|
||||
}
|
||||
|
||||
public TibDialog(TiblEdit tt, String title, String[] specs)
|
||||
{
|
||||
this(tt.getFrame(),title,specs);
|
||||
controller = tt;
|
||||
type = NEW_ED;
|
||||
}
|
||||
|
||||
|
||||
public void actionPerformed(ActionEvent ae)
|
||||
{
|
||||
String src_text = ((JButton)ae.getSource()).getText();
|
||||
System.out.println("Action performed in TibDialog: " + src_text);
|
||||
if(src_text.equals(ENTER)) {
|
||||
for(int n=0; n<num; n++)
|
||||
{
|
||||
results.put(specs[n],jtf[n].getText());
|
||||
}
|
||||
clearTextFields();
|
||||
setResponse(ENTER);
|
||||
setVisible(false);
|
||||
if(type.equals(NEW_ED)) {
|
||||
controller.submitNewEditionInfo(this);
|
||||
} else if(getTitle().equals(NEW_ED_TITLE_INFO)) {
|
||||
frame.getController().insertNewEdTitle(this);
|
||||
} else if(getTitle().equals(NEW_ED_INFO)) {
|
||||
frame.getController().insertNewEdAndTitle(this);
|
||||
} else if(getTitle().equals(EDITORS_INFO)) {
|
||||
System.out.println("It's editors info!");
|
||||
frame.getController().setEditor();
|
||||
}
|
||||
} else {
|
||||
setResponse(CANCEL);
|
||||
if(isStartUp) {System.exit(0);}
|
||||
setVisible(false);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue