\setupoutput[pdf] \setuppapersize[S6][S6] \startJSpreamble {Notes} used now var lastNote = "" ; function Show_Note ( Name ) { if (Name != lastNote) { Hide_Note () ; var v = this.getField(Name) ; if (v) { console.println("Show Note: " + Name) ; v.display = display.visible ; v.readonly = false ; % v.richText = true ; % v.multiline = true ; % v.lineWidth = 3 ; % v.rect = [0, 0, 200, 150] ; this.dirty = false ; lastNote = Name } } else {Hide_Note () ;} } function Hide_Note ( ) { if (lastNote != "") { var v = this.getField(lastNote) ; if (v) { console.println("Hide Note: " + lastNote) ; v.display = display.hidden ; v.readonly = true ; this.dirty = false } } lastNote = "" } function Set_Tooltip ( Name ) { if (Name != "") { var v= this.getField(Name) ; if (v) { v.userName="This may help..." ; } } } \stopJSpreamble \newcounter\AnotherNote \def\SomeNote#1#2% {\hbox {\doglobal\increment\AnotherNote \definesymbol[note:\AnotherNote:on][\WhatANote{#2}]% % \setupfield[notes][offset=overlay,frame=off,option={readonly,hidden}] % this confuses acrobat, probably some interference bug, I spent too much time on that \setupfield[notes][offset=overlay,frame=off,option={readonly,hidden},% % regionin=JS(Hide_Note), regionout=JS(Hide_Note), username={Test!}, % clickin=JS(Hide_Note), % clickout=JS(Hide_Note), ] \definefield[note:\AnotherNote][check][notes][note:\AnotherNote:on,note:\AnotherNote:on][note:\AnotherNote:on]% \doifreferencefoundelse{note:\AnotherNote} {\setlayer[notes][page=\currentrealreference]{\fitfield[note:\AnotherNote]}} {\setlayer[notes]{\fitfield[note:\AnotherNote]}}% \pagereference[note:\AnotherNote]\goto{#1}[JS(Show_Note{note:\AnotherNote})]}} \setupinteraction [state=start, openpageaction=JS(Hide_Note), closepageaction=JS(Hide_Note)] \definereference[CloseNote][JS(Hide_Note)] \setupfootertexts[{\goto{Close Note}[CloseNote]}][] \setupcolors [state=start] \definecolor [notebackgroundcolor] % [s=.85] [s=1,a=1,t=.9] \defineframedtext [WhatANote] [bodyfont=9pt, background=color, backgroundcolor=notebackgroundcolor, width=.4\textwidth, height=fit, align=normal] \definelayer [notes] [width=\paperwidth, height=\paperheight, preset=rightbottom, offset=1cm] \setupbackgrounds [page] [background={notes,foreground}] \starttext \startbuffer \input ward \SomeNote{[[ward]]} {\input ward \relax} \input ward \blank \input knuth \SomeNote{[[knuth]]} {\input knuth \relax} \input knuth \blank \input tufte \SomeNote{[[tufte]]} {\input tufte \relax} \input tufte \blank \input bryson \SomeNote{[[bryson]]}{\input bryson\relax} \input bryson \blank \stopbuffer \dorecurse{10}{\getbuffer} \stoptext