-
Notifications
You must be signed in to change notification settings - Fork 929
Description
Your idea
Allowing each class to be fully inherited with protected members rather than private members, but specifically BasicGraphicsScene and NodeGraphicsObject
Problem to be solved
Allowing inherited classes to access these private members can allow for custom logic such as implementing custom graphics objects that inherit from the current classes used.
In our use case, we would like to employ custom events for ui interactions. But to use a custom NodeGraphicsObject, we would have to shadow employ members of the scene class and override ANY function that uses that member instead of just overriding specific methods.
An example: in our model we make use of groups (non visual) in which shift clicking a node will select all of it's group mates. However, while the logic currently works, it is desirable to have the interaction happen on click down instead of click release without making use of the node selected event (as this would cause a recursive loop that unselects the nodes and then reselects and so on). When shift clicking and dragging, the group should all move instantly, however in the current solution dragging prevents the mouse click release event from firing and calling out the node clicked event.
Prior art
No response
Additional context
Since this project is part of a reverse engineering effort, some custom logic is needed. I can make the non-intrusive changes in my fork and submit if that's easiest. (simply changing private to protected where needed)
Checklist
- I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests