mirror of
https://github.com/ArnoldSmith86/virtualtabletop.git
synced 2026-03-02 22:57:02 -05:00
Holder Events #521
Labels
No labels
PCIO compatibility
Validator
automated testing
bug
documentation
duplicate
editor
enhancement
enhancement
library
library
maintenance
needs legacy server
pile related
reported client crash
routine operations
user interface
widget properties
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/virtualtabletop#521
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @robartsd on GitHub (May 13, 2022).
We know that holder events don't work as we want them to, but we haven't really defined how we want them to work. This is a draft of what I think should happen.
Widget dragged from HolderA to HolderB
parentset to nullbeforeLeaveRoutine(mitigate that leave routine no longer fires twice by addingbeforeLeaveRoutinethat callsleaveRoutinevia fileupdater)childrenPerOwnerand HolderA.onLeaveleaveRoutineparentset to HolderB.idchildrenPerOwner, HolderB.onEnter, HolderB.alignChildrenafterLeaveRoutineenterRoutineWidget dragged into HolderB
parentset to HolderB.idchildrenPerOwner, HolderB.onEnter, HolderB.alignChildrenenterRoutineWidget dragged out of HolderA
parentset to nullbeforeLeaveRoutinechildrenPerOwnerand HolderA.onLeaveleaveRoutineafterLeaveRoutineWidget dragged within HolderA (Holder is always hoverTarget during the move)
parentset to nullbeforeLeaveRoutineparentset to HolderA.idchildrenPerOwner, HolderA.onEnter, HolderA.alignChildrenleaveCancelledRoutinewith flag indicating thatleaveRoutinewas not calledWidget dragged out of HolderA, but returns to HolderA before being dropped
parentset to nullbeforeLeaveRoutinechildrenPerOwnerand HolderA.onLeaveleaveRoutineparentset to HolderA.idchildrenPerOwner, HolderA.onEnter, HolderA.alignChildrenleaveCancelledRoutinewith flag indicating thatleaveRoutinewas calledMOVEWidget from HolderA to HolderBchildrenPerOwnerand HolderA.onLeaveleaveRoutinewith flag indicating that widget was moved by a routineparentset to HolderB.idchildrenPerOwner, HolderB.onEnteralignChildrenafterLeaveRoutinewith flag indicating that widget was moved by a routineenterRoutinewith flag indicating that widget was moved by a routineMOVEXYWidget from HolderAchildrenPerOwnerand HolderA.onLeaveleaveRoutinewith flag indicating that widget was moved by a routineparentset to nullafterLeaveRoutinewith flag indicating that widget was moved by a routineMOVEWidget to HolderB (after collection support is added for MOVE)parentset to HolderB.idchildrenPerOwner, HolderB.onEnteralignChildrenenterRoutinewith flag indicating that widget was moved by a routine@96LawDawg commented on GitHub (May 14, 2022):
Wow. That is an impressive amount of thought and work on the structure. Other than rooms with hacky workarounds for
leaveRoutinefiring twice, do you think this will break anything? I'm not sure I have the capacity to follow or understand the consequences.@mousewax commented on GitHub (May 14, 2022):
Is this an appropriate place to add my wish list item for
"showMouseCursor": falsespecifically for holders?@robartsd commented on GitHub (May 15, 2022):
Me either. I just was thinking enough about this that I thought it warranted a record here. I don't have significant ideas on how it to implement or what the ramifications it could have on existing games.