add notifyBraille
authorWalther Neuper <wneuper@ist.tugraz.at>
Wed, 06 Sep 2017 12:50:24 +0200
changeset 51957151cbfc9f54
parent 5194 d01fce37569d
child 5197 8dbfed7191ec
child 5199 3799cb07f123
add notifyBraille
isac-java/src/java/isac/gui/mawen/editor/EditorListener.java
isac-java/src/java/isac/gui/mawen/editor/EditorListenerHandler.scala
isac-java/src/java/isac/gui/mawen/editor/EditorPanel.java
isac-java/src/java/isac/gui/treetable/CalcTreeCellEditor.java
isac-java/src/java/isac/gui/treetable/FormulaTextField.java
isac-java/src/java/isac/gui/treetable/TacticTextField.java
isac-java/src/java/isac/interfaces/IEditor.java
     1.1 --- a/isac-java/src/java/isac/gui/mawen/editor/EditorListener.java	Wed Aug 02 18:04:23 2017 +0200
     1.2 +++ b/isac-java/src/java/isac/gui/mawen/editor/EditorListener.java	Wed Sep 06 12:50:24 2017 +0200
     1.3 @@ -1,5 +1,6 @@
     1.4  package isac.gui.mawen.editor;
     1.5  
     1.6 +import isac.gui.mawen.syntax.Ast;
     1.7  import java.util.EventListener;
     1.8  
     1.9  /**
    1.10 @@ -8,5 +9,5 @@
    1.11  public interface EditorListener extends EventListener {
    1.12    void notifyLocalCheck();
    1.13    void notifyIsaCheck();
    1.14 -  
    1.15 +/*err*/void notifyBraille(Ast.Ast formula);
    1.16  }
     2.1 --- a/isac-java/src/java/isac/gui/mawen/editor/EditorListenerHandler.scala	Wed Aug 02 18:04:23 2017 +0200
     2.2 +++ b/isac-java/src/java/isac/gui/mawen/editor/EditorListenerHandler.scala	Wed Sep 06 12:50:24 2017 +0200
     2.3 @@ -1,28 +1,29 @@
     2.4  package isac.gui.mawen.editor
     2.5 -
     2.6 +import isac.gui.mawen.syntax.Ast;
     2.7  import isac.interfaces.IEditor
     2.8  
     2.9  object EditorListenerHandler {
    2.10    
    2.11    var editorInstances= Map.empty[AstContainer, IEditor]
    2.12 -  
    2.13 -  
    2.14 -  
    2.15    def fireNotifyLocalCheck(c: AstContainer) {
    2.16      editorInstances.get(c) match {
    2.17        case Some(editor) => editor.fireNotifyLocalCheck()
    2.18        case None => {}
    2.19      }
    2.20    }
    2.21 -  
    2.22    def fireNotifyIsaCheck(c: AstContainer) {
    2.23      editorInstances.get(c) match {
    2.24        case Some(editor) => editor.fireNotifyIsaCheck()
    2.25        case None => {}
    2.26      }
    2.27    }
    2.28 +  def fireNotifysBraille(c: AstContainer,  formula: Ast.Ast) {
    2.29 +    editorInstances.get(c) match {
    2.30 +      case Some(editor) => editor.fireNotifyBraille(formula)
    2.31 +      case None => {}
    2.32 +    }
    2.33 +  }
    2.34    def addListenerHandler(editor: IEditor, c: AstContainer) {
    2.35      editorInstances  = editorInstances + (c -> editor)
    2.36    }
    2.37 -  
    2.38  }
    2.39 \ No newline at end of file
     3.1 --- a/isac-java/src/java/isac/gui/mawen/editor/EditorPanel.java	Wed Aug 02 18:04:23 2017 +0200
     3.2 +++ b/isac-java/src/java/isac/gui/mawen/editor/EditorPanel.java	Wed Sep 06 12:50:24 2017 +0200
     3.3 @@ -76,6 +76,11 @@
     3.4        l.notifyIsaCheck();
     3.5      }
     3.6    }
     3.7 +/*err*/public void fireNotifyBraille(Ast.Ast formula) {
     3.8 +	    for(EditorListener l : listeners) {
     3.9 +	      l.notifyBraille(formula);
    3.10 +	    }
    3.11 +	  }
    3.12  
    3.13    @Override
    3.14    public Dimension getExpressionSize() {
     4.1 --- a/isac-java/src/java/isac/gui/treetable/CalcTreeCellEditor.java	Wed Aug 02 18:04:23 2017 +0200
     4.2 +++ b/isac-java/src/java/isac/gui/treetable/CalcTreeCellEditor.java	Wed Sep 06 12:50:24 2017 +0200
     4.3 @@ -62,6 +62,10 @@
     4.4  /*err*/ editedNode_ = new Formula(editor_.getMathText(), editor_.getFormula());
     4.5          notifyWorksheet();
     4.6        }
     4.7 +/*err*/public void notifyBraille(Ast.Ast formula) {
     4.8 +			System.out.println("output to Braille display");
     4.9 +      }
    4.10 +
    4.11      });
    4.12  		tacticText_ = new JTextField();
    4.13  
     5.1 --- a/isac-java/src/java/isac/gui/treetable/FormulaTextField.java	Wed Aug 02 18:04:23 2017 +0200
     5.2 +++ b/isac-java/src/java/isac/gui/treetable/FormulaTextField.java	Wed Sep 06 12:50:24 2017 +0200
     5.3 @@ -1,5 +1,9 @@
     5.4  package isac.gui.treetable;
     5.5  
     5.6 +import isac.gui.mawen.editor.EditorListener;
     5.7 +import isac.gui.mawen.syntax.Ast;
     5.8 +import isac.interfaces.IEditor;
     5.9 +
    5.10  import java.awt.Dimension;
    5.11  import java.awt.event.KeyEvent;
    5.12  import java.awt.event.KeyListener;
    5.13 @@ -8,13 +12,9 @@
    5.14  import javax.swing.JComponent;
    5.15  import javax.swing.JTextField;
    5.16  
    5.17 -import isac.gui.mawen.editor.EditorListener;
    5.18 -import isac.interfaces.IEditor;
    5.19 -
    5.20 -
    5.21  public class FormulaTextField extends JTextField implements IEditor, KeyListener {
    5.22  
    5.23 -  private isac.gui.mawen.syntax.Ast.Ast formula;
    5.24 +/*err*/private Ast.Ast formula;
    5.25    
    5.26  	/**
    5.27  	 * 
    5.28 @@ -44,14 +44,14 @@
    5.29  		setText(formula);
    5.30  		
    5.31  	}
    5.32 -	public void setFormula(isac.gui.mawen.syntax.Ast.Ast formula) {
    5.33 -	  this.formula = formula;
    5.34 +/*err*/public void setFormula(Ast.Ast formula) {
    5.35 +/*err*/this.formula = formula;
    5.36  	  setFormula(isac.gui.mawen.syntax.Ast.math_string_of(formula));
    5.37      // TODO Auto-generated method stub
    5.38      System.out.println(formula);
    5.39    }
    5.40 -	public isac.gui.mawen.syntax.Ast.Ast getFormula() {
    5.41 -	  return formula;
    5.42 +/*err*/public Ast.Ast getFormula() {
    5.43 +/*err*/return formula;
    5.44  	}
    5.45  
    5.46  
    5.47 @@ -127,4 +127,7 @@
    5.48    public void fireNotifyIsaCheck() {
    5.49      fireIsaCheck();
    5.50    }
    5.51 +  
    5.52 +  // inappropriate for StringEditor
    5.53 +/*err*/public void fireNotifyBraille(Ast.Ast formula) {}
    5.54  }
     6.1 --- a/isac-java/src/java/isac/gui/treetable/TacticTextField.java	Wed Aug 02 18:04:23 2017 +0200
     6.2 +++ b/isac-java/src/java/isac/gui/treetable/TacticTextField.java	Wed Sep 06 12:50:24 2017 +0200
     6.3 @@ -1,23 +1,18 @@
     6.4  package isac.gui.treetable;
     6.5  
     6.6 +import isac.gui.mawen.editor.EditorListener;
     6.7 +import isac.gui.mawen.syntax.Ast;
     6.8 +import isac.interfaces.IEditor;
     6.9  import java.awt.Dimension;
    6.10  import java.util.ArrayList;
    6.11 -
    6.12  import javax.swing.JComponent;
    6.13  import javax.swing.JTextField;
    6.14  
    6.15 -import isac.gui.mawen.editor.EditorListener;
    6.16 -import isac.interfaces.IEditor;
    6.17 -
    6.18  public class TacticTextField extends JTextField implements IEditor {
    6.19  
    6.20 -	/**
    6.21 -	 * 
    6.22 -	 */
    6.23  	private static final long serialVersionUID = 1L;
    6.24 -	private isac.gui.mawen.syntax.Ast.Ast formula;
    6.25 +/*err*/private isac.gui.mawen.syntax.Ast.Ast formula;
    6.26  	protected ArrayList<EditorListener> listeners;
    6.27 -
    6.28  	
    6.29  	public TacticTextField() {
    6.30  	  listeners = new ArrayList<EditorListener>();
    6.31 @@ -25,66 +20,46 @@
    6.32  	    setHorizontalAlignment(JTextField.RIGHT);
    6.33  	    setBorder(null);
    6.34  	}
    6.35 -
    6.36  	@Override
    6.37  	public JComponent getComponent() {
    6.38  		return this;
    6.39  	}
    6.40 -
    6.41 -
    6.42 -
    6.43 -
    6.44  	@Override
    6.45  	public void setFormula(String formula) {
    6.46  		setText(formula);
    6.47  		
    6.48  	}
    6.49 -	public void setFormula(isac.gui.mawen.syntax.Ast.Ast formula) {
    6.50 -    this.formula = formula;
    6.51 +/*err*/public void setFormula(Ast.Ast formula) {
    6.52 +/*err*/this.formula = formula;
    6.53      setFormula(isac.gui.mawen.syntax.Ast.math_string_of(formula));
    6.54      // TODO Auto-generated method stub
    6.55      System.out.println(formula);
    6.56 -  }
    6.57 -
    6.58 -	public isac.gui.mawen.syntax.Ast.Ast getFormula() {
    6.59 -    return formula;
    6.60 -  }
    6.61 -
    6.62 -
    6.63 -
    6.64 -
    6.65 +    }
    6.66 +	public Ast.Ast getFormula() {
    6.67 +        return formula;
    6.68 +    }
    6.69  	@Override
    6.70  	public Dimension getExpressionSize() {
    6.71 -		// TODO Auto-generated method stub
    6.72  		return getPreferredSize();
    6.73  	}
    6.74 -
    6.75 -
    6.76  	@Override
    6.77  	public boolean setEditable() {
    6.78 -		// TODO Auto-generated method stub
    6.79  		return false;
    6.80  	}
    6.81 -	
    6.82  	public void addEditorListener(EditorListener l) {
    6.83      listeners.add(l);
    6.84 -  }
    6.85 -  public void removeEditorListener(EditorListener l) {
    6.86 -    listeners.remove(l);
    6.87 -  }
    6.88 -
    6.89 -  @Override
    6.90 -  public String getMathText() {
    6.91 -    // TODO Auto-generated method stub
    6.92 -    return getText();
    6.93 -  }
    6.94 -  
    6.95 -  @Override
    6.96 -  public void fireNotifyLocalCheck() {
    6.97 -  }
    6.98 -
    6.99 -
   6.100 -  @Override
   6.101 -  public void fireNotifyIsaCheck() {
   6.102 -  }
   6.103 +    }
   6.104 +    public void removeEditorListener(EditorListener l) {
   6.105 +        listeners.remove(l);
   6.106 +    }
   6.107 +    @Override
   6.108 +    public String getMathText() {
   6.109 +        return getText();
   6.110 +    }
   6.111 +    @Override
   6.112 +    public void fireNotifyLocalCheck() {}
   6.113 +    @Override
   6.114 +   public void fireNotifyIsaCheck() {}
   6.115 +   // inappropriate for StringEditor
   6.116 +/*err*/public void fireNotifyBraille(Ast.Ast formula) {}
   6.117  }
     7.1 --- a/isac-java/src/java/isac/interfaces/IEditor.java	Wed Aug 02 18:04:23 2017 +0200
     7.2 +++ b/isac-java/src/java/isac/interfaces/IEditor.java	Wed Sep 06 12:50:24 2017 +0200
     7.3 @@ -2,49 +2,47 @@
     7.4  
     7.5  import isac.gui.mawen.editor.EditorListener;
     7.6  import isac.gui.mawen.syntax.Ast;
     7.7 -
     7.8  import java.awt.Dimension;
     7.9 -
    7.10  import javax.swing.JComponent;
    7.11  
    7.12  public interface IEditor {
    7.13 +  /*
    7.14 +   * <code>TreeCellEditor</code> and <code>TreeCellRenderer</code> returns 
    7.15 +   * either <code>StringEditor</code> or <code>EditorPanel</code>
    7.16 +   */
    7.17 +  JComponent getComponent();
    7.18    
    7.19 -  JComponent getComponent();
    7.20 -
    7.21 -
    7.22 -  
    7.23 -  void setFormula(Ast.Ast formula);
    7.24 +/*err*/void setFormula(Ast.Ast formula); // Java cannot distinguish betwenn class and object
    7.25    void setFormula(String formula);
    7.26 -  Ast.Ast getFormula();
    7.27 +/*err*/Ast.Ast getFormula();
    7.28    String getMathText();
    7.29 -  
    7.30 -   /*
    7.31 -   * Submit a mathematical expression as an Ast for rendering or editing,
    7.32 -   * according to <code>setEditable</code>.
    7.33 -   * Such an expression is either a formula or a tactic.
    7.34 -   * 
    7.35 -   * TODO setExpression(Ast.Ast formula)
    7.36 -   */
    7.37 -
    7.38  
    7.39    /*
    7.40     * Returns the size of the mathematical expression; is relevant after
    7.41 -   * TODO each edit, which changes the size (e.g. introduction of an exponent).
    7.42 -   * 
    7.43 -   * TODO Dimension getExpressionSize();
    7.44 +   * each edit, which changes the size (e.g. introduction of an exponent).
    7.45     */
    7.46    Dimension getExpressionSize();
    7.47  
    7.48    /*
    7.49 -   * Two different modes; the one modes visualisation is different
    7.50 -   * from the modes for editing.
    7.51 +   * Mode for an <code>JTree</code> node
    7.52     */
    7.53    boolean setEditable();
    7.54    
    7.55 -  void addEditorListener(EditorListener l) ;
    7.56 -  void removeEditorListener(EditorListener l) ;
    7.57 +  void addEditorListener(EditorListener l);
    7.58 +  void removeEditorListener(EditorListener l);
    7.59 +  
    7.60 +  /*
    7.61 +   * check either in front-end (local) or by Isabelle
    7.62 +   */
    7.63    void fireNotifyLocalCheck();
    7.64 -  void fireNotifyIsaCheck(); 
    7.65 +  void fireNotifyIsaCheck();
    7.66    
    7.67 -  
    7.68 +  /*
    7.69 +   * Fired in case arrow-keys select another sub-term
    7.70 +   * and in case of editing at each input key.
    7.71 +   * 
    7.72 +   * Ast is translated to strings according to different standards
    7.73 +   * outside the editor
    7.74 +   */
    7.75 +/*err*/void fireNotifyBraille(Ast.Ast formula);
    7.76  }