Adopt new command query annotations in Debugger, class & package browsers#1202
Merged
Adopt new command query annotations in Debugger, class & package browsers#1202
Conversation
…sers Method history extension was using the deprecated mechanism for adding extension queryCommand: style methods, which can be replaced with the cleaner declarative association (specified using an annotation) between extension commands and a query handler. This is an appropriate time to replace all the queryCommand: switch methods in the extended dev tools (debugger, class browser, method browser and package browser) too. Create a common pattern for the context sensitive commands (browse-it, inspect-it, accept-it, etc) and provide the majority of this at the SmalltalkToolShell level. Individual tools implement a mapping function to return the live selector for the context sensitive command, e.g. based on subview focus. They then implement the commands to which the generic/context-sensitive command is matched, and associate these with query handlers. A number of bugs and inconsistencies in the enablement/action of the commands became much more obvious with the new mechanism, and were fixed. Further refinement of new command querying ClassSelector. Remove the interim mechanism for declaring additional queryCommand: methods originally introduced to replace the legacy mechanism. This is unnecessary as it isn't required for backwards compat (the legacy mechanism still works), and it is inferior to the individual command query annotations. The legacy mechanism is now deprecated.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Method history extension was using the deprecated mechanism for adding extension queryCommand: style methods, which can be replaced with the cleaner declarative association (specified using an annotation) between extension commands and a query handler.
This is an appropriate time to replace all the queryCommand: switch methods in the extended dev tools (debugger, class browser, method browser and package browser) too.
Create a common pattern for the context sensitive commands (browse-it, inspect-it, accept-it, etc) and provide the majority of this at the SmalltalkToolShell level. Individual tools implement a mapping function to return the live selector for the context sensitive command, e.g. based on subview focus. They then implement the commands to which the generic/context-sensitive command is matched, and associate these with query handlers.
A number of bugs and inconsistencies in the enablement/action of the commands became much more obvious with the new mechanism, and were fixed.
Further refinement of new command querying ClassSelector.
Remove the interim mechanism for declaring additional queryCommand: methods originally introduced to replace the legacy mechanism. This is unnecessary as it isn't required for backwards compat (the legacy mechanism still works), and it is inferior to the individual command query annotations. The legacy mechanism is now deprecated.