From d2d95b04c14dc91a6976651379d33b2b472e6cb8 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 30 Jul 2020 03:01:28 +0000 Subject: CTAN sync 202007300301 --- .../latex/contrib/popupmenu/examples/pu-exmpls.tex | 167 +++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 macros/latex/contrib/popupmenu/examples/pu-exmpls.tex (limited to 'macros/latex/contrib/popupmenu/examples/pu-exmpls.tex') diff --git a/macros/latex/contrib/popupmenu/examples/pu-exmpls.tex b/macros/latex/contrib/popupmenu/examples/pu-exmpls.tex new file mode 100644 index 0000000000..ba41a4b9f0 --- /dev/null +++ b/macros/latex/contrib/popupmenu/examples/pu-exmpls.tex @@ -0,0 +1,167 @@ +\documentclass{article} +%\usepackage{xkeyval} +\usepackage[designv]{web} +\usepackage[tracking]{popupmenu} + +\title{The \texorpdfstring{\textsf}{}{popupmenu} Package Test File} +\author{D. P. Story} +\subject{Test file for the popupmenu Package} +\keywords{LaTeX, popupmenu, Acrobat JavaScript, AcroTeX} + +\university{NORTHWEST FLORIDA STATE COLLEGE\\ + Department of Mathematics} +\email{dpstory@acrotex.net} +\version{1.0} + +\norevisionLabel + +\begin{popupmenu}{Intro} + \item{title=title,return=Title: The manual for the popupmenu package} + \item{title=author,return=Author: D. P. Story} + \item{title=package name,return=Package: popupmenu} +\end{popupmenu} + +\urlPath{\homeAtUA}{http://www.math.uakron.edu/~dpstory} +\urlPath{\homeAeB}{http://www.acrotex.net} +\urlPath{\blogAeB}{http://blog.acrotex.net} +\urlPath{\urlCTAN}{https://www.ctan.org} +\urlPath{\embedYT}{http://www.youtube.com/embed} +\urlPath{\watchYT}{http://www.youtube.com/watch?v} +\begin{popupmenu}{Various} + \item{title=Various AcroTeX Links,return=none} + \item{title=-} + \begin{submenu}{title=AeB at U of Akron} + \item{title=Home page,return=\homeAtUA/acrotex.html} + \item{title=Tutorials,return=\homeAtUA/acrotex.html\#educational} + \end{submenu} + \begin{submenu}{title=Commercial AcroTeX} + \item{title=AcroTeX main page,return=\homeAeB} + \item{title=AcroTeX blog,return=\blogAeB} + \end{submenu} + \begin{submenu}{title=AcroTeX on CTAN} + \item{title=Contributions: AcroTeX ,return=\urlCTAN/author/story} + \item{title=The popupmenu Package,return=\urlCTAN/pkg/popupmenu} + \end{submenu} + \begin{submenu}{title=YouTube Videos} + \begin{submenu}{title=Action Videos} + \item{title=Kung-Fu fighting (Bruce Lee version),return=\embedYT/GZ9e3Dy7obA} + \item{title=Rocket Jump,return=\embedYT/7XzdZ4KcI8Y} + \end{submenu} + \begin{submenu}{title=Miscellaneous} + \item{title=J\"{u}rgen's favorite song,return={\watchYT=mLDF5MBMWHE}} + \item{title=\Esc"Sea Hunt\Esc" US TV series (1958-61) lead-in,return=\embedYT/Lz0aMoWh8Q4} + \item{title=Learn \cs{LaTeX} in one video,return=\embedYT/VhmkLrOjLsw} + \end{submenu} + \end{submenu} +\end{popupmenu} + +\puUseMenus{Intro,Various} % Can track these menus + +%\previewOn + +\def\cs#1{\texttt{\eqbs#1}} +\def\pkg#1{\textsf{#1}} + +\parindent0pt\parskip6pt + +\begin{document} + +\maketitle + +\section{Examples of the documentation} + +Here is a simple example, pass your mouse pointer over the button: +\pushButton[\CA{Info}\BC{}\S{S}\H{N}\AAmouseenter{% + var cChoice = \popUpMenu(Intro);\r + if ( cChoice != null ) app.alert(cChoice); }]{intro}{}{11bp}, uses \cs{popUpMenu}, no tracking. + +Here is the same button \pushButton[\CA{Info}\BC{}\S{S}\H{N}\AAmouseenter{% + var cChoice = \puProcessMenu(Intro);\r + if ( cChoice != null ) app.alert(cChoice); }]{intro}{}{11bp}, but uses \cs{puProcessMenu}, will have tracking. + +For example, make a selection: \pushButton[\CA{My Menu}\AAmouseenter{% +%var cChoice = \popUpMenu(myMenu);\r +var cChoice = \puProcessMenu(Various);\r +if ( cChoice != null ) {\r\t + if (PUdebug)\r\t\t + app.alert("You chose the \\""+cChoice+"\\" menu item");\r\t + else app.launchURL(cChoice);\r +}}]{mymenu}{}{11bp}\olBdry +\pushButton[\TU{Toggle Debug}\CA{Action}\AAmouseup{if(PUdebug){\r\t + PUdebug=false;event.target.buttonSetCaption("Action");} + else {PUdebug=true;event.target.buttonSetCaption("Debug");} +}]{DebugBtn}{.5in}{11bp} (tracking) + +% Declare in the body of the text, can use anywhere after this declaration +\begin{popupmenu}{LocalMenu} + \item {title=First Item} + \item {title=Second Item} +\end{popupmenu} + +Here, in the body, we declare a (simple) menu: \pushButton[\CA{My Menu}\AAmouseenter{% +\LocalMenu\r +var cChoice = \popUpMenu(LocalMenu);\r +if ( cChoice != null ) app.alert("You chose the \\""+cChoice+"\\" menu item"); +}]{LocalMenuBtn}{}{11bp}. This is a locally defined menu, \texttt{popumenu} +declared in the body of the document. (Uses \cs{popUpMenu}, no tracking) + +Pick your choice: +\begin{popupmenu}{puMulti} + \item {title=Item 1,return=0} + \item {title=Item 2,return=1} + \begin{submenu}{title=Other items} + \item{title=Item 3,return=2} + \end{submenu} +\end{popupmenu} +\begin{defineJS}[\makeesc|]{\puMultiActn} +|puMulti +var cChoice = |popUpMenu(puMulti); +if ( cChoice != null ) { + switch (cChoice) { + case "0": + app.alert("You chose Item 1 from the menu"); + break; + case "1": + app.launchURL("|homeAeB"); + break; + default: console.show(); + console.println("Menu returned a value of \\""+cChoice+"\\""); + break; + } +} +\end{defineJS} +\pushButton[\CA{Multi}\AAmouseenter{\puMultiActn}]{MultiBtn}{}{11bp}\olBdry. Locally defined \texttt{popupmenu}, +no tracking. + +\section{Examples using push buttons of \texorpdfstring{\protect\textsf}{}{hyperref}} + +You can use the \cs{PushButton} command of \pkg{hyperref} to accomplish the same thing, but with less flair. +\begin{itemize} + \item Mouse over event: \PushButton[name=hyperbutton1,onenter={% + var cChoice = \puProcessMenu(Various); + if ( cChoice != null )app.launchURL(cChoice);}]{Various URLs} (tracking) + \item Mouse up event: \PushButton[name=hyperbutton2,onclick={% + var cChoice = \puProcessMenu(Various); + if ( cChoice != null )app.launchURL(cChoice);}]{Various URLs} (tracking) +\end{itemize} + +\section{Handling the `none' return value} + +The handling of a return value of `none' is automatic when \cs{puProcessMenu} is used. When +\cs{popUpMenu} is employed, some special attention is needed. The topmost item of the +menu \texttt{Various} has a return value of `none'. +\begin{itemize} + \item With tracking: \pushButton[\CA{My Menu}\AAmouseenter{% + var cChoice = \puProcessMenu(Various);\r + if ( cChoice != null ) app.launchURL(cChoice); + }]{mymenu}{}{11bp} + \item Without tracking: \pushButton[\CA{My Menu}\AAmouseenter{% + % \popUpMenu returns the string "null", so we must test if "null" is the return value, + % if so, we make cChoice=null + var cChoice = \popUpMenu(Various);\r + if (cChoice=="null") cChoice=null;\r + if ( cChoice != null ) app.launchURL(cChoice); + }]{mymenu}{}{11bp} +\end{itemize} + +\end{document} \ No newline at end of file -- cgit v1.2.3