The Tree of Widsdom

智慧の樹

MapMaker•OutMap

Type: Stamp

Scope: selection

Purpose: Arranges selected notes into an OutMap

This amazing new (1.6) stamp arranges, resizes, and colors notes inside Map View to create an OutMap—a map in the form of a multi-column outline. An OutMap makes a great HTML Imagemap.

This stamp works well with OutMaker Agent—agents with the outmaker_note prototype that suck their aliases from $outSource to the depth of $outDepth and then turn themselves off. See here for more.

Even if you’re not using this stamp with an OutMaker Agent, you should still assign the outmaker_note prototype so that you can easily access the OutMap control panel—which is just the Key Attribute Table for that prototype.

Key Attribute Table from <b>OutAgent: Demo</b>, which takes its aliases from <b>PAGE Sampler: Default Export</b> up to a maximum outline depth of 6.
Key Attribute Table from OutAgent: Demo, which takes its aliases from PAGE Sampler: Default Export up to a maximum outline depth of 6.

The relevant key attributes are as follows:

  • $outRowMax—Sets the maximum column length, in rows.
  • $outWidth—The column width, calculated as the $Width of the widest (heading 1) note minus $outPaddingX.
  • $outHeight—The height of each note.
  • $outGapX—The horizontal gap between columns.
  • $outGapY—The vertical gap between rows.
  • $outH1—The color for all heading 1 notes.
  • $outH2—The color for all heading 2 notes.

MapMaker OutMap works by applying the following:

if(!$IsAdornment){$Height=$outHeight($Container); $MapBodyTextSize=-1; $Shadow=0; $DEBips=0; $Width=$outWidth($Container) - (($OutlineDepth(original) - $OutlineDepth($outSource($Container)))  * 0.5); $Xpos= if(round(($SiblingOrder-1)/$outRowMax($Container)) > ($SiblingOrder-1)/$outRowMax($Container)){round(($SiblingOrder-1)/$outRowMax($Container)) - 1} else {round(($SiblingOrder-1)/$outRowMax($Container))} * ($outWidth($Container) - 0.5 + $outGapX($Container) )  + (($OutlineDepth(original) - $OutlineDepth($outSource($Container))) * 0.5); if(mod(($SiblingOrder-1),$outRowMax($Container))==0){$Ypos=0}else{$Ypos=$Ypos(prevSibling) + $Height(prevSibling) + (1 * $outGapY($Container))}; if($OutlineDepth(original)-1==$OutlineDepth($outSource($Container))){if($outH1($Container)){$Color=$outH1($Container)}}; if($OutlineDepth(original)-2==$OutlineDepth($outSource($Container))){if($outH2($Container)){$Color=$outH2($Container)}};}