From 8b41f82b0607d2c788972454f29fff226a9dbf6a Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sun, 17 Jun 2018 21:31:19 +0900 Subject: add datepicker-pro --- .../tex/latex/datepicker-pro/datepicker-pro.sty | 166 +++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 texmf-dist/tex/latex/datepicker-pro/datepicker-pro.sty (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 new file mode 100644 index 00000000..705a3c70 --- /dev/null +++ b/texmf-dist/tex/latex/datepicker-pro/datepicker-pro.sty @@ -0,0 +1,166 @@ +%% +%% This is file `datepicker-pro.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% datepicker-pro.dtx (with options: `copyright,package') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% datepicker-pro.sty package, 2016-05-06 %% +%% Copyright (C) 2013-16 D. P. Story %% +%% 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. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{datepicker-pro} + [2016/05/06 v1.0 Date picker using FLEX] +\RequirePackage{aeb_pro}[2013/08/05] +\RequirePackage{eforms}[2013/06/05] +\RequirePackage{rmannot}[2011/09/11] +\newcommand{\useFLEXVer}[1]{\def\argi{#1}\ifnum\argi=3\relax + \def\flexVer{3}\else\ifnum\argi=4\relax\def\flexVer{4}\else + \def\flexVer{3}\PackageInfo{datepicker-pro}{FLEX version number not + supported,\space\MessageBreak using FLEX 3}\fi\fi} +\def\flexVer{3} +\@onlypreamble\useFLEXVer +\newcommand{\dppToolTip}[1]{\def\dpp@ToolTip{#1}} +\dppToolTip{Date Picker\n Click to toggle open and close\n + Shift-click to clear and close} +\newcommand{\pickerOpts}[1]{\def\dpp@pickerOpts{#1}} + \pickerOpts{} +\newcommand{\pickerInputOpts}[1]{\def\dpp@pickerInputOpts{#1}} + \pickerInputOpts{} +\newcommand{\pickersep}{3bp} +\define@key{ddp}{formatstring}[MM/DD/YYYY]{\def\dpp@FormatStr{#1}} +\define@key{ddp}{daynames}[]{\def\ddp@DayNames{#1}} +\define@key{ddp}{monthnames}[]{\def\ddp@MonthNames{#1}} +\def\warningMsgFirstDay{% + The value of firstday must be a\MessageBreak + nonnegative integer less than 6.\MessageBreak + Setting firstday=0% +} +\define@key{ddp}{firstday}[0]{% + \@tempcnta=#1 + \def\ddp@FirstDayOfWeek{#1}% + \ifnum\@tempcnta<0\relax\PackageWarning{datepicker-pro} + {\warningMsgFirstDay}{}\def\ddp@FirstDayOfWeek{0}\else + \ifnum\@tempcnta>6\relax\PackageWarning{datepicker-pro} + {\warningMsgFirstDay}{}\def\ddp@FirstDayOfWeek{0}\fi\fi +} +\define@key{ddp}{monthnamesLong}[]{\def\ddp@monthnamesLong{#1}} +\define@key{ddp}{monthnamesShort}[]{\def\ddp@monthnamesShort{#1}} +\define@key{ddp}{daynamesLong}[]{\def\ddp@daynamesLong{#1}} +\define@key{ddp}{daynamesShort}[]{\def\ddp@daynamesShort{#1}} +\define@key{ddp}{halign}[center]{\def\ddp@halign{#1}} +\define@key{ddp}{valign}[center]{\def\ddp@valign{#1}} +\define@key{ddp}{hoffset}[0]{\def\ddp@hoffset{#1}} +\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}% +} +\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; + } +} +\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}}% + \expandafter\textField\expandafter[\dpp@pickerInputOpts\Ff{\FfReadOnly} + \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 +} +\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}% +} +\@onlypreamble\setpickerIcon +\newcommand\pickerIconWidth[1]{\def\dp@iconWidth{#1}} +\pickerIconWidth{10bp} +\newcommand\pickerIconHeight[1]{\def\dp@iconHeight{#1}} +\pickerIconHeight{12bp} +\begin{insDLJS}{dppdljs}{JavaScript for Date Picker Pro} +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; + } +} +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; +} +\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}}% +} +\AtBeginDocument{\dpp@initdpp} +\endinput +%% +%% End of file `datepicker-pro.sty'. -- cgit v1.2.3