1 package com.example.furt.myapplication;
3 import android.view.View;
5 public class touchHPHandler implements View.OnClickListener
9 Hypothesis thisHP; //ipotesi che sto eliminando
10 touchHPHandler(Node n,Hypothesis hp)
14 discard=true;//di default il ramo della formula scartata viene chiuso
16 public void onClick(View view)
18 if (DrawActivity.selectedNode==null) //non-existent selectedNode (should never happen)
20 if (DrawActivity.selectedNode.Children.size()!=0) //not a leaf: can't add children
24 if (thisHP.HP.toString().equals(DrawActivity.selectedNode.F.toString())) //close current Node
26 if (thisHP.isDeleted) {
27 if (DrawActivity.selectedNode.status == Node.OPEN)
28 DrawActivity.selectedNode.status = Node.CANCELED;
29 else if (DrawActivity.selectedNode.status == Node.FAKE)
30 DrawActivity.selectedNode.status = Node.FAKE_CANCELED;
32 if (DrawActivity.selectedNode.status == Node.OPEN)
33 DrawActivity.selectedNode.status = Node.CLOSED;
34 else if (DrawActivity.selectedNode.status == Node.FAKE)
35 DrawActivity.selectedNode.status = Node.FAKE_CLOSED;
37 DrawActivity.nmoves++;
38 DrawActivity.rootNode.Clean();
39 DrawActivity.startDraw();
42 if (L==null) //incompatible elimination
44 for (Node n:L.Children) {
45 for (Hypothesis hp:n.NodeHP)
46 hp.fromNode= DrawActivity.selectedNode; //le ipotesi dei nuovi figli provengono dal nodo in cui stanno per essere inserite
47 n.addHPList(DrawActivity.selectedNode.NodeHP);
48 DrawActivity.selectedNode.addChild(n);
50 DrawActivity.selectedNode.hasFocus=false;
51 DrawActivity.selectedNode.Children.get(0).hasFocus=true;
54 DrawActivity.selectedNode.Children.get(0).status = Node.CANCELED;
56 DrawActivity.selectedNode.Children.get(0).status = Node.CLOSED;
59 DrawActivity.selectedNode.Children.get(0).status= Node.OPEN;
60 DrawActivity.selectedNode.hasFocus = false;
61 DrawActivity.selectedNode.ruleName = L.ruleName;
62 DrawActivity.nmoves++;
63 DrawActivity.rootNode.Clean();
64 DrawActivity.startDraw();