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