import enum inkSelectionRule : Uint8
{
	Single,
	Parent,
	Children,
	TypeBased,
	NameBased,
}

importonly class inkWidgetsSet extends IScriptable
{
	public import function Select( widget : inkWidget, optional selectionRule : inkSelectionRule, optional param : String ) : inkWidgetsSet;
	public import function FromSet( other : inkWidgetsSet ) : inkWidgetsSet;
	public import function Get() : array< weak< inkWidget > >;
}

function SelectWidgets( widget : inkWidget, optional selectionRule : inkSelectionRule, optional param : String ) : inkWidgetsSet
{
	var widgetsSet : inkWidgetsSet;
	widgetsSet = new inkWidgetsSet;
	widgetsSet.Select( widget, selectionRule, param );
	return widgetsSet;
}

