Bug 143936 - [TabbedProperties] Undo/Redo not working in Tabbed Properties View
Summary: [TabbedProperties] Undo/Redo not working in Tabbed Properties View
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: 3.2.1   Edit
Assignee: Anthony Hunter CLA
QA Contact:
URL:
Whiteboard:
Keywords: api
Depends on:
Blocks:
 
Reported: 2006-05-26 08:44 EDT by Dusko CLA
Modified: 2008-09-11 07:22 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dusko CLA 2006-05-26 08:44:55 EDT
Undo/Redo do not work in Tabbed Properties View except when the contributor is an editor. It does not work in following frequent use cases:
- contributor is a view
- contributor is selection based
- it is just an implementation of the interface and not the part itself nor its selected objects (as in case of Project Explorer / Common Navigator)

Narrowed down the code dealing with installing undo/redo to TabbedPropertySheetPage#setActionBars(IActionBars actionBars)
Comment 1 Anthony Hunter CLA 2006-07-06 13:22:09 EDT
Committed fix to R3_2_maintenance
Comment 2 Anthony Hunter CLA 2006-07-06 14:04:34 EDT
Committed fix to R3_2_maintenance
Comment 3 Tod Creasey CLA 2006-07-10 16:14:45 EDT
Anthony are you also committing these to the 3.3 stream? I ask because the releng tool is not picking up the changes and I want to be sure it is a bug in the tool.
Comment 4 Anthony Hunter CLA 2006-07-10 16:21:29 EDT
Yes, these will need to go to 3.3, but I have not merged them into HEAD yet.
Comment 5 Anthony Hunter CLA 2006-07-31 09:36:58 EDT
The version of the plug-in should have been changed to 3.2.1 and not 3.2.100.

This this changed resulted in the change to the version I am reopening this Bugzilla.
Comment 6 Anthony Hunter CLA 2006-07-31 10:57:53 EDT
The version of the org.eclipse.ui.views.properties.tabbed plug-in has been changed to 3.2.1 in the R3_2_maintenance branch.
Comment 7 Boris Bokowski CLA 2006-08-28 17:36:43 EDT
org.eclipse.ui.views.properties.tabbed.IActionProvider is new API in 3.2.1.  Assuming there was no other way to fix this (we typically don't put new API into maintenance releases), the interface lacks an @since tag.
Comment 8 Boris Bokowski CLA 2006-08-28 17:43:15 EDT
I also don't see IActionProvider in HEAD. Reopening to make sure this is released into HEAD as well.
Comment 9 Anthony Hunter CLA 2006-08-29 09:14:36 EDT
(In reply to comment #7)
> org.eclipse.ui.views.properties.tabbed.IActionProvider is new API in 3.2.1. 
> Assuming there was no other way to fix this (we typically don't put new API
> into maintenance releases), the interface lacks an @since tag.

Added @since 3.2.1 to IActionProvider in R3_2_maintenance
Comment 10 Anthony Hunter CLA 2006-08-29 09:25:04 EDT
(In reply to comment #8)
> I also don't see IActionProvider in HEAD. Reopening to make sure this is
> released into HEAD as well.

I have merged all changes in R3_2_maintenance to HEAD.
Comment 11 Boris Bokowski CLA 2006-08-29 09:26:43 EDT
McQ, we need your approval for this (new API interface IActionProvider in
3.2.1). 
Comment 12 Boris Bokowski CLA 2006-08-29 09:34:32 EDT
Anthony, could you please explain why new API was required to fix this?
Comment 13 Anthony Hunter CLA 2006-08-29 09:55:28 EDT
In 3.2, we introduced Project Explorer and Tabbed Properties View integration. The Project Explorer uses the Tabbed Properties View rather than the regular table format properties view.

We also introduced the ability for a contributor to Project Explorer to contribute a configuration to the Tabbed Properties View. Clients can see their custom contributed content in the Project Explorer tree as well as the custom property tabs and sections in the Tabbed Properties View.

Project Explorer provided the ability to add or override actions, we did not do this for the Tabbed Properties View.

This specific issue was revealed with an IBM client. As a result, when a contributors element is selected in Project Explorer and then the Tabbed Properties View is selected, their actions are not enabled.

This specific bugzilla raised above is for Undo/Redo global actions.

The only way to fix the issue was to add extensibility to allow clients to add actions, hence IActionProvider was added.

IActionProvider is triggered by a new optional attribute in the extension point, so there is zero risk of regression and the plug-in in 3.2.1 is completely backward compatible.
Comment 14 Anthony Hunter CLA 2006-08-29 09:57:26 EDT
(In reply to comment #11)
> McQ, we need your approval for this (new API interface IActionProvider in
> 3.2.1). 

My IBM Client had a blocking defect on this and has solved by downloading Eclipse 3.2.1 and applying a fix using the new API. Backing this fix out is not an option at this point, we already released the driver.
Comment 15 Mike Wilson CLA 2006-08-29 13:45:41 EDT
Anthony, we treat adding new API in maintenance releases as an exremely serious issue. Even though this API seems totally reasonable, the end result is that we would now be in a situation where plug-ins can be written that would run against the maintenance release, but not against the base release. In other words, anyone who uses this API would need to require 3.2.1 in their plug-in dependencies. Ugh!

In addition, maintenance release cycles are not set up to give the community time to review new API so that we could respond to their concerns. As such, if we have any doubts about the API _at_all_ then it absolutely must be moved to an internal package regardless of who has currently implemented something on some R3.2.1 development stream build. Only if we are 100% confident that this is *the* answer for R3.3 and beyond can we even consider it.

Boris is the UI team API cop, please make sure that any concerns he has are addressed. If he is 100% satisfied that this API is acceptable, I will approve it.
Comment 16 Anthony Hunter CLA 2006-08-29 13:58:25 EDT
(In reply to comment #15)
> [snip] In other
> words, anyone who uses this API would need to require 3.2.1 in their plug-in
> dependencies. Ugh!

Exactly, the IBM Client has updated his plug-in to explicitly require 3.2.1 ( [3.2.1,4.0.0) ) of org.eclipse.ui.views.properties.tabbed . And his product will be shipping on a 3.2.1 based Eclipse.
Comment 17 Boris Bokowski CLA 2006-08-29 14:20:14 EDT
Anthony, to review the changes you released it would be good if you could attach it as a patch. Thanks!

BTW, for fixes that go into maintenance releases, we (Platform/UI) always attach a patch.  This makes it easier to review the changes, to back out of them if required, and to apply the same changes to two streams (in this case 3.3 and 3.2.1).
Comment 18 Boris Bokowski CLA 2006-09-05 23:44:17 EDT
(In reply to comment #17)
> Anthony, to review the changes you released it would be good if you could
> attach it as a patch. Thanks!

Reopening bug so that this does not fall through the cracks.
Comment 19 Anthony Hunter CLA 2006-09-06 13:15:03 EDT
Note I am at EclipseWorld the week of Sept 5-8
Comment 20 Boris Bokowski CLA 2006-09-07 15:34:24 EDT
Marking as fixed to have an empty query for open 3.2.1 bugs. I still need the patch though to review the changes.