}
protected Hashtable<String, Object> makeParamList(int X, int Y, int mod){
Hashtable<String, Object> qq_Params = new Hashtable<String, Object>();
// The forte will return the X & Y in mils, so covert here
qq_Params.put( "x", new ParameterHolder(UIutils.pixelsToMils(X)));
qq_Params.put( "y", new ParameterHolder(UIutils.pixelsToMils(Y)));
int modifiers = 0;
if ((mod & ActionEvent.CTRL_MASK) > 0)
modifiers = modifiers | 1;
if ((mod & ActionEvent.SHIFT_MASK) > 0)
modifiers = modifiers | 2;
if ((mod & ActionEvent.ALT_MASK) > 0)
modifiers = modifiers | 4;
if ((mod & ActionEvent.META_MASK) > 0)
modifiers = modifiers | 8;
qq_Params.put( "modifier", new ParameterHolder(modifiers) );
if ((table != null) && (table.getModel() instanceof TableSorter)) {
DisplayNode dn =
((DisplayNode)((ArrayFieldModel)((TableSorter)table.getModel()).getTableModel()).getData().get(table.getSelectedRow()));
qq_Params.put( "node", new ParameterHolder(dn) );
} else if (tree != null) {
qq_Params.put( "node", new ParameterHolder(tree.getLastSelectedPathComponent()) );
} else if (olf != null) {
qq_Params.put( "node", new ParameterHolder(olf.getTree().getLastSelectedPathComponent()) );
} else if (lv != null) {
qq_Params.put( "node", new ParameterHolder(lv.getCurrentNode()) );
} else
qq_Params.put( "node", new ParameterHolder(null) );
if (table != null)
{
// TF:27/9/07:Made the row and column 1-based indexes instead of 0-based
qq_Params.put( "row", new ParameterHolder(table.rowAtPoint(new Point(X,Y))+1) );
qq_Params.put( "column", new ParameterHolder(table.columnAtPoint(new Point(X,Y))+1) );
}
else
{
qq_Params.put( "row", new ParameterHolder(0) );
qq_Params.put( "column", new ParameterHolder(0) );
}
return qq_Params;
}