I need some guidance regarding the following design issue. In my application I need to create, maintain, delete and manage so called "Roles", they are just basically a name and a description pairs. I have two ideas for the GUI managing these roles:
The first one as you can see basically has a table with two columns, and a "Delete" and an "Add" button to the right.
and the second one, which has everything the firs one has, but also some extra fields down to enter data.
The main difference between the forms is how the user interacts with them. With the first one he presses the "Add" button, a new row appears in the table and there he can specify the details. Modifying the role is also done similarly, the user "double clicks" the row and there he can change the data. When the user single clicks the row, nothing happens, just the row is selected. Deletion is done on the selected row by pressing the "Delete" button.
The second one behaves differently: On the addition, when the user presses the "Add" button the tow text fields below are being initialized to "empty" the user there fills in the data and he needs to press the "Apply" button. This creates a new row in the table. Modifying is done in the following manner: the user clicks a row, the application populates the two text fields below, then he presses the "Apply" button and the application updates the table. Deletion is done in the following manner: User selects row, presses "Delete" application removes row and empties the text fields below.
And here are my questions:
- Which approach is more recommended?
- Where should I place the addition/deletion buttons? Right now my application uses the same position as shown here for all the forms, but I would like the opinion of the experts about this. I need to mention, that other forms which also have the buttons for Delete/Add on the left side of the table, have also a tiny toolbar with other icons above the table for operations as Save/Load/New.
- Is it Ok to have icons in the header of the table?
Thank you for your insight.
f.