and added method asQObject() instead
- implemented TableAppendRowsCmd
- improved handling of invalid cells
- improved handling of user input
- added "virtual QUndoStack *undoStack() const" to MyWidget
- moved the table undo stack to TableModel
- updated the test program and fixed some bugs