/** queryies the user to choose a tree and returns an integer of the tree chosen */ public int queryUserChoose(Taxa taxa, String forMessage) { int ic = MesquiteInteger.unassigned; int numBlocks = getNumberOfTreeBlocks(taxa); if (MesquiteInteger.isCombinable(numBlocks)) { String[] s = new String[numBlocks]; for (int i = 0; i < numBlocks; i++) { s[i] = getTreeBlockNameString(taxa, i); } if (forMessage == null) { forMessage = "Choose tree block"; } return ListDialog.queryList( containerOfModule(), "Choose tree block", forMessage, MesquiteString.helpString, s, 0); } else { if (forMessage == null) { forMessage = "Number of tree block to be used"; } int r = MesquiteInteger.queryInteger(containerOfModule(), "Choose tree block", forMessage, 1); if (MesquiteInteger.isCombinable(r)) return MesquiteTree.toInternal(r); else return r; } }