There are two major approaches to object editing. I'll describe these option further in the following. The latter option is the most appealing to me, but obviously also the most work-consuming one to implement. The two arguments are a list of vectors and a list of modes. The tags of the list are used for column labels in the editing grid.
Attributes are unchanged by editing, unless the length of a column was changed.
The result is passed back as a list. Data frames are converted to lists of vectors, and things like data frames containing matrices are not handled at all. There's no way of adding or deleting elements in the middle of a vector, and no way to reshuffle columns. Fields are restricted to 10 characters, longer values can be entered, but are not shown. The automatic assignment of data.entry into the global environment may not be all that good an idea.