Community
Participate
Working Groups
This task is marked as TODO and may have been overlooked. There is no way to customize the way a CellEditor exits edit mode since the hookListeners() method cannot be overriden.
What is it that you want to do differently? Maybe we can add that case rather than open up new API.
Reducing severity to normal.
Created attachment 77815 [details] reveals API I want to add a new listener in the DirectEditManager. The method unhookListeners() is already protected, but hookListeners() isn't. I would also like access to the locator. It is passed into the constructor so I see no reason to not make the getLocator() method protected.
What's the reason to access the locator rather than the method placeCellEditor()? Just asking because maybe the reason is related to another open bug aboue the fact that the locator is invoked twice for every character when typing into a Text control.
Actually, if the method placeCellEditor() is changed to protected that would be sufficient. There are two cases where we need access to the locator or the placeCellEditor() call. 1) There is currently a case in our code where we have to relocate the cell locator so we are caching the locator in our subclass as well to have access to it. I don't know the history of this change. 2) With the changes I am making to use the flow figure classes in our label figures, the cell locator's size is based on the FlowPage figure bounds; however, in DirectEditManager.hookListeners() the AncestorListener is added to the editpart's figure which is the label figure (parent of the FlowPage) and not the FlowPage figure.
> 2) ... in DirectEditManager.hookListeners() the AncestorListener is added to > the editpart's figure ... Sounds like the manager should allow clients to specify which figure the locator is actually tracking, rather than assuming that it is the primary figure.
Created attachment 78758 [details] Final patch Updated patch that has been reviewed by Anthony.
Committed to HEAD