author | Walther Neuper <wneuper@ist.tugraz.at> |
Wed, 06 Sep 2017 12:50:24 +0200 | |
changeset 5195 | 7151cbfc9f54 |
parent 5183 | a85c7ff660d9 |
permissions | -rw-r--r-- |
nsimic@3150 | 1 |
package isac.gui.treetable; |
nsimic@3150 | 2 |
|
wneuper@5195 | 3 |
import isac.gui.mawen.editor.EditorListener; |
wneuper@5195 | 4 |
import isac.gui.mawen.syntax.Ast; |
wneuper@5195 | 5 |
import isac.interfaces.IEditor; |
wneuper@5195 | 6 |
|
s1520454056@5068 | 7 |
import java.awt.Dimension; |
s1520454056@5120 | 8 |
import java.awt.event.KeyEvent; |
s1520454056@5120 | 9 |
import java.awt.event.KeyListener; |
s1520454056@5116 | 10 |
import java.util.ArrayList; |
s1520454056@5068 | 11 |
|
s1520454056@5068 | 12 |
import javax.swing.JComponent; |
nsimic@3150 | 13 |
import javax.swing.JTextField; |
nsimic@3150 | 14 |
|
s1520454056@5120 | 15 |
public class FormulaTextField extends JTextField implements IEditor, KeyListener { |
nsimic@3150 | 16 |
|
wneuper@5195 | 17 |
/*err*/private Ast.Ast formula; |
s1520454056@5101 | 18 |
|
a@4999 | 19 |
/** |
a@4999 | 20 |
* |
a@4999 | 21 |
*/ |
a@4999 | 22 |
private static final long serialVersionUID = 1L; |
s1520454056@5116 | 23 |
protected ArrayList<EditorListener> listeners; |
a@4999 | 24 |
|
s1520454056@5068 | 25 |
|
s1520454056@5068 | 26 |
public FormulaTextField() { |
s1520454056@5116 | 27 |
listeners = new ArrayList<EditorListener>(); |
s1520454056@5120 | 28 |
addKeyListener(this); |
s1520454056@5068 | 29 |
setOpaque(true); |
s1520454056@5116 | 30 |
|
s1520454056@5068 | 31 |
} |
s1520454056@5068 | 32 |
|
s1520454056@5068 | 33 |
|
s1520454056@5068 | 34 |
@Override |
s1520454056@5068 | 35 |
public JComponent getComponent() { |
s1520454056@5068 | 36 |
return this; |
s1520454056@5068 | 37 |
} |
s1520454056@5068 | 38 |
|
s1520454056@5068 | 39 |
|
s1520454056@5068 | 40 |
|
s1520454056@5068 | 41 |
|
s1520454056@5068 | 42 |
@Override |
s1520454056@5068 | 43 |
public void setFormula(String formula) { |
s1520454056@5068 | 44 |
setText(formula); |
s1520454056@5068 | 45 |
|
s1520454056@5068 | 46 |
} |
wneuper@5195 | 47 |
/*err*/public void setFormula(Ast.Ast formula) { |
wneuper@5195 | 48 |
/*err*/this.formula = formula; |
s1520454056@5101 | 49 |
setFormula(isac.gui.mawen.syntax.Ast.math_string_of(formula)); |
s1520454056@5091 | 50 |
// TODO Auto-generated method stub |
s1520454056@5091 | 51 |
System.out.println(formula); |
s1520454056@5091 | 52 |
} |
wneuper@5195 | 53 |
/*err*/public Ast.Ast getFormula() { |
wneuper@5195 | 54 |
/*err*/return formula; |
s1520454056@5101 | 55 |
} |
s1520454056@5068 | 56 |
|
s1520454056@5068 | 57 |
|
s1520454056@5068 | 58 |
|
s1520454056@5068 | 59 |
|
s1520454056@5068 | 60 |
@Override |
s1520454056@5068 | 61 |
public Dimension getExpressionSize() { |
s1520454056@5068 | 62 |
// TODO Auto-generated method stub |
s1520454056@5068 | 63 |
return getPreferredSize(); |
s1520454056@5068 | 64 |
} |
s1520454056@5068 | 65 |
|
s1520454056@5068 | 66 |
|
s1520454056@5068 | 67 |
@Override |
s1520454056@5068 | 68 |
public boolean setEditable() { |
s1520454056@5068 | 69 |
// TODO Auto-generated method stub |
s1520454056@5068 | 70 |
return false; |
s1520454056@5068 | 71 |
} |
s1520454056@5116 | 72 |
|
s1520454056@5116 | 73 |
public void addEditorListener(EditorListener l) { |
s1520454056@5116 | 74 |
listeners.add(l); |
s1520454056@5116 | 75 |
} |
s1520454056@5116 | 76 |
public void removeEditorListener(EditorListener l) { |
s1520454056@5116 | 77 |
listeners.remove(l); |
s1520454056@5116 | 78 |
} |
s1520454056@5120 | 79 |
public void fireLocalCheck() { |
s1520454056@5120 | 80 |
for(EditorListener l : listeners) { |
s1520454056@5120 | 81 |
l.notifyLocalCheck(); |
s1520454056@5120 | 82 |
} |
s1520454056@5120 | 83 |
} |
s1520454056@5120 | 84 |
public void fireIsaCheck() { |
s1520454056@5120 | 85 |
for(EditorListener l : listeners) { |
s1520454056@5120 | 86 |
l.notifyIsaCheck(); |
s1520454056@5120 | 87 |
} |
s1520454056@5120 | 88 |
} |
s1520454056@5120 | 89 |
|
s1520454056@5120 | 90 |
|
s1520454056@5120 | 91 |
@Override |
s1520454056@5120 | 92 |
public void keyTyped(KeyEvent e) { |
s1520454056@5120 | 93 |
// TODO Auto-generated method stub |
s1520454056@5120 | 94 |
|
s1520454056@5120 | 95 |
} |
s1520454056@5120 | 96 |
|
s1520454056@5120 | 97 |
|
s1520454056@5120 | 98 |
@Override |
s1520454056@5120 | 99 |
public void keyPressed(KeyEvent e) { |
s1520454056@5120 | 100 |
// TODO Auto-generated method stub |
s1520454056@5120 | 101 |
|
s1520454056@5120 | 102 |
} |
s1520454056@5120 | 103 |
|
s1520454056@5120 | 104 |
|
s1520454056@5120 | 105 |
@Override |
s1520454056@5120 | 106 |
public void keyReleased(KeyEvent e) { |
s1520454056@5120 | 107 |
if( e.getKeyCode() == KeyEvent.VK_ENTER ) { |
s1520454056@5120 | 108 |
fireIsaCheck(); |
s1520454056@5120 | 109 |
} |
s1520454056@5120 | 110 |
|
s1520454056@5120 | 111 |
} |
s1520454056@5120 | 112 |
|
s1520454056@5120 | 113 |
|
s1520454056@5120 | 114 |
@Override |
s1520454056@5120 | 115 |
public String getMathText() { |
s1520454056@5120 | 116 |
return getText(); |
s1520454056@5120 | 117 |
} |
s1520454056@5175 | 118 |
|
s1520454056@5175 | 119 |
|
s1520454056@5175 | 120 |
@Override |
s1520454056@5175 | 121 |
public void fireNotifyLocalCheck() { |
s1520454056@5175 | 122 |
fireLocalCheck(); |
s1520454056@5175 | 123 |
} |
s1520454056@5175 | 124 |
|
s1520454056@5175 | 125 |
|
s1520454056@5175 | 126 |
@Override |
s1520454056@5175 | 127 |
public void fireNotifyIsaCheck() { |
s1520454056@5175 | 128 |
fireIsaCheck(); |
s1520454056@5175 | 129 |
} |
wneuper@5195 | 130 |
|
wneuper@5195 | 131 |
// inappropriate for StringEditor |
wneuper@5195 | 132 |
/*err*/public void fireNotifyBraille(Ast.Ast formula) {} |
nsimic@3150 | 133 |
} |