| Summary: | [Cheat Sheet Authoring] New simple cheat sheet editor UI | ||
|---|---|---|---|
| Product: | [Eclipse Project] PDE | Reporter: | Mike Pawlowski <mike.pawlowski> |
| Component: | UI | Assignee: | Mike Pawlowski <mike.pawlowski> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | pde-ui-inbox |
| Version: | 3.3 | ||
| Target Milestone: | 3.3 M2 | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 146988 | ||
|
Description
Mike Pawlowski
Patch applied to HEAD in CVS
WORK DONE:
* Created two new simple cheat sheet model interface methods
-> getName: to facilitate clean programming for tree section to access
simple cheat sheet object names through PDE label provider
-> getChildren: to facilitate clean programming for tree section to access
simple cheat sheet object children through cheat sheet content provider
-> Implemented new interface methods for all simple cheat sheet objects
(11 underlying model classes)
* Created new simple cheat sheet editor extension
-> Created new content type extension to associate XML files that contain
'cheatsheet' root elements with the simple cheat sheet editor
-> Created associated simple cheat sheet editor contributor
-> Created underlying simple cheat sheet editor class and hook in with
simple cheat sheet input context
* Implemented the simple cheat sheet editor input context
-> Loads the XML simple cheat sheet file content into the simple cheat sheet
model using the underlying model parsing facilities
-> Flushs the simple cheat sheet model back to file using the underlying
model parsing facilities
* Implemented the simple cheat sheet input context manager
* Copied in reasonable placeholder images to represent simple cheat sheet
items, subitems, intros, onCompletions and commands in the master
tree section
* Updated PDE label provider to retrieve associated simple cheat sheet object
names and images for simple cheat sheet items, subitems, intros,
onCompletions and commands in the master tree section
* Updated cheat sheet wizard to generate proper values for generated
simple cheat sheet using simple cheat sheet model on wizard finish
* Updated cheat sheet wizard to open new simple cheat sheet editor using
generated simple cheat sheet content as input on wizard finish
* Implemented master details block pattern for simple cheat sheet editor page
-> Implemented the details page provider to update the details section
with the appropriate section depending on the node selected in the
master tree section
* Implemented the UI and hooked in a content provider and label provider for
the master tree section of the master details block pattern
* Implemented simple cheat sheet content provider for the master tree
section in order to adapt elements in the simple cheat sheet model into
a model representation suitable for the tree widget
* Implemented the UI and associated UI update facilities (read from the
simple cheat sheet model) for the following details sections of the master
details block pattern:
-> items
-> subitems
-> cheatsheets
-> descriptions
-> intros
-> commands
* Implemented feature to abort editor UI generation on invalid XML simple
cheat sheet input
-> uses generated RuntimeException (temporary)
TODO:
* Submit image request to visual design team for images to represent simple
cheat sheet items, subitems, intros, onCompletions and commands in the master
tree section
* Submit image request to visual design team for images to represent simple
cheat sheet actions, conditional subitems, repeated subitems, perform whens
in the master tree section
* Implement the UI and associated UI update facilities (read from the
simple cheat sheet model) for the following details sections of the master
details block pattern:
-> onCompletions
-> actions
-> conditional-subitems
-> repeated-subitems
-> perform-whens
* Solicit feedback from Wassim
FEEDBACK:
* Initial UI feedback provided by Dejan and Curtis too much to list for this
bug report
-> Will open up each recommendation as a separate bug
Good progress, Mike. A couple of suggestions: 1. It appears as though the Cheat Sheet content tree is on its way to show a one-to-one mapping to the xml elements in the documents. This is not necessary. It would be better if we stayed away from that. For example, I prefer to see an item's description as a property of that item in the UI, rather than a child element node of the 'item' node. The fact that a 'description' is a subelement is just implementation-detail. 2. Also, the label for an 'item' in the tree should be based on the value of its 'title' attribute. If such an attribute is not defined yet, then 'item' is fine. The point here is that we want the labels/icons in the tree to be as descriptive as possible at a glance. We don't want people to start clicking on each node to see what it does. If that's the case, then they'd be better off looking at the content in a plain text editor, which we want to avoid. Thanks for the feedback, Wassim. Agree on all counts. Curtis and Dejan voiced similar concerns. Mike, I disabled the editor for the I-build. Patch released to HEAD in CVS
Work Done:
* Updated master tree view node labels to reflect actual node content
-> Labels updated on save
-> Created feature to truncate and trail off text (using '...')
- Use for long labels
* Made master tree view node layout structure aesthetically a one-to-one
correspondence with the cheat sheet view
* Refactored out the help and command sections into a UI factory utility
* Created UI for commands
-> Utilizes a separate section specifying the following:
- A text field widget for the presentable command name
- A command parameters table
- A browse button for Command Composer
-> Utilize ParameterizedCommand as interface between editor and Command
Composer
* Created new simple cheat sheet editor outline view
|