You can get the selected ICE nodes through the selection view attribute.
First, you have to get the ICE Tree view. You could try to get the view by name:
var oLayout = Application.Desktop.ActiveLayout; var oICETreeView = oLayout.Views( "ICE Tree" );
but if the ICE Tree view is part of a layout (like the ICE layout) that won’t work, because the view has a different name (for example, in the ICE layout, the view name is “lower_panel”). To be sure you get the ICE Tree view, whether it is floating or embedded, filter by the Views by type.
// Get the ICE Tree views
var oLayout = Application.Desktop.ActiveLayout;
var oICETreeViews = oLayout.Views.Filter( "ICE Tree" );
// Now get the selected nodes
// and log the names of the selected nodes
var x = oICETreeViews(0);
var a = x.GetAttributeValue( "selection" ).split(",");
LogMessage( a.length );
for ( var i in a )
{
var oNode = Dictionary.GetObject( a[i] );
// LogMessage( classname(oNode) );
LogMessage( oNode.Name );
}