controls: add valueChanged and cancel event