From c17064775d7e90924ff14d980639b5d6d9e0618a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 2 Nov 2018 20:52:45 +0000 Subject: grayhints (2nov18) git-svn-id: svn://tug.org/texlive/trunk@49052 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/grayhints/grayhints.sty | 236 ++++++++++++++++----- 1 file changed, 183 insertions(+), 53 deletions(-) (limited to 'Master/texmf-dist/tex/latex/grayhints') diff --git a/Master/texmf-dist/tex/latex/grayhints/grayhints.sty b/Master/texmf-dist/tex/latex/grayhints/grayhints.sty index ac23dad98a7..4d901492d03 100644 --- a/Master/texmf-dist/tex/latex/grayhints/grayhints.sty +++ b/Master/texmf-dist/tex/latex/grayhints/grayhints.sty @@ -7,8 +7,8 @@ %% grayhints.dtx (with options: `copyright,package') %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% grayhints.sty package, %% -%% Copyright (C) 2016 D. P. Story %% +%% grayhints.sty package, %% +%% Copyright (C) 2017--2018 %% %% dpstory@uakron.edu %% %% %% %% This program can redistributed and/or modified under %% @@ -19,27 +19,32 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e}[1997/12/01] \ProvidesPackage{grayhints} - [2017/03/02 v1.0 grayhints: Create gray hints in text fields] + [2018/11/01 v1.2 grayhints: Create gray hints in text fields] \DeclareOption{usehyforms}{% \def\FormsRequirement{\RequirePackage{insdljs}[2017/03/02]}} \def\FormsRequirement{\RequirePackage{eforms}[2017/02/27]} -\DeclareOption{nocalcs}{\let\nodljsend\endinput} +\DeclareOption{usealtadobe}{\PackageWarningNoLine{grayhints} + {The `usealtadobe' option is now deprecated.\MessageBreak + The alternate functions are automatically loaded.\MessageBreak + Please remove this grayhints package option}} +\DeclareOption{nocalcs}{\let\nocalcs\endinput} +\let\nocalcs\relax \DeclareOption{nodljs}{\let\FormsRequirement\relax - \let\nodljsend\endinput} + \let\nodljsend\endinput} \let\nodljsend\relax \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{insdljs}} \ProcessOptions \FormsRequirement \@ifundefined{jsColor}{\let\eq@YES=y\let\eq@NO=n% - \InputIfFileExists{eqcolor.def} - {\PackageInfo{grayhints}{Inputting eqcolor.def from exerquiz}} - {\PackageError{grayhints}{cannot find eqcolor.def belonging - to exerquiz}{Refresh your file name database and try again.}} + \InputIfFileExists{eqcolor.def} + {\PackageInfo{grayhints}{Inputting eqcolor.def from exerquiz}} + {\PackageError{grayhints}{cannot find eqcolor.def belonging + to exerquiz}{Refresh your file name database and try again.}} }{} \newcommand{\normalGrayColors}[2]{\def\gh@rgi{#1}\def\gh@rgii{#2}% - \ifx\gh@rgi\@empty\else - \jsColor\gh@normalcolor{#1}\gh@chkTr@nsparency\fi - \ifx\gh@rgii\@empty\else\jsColor\gh@graycolor{#2}\m@tchGray\fi} + \ifx\gh@rgi\@empty\else + \jsColor\gh@normalcolor{#1}\gh@chkTr@nsparency\fi + \ifx\gh@rgii\@empty\else\jsColor\gh@graycolor{#2}\m@tchGray\fi} \def\gh@normalcolor{}\def\gh@graycolor{} \AtEndOfPackage{\normalGrayColors{color.black}{color.ltGray}} \definecolor{ltGray}{gray}{0.75} @@ -52,28 +57,28 @@ \def\gh@pd@cyan{cyan}\def\gh@pd@magenta{magenta} \def\gh@pd@yellow{yellow} \def\m@tchGray{\eq@checkRawJSColor{\gh@graycolor}% - \ifx\eqpredefineJSCol\eq@NO - \let\matchGray\@empty - \expandafter\gh@extr@ctJSModelInfo\gh@graycolor\@nil - \ifx\@rgi\@empty\else\edef\matchGray{\@rgi}\fi - \ifx\@rgii\@empty\else\edef\matchGray{\matchGray\space\@rgii}\fi - \ifx\@rgiii\@empty\else - \edef\matchGray{\matchGray\space\@rgiii}\fi - \ifx\@rgiv\@empty\else\edef\matchGray{\matchGray\space\@rgiv}\fi - \else - \expandafter\gh@getColorFromPrefined\gh@graycolor\@nil - \@ifundefined{gh@pd@\pd@color}{% - \def\gh@graycolor{color.ltGray}\def\pd@color{ltGray}% - \PackageWarning{grayhints} - {The color.\pd@color\space is undefined,\MessageBreak - substituting color.ltGray}}{\ifx\pd@color\gh@transparent - \def\gh@graycolor{color.ltGray}\def\pd@color{ltGray}% - \PackageWarning{grayhints} - {A transparent color is not supported,\MessageBreak - using color.ltGray instead}\fi - }% - \edef\matchGray{\@nameuse{gh@pd@\pd@color}}% - \fi} + \ifx\eqpredefineJSCol\eq@NO + \let\matchGray\@empty + \expandafter\gh@extr@ctJSModelInfo\gh@graycolor\@nil + \ifx\@rgi\@empty\else\edef\matchGray{\@rgi}\fi + \ifx\@rgii\@empty\else\edef\matchGray{\matchGray\space\@rgii}\fi + \ifx\@rgiii\@empty\else + \edef\matchGray{\matchGray\space\@rgiii}\fi + \ifx\@rgiv\@empty\else\edef\matchGray{\matchGray\space\@rgiv}\fi + \else + \expandafter\gh@getColorFromPrefined\gh@graycolor\@nil + \@ifundefined{gh@pd@\pd@color}{% + \def\gh@graycolor{color.ltGray}\def\pd@color{ltGray}% + \PackageWarning{grayhints} + {The color.\pd@color\space is undefined,\MessageBreak + substituting color.ltGray}}{\ifx\pd@color\gh@transparent + \def\gh@graycolor{color.ltGray}\def\pd@color{ltGray}% + \PackageWarning{grayhints} + {A transparent color is not supported,\MessageBreak + using color.ltGray instead}\fi + }% + \edef\matchGray{\@nameuse{gh@pd@\pd@color}}% + \fi} \def\gh@chkTr@nsparency{\eq@checkRawJSColor{\gh@normalcolor}% \ifx\eqpredefineJSCol\eq@YES \expandafter\gh@getColorFromPrefined\gh@normalcolor\@nil @@ -88,30 +93,155 @@ \fi } \def\gh@extr@ctJSModelInfo[#1,#2]\@nil{% - \gh@getspecv@lues#2,,,,\@nil}% + \gh@getspecv@lues#2,,,,\@nil}% \def\gh@getspecv@lues#1,#2,#3,#4,#5\@nil{% - \def\@rgi{#1}\def\@rgii{#2}\def\@rgiii{#3}\def\@rgiv{#4}} + \def\@rgi{#1}\def\@rgii{#2}\def\@rgiii{#3}\def\@rgiv{#4}} \def\gh@getColorFromPrefined color.#1\@nil{\def\pd@color{#1}} -\newcommand\FmtToGray[1]{if(event.value=="")event.value=("#1");} -\newcommand\KeyToGray{if(event.value=="")% - event.target.textColor=\gh@graycolor;} +\def\gh@PriorFormat{event.target.savevalue=event.value;\jsR} +\newcommand\FailStringDef{continue editing} +\newcommand\EnterCommitFailDef{event.value=("\FailStringDef");} +\def\EnterCommitFailEvent#1{\def\@rgi{#1}\ifx\@rgi\@empty + \def\gh@ECFE{\EnterCommitFailDef}\else\def\gh@ECFE{#1}\fi} +\EnterCommitFailEvent{} +\def\CommitSuccessEvent#1{\def\@rgi{#1}\ifx\@rgi\@empty +\let\gh@CSE\jsR\else\def\gh@CSE{\jsR\jsT #1\jsR}\fi} +\let\gh@CSE\jsR +\newcommand\FmtToGray[1]{% + if(typeof event.target.savevalue=="undefined"){\jsR\jsT + event.target.savevalue="";\jsR\jsT + event.target.success=false;\jsR + }\jsR + if(typeof event.target.ghBuiltin=="undefined")% + event.target.ghBuiltin=false;\jsR + if(!event.target.ghBuiltin)\gh@PriorFormat + event.target.ghBuildtin=false;\jsR\gh@FmtToGray{#1}} +\def\gh@FmtToGray#1{% + if(typeof event.target.saverc=="undefined")% + event.target.saverc=true;\jsR + if(!event.target.saverc||event.value==""){\jsR\jsT + if(event.target.savevalue!=""&&% + !event.target.success){\jsR\jsT\gh@ECFE\jsR\jsT + if(typeof app.pxceInfo!="undefined")% + event.target.savevalue="";\jsR\jsT + } else {\jsR\jsT\jsT + event.target.success=false;\jsR\jsT\jsT + event.value=("#1");\jsT\gh@CSE\jsT}\jsR + } else {\jsR\jsT + event.target.success=true;\gh@CSE} +} +\newcommand\KeyToGray{% + if(event.willCommit&&event.value!=""&&!event.rc)\jsR\jsT + event.target.success=false;\jsR + event.target.saverc=event.rc;\jsR + event.rc=true;\jsR + if(event.willCommit&&event.value=="")% + event.target.textColor=\gh@graycolor;\jsR + if(event.willCommit)% + event.target.savevalue=event.value; +} \newcommand\CalcToGray{event.target.textColor=% - (event.value=="")?\gh@graycolor:\gh@normalcolor;} -\newcommand\FocusToBlack{if(event.target.valueAsString=="")% - event.target.textColor=\gh@normalcolor;} -\newcommand\BlurToBlack{event.target.textColor=% - (event.target.valueAsString=="")?\gh@graycolor:\gh@normalcolor;} + (event.value=="")?\gh@graycolor:\gh@normalcolor;} +\newcommand\FocusToBlack{% + if (typeof event.target.success=="undefined")% + event.target.success=false;\jsR + if(event.target.valueAsString==""% + ||!event.target.success)\jsR\jsT + event.target.textColor=\gh@normalcolor; +} +\newcommand\BlurToBlack{% + if (!event.target.success||event.target.valueAsString=="")\jsR\jsT + this.resetForm(event.target.name);\jsR + event.target.savevalue="";\jsR + event.target.textColor=(!event.target.success||% + event.target.valueAsString=="")?\gh@graycolor:\gh@normalcolor; +} +\def\NumKey{EFNumber_Keystroke} +\def\NumFmt(#1){try{EFNumber_Format(#1)}catch(e){}} +\def\DateKey{EFDate_Keystroke} +\def\DateFmt(#1){% + AFDate_Format(#1);\jsR + event.target.ghBuiltin=true; +} +\def\DateKeyEx{EFDate_KeystrokeEx} +\def\DateFmtEx(#1){% + AFDate_FormatEx(#1);\jsR + event.target.ghBuiltin=true; +} +\def\PercentKey{EFPercent_Keystroke} +\def\PercentFmt(#1){% + if(event.value!=""||% + (typeof event.target.savevalue!="undefined"&&% + event.target.savevalue!=""))% + AFPercent_Format(#1);\jsR + event.target.ghBuiltin=true; +} +\def\TimeKey{EFTime_Keystroke}\def\TimeFmt{EFTime_Format} +\def\TimeFmtEx(#1){try{EFTime_FormatEx(#1)}catch(e){}} +\def\SpecialKey{EFSpecial_Keystroke} +\def\SpecialKeyEx{EFSpecial_KeystrokeEx} +\def\SpecialFmt(#1){try{EFSpecial_Format(#1)}catch(e){}} +\def\RangeValidate{EFRange_Validate} +\def\SimpleCalc{EFSimple_Calculate} +\def\MergeChange{EFMergeChange} \nodljsend -\begin{insDLJS}{ghsupport}{grayhints: Support for the Calculate Event} +\begin{insDLJS}{altadbfncs}{gh: Support for Adobe built-in functions} +var EFNumber_Keystroke=AFNumber_Keystroke; +function EFNumber_Format(){ + event.target.savevalue=event.value; + event.target.ghBuiltin=true; + AFNumber_Format.apply(null,arguments); +} +var EFDate_Keystroke=AFDate_Keystroke; +function EFDate_Format(){ + event.target.savevalue=event.value; + event.target.ghBuiltin=true; + AFDate_Format.apply(null,arguments); +} +var EFDate_KeystrokeEx=AFDate_KeystrokeEx; +function EFDate_FormatEx(){ + event.target.savevalue=event.value; + event.target.ghBuiltin=true; + AFDate_FormatEx.apply(null,arguments); +} +var EFPercent_Keystroke=AFPercent_Keystroke; +function EFPercent_Format(){ + event.target.savevalue=event.value; + event.target.ghBuiltin=true; + AFPercent_Format.apply(null,arguments); +} +var EFTime_Keystroke=AFTime_Keystroke; +function EFTime_Format(){ + event.target.savevalue=event.value; + event.target.ghBuiltin=true; + AFTime_Format.apply(null,arguments); +} +function EFTime_FormatEx(){ + event.target.savevalue=event.value; + ghBuiltin=true; + AFTime_FormatEx.apply(null,arguments); +} +var EFSpecial_Keystroke=AFSpecial_Keystroke; +var EFSpecial_KeystrokeEx=AFSpecial_KeystrokeEx; +function EFSpecial_Format(){ + event.target.savevalue=event.value; + event.target.ghBuiltin=true; + AFSpecial_Format.apply(null,arguments); +} +var EFRange_Validate=AFRange_Validate; +var EFSimple_Calculate=AFSimple_Calculate; +var EFMergeChange=AFMergeChange; +\end{insDLJS} +\nocalcs +\begin{insDLJS}{ghsupport}{gh: Support for the Calculate Event} function AllowCalc(cArray) { - var f,g; - for (var i=0; i