I don't understand why you want to create your own attribute editor instead of using the built-in editor.
But, having said that, there are two things that I would change in your solution:
- I would nest each text (= pseudo label) and edit_box in a separate row to ensure proper vertical alignment.
- I would use a fixed dcl file and limit the number of attributes in the dialog to 10 and use Next and Previous buttons to page through the attributes.
Of course your function is still incomplete. My guess is that you want to return a new list in a format similar to the input.