From 5ac17938ed66a9c6aa7bedeb0e10f7337b0da25b Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 11 Jul 2018 11:07:49 +0900 Subject: datepicker-pro update --- .../tex/latex/datepicker-pro/datepicker-pro.sty | 176 ++++++++++++--------- texmf-dist/tex/latex/datepicker-pro/dp-pro.cfg | 7 + 2 files changed, 104 insertions(+), 79 deletions(-) create mode 100644 texmf-dist/tex/latex/datepicker-pro/dp-pro.cfg (limited to 'texmf-dist/tex') diff --git a/texmf-dist/tex/latex/datepicker-pro/datepicker-pro.sty b/texmf-dist/tex/latex/datepicker-pro/datepicker-pro.sty index 705a3c70..54d43c3c 100644 --- a/texmf-dist/tex/latex/datepicker-pro/datepicker-pro.sty +++ b/texmf-dist/tex/latex/datepicker-pro/datepicker-pro.sty @@ -7,19 +7,19 @@ %% datepicker-pro.dtx (with options: `copyright,package') %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% datepicker-pro.sty package, 2016-05-06 %% -%% Copyright (C) 2013-16 D. P. Story %% +%% datepicker-pro.sty package, %% +%% Copyright (C) 2013-2018 %% %% dpstory@acrotex.net %% %% %% %% This program can redistributed and/or modified under %% %% the terms of the LaTeX Project Public License %% %% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1 of the %% -%% License, or (at your option) any later version. %% +%% macros/latex/base/lppl.txt; either version 1.2 of %% +%% the License, or (at your option) any later version. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{datepicker-pro} - [2016/05/06 v1.0 Date picker using FLEX] + [2018/07/02 v1.3 Date picker using Adobe Flash Builder] \RequirePackage{aeb_pro}[2013/08/05] \RequirePackage{eforms}[2013/06/05] \RequirePackage{rmannot}[2011/09/11] @@ -36,6 +36,8 @@ \pickerOpts{} \newcommand{\pickerInputOpts}[1]{\def\dpp@pickerInputOpts{#1}} \pickerInputOpts{} +\newcommand{\iconBenOpts}[1]{\def\dpp@iconBenOpts{#1}} + \iconBenOpts{} \newcommand{\pickersep}{3bp} \define@key{ddp}{formatstring}[MM/DD/YYYY]{\def\dpp@FormatStr{#1}} \define@key{ddp}{daynames}[]{\def\ddp@DayNames{#1}} @@ -63,73 +65,76 @@ \define@key{ddp}{voffset}[0]{\def\ddp@voffset{#1}} \define@key{ddp}{widthOfWindow}[180]{\def\ddp@widthOfWindow{#1}} \define@key{ddp}{heightOfWindow}[180]{\def\ddp@heightOfWindow{#1}} -\newcommand{\setPickerOpts}[1]{% - \edef\@tempexp{\noexpand\setkeys{ddp}{#1}}\@tempexp} -\newcommand{\setPickerOptsToDefaults}{% - \setkeys{ddp}{formatstring,daynames,monthnames,firstday,halign,% - valign,hoffset,voffset,widthOfWindow,heightOfWindow,% - monthnamesLong,monthnamesShort,daynamesLong,daynamesShort}% +\newcommand{\setPickerOpts}[1]{\let\ddp@bsSAVE\\\let\ddp@uSAVE\u + \def\\{\eqbs\eqbs}\def\u{\\u}% + \edef\x{\noexpand\setkeys{ddp}{#1}}\x + \let\\\ddp@bsSAVE\let\u\ddp@uSAVE +} +\newcommand{\setPickerOptsToDefaults}{\let\ddp@bsSAVE\\\let\ddp@uSAVE\u + \setkeys{ddp}{formatstring,daynames,monthnames,firstday,halign,% + valign,hoffset,voffset,widthOfWindow,heightOfWindow,% + monthnamesLong,monthnamesShort,daynamesLong,daynamesShort}% + \let\\\ddp@bsSAVE\let\u\ddp@uSAVE } \setPickerOptsToDefaults \def\dppBtnAction#1{% - var annot = this.getAnnotRichMedia(this.pageNum,"#1");\r - if (event.shift){\r\t - this.resetForm(["txt#1"]);\r\t - annot.activated=false;\r - } else { - if ( annot.activated ) - annot.activated=false; - else annot.activated=true; - } + var annot = this.getAnnotRichMedia(this.pageNum,"#1");\r + if (event.shift){\r\t + this.resetForm(["txt#1"]);\r\t + annot.activated=false;\r + } else + annot.activated=( annot.activated )?false:true; } \newcommand{\datepicker}[4][]{\begingroup - \edef\@tempexp{\noexpand\setkeys{ddp}{#1}}\@tempexp - \setWindowDimPos{width={default=\ddp@widthOfWindow},% - height={default=\ddp@heightOfWindow},% - position={halign=\ddp@halign,valign=\ddp@valign, - hoffset=\ddp@hoffset,voffset=\ddp@voffset}}% - \makebox[0pt][l]{\textField[\F{\FHidden}\BC{}\BG{}\W0 - ]{htxt#2}{1bp}{1bp}}% + \def\\{\eqbs\eqbs}\def\u{\\u} + \edef\x{\noexpand\setkeys{ddp}{#1}}\x + \setWindowDimPos{width={default=\ddp@widthOfWindow},% + height={default=\ddp@heightOfWindow},% + position={halign=\ddp@halign,valign=\ddp@valign, + hoffset=\ddp@hoffset,voffset=\ddp@voffset}}% + \makebox[0pt][l]{\textField[\F{\FHidden}\BC{}\BG{}\W0 + ]{htxt#2}{1bp}{1bp}}% \expandafter\textField\expandafter[\dpp@pickerInputOpts\Ff{\FfReadOnly} - \AA{\AAValidate{% - this.getAnnotRichMedia(this.pageNum,"#2").activated=false;} - }]{txt#2}{#3}{#4}\makebox[0pt][r]{% + \AA{\AAValidate{% + this.getAnnotRichMedia(this.pageNum,"#2").activated=false;} + }]{txt#2}{#3}{#4}\makebox[0pt][r]{% \rmAnnot[invisible,transparentBG,deactivated=pageclose, - passcontext,\dpp@pickerOpts,windowed,name=#2, - flashvars={field=txt#2&formatstring=\dpp@FormatStr - \ifx\ddp@DayNames\@empty\else - &daynames=\ddp@DayNames\fi - \ifx\ddp@MonthNames\@empty\else - &monthnames=\ddp@MonthNames\fi - \ifnum\ddp@FirstDayOfWeek=0 \else - &firstday=\ddp@FirstDayOfWeek\fi - \ifx\ddp@monthnamesLong\@empty\else - &monthnamesLong=\ddp@monthnamesLong\fi - \ifx\ddp@monthnamesShort\@empty\else - &monthnamesShort=\ddp@monthnamesShort\fi - \ifx\ddp@daynamesLong\@empty\else - &daynamesLong=\ddp@daynamesLong\fi - \ifx\ddp@daynamesShort\@empty\else - &daynamesShort=\ddp@daynamesShort\fi - } - ]{4bp}{4bp}{dppDatePicker}}\kern\pickersep - \pushButton[\TU{\dpp@ToolTip}\H{O}\S{S}\BC{}\BG{} - \FB{true}\I{null}\TP{1}\A{\JS{\dppBtnAction{#2}}} - ]{btn#2}{\dp@iconWidth}{\dp@iconHeight}\endgroup + passcontext,\dpp@pickerOpts,windowed,name=#2, + flashvars={field=txt#2&formatstring=\dpp@FormatStr + \ifx\ddp@DayNames\@empty\else + &daynames=\ddp@DayNames\fi + \ifx\ddp@MonthNames\@empty\else + &monthnames=\ddp@MonthNames\fi + \ifnum\ddp@FirstDayOfWeek=0 \else + &firstday=\ddp@FirstDayOfWeek\fi + \ifx\ddp@monthnamesLong\@empty\else + &monthnamesLong=\ddp@monthnamesLong\fi + \ifx\ddp@monthnamesShort\@empty\else + &monthnamesShort=\ddp@monthnamesShort\fi + \ifx\ddp@daynamesLong\@empty\else + &daynamesLong=\ddp@daynamesLong\fi + \ifx\ddp@daynamesShort\@empty\else + &daynamesShort=\ddp@daynamesShort\fi + } + ]{4bp}{4bp}{dppDatePicker}}\kern\pickersep + \expandafter\pushButton\expandafter[\dpp@iconBenOpts\TU{\dpp@ToolTip} + \H{O}\S{S}\BC{}\BG{}\FB{true}\I{null}\TP{1} + \A{\JS{\dppBtnAction{#2}}} + ]{btn#2}{\dp@iconWidth}{\dp@iconHeight}\endgroup } \newcommand{\setpickerIcon}[2]{% #1=path, #2=placement - \let\@thesetoks\@empty - \@for\@dppName:=#2\do{\edef\@thesetoks{\@thesetoks btn\@dppName,}}% - \def\stripOffComma##1,\@nil{\def\@placeIcons{##1}}% - \expandafter\stripOffComma\@thesetoks\@nil - \declareImageAndPlacement{name=dppIcon,path=#1,% - placement={\@placeIcons}}% - \immediate\openout\CommentStream=ddpdocassmbly.cut - \immediate\write\CommentStream{\string\begin{execJS}{dppicons}}% - \immediate\write\CommentStream{\string\insertPreDocAssembly}% - \immediate\write\CommentStream{\string\end{execJS}}% - \immediate\closeout\CommentStream - \input{ddpdocassmbly.cut}% + \let\@thesetoks\@empty + \@for\@dppName:=#2\do{\edef\@thesetoks{\@thesetoks btn\@dppName,}}% + \def\stripOffComma##1,\@nil{\def\@placeIcons{##1}}% + \expandafter\stripOffComma\@thesetoks\@nil + \declareImageAndPlacement{name=dppIcon,path=#1,% + placement={\@placeIcons}}% + \immediate\openout\CommentStream=ddpdocassmbly.cut + \immediate\write\CommentStream{\string\begin{execJS}{dppicons}}% + \immediate\write\CommentStream{\string\insertPreDocAssembly}% + \immediate\write\CommentStream{\string\end{execJS}}% + \immediate\closeout\CommentStream + \input{ddpdocassmbly.cut}% } \@onlypreamble\setpickerIcon \newcommand\pickerIconWidth[1]{\def\dp@iconWidth{#1}} @@ -137,30 +142,43 @@ \newcommand\pickerIconHeight[1]{\def\dp@iconHeight{#1}} \pickerIconHeight{12bp} \begin{insDLJS}{dppdljs}{JavaScript for Date Picker Pro} +function _dppConvUnicode(v){ +var fm,re,str=v; +re=/\\u([0-8A-Fa-f]{4})/g + while ((fm=str.search(re))!=-1) { + str=str.substring(0,fm) + +eval("String.fromCharCode(0x" + +str.substring(fm+2,fm+6)+")") + +str.substring(fm+6); + } +return str; +} function setDateField(fname,value,svalue) { - var f = this.getField(fname); - var g = this.getField("h"+fname); - if (f !=null ) { - f.value = value; - g.value = svalue; - } + var f = this.getField(fname); + var g = this.getField("h"+fname); + if (f !=null ) { + f.value = _dppConvUnicode(value); + g.value = svalue; + } } function getDateValue(fname) { - var f = this.getField(fname); - var g = this.getField("h"+fname); - var value; - if ( f != null ) - value = { value: f.value, svalue: g.value }; - return value; + var f = this.getField(fname); + var g = this.getField("h"+fname); + var value; + if ( f != null ) + value = { value: f.value, svalue: g.value }; + return value; } \end{insDLJS} \def\dpp@initdpp{% - \@ifundefined{dppPath}{\PackageError{datepicker-pro} - {You must specify the path to datepicker\flexVer.swf\MessageBreak - by defining \string\dppPath, see documentation}{}} - {\saveNamedPath{dppDatePicker}{\dppPath/datepicker\flexVer.swf}}% + \@ifundefined{dppPath}{\PackageError{datepicker-pro} + {You must specify the path to datepicker\flexVer.swf\MessageBreak + by defining \string\dppPath\space in the configuration file\MessageBreak + dp-pro.cfg, see documentation}{}} + {\saveNamedPath{dppDatePicker}{\dppPath/datepicker\flexVer.swf}}% } \AtBeginDocument{\dpp@initdpp} +\InputIfFileExists{dp-pro.cfg}{}{} \endinput %% %% End of file `datepicker-pro.sty'. diff --git a/texmf-dist/tex/latex/datepicker-pro/dp-pro.cfg b/texmf-dist/tex/latex/datepicker-pro/dp-pro.cfg new file mode 100644 index 00000000..9b1fce47 --- /dev/null +++ b/texmf-dist/tex/latex/datepicker-pro/dp-pro.cfg @@ -0,0 +1,7 @@ +% +% datepicker-pro configuration file, +% uncomment the lines below and edit appropriately +% +%\definePath{\dppPath}{C:/Users/Public/Documents/My TeX Files/% +% tex/latex/aeb/aebpro/datepicker-pro/swf} +\endinput -- cgit v1.2.3