1 package com.example.furt.myapplication;
3 import android.view.View;
5 /**DialogTouchHandler: Handler per la gestione delle regole cliccate
6 * nel Dialog delle regole di introduzione**/
8 public class DialogTouchHandler implements View.OnClickListener{
10 DialogTouchHandler(Node n)
14 public void onClick(View view)
16 Node selectedRule=node;
17 while(selectedRule.Father!=null) //se l'utente ha cliccato su uno dei figli del sottoalbero risalgo alla radice
18 selectedRule=selectedRule.Father;
19 for (Node n : selectedRule.Children) { //incollo i figli del nodo sul selectedNode avendo cura di integrare le ipotesi
20 for (Hypothesis hp : n.NodeHP)
21 hp.fromNode = DrawActivity.selectedNode; //le ipotesi dei nuovi figli provengono dal nodo in cui stanno per essere inserite
22 n.addHPList(DrawActivity.selectedNode.NodeHP);
23 n.handler = null; //rimuovo l'handler per il DialogTouchHandler, che è ora inutile
24 DrawActivity.selectedNode.addChild(n);
26 DrawActivity.selectedNode.hasFocus = false; //il vecchio selectedNode non ha più il focus
27 DrawActivity.selectedNode.ruleName = selectedRule.Children.get(0).ruleName;
28 DrawActivity.selectedNode.Children.get(0).hasFocus = true; //il primo figlio della regola applicata acquisisce il focus
29 DrawActivity.nmoves++;
30 DrawActivity.rootNode.Clean();
31 DrawActivity.startDraw();
32 touchnodeHandler.ruleDialog.dismiss(); //il ruleDialog del touchnodeHandler non è più necessario