Skip to content

Commit

Permalink
Merge pull request #9414 from Vitalis95/date
Browse files Browse the repository at this point in the history
Improvements to Make Date dialog
  • Loading branch information
N-thony authored Feb 4, 2025
2 parents 04a18e2 + ada8396 commit 7126eea
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions instat/dlgMakeDate.vb
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Public Class dlgMakeDate
Private clsGregorianDefault, clsJulianDateDefault, clsAsCharacterFunction, clsDummyFunction As New RFunction
Private clsDefaultFunction As New RFunction
Private clsConcFunction As New RFunction
Private clsNumericFunction As New RFunction
Private clsDivisionOperator, clsMultiplicationOperator As New ROperator

Private Sub dlgMakeDate_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Expand Down Expand Up @@ -324,6 +325,7 @@ Public Class dlgMakeDate
clsDivisionOperator = New ROperator
clsMultiplicationOperator = New ROperator
clsDummyFunction = New RFunction
clsNumericFunction = New RFunction

clsDefaultFunction = New RFunction
clsConcFunction = New RFunction
Expand Down Expand Up @@ -351,9 +353,10 @@ Public Class dlgMakeDate
clsMakeYearMonthDay.AddParameter("month_format", Chr(34) & "%m" & Chr(34))

clsDateFunction.SetRCommand("as.Date")
clsDateFunction.AddParameter("x", clsROperatorParameter:=clsDivisionOperator, iPosition:=0)
clsDateFunction.AddParameter("origin", clsRFunctionParameter:=clsDefaultDate, iPosition:=1)

clsNumericFunction.SetRCommand("as.numeric")

clsDivisionOperator.SetOperation("/")
clsDivisionOperator.bAllBrackets = True

Expand Down Expand Up @@ -524,22 +527,26 @@ Public Class dlgMakeDate
Private Sub ucrPnlFormat_ControlValueChanged(ucrChangedControl As ucrCore) Handles ucrPnlFormat.ControlValueChanged, ucrInputFormat.ControlValueChanged, ucrInputOrigin.ControlValueChanged
ucrReceiverForDate.RemoveIncludedMetadataProperty("class")
clsDateFunction.RemoveParameterByName("yearmoda")
clsDateFunction.AddParameter("x", clsROperatorParameter:=clsDivisionOperator, iPosition:=0)
clsNumericFunction.RemoveParameterByName("number")
If rdoDefaultFormat.Checked Then
cmdHelp.Visible = False
ucrReceiverForDate.SetExcludedDataTypes({"numeric"})
clsDateFunction.RemoveParameterByName("format")
clsDateFunction.RemoveParameterByName("origin")
clsDateFunction.AddParameter("x", clsROperatorParameter:=clsDivisionOperator, iPosition:=0)
ElseIf rdoOrigin.Checked Then
cmdHelp.Visible = False
ucrReceiverForDate.SetIncludedDataTypes({"numeric", "date"})
If ucrInputOrigin.GetText = "Excel (1899/12/30)" Then
clsNumericFunction.AddParameter("number", clsROperatorParameter:=clsDivisionOperator, iPosition:=0, bIncludeArgumentName:=False)
clsDateFunction.AddParameter("x", clsRFunctionParameter:=clsNumericFunction, iPosition:=0)
clsDateFunction.AddParameter("origin", clsRFunctionParameter:=clsDefaultDate)
ElseIf ucrInputOrigin.GetText = "Gregorian (1600/03/01)" Then
clsDateFunction.AddParameter("x", clsROperatorParameter:=clsDivisionOperator, iPosition:=0)
clsDateFunction.AddParameter("origin", clsRFunctionParameter:=clsGregorianDefault)
ElseIf ucrInputOrigin.GetText = "Julian Day Number (-4713/11/24)" Then
clsDateFunction.AddParameter("x", clsROperatorParameter:=clsDivisionOperator, iPosition:=0)
clsDateFunction.AddParameter("origin", clsRFunctionParameter:=clsJulianDateDefault)
ElseIf ucrInputOrigin.GetText = "R (1970/01/01)" Then
clsDateFunction.AddParameter("x", clsROperatorParameter:=clsDivisionOperator, iPosition:=0)
clsDateFunction.AddParameter("origin", clsRFunctionParameter:=clsRDefaultDate)
End If
ElseIf rdoSpecifyFormat.Checked Then
Expand Down

0 comments on commit 7126eea

Please sign in to comment.