1 package com.example.furt.myapplication;
3 import android.graphics.Paint;
4 import android.graphics.Rect;
6 import java.util.ArrayList;
9 public class GenericFormula implements Formula
13 public String Draw(int p)
16 } //la GenericFormula non può essere rappresentata
17 public String toString(){return Draw(0);}
19 p.setTextSize(DrawActivity.textSize);
20 return p.measureText(toString())+(float)(p.measureText(toString())*0.20);//ritorna la misura effettuata dalla classe Paint con un padding del 20% per migliorare la stima
22 public float sizeDeleted()
24 p.setTextSize(DrawActivity.textSize);
25 return p.measureText(toStringDeleted())+(float)(p.measureText(toStringDeleted())*0.20); //ritorna la misura effettuata dalla classe Paint con un padding del 20% per migliorare la stima
27 public String toStringDeleted()
29 return "["+toString()+"]";
33 p.setTextSize(DrawActivity.textSize);
34 Rect bounds=new Rect();
35 p.getTextBounds(toString(),0,toString().length(),bounds);
36 return (float)((bounds.height()+((float)0.20*bounds.height()))*1.5); //l'altezza della formula va moltiplicata per l'inverso della densità dello schermo (circa 1.5)
38 public List<IntroductionRule> introductionRules(){
39 List<IntroductionRule> rules=new ArrayList<IntroductionRule>();
40 Node thisNode=new Node(this);
41 RuleIntroduction RAA=new RuleIntroduction("RAA",0); //R.A.A.
42 Node RAAnode=new Node(new FormulaBOT()); //Formula=Bottom
43 List<Formula> RAAhp=new ArrayList<Formula>(); //Tutte le ipotesi del nodo precedente
44 RAAhp.add(new FormulaNot(this)); //Più la negazione del nodo attuale
45 RAAnode.addHPFormula(RAAhp,true);
46 thisNode.addChild(RAAnode);
47 RAA.tempRule=thisNode;
50 Node thisFakeNode=new Node(this);
51 RuleIntroduction fakeRAA=new RuleIntroduction("RAA",0,true); //fake R.A.A.
52 Node fakeRAAnode=new Node(new FormulaNot(this)); //Formula=!F
53 thisFakeNode.addChild(fakeRAAnode);
54 fakeRAA.tempRule=thisFakeNode;
59 public List<EliminationRule> EliminationRules(){
60 List<EliminationRule> nodes=new ArrayList<EliminationRule>();
65 public boolean Fill(Formula F) {
70 public boolean setCursor() {
75 public Formula duplicate() {
80 public Object clone() throws CloneNotSupportedException {