Skip to content

Enable integration with Apptools Undo/Redo#167

Merged
corranwebster merged 20 commits into
masterfrom
feature/apptools-undo-tools
Mar 23, 2015
Merged

Enable integration with Apptools Undo/Redo#167
corranwebster merged 20 commits into
masterfrom
feature/apptools-undo-tools

Conversation

@corranwebster

Copy link
Copy Markdown
Contributor

This PR provides basic infrastructure and sample implementations of Tools that integrate with the Apptools Undo/Redo infrastructure. This is intended to be used as an (optional) replacement for the ad-hoc "tool history" implementations that don't play nicely with wider application undo/redo functionality.

The motivation for this came when working on product code that uses Apptools Undo/Redo in a lot of places, but we were unable to easily add Chaco-based operations to the Undo/Redo stack, which led to an awkward user experience.

It also adds a DemoApplication class for demos that need more than the usual DemoFrame provides (like access to menus, toolbars, status bars, etc.).

  • Basic infrastructure/core classes.
  • Undoable MoveTool implementation.
  • Example demonstrating undoable MoveTool.
  • Additional tools (eg. an Undo/Redo tool driven by keystrokes, undoable resize tool, undoable attribute change tool - such as change background color)
  • Tests!
  • Documentation!

@corranwebster corranwebster changed the title [WIP] Enable integration with Apptools Undo/Redo Enable integration with Apptools Undo/Redo Jan 19, 2015
@corranwebster

Copy link
Copy Markdown
Contributor Author

@jwiggins This is ready for review.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm guessing that 'position' here should be 'zoom level' or something similar.

Comment thread enable/tools/apptools/commands.py Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copypasta

@jwiggins

jwiggins commented Feb 8, 2015

Copy link
Copy Markdown
Member

Thanks for writing this!

@jwiggins

jwiggins commented Feb 8, 2015

Copy link
Copy Markdown
Member

What do you think about moving the unit tests to enable.tools.apptools.tests?

@jwiggins

jwiggins commented Mar 5, 2015

Copy link
Copy Markdown
Member

@corranwebster: Will you have time to look at this soon? I'd like to make a release of Enable soon and I want this feature to be part of it.

@corranwebster

Copy link
Copy Markdown
Contributor Author

OK - assuming build goes OK, I think everything is addressed.

@jwiggins

Copy link
Copy Markdown
Member

#173 should fix the build problems here. I'm otherwise ready to merge.

@corranwebster

Copy link
Copy Markdown
Contributor Author

Everything looks like it is passing. Will merge.

corranwebster added a commit that referenced this pull request Mar 23, 2015
Enable integration with Apptools Undo/Redo
@corranwebster corranwebster merged commit 2051e3b into master Mar 23, 2015
@jwiggins jwiggins deleted the feature/apptools-undo-tools branch March 23, 2015 15:52
@jwiggins

Copy link
Copy Markdown
Member

Thanks again for all the work on this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants