Editor improvements: undo, context menu on hierarchy, shell list, clear warnings...

  1. With great thanks to Eugene Loza, we now have a working Undo system for Castle Game Engine Editor!

    • You can undo / redo any action.
    • The undo / redo menu items shows the previous/next operation description.
    • History is trimmed smartly based on approximate size in memory.
    • See the pull request for details.
    • Just try it! It’s bound to Ctrl + Alt + Z shortcut now.

    We want to work on it some more before release: correctly handle transformation changes by gizmos, correctly handle record changes (like TCastleColor) by dialogs (right now these actions will be glued to the next undo; so the design remains correct, you just don’t have the “granularity” of undoing/redoing that you may expect). I’d also like to experiment whether we can assign it to Ctrl + Z when OI is not focused (right now undo is bound to Ctrl + Alt + Z to avoid conflicts).

  2. You can now edit names of components in the editor’s tree view (click or press F2). Also thanks to Eugene Loza!

  3. Right-clicking in hierarchy now exposes a context menu with some useful functions, in particular you can add new component as a child of selected. The credit for this goes also to Eugene Loza – thank you!

  4. Thanks to Andrzej Kilijański, we have a “Clear” button to clear currently displayed warnings.

  5. Fixed deleting a component (deletion should be recursive, previously the children were hidden but remained in memory and prevented from reusing the same Name).

  6. The shell list view is better, with directories.

  7. The dialog to open URLs (e.g. for TCastleScene.URL) by default starts in project’s data directory, to make it natural to choose files there.