%% %% 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'.