This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Looks already use actions, new data system as well, it seems to be a high priority to allow Action to be returned by Node and shown in explorer's popup menu now when we have a chance of incompatible changes.
Created a branch with initial implementation. It is rooted at BLD200210100732 and called action_27868. So to get the code in the branch do: cd openide cvs upd -r action_27868 and to check the diff of the work done on the branch: cd openide cvs diff -c -N -r BLD200210100732 -r action_27868
I voted for this issue, since solving this, can eliminate use of "pending node activator" what would fix issue #25337 (see there).
I merged changes from [trunk] between BLD200210100732 and BLD2002111231011 to the branch. To better try it out in curr builds. Tags: action_27868_before_BLD200211121011_merge action_27868_after_BLD200211121011_merge
I was trying it with "pendingnodeactivator" switched off. Seems it is running fine (except properties action which I badly merged probably), even some cases I thought was problematic without it and shouldn't be affected by this issue (switching workspaces).
Additional merge from main trunk necessary because introduction of new API (3.21). cvs -j LD2002111231011 -j BLD200211140100 upd the version tagged as: action_27868_after_BLD200211140100_merge
I have created a bunch of issues that still need to be done in order to resolve this issue. Most of them are simple tests to be written to ensure correctness of the implementation. But for example issue 28796 is more investigative.
Branched core too from BLD200211190100 (needs to be synch with openide later).
Branched also scripting from BLD200211210100, due to issue #28907
I believe the arch work on issue 27868 is done and that the action stuff can be merged to trunk. Passing to Peter to decide on schedule and do the merge.
Merged changes from trunk(up to BLD200212100100) to branch (modules openide, core, scripting): tags: action_27868_before_BLD200212100100_merge, action_27868_after_BLD200212100100_merge. Now it remains "only" to revise API changes and the "phase I" could be merged into trunk.
API changes: 1) ActionCloneable { new interface for cloning action according context. Action clone(Lookup actionContext); } 2) TopComponent.getLookup method for retrieving context for TopComonent (contains activated nodes, and delegate to its action map as default). 3) Support methods for creating popup menu and cloning action(could be needless due to the interface) in Utilities, 4) Yarda told also about something in NodeOp etc. ... but there seems to be some problems after merge :-(, looking at it first.
One problem was deserialized ExplorerPanel wasn't initialized properly (i.e. its action map missed mappings for callback actions). openide/../explorer/ExplorerPanel.java 1.32.84.5 Now remains problem with disabled customize action
Also the last problem was fixed; openide/../explorer/ExplorerPanel.java [1.3284.6] Irrelevant note: Interestingly enough, on the branch before I was always tested on newly created ExplorerPanel only, (not the deserialized one), due to a big diff between trunk was not serialized win sys and I didn't mind :-(. So now is the time to revisit API changes.
I removed Utilitlies.actionClone method. It seems to be enough the ActionCloneable interface for now. Going to put the upcoming changes to [nbdev] discussion.
Renamed ActionCloneable to ContextAwareAction (it extends Action interface) and moved to org.openide.util package. I also renamed the method to createContextAwareInstance. That could be still changed, but I think it is now closer to the finish. Also refined some javadocs. Now going to look how to deprecate the actions and provide the new actions method.
Also was added method getActionMapKey to CallbackSystemAction, which replaced the use of getValue("key") construct. Preparing to merge.
Merged into [trunk]. Tags: before_merge_action_27868, after_merge_action_27868 Affected modules: openide, core, scripting and editor/src/org/netbeans/modules/editor/NbEditorKit.java file.
This issue had *1 votes* before move to platform component