Skip to content

Extract IHasAxisLimits, IHasDataValidation, and IHasLegendItems from IPlottable#1881

Merged
swharden merged 2 commits intomainfrom
1868-plottable-interfaces
Jun 7, 2022
Merged

Extract IHasAxisLimits, IHasDataValidation, and IHasLegendItems from IPlottable#1881
swharden merged 2 commits intomainfrom
1868-plottable-interfaces

Conversation

@swharden
Copy link
Member

@swharden swharden commented Jun 7, 2022

The intent of this PR is to promote interface segregation (e.g., colorbar has no axis limits). resolves #1868

EDIT: this work was later reverted to maintain consistent behavior for users who implemented their own plottables implementing IPlottable and may not be aware of these new interfaces.

@swharden swharden marked this pull request as ready for review June 7, 2022 23:37
@swharden swharden enabled auto-merge June 7, 2022 23:37
@swharden swharden merged commit a182657 into main Jun 7, 2022
@swharden swharden deleted the 1868-plottable-interfaces branch June 7, 2022 23:43
swharden added a commit that referenced this pull request Jun 9, 2022
This commit moves GetAxisLimits, GetLegendItems, and ValidateData back into IPlottable, reversing work done in #1881.

Having separate interfaces such as IHasAxisLimits made sense (e.g., colorbar has no axis limits), but segregating this functionality means users who created their own plottables that previously just implemented IPlottable may not realize they need to implement these new interfaces, resulting in silent failure (unexpected change in behavior). Resolves #1868
@swharden swharden mentioned this pull request Jun 9, 2022
@swharden swharden changed the title new interfaces for plottables Extract IHasAxisLimits, IHasDataValidation, and IHasLegendItems from IPlottable Jun 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

IHasAxisLimits, IHasDataValidation, and IHasLegendItems

1 participant