Move Actions-related interfaces into their own packages for clarity #420
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.
This is a proposal for how we could better separate the actions of the view/model from their implementations' code. In other words, rather than having a
GenericStyledArea
that is 1000 lines of code long, most of which is filled with properties, javadoc, and other implementation details, making it difficult for new users to figure out how to use the code immediately, we can move that to their own corresponding interface so that it's easier to find all the relevant methods one can call on an area.StyleableSequence
was added so that a futureGenericRichArea
(non-styled area) could become the new base area more easily by simply removing that interface from the base classes and adding it to subclasses.GenericStyledArea
) could have two interfaces: 1)ViewActions
for other view-related actions (e.g. scrolling, showing a specific line, etc.) and 2)ViewNavigation
for other navigation that can only be done in the view, not model (e.g.lineStart/End
, notparagraphStart/End
in Update method & behavior: lineStart/End, not paragraphStart/End #419).StyledTextAreaBehavior
(e.g. selectWord, deletePrevWord, deleteNextWord, etc.) could be added to these interfaces so that developers who are implementing their own custom behavior can create them much faster.