Tinderbox User-to-User Forum (for formal tech support please email: info@eastgate.com)
http://www.eastgate.com/Tinderbox/forum//YaBB.cgi
Tinderbox Users >> Agent, Actions, Rules & Automation >> Forcing an Outline to conform to Map positions
http://www.eastgate.com/Tinderbox/forum//YaBB.cgi?num=1261048938

Message started by Andrew Saffer on Dec 17th, 2009, 6:22am

Title: Forcing an Outline to conform to Map positions
Post by Andrew Saffer on Dec 17th, 2009, 6:22am

I'd like to do the unthinkable:

I have a large mind map that looks like Post-It Notes on a wall arranged like this:

Idea 1                             Idea 2
         Idea 1.1  Idea 1.2             Idea 1.1  Idea 1.2 etc.

Is there a way to force the Outline View to reflect this hierarchy, easily, as a one-off, rather than having to manually go in and reorder them?

Thanks,

Andrew

Title: Re: Forcing an Outline to conform to Map positions
Post by Jean Goodwin on Dec 17th, 2009, 7:34am

If the map does look like your post....have you tried sorting the outline's container by Xpos--and probably also using a prototype that makes the  Idea 1 & 2 notes visually distinctive?  Good luck!

Title: Re: Forcing an Outline to conform to Map positions
Post by Mark Anderson on Dec 17th, 2009, 8:16am

Ordering on the numbering should be possible but note that if you wish to nest 1.1, 1.2 inside 1 and 2.1 inside 2, etc.,  then it will destroy your map as all maps notes must be siblings (same parent & same outline depth).

Title: Re: Forcing an Outline to conform to Map positions
Post by Andrew Saffer on Dec 17th, 2009, 4:55pm

Jean, it's amazing that the process is that simple. Thanks.

Mark, excellent point about messing up the Map with containers. I'd forgotten about that. Thanks.

Although I plan to Sort By xpos this time, in future, is there a way to sort the Outline as I'd originally asked, so that my one-level map becomes multi-level, but the Outline is correct?

Thanks again,

Andrew

Title: Re: Forcing an Outline to conform to Map positions
Post by Mark Anderson on Dec 18th, 2009, 6:52am

There probably is a way to do this as long as each 'level' of note has the same $Ypos value - i.e. each level is in an exact horizontal line across the map. Also, if you have more than 1 or two levels the code will get messy. Certainly to collapse 2 map 'levels' as per your original description (1.1 inside 1, 2.1 insdie 2, etc.) based just on note position (i.e. no numbered names) is possible. Note: such a transform would be one-way with no undo. However, one could also make an agent that would flatten an outline back to a map. Actually, the latter's easier than I thought (just tested this in v5).

Let's assume for the following scenario that your map's container (the note containing the map) is called "The Map". Make this agent:

Agent Query: descendedFrom(The Map) & !inside(The Map)
AgentAction: $Container(original)="The Map";

How does this work.  OK we need to move all grandchildren of 'The Map' and their descendants up so they become immediate children of 'The Map'. So, the query collects aliases of all notes that are descendants of 'The Map' and then removes those that are actual children (i.e. inside()) 'The Map' as we don't need to move the latter group.

OK so now we have an alias [sic] of each note we need to move, we simply set the $Container for the aliases original.  If we don't at the ''(original)" qualifier, the alias in the agent is moved to the new location; worse, the agent recreates its alias next cycle, moves that, and so on - piling up copies of the alias inside 'The Map'.

Related study notes: Map Coordinates, Outlines vs. Maps

Title: Re: Forcing an Outline to conform to Map positions
Post by Andrew Saffer on Dec 20th, 2009, 8:11pm

That is brilliant. I have come to expect no less, but it's still delightful each time.

It's so good having geniuses as friends... ;-). Thanks again,

Andrew

Title: Re: Forcing an Outline to conform to Map positions
Post by Mark Anderson on Oct 18th, 2012, 12:22pm

Bump - dusting off an old topic for new visitors.

Tinderbox User-to-User Forum (for formal tech support please email: info@eastgate.com) » Powered by YaBB 2.2.1!
YaBB © 2000-2008. All Rights Reserved.