edit dialog: reworked ui, implemented composite widget