Ticket #139 (closed enhancement: fixed)

Opened 19 months ago

Last modified 14 months ago

Reordering of child nodes

Reported by: paulweiss@… Owned by:
Priority: low: annoyance, enhancement Milestone: 2.0
Component: Version: 1.10
Keywords: Cc:

Description

I can provide a straight-forward example: Suppose Glen makes a graph for himself, where the tool first defines three nodes, then the edges between them. I'm not so good at hand-generating long hex UIDs, so I'll use the labels as the node identifiers.

allThatStandsBetweenMeAndWorldMastery -> orderPreservingTrees
allThatStandsBetweenMeAndWorldMastery -> implementingUndoAndRevertAndImmutable

but then, because of the frequency and amplitude of the anguished howls of his users, he decides to flip the implementation order of the last two nodes; he certainly does not want the layout algorithm to cause him to commit to the definition order simply because there's no convenient way to reorder the child nodes. (The domain of the example is just joking around, I hope obviously.) [paulweiss]

Change History

in reply to: ↑ description   Changed 18 months ago by lewiswasserman@…

Replying to paulweiss@…:

See also #176.

-- Lewis

  Changed 14 months ago by glenlow

  • status changed from new to closed
  • resolution set to fixed

(In [316]) Added node reordering (fix #139, #176): drag node over other node to reorder, dragging determines whether other node is moved forward or backward in document order, reordering is simultaneous with adding or removing from clusters. Ranking nodes is now a constrained drag: drag node while touching another part of the screen. Added drag shadow when dragging and single guide cross when constraining dragging.

Fixed shape, long press and tap gestures recognizing when previous gesture failed or ended and one or more touches are still down (fix #212).

Fixed clustering shape gesture sometimes not working (polygon intersection code had bad hardcoded leftmost point, fix #211).

Drag gesture recognizer now issues enter, over, leave and drop target events, so that view has less drag state to manage.

Removed optimization for convex polygon intersection (general polygon intersection is more robust and both polygons being convex is uncommon). Replaced willInsert and didDelete notification with shouldLayout notification.

Added GKNode reindexing. Moved hasHierarchicalLayout and hasVerticalRankDirection code to GKGraph.

Note: See TracTickets for help on using tickets.