improve treedialog widget