Skip to content

convert BasicGraphicsScene.h and NodeGraphicsObject.h private members to protected #497

@Calaverah

Description

@Calaverah

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions