From c0b46ff6d69b3ae174a90cde45ff19a2a4326323 Mon Sep 17 00:00:00 2001 From: Sophie Malla Tatchum Date: Wed, 16 Oct 2024 16:01:48 +0100 Subject: [PATCH 01/12] Have the summary variables filled in automatically in the Climograph dialog. --- instat/dlgClimograph.vb | 262 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 241 insertions(+), 21 deletions(-) diff --git a/instat/dlgClimograph.vb b/instat/dlgClimograph.vb index 6939f27a81..0f8a5388d2 100644 --- a/instat/dlgClimograph.vb +++ b/instat/dlgClimograph.vb @@ -15,8 +15,10 @@ ' along with this program. If not, see . Imports instat.Translations +Imports System.Text.RegularExpressions Public Class dlgClimograph + Private isFilling As Boolean = False Private bFirstload As Boolean = True Private bReset As Boolean = True Private clsGgwalterliethFunction, clsDummyFunction As RFunction @@ -114,6 +116,12 @@ Public Class dlgClimograph Private clsAesTmaxBarFunction1, clsAesTminBarFunction1, clsAesTemGgplotFunction, clsAesRainGgplotFunction, clsSecAxisRainFunction, clsSecAxisTemFunction As New RFunction Private clsAesRainBarTextFunction, clsPlotGridFunction, clsAesTmaxBarTextFunction, clsAesTminBarTextFunction, clsRainRoundFunction, clsTmaxRoundFunction, clsTminRoundFunction As New RFunction Private strScale As String = "scale_Factor" + Private lstRainReceivers As New List(Of ucrReceiverSingle) + Private lstTmaxReceivers As New List(Of ucrReceiverSingle) + Private lstTminReceivers As New List(Of ucrReceiverSingle) + Private lstTminminReceivers As New List(Of ucrReceiverSingle) + + Dim lstRecognisedTypes As New List(Of KeyValuePair(Of String, List(Of String))) Private Sub dlgClimograph_Load(sender As Object, e As EventArgs) Handles MyBase.Load If bFirstload Then @@ -128,9 +136,28 @@ Public Class dlgClimograph TestOKEnabled() autoTranslate(Me) ResizeDialogue() + AutoFillRainReceivers() + AutoFillTmaxReceivers() + AutoFillTminReceivers() + AutoFillTminminReceivers() End Sub Private Sub InitialiseDialog() + Dim kvpRain As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("rain", {"sumrainfall", "rain", "rainfall", "prec", "rr", "prcp", "sum_rainfall", "sum_rain", "sum_precip", "sum_precipitation", "sum_rr", "sum_pre", "sum_prcp", "mean_rainfall", "mean_rain", "mean_precip", "mean_precipitation", "mean_rr", "mean_pre", "mean_prcp", "max_rainfall", "max_rain", "max_precip", "max_precipitation", "max_rr", "max_pre", "max_prcp", "min_rainfall", "min_rain", "min_precip", "min_precipitation", "min_rr", "min_pre", "min_prcp", "mean_sum_rain", "mean_sum_precip", "mean_sum_precipitation", "mean_sum_rr", "mean_sum_pre", "mean_sum_prcp", "mean_sum_rainfall", "max_sum_rain", "max_sum_precip", "max_sum_precipitation", "max_sum_rr", "max_sum_pre", "max_sum_prcp", "max_sum_rainfall", "min_sum_rain", "min_sum_precip", "min_sum_precipitation", "min_sum_rr", "min_sum_pre", "min_sum_prcp", "min_sum_rainfall"}.ToList()) + Dim kvpTMax As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("temp_max", {"tmax", "tx", "tempmax", "tmp_max", "tmpmax", "max_temperature", "temperature_max", "mean_tmax", "mean_tx", "mean_tempmax", "mean_tmp_max", "mean_tmpmax", "mean_temperature_max", "mean_max_temperature", "max_tmax", "max_tx", "max_tempmax", "max_tmp_max", "max_tmpmax", "max_temperature_max", "max_max_temperature", "min_tmax", "min_tx", "min_tempmax", "min_tmp_max", "min_tmpmax", "min_temperature_max", "min_max_temperature"}.ToList()) + Dim kvpTMin As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("temp_min", {"tmin", "tn", "tempmin", "tmp_min", "tmpmin", "min_temperature", "temperature_min", "mean_tmin", "mean_tn", "mean_tempmin", "mean_tmp_min", "mean_tmpmin", "mean_temperature_min", "mean_min_temperature", "max_tmin", "max_tn", "max_tempmin", "max_tmp_min", "max_tmpmin", "max_temperature_min", "max_min_temperature"}.ToList()) + Dim kvpTMinmin As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("tem_min_min", {"min_tmin", "min_tn", "min_tempmin", "min_tmp_min", "min_tmpmin", "min_temperature_min", "min_min_temperature"}.ToList()) + + lstRecognisedTypes.AddRange({kvpRain, kvpTMax, kvpTMin, kvpTMinmin}) + + lstRainReceivers.AddRange({ucrReceiverRainBar, ucrReceiverRain, ucrReceiverRainC}) + + lstTmaxReceivers.AddRange({ucrReceiverElement1, ucrReceiverElement1Bar, ucrReceiverMaxtem}) + + lstTminReceivers.AddRange({ucrReceiverElement2, ucrReceiverElement2Bar, ucrReceiverMintemp}) + + lstTminminReceivers.AddRange({ucrReceiverAbsolute}) + Dim dctLegendPosition As New Dictionary(Of String, String) Dim dctColourPallette As New Dictionary(Of String, String) Dim dctPalette As New Dictionary(Of String, String) @@ -176,42 +203,34 @@ Public Class dlgClimograph ucrReceiverRain.SetParameter(New RParameter("p_mes", 3)) ucrReceiverRain.SetParameterIsString() ucrReceiverRain.Selector = ucrSelectorClimograph - ucrReceiverRain.SetClimaticType("rain") - ucrReceiverRain.bAutoFill = True - ucrReceiverRain.strSelectorHeading = "Rain Variables" + ucrReceiverRain.Tag = "rain" ucrReceiverRain.SetLinkedDisplayControl(lblRain) ucrReceiverRainC.SetParameter(New RParameter("y", 1)) ucrReceiverRainC.SetParameterIsRFunction() ucrReceiverRainC.Selector = ucrSelectorClimograph ucrReceiverRainC.bWithQuotes = False - ucrReceiverRainC.SetClimaticType("rain") - ucrReceiverRainC.bAutoFill = True - ucrReceiverRainC.strSelectorHeading = "Rain Variables" + ucrReceiverRainC.Tag = "rain" ucrReceiverRainC.SetLinkedDisplayControl(lblRainC) ucrReceiverRainBar.SetParameter(New RParameter("y", 1)) ucrReceiverRainBar.SetParameterIsRFunction() ucrReceiverRainBar.Selector = ucrSelectorClimograph ucrReceiverRainBar.bWithQuotes = False - ucrReceiverRainBar.SetClimaticType("rain") - ucrReceiverRainBar.bAutoFill = True - ucrReceiverRainBar.strSelectorHeading = "Rain Variables" + ucrReceiverRainBar.Tag = "rain" ucrReceiverRainBar.SetLinkedDisplayControl(lblRainBar) ucrReceiverMaxtem.SetParameter(New RParameter("tm_max", 4)) ucrReceiverMaxtem.SetParameterIsString() ucrReceiverMaxtem.Selector = ucrSelectorClimograph - ucrReceiverMaxtem.SetClimaticType("temp_max") - ucrReceiverMaxtem.bAutoFill = True + ucrReceiverMaxtem.Tag = "temp_max" ucrReceiverMaxtem.strSelectorHeading = "Variables" ucrReceiverMaxtem.SetLinkedDisplayControl(lblMaxtem) ucrReceiverMintemp.SetParameter(New RParameter("tm_min", 5)) ucrReceiverMintemp.SetParameterIsString() ucrReceiverMintemp.Selector = ucrSelectorClimograph - ucrReceiverMintemp.SetClimaticType("temp_min") - ucrReceiverMintemp.bAutoFill = True + ucrReceiverMintemp.Tag = "temp_min" ucrReceiverMintemp.strSelectorHeading = "Variables" ucrReceiverMintemp.SetLinkedDisplayControl(lblMintem) @@ -219,8 +238,7 @@ Public Class dlgClimograph ucrReceiverElement1.SetParameterIsRFunction() ucrReceiverElement1.Selector = ucrSelectorClimograph ucrReceiverElement1.bWithQuotes = False - ucrReceiverElement1.SetClimaticType("temp_max") - ucrReceiverElement1.bAutoFill = True + ucrReceiverElement1.Tag = "temp_max" ucrReceiverElement1.strSelectorHeading = "Variables" ucrReceiverElement1.SetLinkedDisplayControl(lblElement1) @@ -228,8 +246,7 @@ Public Class dlgClimograph ucrReceiverElement1Bar.SetParameterIsRFunction() ucrReceiverElement1Bar.Selector = ucrSelectorClimograph ucrReceiverElement1Bar.bWithQuotes = False - ucrReceiverElement1Bar.SetClimaticType("temp_max") - ucrReceiverElement1Bar.bAutoFill = True + ucrReceiverElement1Bar.Tag = "temp_max" ucrReceiverElement1Bar.strSelectorHeading = "Variables" ucrReceiverElement1Bar.SetLinkedDisplayControl(lblElement1Bar) @@ -237,8 +254,7 @@ Public Class dlgClimograph ucrReceiverElement2.SetParameterIsRFunction() ucrReceiverElement2.Selector = ucrSelectorClimograph ucrReceiverElement2.bWithQuotes = False - ucrReceiverElement2.SetClimaticType("temp_min") - ucrReceiverElement2.bAutoFill = True + ucrReceiverElement2.Tag = "temp_min" ucrReceiverElement2.strSelectorHeading = "Variables" ucrReceiverElement2.SetLinkedDisplayControl(lblElement2) @@ -246,8 +262,7 @@ Public Class dlgClimograph ucrReceiverElement2Bar.SetParameterIsRFunction() ucrReceiverElement2Bar.Selector = ucrSelectorClimograph ucrReceiverElement2Bar.bWithQuotes = False - ucrReceiverElement2Bar.SetClimaticType("temp_min") - ucrReceiverElement2Bar.bAutoFill = True + ucrReceiverElement2Bar.Tag = "temp_min" ucrReceiverElement2Bar.strSelectorHeading = "Variables" ucrReceiverElement2Bar.SetLinkedDisplayControl(lblElement2Bar) @@ -276,6 +291,7 @@ Public Class dlgClimograph ucrReceiverAbsolute.SetParameter(New RParameter("ta_min", 6)) ucrReceiverAbsolute.SetParameterIsString() ucrReceiverAbsolute.Selector = ucrSelectorClimograph + ucrReceiverAbsolute.Tag = "tem_min_min" ucrReceiverAbsolute.strSelectorHeading = "Variables" ucrReceiverAbsolute.SetLinkedDisplayControl(lblAbsolute) @@ -850,6 +866,10 @@ Public Class dlgClimograph ucrPnlColour.SetRCode(clsDummyFunction, bReset) ucrChkColour.SetRCode(clsBaseOperator, bReset) End If + AutoFillRainReceivers() + AutoFillTmaxReceivers() + AutoFillTminReceivers() + AutoFillTminminReceivers() End Sub Private Sub TestOKEnabled() @@ -1313,6 +1333,10 @@ Public Class dlgClimograph AddRemoveGeomRibbon() Dataframechange() AddRemoveTemBars() + AutoFillRainReceivers() + AutoFillTmaxReceivers() + AutoFillTminReceivers() + AutoFillTminminReceivers() End Sub Private Sub GetParameterValue(clsOperator As ROperator) @@ -1807,4 +1831,200 @@ Public Class dlgClimograph Private Sub ucrReceiverElement1Bar_ControlValueChanged(ucrChangedControl As ucrCore) Handles ucrReceiverElement1Bar.ControlValueChanged, ucrReceiverMonthBar.ControlValueChanged, ucrReceiverRainBar.ControlValueChanged, ucrReceiverElement2Bar.ControlValueChanged AddRemoveTemBars() End Sub + + Private Sub AutoFillRainReceivers() + If isFilling Then + Exit Sub + End If + isFilling = True + + ' Temporarily remove the event handler + RemoveHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillRainReceivers + + Dim lstRecognisedValues As List(Of String) + Dim ucrCurrentReceiver As ucrReceiver + Dim bFound As Boolean = False + + ucrCurrentReceiver = ucrSelectorClimograph.CurrentReceiver + + For Each ucrTempReceiver As ucrReceiver In lstRainReceivers + ucrTempReceiver.SetMeAsReceiver() + lstRecognisedValues = GetRecognisedValues(ucrTempReceiver.Tag) + + If lstRecognisedValues.Count > 0 Then + For Each lviTempVariable As ListViewItem In ucrSelectorClimograph.lstAvailableVariable.Items + For Each strValue As String In lstRecognisedValues + If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]", String.Empty).Equals(strValue) Then + ucrTempReceiver.Add(lviTempVariable.Text, ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text) + bFound = True + Exit For + End If + Next + If bFound Then + bFound = False + Exit For + End If + Next + End If + Next + + If ucrCurrentReceiver IsNot Nothing Then + ucrCurrentReceiver.SetMeAsReceiver() + End If + + ' Re-enable the event handler + AddHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillRainReceivers + + isFilling = False + End Sub + + Private Sub AutoFillTmaxReceivers() + If isFilling Then + Exit Sub + End If + isFilling = True + + ' Temporarily remove the event handler + RemoveHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTmaxReceivers + + Dim lstRecognisedValues As List(Of String) + Dim ucrCurrentReceiver As ucrReceiver + Dim bFound As Boolean = False + + ucrCurrentReceiver = ucrSelectorClimograph.CurrentReceiver + + For Each ucrTempReceiver As ucrReceiver In lstTmaxReceivers + ucrTempReceiver.SetMeAsReceiver() + lstRecognisedValues = GetRecognisedValues(ucrTempReceiver.Tag) + + If lstRecognisedValues.Count > 0 Then + For Each lviTempVariable As ListViewItem In ucrSelectorClimograph.lstAvailableVariable.Items + For Each strValue As String In lstRecognisedValues + If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]", String.Empty).Equals(strValue) Then + ucrTempReceiver.Add(lviTempVariable.Text, ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text) + bFound = True + Exit For + End If + Next + If bFound Then + bFound = False + Exit For + End If + Next + End If + Next + + If ucrCurrentReceiver IsNot Nothing Then + ucrCurrentReceiver.SetMeAsReceiver() + End If + + ' Re-enable the event handler + AddHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTmaxReceivers + + isFilling = False + End Sub + + Private Sub AutoFillTminReceivers() + If isFilling Then + Exit Sub + End If + isFilling = True + + ' Temporarily remove the event handler + RemoveHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTminReceivers + + Dim lstRecognisedValues As List(Of String) + Dim ucrCurrentReceiver As ucrReceiver + Dim bFound As Boolean = False + + ucrCurrentReceiver = ucrSelectorClimograph.CurrentReceiver + + For Each ucrTempReceiver As ucrReceiver In lstTminReceivers + ucrTempReceiver.SetMeAsReceiver() + lstRecognisedValues = GetRecognisedValues(ucrTempReceiver.Tag) + + If lstRecognisedValues.Count > 0 Then + For Each lviTempVariable As ListViewItem In ucrSelectorClimograph.lstAvailableVariable.Items + For Each strValue As String In lstRecognisedValues + If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]", String.Empty).Equals(strValue) Then + ucrTempReceiver.Add(lviTempVariable.Text, ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text) + bFound = True + Exit For + End If + Next + If bFound Then + bFound = False + Exit For + End If + Next + End If + Next + + If ucrCurrentReceiver IsNot Nothing Then + ucrCurrentReceiver.SetMeAsReceiver() + End If + + ' Re-enable the event handler + AddHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTminReceivers + + isFilling = False + End Sub + + Private Sub AutoFillTminminReceivers() + If isFilling Then + Exit Sub + End If + isFilling = True + + ' Temporarily remove the event handler + RemoveHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTminminReceivers + + Dim lstRecognisedValues As List(Of String) + Dim ucrCurrentReceiver As ucrReceiver + Dim bFound As Boolean = False + + ucrCurrentReceiver = ucrSelectorClimograph.CurrentReceiver + + For Each ucrTempReceiver As ucrReceiver In lstTminminReceivers + ucrTempReceiver.SetMeAsReceiver() + lstRecognisedValues = GetRecognisedValues(ucrTempReceiver.Tag) + + If lstRecognisedValues.Count > 0 Then + For Each lviTempVariable As ListViewItem In ucrSelectorClimograph.lstAvailableVariable.Items + For Each strValue As String In lstRecognisedValues + If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]", String.Empty).Equals(strValue) Then + ucrTempReceiver.Add(lviTempVariable.Text, ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text) + bFound = True + Exit For + End If + Next + If bFound Then + bFound = False + Exit For + End If + Next + End If + Next + + If ucrCurrentReceiver IsNot Nothing Then + ucrCurrentReceiver.SetMeAsReceiver() + End If + + ' Re-enable the event handler + AddHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTminminReceivers + + isFilling = False + End Sub + + Private Function GetRecognisedValues(strVariable As String) As List(Of String) + Dim lstValues As New List(Of String) + + For Each kvpTemp As KeyValuePair(Of String, List(Of String)) In lstRecognisedTypes + If kvpTemp.Key = strVariable Then + lstValues = kvpTemp.Value + Exit For + End If + Next + Return lstValues + End Function End Class \ No newline at end of file From 2963a324807f25be583f7fa8adf50fe13aeec00c Mon Sep 17 00:00:00 2001 From: Sophie Malla Tatchum Date: Thu, 31 Oct 2024 11:56:50 +0100 Subject: [PATCH 02/12] Change made --- instat/dlgClimograph.vb | 207 ++++++++-------------------------------- 1 file changed, 39 insertions(+), 168 deletions(-) diff --git a/instat/dlgClimograph.vb b/instat/dlgClimograph.vb index 0f8a5388d2..87befd208f 100644 --- a/instat/dlgClimograph.vb +++ b/instat/dlgClimograph.vb @@ -136,10 +136,10 @@ Public Class dlgClimograph TestOKEnabled() autoTranslate(Me) ResizeDialogue() - AutoFillRainReceivers() - AutoFillTmaxReceivers() - AutoFillTminReceivers() - AutoFillTminminReceivers() + 'AutoFillRainReceivers() + 'AutoFillTmaxReceivers() + 'AutoFillTminReceivers() + 'AutoFillTminminReceivers() End Sub Private Sub InitialiseDialog() @@ -866,10 +866,10 @@ Public Class dlgClimograph ucrPnlColour.SetRCode(clsDummyFunction, bReset) ucrChkColour.SetRCode(clsBaseOperator, bReset) End If - AutoFillRainReceivers() - AutoFillTmaxReceivers() - AutoFillTminReceivers() - AutoFillTminminReceivers() + 'AutoFillRainReceivers() + 'AutoFillTmaxReceivers() + 'AutoFillTminReceivers() + 'AutoFillTminminReceivers() End Sub Private Sub TestOKEnabled() @@ -1333,10 +1333,34 @@ Public Class dlgClimograph AddRemoveGeomRibbon() Dataframechange() AddRemoveTemBars() - AutoFillRainReceivers() - AutoFillTmaxReceivers() - AutoFillTminReceivers() - AutoFillTminminReceivers() + 'AutoFillRainReceivers() + 'AutoFillTmaxReceivers() + 'AutoFillTminReceivers() + 'AutoFillTminminReceivers() + If isFilling Then + Exit Sub + End If + isFilling = True + + Dim lstReceivers As List(Of ucrReceiverSingle) = Nothing + If ucrSelectorClimograph.CurrentReceiver IsNot Nothing Then + Select Case ucrSelectorClimograph.CurrentReceiver.Tag ' Or any property that differentiates the lists + Case "Rain" + lstReceivers = lstRainReceivers + Case "Tmax" + lstReceivers = lstTmaxReceivers + Case "Tmin" + lstReceivers = lstTminReceivers + Case "Tminmin" + lstReceivers = lstTminminReceivers + ' Add additional cases as necessary + End Select + End If + If lstReceivers IsNot Nothing Then + AutoFillReceivers(lstReceivers) + End If + + isFilling = False End Sub Private Sub GetParameterValue(clsOperator As ROperator) @@ -1832,114 +1856,12 @@ Public Class dlgClimograph AddRemoveTemBars() End Sub - Private Sub AutoFillRainReceivers() - If isFilling Then - Exit Sub - End If - isFilling = True - - ' Temporarily remove the event handler - RemoveHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillRainReceivers - - Dim lstRecognisedValues As List(Of String) - Dim ucrCurrentReceiver As ucrReceiver - Dim bFound As Boolean = False - - ucrCurrentReceiver = ucrSelectorClimograph.CurrentReceiver - - For Each ucrTempReceiver As ucrReceiver In lstRainReceivers - ucrTempReceiver.SetMeAsReceiver() - lstRecognisedValues = GetRecognisedValues(ucrTempReceiver.Tag) - - If lstRecognisedValues.Count > 0 Then - For Each lviTempVariable As ListViewItem In ucrSelectorClimograph.lstAvailableVariable.Items - For Each strValue As String In lstRecognisedValues - If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]", String.Empty).Equals(strValue) Then - ucrTempReceiver.Add(lviTempVariable.Text, ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text) - bFound = True - Exit For - End If - Next - If bFound Then - bFound = False - Exit For - End If - Next - End If - Next - - If ucrCurrentReceiver IsNot Nothing Then - ucrCurrentReceiver.SetMeAsReceiver() - End If - - ' Re-enable the event handler - AddHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillRainReceivers - - isFilling = False - End Sub - - Private Sub AutoFillTmaxReceivers() - If isFilling Then - Exit Sub - End If - isFilling = True - - ' Temporarily remove the event handler - RemoveHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTmaxReceivers - - Dim lstRecognisedValues As List(Of String) - Dim ucrCurrentReceiver As ucrReceiver - Dim bFound As Boolean = False - - ucrCurrentReceiver = ucrSelectorClimograph.CurrentReceiver - - For Each ucrTempReceiver As ucrReceiver In lstTmaxReceivers - ucrTempReceiver.SetMeAsReceiver() - lstRecognisedValues = GetRecognisedValues(ucrTempReceiver.Tag) - - If lstRecognisedValues.Count > 0 Then - For Each lviTempVariable As ListViewItem In ucrSelectorClimograph.lstAvailableVariable.Items - For Each strValue As String In lstRecognisedValues - If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]", String.Empty).Equals(strValue) Then - ucrTempReceiver.Add(lviTempVariable.Text, ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text) - bFound = True - Exit For - End If - Next - If bFound Then - bFound = False - Exit For - End If - Next - End If - Next - - If ucrCurrentReceiver IsNot Nothing Then - ucrCurrentReceiver.SetMeAsReceiver() - End If - - ' Re-enable the event handler - AddHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTmaxReceivers - - isFilling = False - End Sub - - Private Sub AutoFillTminReceivers() - If isFilling Then - Exit Sub - End If - isFilling = True - - ' Temporarily remove the event handler - RemoveHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTminReceivers - + Private Sub AutoFillReceivers(lstReceivers As List(Of ucrReceiverSingle)) Dim lstRecognisedValues As List(Of String) - Dim ucrCurrentReceiver As ucrReceiver + Dim ucrCurrentReceiver As ucrReceiver = ucrSelectorClimograph.CurrentReceiver Dim bFound As Boolean = False - ucrCurrentReceiver = ucrSelectorClimograph.CurrentReceiver - - For Each ucrTempReceiver As ucrReceiver In lstTminReceivers + For Each ucrTempReceiver As ucrReceiver In lstReceivers ucrTempReceiver.SetMeAsReceiver() lstRecognisedValues = GetRecognisedValues(ucrTempReceiver.Tag) @@ -1963,57 +1885,6 @@ Public Class dlgClimograph If ucrCurrentReceiver IsNot Nothing Then ucrCurrentReceiver.SetMeAsReceiver() End If - - ' Re-enable the event handler - AddHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTminReceivers - - isFilling = False - End Sub - - Private Sub AutoFillTminminReceivers() - If isFilling Then - Exit Sub - End If - isFilling = True - - ' Temporarily remove the event handler - RemoveHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTminminReceivers - - Dim lstRecognisedValues As List(Of String) - Dim ucrCurrentReceiver As ucrReceiver - Dim bFound As Boolean = False - - ucrCurrentReceiver = ucrSelectorClimograph.CurrentReceiver - - For Each ucrTempReceiver As ucrReceiver In lstTminminReceivers - ucrTempReceiver.SetMeAsReceiver() - lstRecognisedValues = GetRecognisedValues(ucrTempReceiver.Tag) - - If lstRecognisedValues.Count > 0 Then - For Each lviTempVariable As ListViewItem In ucrSelectorClimograph.lstAvailableVariable.Items - For Each strValue As String In lstRecognisedValues - If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]", String.Empty).Equals(strValue) Then - ucrTempReceiver.Add(lviTempVariable.Text, ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text) - bFound = True - Exit For - End If - Next - If bFound Then - bFound = False - Exit For - End If - Next - End If - Next - - If ucrCurrentReceiver IsNot Nothing Then - ucrCurrentReceiver.SetMeAsReceiver() - End If - - ' Re-enable the event handler - AddHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillTminminReceivers - - isFilling = False End Sub Private Function GetRecognisedValues(strVariable As String) As List(Of String) From 960d70e2388ae7d00cb9ef44efcbb1afef96be34 Mon Sep 17 00:00:00 2001 From: Sophie Malla Tatchum Date: Thu, 31 Oct 2024 14:27:45 +0100 Subject: [PATCH 03/12] minor change made --- instat/dlgClimograph.vb | 6 ------ 1 file changed, 6 deletions(-) diff --git a/instat/dlgClimograph.vb b/instat/dlgClimograph.vb index 72a7c39e3b..7b7da02428 100644 --- a/instat/dlgClimograph.vb +++ b/instat/dlgClimograph.vb @@ -1336,14 +1336,12 @@ Public Class dlgClimograph Dataframechange() AddRemoveTemBars() - AutoFillReceivers(lstRainReceivers) AutoFillReceivers(lstTmaxReceivers) AutoFillReceivers(lstTminReceivers) AutoFillReceivers(lstTminminReceivers) End Sub - Private Sub AutoFillRainReceivers() If isFilling Then Exit Sub @@ -1390,8 +1388,6 @@ Public Class dlgClimograph isFilling = False End Sub - - Private Sub GetParameterValue(clsOperator As ROperator) Dim i As Integer = 0 For Each clsTempParam As RParameter In clsOperator.clsParameters @@ -1931,8 +1927,6 @@ Public Class dlgClimograph isFilling = False End Sub - - Private Function GetRecognisedValues(strVariable As String) As List(Of String) Dim lstValues As New List(Of String) From fbf212fd4083a5aacbfdc5d5dbc4bd42b86d310d Mon Sep 17 00:00:00 2001 From: Ntalumeso Date: Mon, 25 Nov 2024 14:27:59 +0300 Subject: [PATCH 04/12] Added min and max recongnition auto fill in define climatic dialogue --- instat/DlgDefineClimaticData.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/instat/DlgDefineClimaticData.vb b/instat/DlgDefineClimaticData.vb index 5055c7d8a0..3b88a7c821 100644 --- a/instat/DlgDefineClimaticData.vb +++ b/instat/DlgDefineClimaticData.vb @@ -55,8 +55,8 @@ Public Class DlgDefineClimaticData Dim kvpLongitude As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("lon", {"lon", "lont", "longitude"}.ToList()) Dim kvpLatitude As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("lat", {"lat", "latitude"}.ToList()) Dim kvpCloudCover As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("cloud_cover", {"cloud", "cldtot"}.ToList()) - Dim kvpTempMax As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("temp_max", {"tmax", "tx", "tempmax", "tmp_max", "tmpmax"}.ToList()) - Dim kvpTempMin As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("temp_min", {"tmin", "tn", "tempmin", "tmp_min", "tmpmin"}.ToList()) + Dim kvpTempMax As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("temp_max", {"tmax", "tx", "tempmax", "tmp_max", "tmpmax", "max"}.ToList()) + Dim kvpTempMin As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("temp_min", {"tmin", "tn", "tempmin", "tmp_min", "tmpmin", "min"}.ToList()) Dim kvpRadiation As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("radiation", {"radiation", "rad", "radgls", "radsky", "radres", "radnaw", "raddwn", "radup", "raddsl"}.ToList()) Dim kvpSunshineHours As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("sunshine_hours", {"sunshine", "sunh", "sunhrs", "sun"}.ToList()) Dim kvpWindDirection As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("wind_direction", {"winddirection", "pkgstd"}.ToList()) From 9ae2d14b9f11be59f94349ddf7ed56a2f174f845 Mon Sep 17 00:00:00 2001 From: Ntalumeso Date: Mon, 25 Nov 2024 14:46:39 +0300 Subject: [PATCH 05/12] tab orders --- instat/DlgDefineClimaticData.Designer.vb | 365 +++++++++++++---------- 1 file changed, 200 insertions(+), 165 deletions(-) diff --git a/instat/DlgDefineClimaticData.Designer.vb b/instat/DlgDefineClimaticData.Designer.vb index f68af97596..0883023416 100644 --- a/instat/DlgDefineClimaticData.Designer.vb +++ b/instat/DlgDefineClimaticData.Designer.vb @@ -107,10 +107,11 @@ Partial Class DlgDefineClimaticData 'cmdCheckUnique ' Me.cmdCheckUnique.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.cmdCheckUnique.Location = New System.Drawing.Point(6, 437) + Me.cmdCheckUnique.Location = New System.Drawing.Point(9, 656) + Me.cmdCheckUnique.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.cmdCheckUnique.Name = "cmdCheckUnique" - Me.cmdCheckUnique.Size = New System.Drawing.Size(139, 23) - Me.cmdCheckUnique.TabIndex = 17 + Me.cmdCheckUnique.Size = New System.Drawing.Size(208, 34) + Me.cmdCheckUnique.TabIndex = 9 Me.cmdCheckUnique.Text = "Check Duplicates" Me.cmdCheckUnique.UseVisualStyleBackColor = True ' @@ -118,9 +119,10 @@ Partial Class DlgDefineClimaticData ' Me.lblStationName.AutoSize = True Me.lblStationName.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblStationName.Location = New System.Drawing.Point(10, 14) + Me.lblStationName.Location = New System.Drawing.Point(15, 21) + Me.lblStationName.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblStationName.Name = "lblStationName" - Me.lblStationName.Size = New System.Drawing.Size(38, 13) + Me.lblStationName.Size = New System.Drawing.Size(55, 20) Me.lblStationName.TabIndex = 0 Me.lblStationName.Text = "Name:" ' @@ -128,19 +130,21 @@ Partial Class DlgDefineClimaticData ' Me.lblDOY.AutoSize = True Me.lblDOY.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblDOY.Location = New System.Drawing.Point(12, 155) + Me.lblDOY.Location = New System.Drawing.Point(18, 232) + Me.lblDOY.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblDOY.Name = "lblDOY" - Me.lblDOY.Size = New System.Drawing.Size(66, 13) - Me.lblDOY.TabIndex = 8 + Me.lblDOY.Size = New System.Drawing.Size(97, 20) + Me.lblDOY.TabIndex = 7 Me.lblDOY.Text = "Day of Year:" ' 'lblLongitude ' Me.lblLongitude.AutoSize = True Me.lblLongitude.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblLongitude.Location = New System.Drawing.Point(10, 133) + Me.lblLongitude.Location = New System.Drawing.Point(15, 200) + Me.lblLongitude.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblLongitude.Name = "lblLongitude" - Me.lblLongitude.Size = New System.Drawing.Size(57, 13) + Me.lblLongitude.Size = New System.Drawing.Size(84, 20) Me.lblLongitude.TabIndex = 6 Me.lblLongitude.Text = "Longitude:" ' @@ -148,9 +152,10 @@ Partial Class DlgDefineClimaticData ' Me.lblLatitude.AutoSize = True Me.lblLatitude.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblLatitude.Location = New System.Drawing.Point(10, 95) + Me.lblLatitude.Location = New System.Drawing.Point(15, 142) + Me.lblLatitude.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblLatitude.Name = "lblLatitude" - Me.lblLatitude.Size = New System.Drawing.Size(48, 13) + Me.lblLatitude.Size = New System.Drawing.Size(71, 20) Me.lblLatitude.TabIndex = 4 Me.lblLatitude.Text = "Latitude:" ' @@ -158,10 +163,11 @@ Partial Class DlgDefineClimaticData ' Me.lblAltitude.AutoSize = True Me.lblAltitude.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblAltitude.Location = New System.Drawing.Point(10, 172) + Me.lblAltitude.Location = New System.Drawing.Point(15, 258) + Me.lblAltitude.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblAltitude.Name = "lblAltitude" - Me.lblAltitude.Size = New System.Drawing.Size(45, 13) - Me.lblAltitude.TabIndex = 2 + Me.lblAltitude.Size = New System.Drawing.Size(67, 20) + Me.lblAltitude.TabIndex = 8 Me.lblAltitude.Text = "Altitude:" ' 'grpStation @@ -176,10 +182,12 @@ Partial Class DlgDefineClimaticData Me.grpStation.Controls.Add(Me.ucrReceiverLongitude) Me.grpStation.Controls.Add(Me.ucrReceiverLatitude) Me.grpStation.Controls.Add(Me.ucrReceiverAltitude) - Me.grpStation.Location = New System.Drawing.Point(242, 211) + Me.grpStation.Location = New System.Drawing.Point(363, 316) + Me.grpStation.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.grpStation.Name = "grpStation" - Me.grpStation.Size = New System.Drawing.Size(126, 216) - Me.grpStation.TabIndex = 14 + Me.grpStation.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4) + Me.grpStation.Size = New System.Drawing.Size(189, 324) + Me.grpStation.TabIndex = 4 Me.grpStation.TabStop = False Me.grpStation.Tag = "" Me.grpStation.Text = "Station" @@ -188,73 +196,74 @@ Partial Class DlgDefineClimaticData ' Me.lblDiscrit.AutoSize = True Me.lblDiscrit.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblDiscrit.Location = New System.Drawing.Point(10, 57) + Me.lblDiscrit.Location = New System.Drawing.Point(15, 86) + Me.lblDiscrit.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblDiscrit.Name = "lblDiscrit" - Me.lblDiscrit.Size = New System.Drawing.Size(40, 13) - Me.lblDiscrit.TabIndex = 10 + Me.lblDiscrit.Size = New System.Drawing.Size(59, 20) + Me.lblDiscrit.TabIndex = 2 Me.lblDiscrit.Text = "district:" ' 'ucrReceiverDiscrit ' Me.ucrReceiverDiscrit.AutoSize = True Me.ucrReceiverDiscrit.frmParent = Me - Me.ucrReceiverDiscrit.Location = New System.Drawing.Point(10, 72) + Me.ucrReceiverDiscrit.Location = New System.Drawing.Point(15, 108) Me.ucrReceiverDiscrit.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverDiscrit.Name = "ucrReceiverDiscrit" Me.ucrReceiverDiscrit.Selector = Nothing - Me.ucrReceiverDiscrit.Size = New System.Drawing.Size(100, 20) + Me.ucrReceiverDiscrit.Size = New System.Drawing.Size(150, 30) Me.ucrReceiverDiscrit.strNcFilePath = "" - Me.ucrReceiverDiscrit.TabIndex = 11 + Me.ucrReceiverDiscrit.TabIndex = 3 Me.ucrReceiverDiscrit.ucrSelector = Nothing ' 'ucrReceiverStation ' Me.ucrReceiverStation.AutoSize = True Me.ucrReceiverStation.frmParent = Me - Me.ucrReceiverStation.Location = New System.Drawing.Point(10, 29) + Me.ucrReceiverStation.Location = New System.Drawing.Point(15, 44) Me.ucrReceiverStation.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverStation.Name = "ucrReceiverStation" Me.ucrReceiverStation.Selector = Nothing - Me.ucrReceiverStation.Size = New System.Drawing.Size(100, 20) + Me.ucrReceiverStation.Size = New System.Drawing.Size(150, 30) Me.ucrReceiverStation.strNcFilePath = "" - Me.ucrReceiverStation.TabIndex = 6 + Me.ucrReceiverStation.TabIndex = 1 Me.ucrReceiverStation.ucrSelector = Nothing ' 'ucrReceiverLongitude ' Me.ucrReceiverLongitude.AutoSize = True Me.ucrReceiverLongitude.frmParent = Me - Me.ucrReceiverLongitude.Location = New System.Drawing.Point(10, 148) + Me.ucrReceiverLongitude.Location = New System.Drawing.Point(15, 222) Me.ucrReceiverLongitude.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverLongitude.Name = "ucrReceiverLongitude" Me.ucrReceiverLongitude.Selector = Nothing - Me.ucrReceiverLongitude.Size = New System.Drawing.Size(100, 20) + Me.ucrReceiverLongitude.Size = New System.Drawing.Size(150, 30) Me.ucrReceiverLongitude.strNcFilePath = "" - Me.ucrReceiverLongitude.TabIndex = 8 + Me.ucrReceiverLongitude.TabIndex = 7 Me.ucrReceiverLongitude.ucrSelector = Nothing ' 'ucrReceiverLatitude ' Me.ucrReceiverLatitude.AutoSize = True Me.ucrReceiverLatitude.frmParent = Me - Me.ucrReceiverLatitude.Location = New System.Drawing.Point(10, 110) + Me.ucrReceiverLatitude.Location = New System.Drawing.Point(15, 165) Me.ucrReceiverLatitude.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverLatitude.Name = "ucrReceiverLatitude" Me.ucrReceiverLatitude.Selector = Nothing - Me.ucrReceiverLatitude.Size = New System.Drawing.Size(100, 20) + Me.ucrReceiverLatitude.Size = New System.Drawing.Size(150, 30) Me.ucrReceiverLatitude.strNcFilePath = "" - Me.ucrReceiverLatitude.TabIndex = 7 + Me.ucrReceiverLatitude.TabIndex = 5 Me.ucrReceiverLatitude.ucrSelector = Nothing ' 'ucrReceiverAltitude ' Me.ucrReceiverAltitude.AutoSize = True Me.ucrReceiverAltitude.frmParent = Me - Me.ucrReceiverAltitude.Location = New System.Drawing.Point(10, 187) + Me.ucrReceiverAltitude.Location = New System.Drawing.Point(15, 280) Me.ucrReceiverAltitude.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverAltitude.Name = "ucrReceiverAltitude" Me.ucrReceiverAltitude.Selector = Nothing - Me.ucrReceiverAltitude.Size = New System.Drawing.Size(100, 20) + Me.ucrReceiverAltitude.Size = New System.Drawing.Size(150, 30) Me.ucrReceiverAltitude.strNcFilePath = "" Me.ucrReceiverAltitude.TabIndex = 9 Me.ucrReceiverAltitude.ucrSelector = Nothing @@ -271,10 +280,12 @@ Partial Class DlgDefineClimaticData Me.grpDateTime.Controls.Add(Me.ucrReceiverMonth) Me.grpDateTime.Controls.Add(Me.ucrReceiverDay) Me.grpDateTime.Controls.Add(Me.lblDay) - Me.grpDateTime.Location = New System.Drawing.Point(242, 12) + Me.grpDateTime.Location = New System.Drawing.Point(363, 18) + Me.grpDateTime.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.grpDateTime.Name = "grpDateTime" - Me.grpDateTime.Size = New System.Drawing.Size(126, 196) - Me.grpDateTime.TabIndex = 15 + Me.grpDateTime.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4) + Me.grpDateTime.Size = New System.Drawing.Size(189, 294) + Me.grpDateTime.TabIndex = 3 Me.grpDateTime.TabStop = False Me.grpDateTime.Tag = "" Me.grpDateTime.Text = "Date and Time" @@ -283,11 +294,11 @@ Partial Class DlgDefineClimaticData ' Me.ucrReceiverYear.AutoSize = True Me.ucrReceiverYear.frmParent = Me - Me.ucrReceiverYear.Location = New System.Drawing.Point(12, 62) + Me.ucrReceiverYear.Location = New System.Drawing.Point(18, 93) Me.ucrReceiverYear.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverYear.Name = "ucrReceiverYear" Me.ucrReceiverYear.Selector = Nothing - Me.ucrReceiverYear.Size = New System.Drawing.Size(98, 20) + Me.ucrReceiverYear.Size = New System.Drawing.Size(147, 30) Me.ucrReceiverYear.strNcFilePath = "" Me.ucrReceiverYear.TabIndex = 2 Me.ucrReceiverYear.ucrSelector = Nothing @@ -296,9 +307,10 @@ Partial Class DlgDefineClimaticData ' Me.lblDate.AutoSize = True Me.lblDate.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblDate.Location = New System.Drawing.Point(12, 13) + Me.lblDate.Location = New System.Drawing.Point(18, 20) + Me.lblDate.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblDate.Name = "lblDate" - Me.lblDate.Size = New System.Drawing.Size(33, 13) + Me.lblDate.Size = New System.Drawing.Size(48, 20) Me.lblDate.TabIndex = 0 Me.lblDate.Text = "Date:" ' @@ -306,32 +318,34 @@ Partial Class DlgDefineClimaticData ' Me.lblMonth.AutoSize = True Me.lblMonth.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblMonth.Location = New System.Drawing.Point(12, 84) + Me.lblMonth.Location = New System.Drawing.Point(18, 126) + Me.lblMonth.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblMonth.Name = "lblMonth" - Me.lblMonth.Size = New System.Drawing.Size(40, 13) - Me.lblMonth.TabIndex = 4 + Me.lblMonth.Size = New System.Drawing.Size(58, 20) + Me.lblMonth.TabIndex = 3 Me.lblMonth.Text = "Month:" ' 'ucrReceiverDOY ' Me.ucrReceiverDOY.AutoSize = True Me.ucrReceiverDOY.frmParent = Me - Me.ucrReceiverDOY.Location = New System.Drawing.Point(12, 170) + Me.ucrReceiverDOY.Location = New System.Drawing.Point(18, 255) Me.ucrReceiverDOY.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverDOY.Name = "ucrReceiverDOY" Me.ucrReceiverDOY.Selector = Nothing - Me.ucrReceiverDOY.Size = New System.Drawing.Size(98, 20) + Me.ucrReceiverDOY.Size = New System.Drawing.Size(147, 30) Me.ucrReceiverDOY.strNcFilePath = "" - Me.ucrReceiverDOY.TabIndex = 5 + Me.ucrReceiverDOY.TabIndex = 8 Me.ucrReceiverDOY.ucrSelector = Nothing ' 'lblYear ' Me.lblYear.AutoSize = True Me.lblYear.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblYear.Location = New System.Drawing.Point(12, 48) + Me.lblYear.Location = New System.Drawing.Point(18, 72) + Me.lblYear.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblYear.Name = "lblYear" - Me.lblYear.Size = New System.Drawing.Size(32, 13) + Me.lblYear.Size = New System.Drawing.Size(47, 20) Me.lblYear.TabIndex = 2 Me.lblYear.Text = "Year:" ' @@ -339,11 +353,11 @@ Partial Class DlgDefineClimaticData ' Me.ucrReceiverDate.AutoSize = True Me.ucrReceiverDate.frmParent = Me - Me.ucrReceiverDate.Location = New System.Drawing.Point(12, 26) + Me.ucrReceiverDate.Location = New System.Drawing.Point(18, 39) Me.ucrReceiverDate.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverDate.Name = "ucrReceiverDate" Me.ucrReceiverDate.Selector = Nothing - Me.ucrReceiverDate.Size = New System.Drawing.Size(98, 20) + Me.ucrReceiverDate.Size = New System.Drawing.Size(147, 30) Me.ucrReceiverDate.strNcFilePath = "" Me.ucrReceiverDate.TabIndex = 1 Me.ucrReceiverDate.ucrSelector = Nothing @@ -352,55 +366,58 @@ Partial Class DlgDefineClimaticData ' Me.ucrReceiverMonth.AutoSize = True Me.ucrReceiverMonth.frmParent = Me - Me.ucrReceiverMonth.Location = New System.Drawing.Point(12, 98) + Me.ucrReceiverMonth.Location = New System.Drawing.Point(18, 147) Me.ucrReceiverMonth.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverMonth.Name = "ucrReceiverMonth" Me.ucrReceiverMonth.Selector = Nothing - Me.ucrReceiverMonth.Size = New System.Drawing.Size(98, 20) + Me.ucrReceiverMonth.Size = New System.Drawing.Size(147, 30) Me.ucrReceiverMonth.strNcFilePath = "" - Me.ucrReceiverMonth.TabIndex = 3 + Me.ucrReceiverMonth.TabIndex = 4 Me.ucrReceiverMonth.ucrSelector = Nothing ' 'ucrReceiverDay ' Me.ucrReceiverDay.AutoSize = True Me.ucrReceiverDay.frmParent = Me - Me.ucrReceiverDay.Location = New System.Drawing.Point(12, 133) + Me.ucrReceiverDay.Location = New System.Drawing.Point(18, 200) Me.ucrReceiverDay.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverDay.Name = "ucrReceiverDay" Me.ucrReceiverDay.Selector = Nothing - Me.ucrReceiverDay.Size = New System.Drawing.Size(98, 20) + Me.ucrReceiverDay.Size = New System.Drawing.Size(147, 30) Me.ucrReceiverDay.strNcFilePath = "" - Me.ucrReceiverDay.TabIndex = 4 + Me.ucrReceiverDay.TabIndex = 6 Me.ucrReceiverDay.ucrSelector = Nothing ' 'lblDay ' Me.lblDay.AutoSize = True Me.lblDay.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblDay.Location = New System.Drawing.Point(12, 120) + Me.lblDay.Location = New System.Drawing.Point(18, 180) + Me.lblDay.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblDay.Name = "lblDay" - Me.lblDay.Size = New System.Drawing.Size(29, 13) - Me.lblDay.TabIndex = 6 + Me.lblDay.Size = New System.Drawing.Size(41, 20) + Me.lblDay.TabIndex = 5 Me.lblDay.Text = "Day:" ' 'Label1 ' Me.Label1.AutoSize = True Me.Label1.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Label1.Location = New System.Drawing.Point(9, 135) + Me.Label1.Location = New System.Drawing.Point(14, 202) + Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(57, 13) - Me.Label1.TabIndex = 6 + Me.Label1.Size = New System.Drawing.Size(84, 20) + Me.Label1.TabIndex = 7 Me.Label1.Text = "Longitude:" ' 'Label2 ' Me.Label2.AutoSize = True Me.Label2.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Label2.Location = New System.Drawing.Point(9, 97) + Me.Label2.Location = New System.Drawing.Point(14, 146) + Me.Label2.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label2.Name = "Label2" - Me.Label2.Size = New System.Drawing.Size(48, 13) + Me.Label2.Size = New System.Drawing.Size(71, 20) Me.Label2.TabIndex = 4 Me.Label2.Text = "Latitude:" ' @@ -408,19 +425,21 @@ Partial Class DlgDefineClimaticData ' Me.Label3.AutoSize = True Me.Label3.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Label3.Location = New System.Drawing.Point(9, 176) + Me.Label3.Location = New System.Drawing.Point(14, 264) + Me.Label3.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label3.Name = "Label3" - Me.Label3.Size = New System.Drawing.Size(45, 13) - Me.Label3.TabIndex = 2 + Me.Label3.Size = New System.Drawing.Size(67, 20) + Me.Label3.TabIndex = 9 Me.Label3.Text = "Altitude:" ' 'Label4 ' Me.Label4.AutoSize = True Me.Label4.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Label4.Location = New System.Drawing.Point(9, 20) + Me.Label4.Location = New System.Drawing.Point(14, 30) + Me.Label4.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label4.Name = "Label4" - Me.Label4.Size = New System.Drawing.Size(38, 13) + Me.Label4.Size = New System.Drawing.Size(55, 20) Me.Label4.TabIndex = 0 Me.Label4.Text = "Name:" ' @@ -436,10 +455,12 @@ Partial Class DlgDefineClimaticData Me.grpMeta.Controls.Add(Me.ucrReceiverLonMeta) Me.grpMeta.Controls.Add(Me.ucrReceiverLatMeta) Me.grpMeta.Controls.Add(Me.ucrReceiverAltMeta) - Me.grpMeta.Location = New System.Drawing.Point(242, 211) + Me.grpMeta.Location = New System.Drawing.Point(363, 316) + Me.grpMeta.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.grpMeta.Name = "grpMeta" - Me.grpMeta.Size = New System.Drawing.Size(112, 216) - Me.grpMeta.TabIndex = 22 + Me.grpMeta.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4) + Me.grpMeta.Size = New System.Drawing.Size(168, 324) + Me.grpMeta.TabIndex = 5 Me.grpMeta.TabStop = False Me.grpMeta.Tag = "" Me.grpMeta.Text = "Station" @@ -448,84 +469,86 @@ Partial Class DlgDefineClimaticData ' Me.lblDiscritMeta.AutoSize = True Me.lblDiscritMeta.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblDiscritMeta.Location = New System.Drawing.Point(9, 58) + Me.lblDiscritMeta.Location = New System.Drawing.Point(14, 87) + Me.lblDiscritMeta.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblDiscritMeta.Name = "lblDiscritMeta" - Me.lblDiscritMeta.Size = New System.Drawing.Size(40, 13) - Me.lblDiscritMeta.TabIndex = 12 + Me.lblDiscritMeta.Size = New System.Drawing.Size(59, 20) + Me.lblDiscritMeta.TabIndex = 2 Me.lblDiscritMeta.Text = "district:" ' 'ucrReceiverDiscritMeta ' Me.ucrReceiverDiscritMeta.AutoSize = True Me.ucrReceiverDiscritMeta.frmParent = Me - Me.ucrReceiverDiscritMeta.Location = New System.Drawing.Point(11, 73) + Me.ucrReceiverDiscritMeta.Location = New System.Drawing.Point(16, 110) Me.ucrReceiverDiscritMeta.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverDiscritMeta.Name = "ucrReceiverDiscritMeta" Me.ucrReceiverDiscritMeta.Selector = Nothing - Me.ucrReceiverDiscritMeta.Size = New System.Drawing.Size(93, 20) + Me.ucrReceiverDiscritMeta.Size = New System.Drawing.Size(140, 30) Me.ucrReceiverDiscritMeta.strNcFilePath = "" - Me.ucrReceiverDiscritMeta.TabIndex = 13 + Me.ucrReceiverDiscritMeta.TabIndex = 3 Me.ucrReceiverDiscritMeta.ucrSelector = Nothing ' 'ucrReceiverStationMeta ' Me.ucrReceiverStationMeta.AutoSize = True Me.ucrReceiverStationMeta.frmParent = Me - Me.ucrReceiverStationMeta.Location = New System.Drawing.Point(11, 33) + Me.ucrReceiverStationMeta.Location = New System.Drawing.Point(16, 50) Me.ucrReceiverStationMeta.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverStationMeta.Name = "ucrReceiverStationMeta" Me.ucrReceiverStationMeta.Selector = Nothing - Me.ucrReceiverStationMeta.Size = New System.Drawing.Size(93, 20) + Me.ucrReceiverStationMeta.Size = New System.Drawing.Size(140, 30) Me.ucrReceiverStationMeta.strNcFilePath = "" - Me.ucrReceiverStationMeta.TabIndex = 8 + Me.ucrReceiverStationMeta.TabIndex = 1 Me.ucrReceiverStationMeta.ucrSelector = Nothing ' 'ucrReceiverLonMeta ' Me.ucrReceiverLonMeta.AutoSize = True Me.ucrReceiverLonMeta.frmParent = Me - Me.ucrReceiverLonMeta.Location = New System.Drawing.Point(9, 150) + Me.ucrReceiverLonMeta.Location = New System.Drawing.Point(14, 225) Me.ucrReceiverLonMeta.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverLonMeta.Name = "ucrReceiverLonMeta" Me.ucrReceiverLonMeta.Selector = Nothing - Me.ucrReceiverLonMeta.Size = New System.Drawing.Size(93, 20) + Me.ucrReceiverLonMeta.Size = New System.Drawing.Size(140, 30) Me.ucrReceiverLonMeta.strNcFilePath = "" - Me.ucrReceiverLonMeta.TabIndex = 10 + Me.ucrReceiverLonMeta.TabIndex = 8 Me.ucrReceiverLonMeta.ucrSelector = Nothing ' 'ucrReceiverLatMeta ' Me.ucrReceiverLatMeta.AutoSize = True Me.ucrReceiverLatMeta.frmParent = Me - Me.ucrReceiverLatMeta.Location = New System.Drawing.Point(9, 112) + Me.ucrReceiverLatMeta.Location = New System.Drawing.Point(14, 168) Me.ucrReceiverLatMeta.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverLatMeta.Name = "ucrReceiverLatMeta" Me.ucrReceiverLatMeta.Selector = Nothing - Me.ucrReceiverLatMeta.Size = New System.Drawing.Size(93, 20) + Me.ucrReceiverLatMeta.Size = New System.Drawing.Size(140, 30) Me.ucrReceiverLatMeta.strNcFilePath = "" - Me.ucrReceiverLatMeta.TabIndex = 9 + Me.ucrReceiverLatMeta.TabIndex = 5 Me.ucrReceiverLatMeta.ucrSelector = Nothing ' 'ucrReceiverAltMeta ' Me.ucrReceiverAltMeta.AutoSize = True Me.ucrReceiverAltMeta.frmParent = Me - Me.ucrReceiverAltMeta.Location = New System.Drawing.Point(9, 191) + Me.ucrReceiverAltMeta.Location = New System.Drawing.Point(14, 286) Me.ucrReceiverAltMeta.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverAltMeta.Name = "ucrReceiverAltMeta" Me.ucrReceiverAltMeta.Selector = Nothing - Me.ucrReceiverAltMeta.Size = New System.Drawing.Size(93, 20) + Me.ucrReceiverAltMeta.Size = New System.Drawing.Size(140, 30) Me.ucrReceiverAltMeta.strNcFilePath = "" - Me.ucrReceiverAltMeta.TabIndex = 11 + Me.ucrReceiverAltMeta.TabIndex = 9 Me.ucrReceiverAltMeta.ucrSelector = Nothing ' 'lblRain ' Me.lblRain.AutoSize = True Me.lblRain.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblRain.Location = New System.Drawing.Point(15, 15) + Me.lblRain.Location = New System.Drawing.Point(22, 22) + Me.lblRain.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblRain.Name = "lblRain" - Me.lblRain.Size = New System.Drawing.Size(32, 13) + Me.lblRain.Size = New System.Drawing.Size(46, 20) Me.lblRain.TabIndex = 0 Me.lblRain.Text = "Rain:" ' @@ -551,10 +574,12 @@ Partial Class DlgDefineClimaticData Me.grpElements.Controls.Add(Me.ucrReceiverMinTemp) Me.grpElements.Controls.Add(Me.lblWindSpeed) Me.grpElements.Controls.Add(Me.lblWindDirection) - Me.grpElements.Location = New System.Drawing.Point(374, 12) + Me.grpElements.Location = New System.Drawing.Point(561, 18) + Me.grpElements.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.grpElements.Name = "grpElements" - Me.grpElements.Size = New System.Drawing.Size(151, 395) - Me.grpElements.TabIndex = 16 + Me.grpElements.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4) + Me.grpElements.Size = New System.Drawing.Size(226, 592) + Me.grpElements.TabIndex = 6 Me.grpElements.TabStop = False Me.grpElements.Text = "Elements" ' @@ -562,11 +587,11 @@ Partial Class DlgDefineClimaticData ' Me.ucrReceiverMaxRH.AutoSize = True Me.ucrReceiverMaxRH.frmParent = Me - Me.ucrReceiverMaxRH.Location = New System.Drawing.Point(18, 366) + Me.ucrReceiverMaxRH.Location = New System.Drawing.Point(27, 549) Me.ucrReceiverMaxRH.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverMaxRH.Name = "ucrReceiverMaxRH" Me.ucrReceiverMaxRH.Selector = Nothing - Me.ucrReceiverMaxRH.Size = New System.Drawing.Size(116, 20) + Me.ucrReceiverMaxRH.Size = New System.Drawing.Size(174, 30) Me.ucrReceiverMaxRH.strNcFilePath = "" Me.ucrReceiverMaxRH.TabIndex = 19 Me.ucrReceiverMaxRH.ucrSelector = Nothing @@ -575,9 +600,10 @@ Partial Class DlgDefineClimaticData ' Me.lblMaxRH.AutoSize = True Me.lblMaxRH.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblMaxRH.Location = New System.Drawing.Point(15, 351) + Me.lblMaxRH.Location = New System.Drawing.Point(22, 526) + Me.lblMaxRH.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblMaxRH.Name = "lblMaxRH" - Me.lblMaxRH.Size = New System.Drawing.Size(90, 13) + Me.lblMaxRH.Size = New System.Drawing.Size(136, 20) Me.lblMaxRH.TabIndex = 18 Me.lblMaxRH.Text = "Maximum RH (%):" ' @@ -585,22 +611,23 @@ Partial Class DlgDefineClimaticData ' Me.ucrReceiverMinRH.AutoSize = True Me.ucrReceiverMinRH.frmParent = Me - Me.ucrReceiverMinRH.Location = New System.Drawing.Point(18, 330) + Me.ucrReceiverMinRH.Location = New System.Drawing.Point(27, 495) Me.ucrReceiverMinRH.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverMinRH.Name = "ucrReceiverMinRH" Me.ucrReceiverMinRH.Selector = Nothing - Me.ucrReceiverMinRH.Size = New System.Drawing.Size(116, 20) + Me.ucrReceiverMinRH.Size = New System.Drawing.Size(174, 30) Me.ucrReceiverMinRH.strNcFilePath = "" - Me.ucrReceiverMinRH.TabIndex = 18 + Me.ucrReceiverMinRH.TabIndex = 17 Me.ucrReceiverMinRH.ucrSelector = Nothing ' 'lblMinimumRH ' Me.lblMinimumRH.AutoSize = True Me.lblMinimumRH.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblMinimumRH.Location = New System.Drawing.Point(15, 315) + Me.lblMinimumRH.Location = New System.Drawing.Point(22, 472) + Me.lblMinimumRH.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblMinimumRH.Name = "lblMinimumRH" - Me.lblMinimumRH.Size = New System.Drawing.Size(87, 13) + Me.lblMinimumRH.Size = New System.Drawing.Size(132, 20) Me.lblMinimumRH.TabIndex = 16 Me.lblMinimumRH.Text = "Minimum RH (%):" ' @@ -608,87 +635,88 @@ Partial Class DlgDefineClimaticData ' Me.ucrReceiverWindDirection.AutoSize = True Me.ucrReceiverWindDirection.frmParent = Me - Me.ucrReceiverWindDirection.Location = New System.Drawing.Point(18, 177) + Me.ucrReceiverWindDirection.Location = New System.Drawing.Point(27, 266) Me.ucrReceiverWindDirection.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverWindDirection.Name = "ucrReceiverWindDirection" Me.ucrReceiverWindDirection.Selector = Nothing - Me.ucrReceiverWindDirection.Size = New System.Drawing.Size(111, 20) + Me.ucrReceiverWindDirection.Size = New System.Drawing.Size(166, 30) Me.ucrReceiverWindDirection.strNcFilePath = "" - Me.ucrReceiverWindDirection.TabIndex = 14 + Me.ucrReceiverWindDirection.TabIndex = 9 Me.ucrReceiverWindDirection.ucrSelector = Nothing ' 'ucrReceiverRain ' Me.ucrReceiverRain.AutoSize = True Me.ucrReceiverRain.frmParent = Me - Me.ucrReceiverRain.Location = New System.Drawing.Point(18, 30) + Me.ucrReceiverRain.Location = New System.Drawing.Point(27, 45) Me.ucrReceiverRain.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverRain.Name = "ucrReceiverRain" Me.ucrReceiverRain.Selector = Nothing - Me.ucrReceiverRain.Size = New System.Drawing.Size(111, 20) + Me.ucrReceiverRain.Size = New System.Drawing.Size(166, 30) Me.ucrReceiverRain.strNcFilePath = "" - Me.ucrReceiverRain.TabIndex = 10 + Me.ucrReceiverRain.TabIndex = 1 Me.ucrReceiverRain.ucrSelector = Nothing ' 'ucrReceiverSunshine ' Me.ucrReceiverSunshine.AutoSize = True Me.ucrReceiverSunshine.frmParent = Me - Me.ucrReceiverSunshine.Location = New System.Drawing.Point(18, 215) + Me.ucrReceiverSunshine.Location = New System.Drawing.Point(27, 322) Me.ucrReceiverSunshine.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverSunshine.Name = "ucrReceiverSunshine" Me.ucrReceiverSunshine.Selector = Nothing - Me.ucrReceiverSunshine.Size = New System.Drawing.Size(116, 20) + Me.ucrReceiverSunshine.Size = New System.Drawing.Size(174, 30) Me.ucrReceiverSunshine.strNcFilePath = "" - Me.ucrReceiverSunshine.TabIndex = 15 + Me.ucrReceiverSunshine.TabIndex = 11 Me.ucrReceiverSunshine.ucrSelector = Nothing ' 'ucrReceiverRadiation ' Me.ucrReceiverRadiation.AutoSize = True Me.ucrReceiverRadiation.frmParent = Me - Me.ucrReceiverRadiation.Location = New System.Drawing.Point(18, 254) + Me.ucrReceiverRadiation.Location = New System.Drawing.Point(27, 381) Me.ucrReceiverRadiation.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverRadiation.Name = "ucrReceiverRadiation" Me.ucrReceiverRadiation.Selector = Nothing - Me.ucrReceiverRadiation.Size = New System.Drawing.Size(116, 20) + Me.ucrReceiverRadiation.Size = New System.Drawing.Size(174, 30) Me.ucrReceiverRadiation.strNcFilePath = "" - Me.ucrReceiverRadiation.TabIndex = 16 + Me.ucrReceiverRadiation.TabIndex = 13 Me.ucrReceiverRadiation.ucrSelector = Nothing ' 'ucrReceiverMaxTemp ' Me.ucrReceiverMaxTemp.AutoSize = True Me.ucrReceiverMaxTemp.frmParent = Me - Me.ucrReceiverMaxTemp.Location = New System.Drawing.Point(18, 103) + Me.ucrReceiverMaxTemp.Location = New System.Drawing.Point(27, 154) Me.ucrReceiverMaxTemp.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverMaxTemp.Name = "ucrReceiverMaxTemp" Me.ucrReceiverMaxTemp.Selector = Nothing - Me.ucrReceiverMaxTemp.Size = New System.Drawing.Size(111, 20) + Me.ucrReceiverMaxTemp.Size = New System.Drawing.Size(166, 30) Me.ucrReceiverMaxTemp.strNcFilePath = "" - Me.ucrReceiverMaxTemp.TabIndex = 12 + Me.ucrReceiverMaxTemp.TabIndex = 5 Me.ucrReceiverMaxTemp.ucrSelector = Nothing ' 'ucrReceiverCloudCover ' Me.ucrReceiverCloudCover.AutoSize = True Me.ucrReceiverCloudCover.frmParent = Me - Me.ucrReceiverCloudCover.Location = New System.Drawing.Point(18, 292) + Me.ucrReceiverCloudCover.Location = New System.Drawing.Point(27, 438) Me.ucrReceiverCloudCover.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverCloudCover.Name = "ucrReceiverCloudCover" Me.ucrReceiverCloudCover.Selector = Nothing - Me.ucrReceiverCloudCover.Size = New System.Drawing.Size(116, 20) + Me.ucrReceiverCloudCover.Size = New System.Drawing.Size(174, 30) Me.ucrReceiverCloudCover.strNcFilePath = "" - Me.ucrReceiverCloudCover.TabIndex = 17 + Me.ucrReceiverCloudCover.TabIndex = 15 Me.ucrReceiverCloudCover.ucrSelector = Nothing ' 'lblMaxTemp ' Me.lblMaxTemp.AutoSize = True Me.lblMaxTemp.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblMaxTemp.Location = New System.Drawing.Point(15, 88) + Me.lblMaxTemp.Location = New System.Drawing.Point(22, 132) + Me.lblMaxTemp.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblMaxTemp.Name = "lblMaxTemp" - Me.lblMaxTemp.Size = New System.Drawing.Size(117, 13) + Me.lblMaxTemp.Size = New System.Drawing.Size(175, 20) Me.lblMaxTemp.TabIndex = 4 Me.lblMaxTemp.Text = "Maximum Temperature:" ' @@ -696,9 +724,10 @@ Partial Class DlgDefineClimaticData ' Me.lblCloudCover.AutoSize = True Me.lblCloudCover.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblCloudCover.Location = New System.Drawing.Point(15, 277) + Me.lblCloudCover.Location = New System.Drawing.Point(22, 416) + Me.lblCloudCover.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblCloudCover.Name = "lblCloudCover" - Me.lblCloudCover.Size = New System.Drawing.Size(68, 13) + Me.lblCloudCover.Size = New System.Drawing.Size(99, 20) Me.lblCloudCover.TabIndex = 14 Me.lblCloudCover.Text = "Cloud Cover:" ' @@ -706,9 +735,10 @@ Partial Class DlgDefineClimaticData ' Me.lblMinTemp.AutoSize = True Me.lblMinTemp.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblMinTemp.Location = New System.Drawing.Point(15, 51) + Me.lblMinTemp.Location = New System.Drawing.Point(22, 76) + Me.lblMinTemp.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblMinTemp.Name = "lblMinTemp" - Me.lblMinTemp.Size = New System.Drawing.Size(114, 13) + Me.lblMinTemp.Size = New System.Drawing.Size(171, 20) Me.lblMinTemp.TabIndex = 2 Me.lblMinTemp.Text = "Minimum Temperature:" ' @@ -716,9 +746,10 @@ Partial Class DlgDefineClimaticData ' Me.lblRadiation.AutoSize = True Me.lblRadiation.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblRadiation.Location = New System.Drawing.Point(15, 239) + Me.lblRadiation.Location = New System.Drawing.Point(22, 358) + Me.lblRadiation.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblRadiation.Name = "lblRadiation" - Me.lblRadiation.Size = New System.Drawing.Size(55, 13) + Me.lblRadiation.Size = New System.Drawing.Size(81, 20) Me.lblRadiation.TabIndex = 12 Me.lblRadiation.Text = "Radiation:" ' @@ -726,22 +757,23 @@ Partial Class DlgDefineClimaticData ' Me.ucrReceiverWindSpeed.AutoSize = True Me.ucrReceiverWindSpeed.frmParent = Me - Me.ucrReceiverWindSpeed.Location = New System.Drawing.Point(18, 140) + Me.ucrReceiverWindSpeed.Location = New System.Drawing.Point(27, 210) Me.ucrReceiverWindSpeed.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverWindSpeed.Name = "ucrReceiverWindSpeed" Me.ucrReceiverWindSpeed.Selector = Nothing - Me.ucrReceiverWindSpeed.Size = New System.Drawing.Size(111, 20) + Me.ucrReceiverWindSpeed.Size = New System.Drawing.Size(166, 30) Me.ucrReceiverWindSpeed.strNcFilePath = "" - Me.ucrReceiverWindSpeed.TabIndex = 13 + Me.ucrReceiverWindSpeed.TabIndex = 7 Me.ucrReceiverWindSpeed.ucrSelector = Nothing ' 'lblSunshine ' Me.lblSunshine.AutoSize = True Me.lblSunshine.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblSunshine.Location = New System.Drawing.Point(15, 199) + Me.lblSunshine.Location = New System.Drawing.Point(22, 298) + Me.lblSunshine.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblSunshine.Name = "lblSunshine" - Me.lblSunshine.Size = New System.Drawing.Size(85, 13) + Me.lblSunshine.Size = New System.Drawing.Size(127, 20) Me.lblSunshine.TabIndex = 10 Me.lblSunshine.Text = "Sunshine Hours:" ' @@ -749,22 +781,23 @@ Partial Class DlgDefineClimaticData ' Me.ucrReceiverMinTemp.AutoSize = True Me.ucrReceiverMinTemp.frmParent = Me - Me.ucrReceiverMinTemp.Location = New System.Drawing.Point(18, 66) + Me.ucrReceiverMinTemp.Location = New System.Drawing.Point(27, 99) Me.ucrReceiverMinTemp.Margin = New System.Windows.Forms.Padding(0) Me.ucrReceiverMinTemp.Name = "ucrReceiverMinTemp" Me.ucrReceiverMinTemp.Selector = Nothing - Me.ucrReceiverMinTemp.Size = New System.Drawing.Size(111, 20) + Me.ucrReceiverMinTemp.Size = New System.Drawing.Size(166, 30) Me.ucrReceiverMinTemp.strNcFilePath = "" - Me.ucrReceiverMinTemp.TabIndex = 11 + Me.ucrReceiverMinTemp.TabIndex = 3 Me.ucrReceiverMinTemp.ucrSelector = Nothing ' 'lblWindSpeed ' Me.lblWindSpeed.AutoSize = True Me.lblWindSpeed.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblWindSpeed.Location = New System.Drawing.Point(15, 125) + Me.lblWindSpeed.Location = New System.Drawing.Point(22, 188) + Me.lblWindSpeed.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblWindSpeed.Name = "lblWindSpeed" - Me.lblWindSpeed.Size = New System.Drawing.Size(69, 13) + Me.lblWindSpeed.Size = New System.Drawing.Size(100, 20) Me.lblWindSpeed.TabIndex = 6 Me.lblWindSpeed.Text = "Wind Speed:" ' @@ -772,9 +805,10 @@ Partial Class DlgDefineClimaticData ' Me.lblWindDirection.AutoSize = True Me.lblWindDirection.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblWindDirection.Location = New System.Drawing.Point(15, 162) + Me.lblWindDirection.Location = New System.Drawing.Point(22, 243) + Me.lblWindDirection.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblWindDirection.Name = "lblWindDirection" - Me.lblWindDirection.Size = New System.Drawing.Size(80, 13) + Me.lblWindDirection.Size = New System.Drawing.Size(116, 20) Me.lblWindDirection.TabIndex = 8 Me.lblWindDirection.Text = "Wind Direction:" ' @@ -782,11 +816,11 @@ Partial Class DlgDefineClimaticData ' Me.ucrChkLinkedMetaData.AutoSize = True Me.ucrChkLinkedMetaData.Checked = False - Me.ucrChkLinkedMetaData.Location = New System.Drawing.Point(16, 204) - Me.ucrChkLinkedMetaData.Margin = New System.Windows.Forms.Padding(6) + Me.ucrChkLinkedMetaData.Location = New System.Drawing.Point(24, 306) + Me.ucrChkLinkedMetaData.Margin = New System.Windows.Forms.Padding(9, 9, 9, 9) Me.ucrChkLinkedMetaData.Name = "ucrChkLinkedMetaData" - Me.ucrChkLinkedMetaData.Size = New System.Drawing.Size(195, 23) - Me.ucrChkLinkedMetaData.TabIndex = 21 + Me.ucrChkLinkedMetaData.Size = New System.Drawing.Size(292, 34) + Me.ucrChkLinkedMetaData.TabIndex = 7 ' 'ucrSelectorLinkedDataFrame ' @@ -794,11 +828,11 @@ Partial Class DlgDefineClimaticData Me.ucrSelectorLinkedDataFrame.bDropUnusedFilterLevels = False Me.ucrSelectorLinkedDataFrame.bShowHiddenColumns = False Me.ucrSelectorLinkedDataFrame.bUseCurrentFilter = True - Me.ucrSelectorLinkedDataFrame.Location = New System.Drawing.Point(16, 224) + Me.ucrSelectorLinkedDataFrame.Location = New System.Drawing.Point(24, 336) Me.ucrSelectorLinkedDataFrame.Margin = New System.Windows.Forms.Padding(0) Me.ucrSelectorLinkedDataFrame.Name = "ucrSelectorLinkedDataFrame" - Me.ucrSelectorLinkedDataFrame.Size = New System.Drawing.Size(213, 183) - Me.ucrSelectorLinkedDataFrame.TabIndex = 20 + Me.ucrSelectorLinkedDataFrame.Size = New System.Drawing.Size(320, 274) + Me.ucrSelectorLinkedDataFrame.TabIndex = 8 ' 'ucrInputCheckInput ' @@ -806,11 +840,11 @@ Partial Class DlgDefineClimaticData Me.ucrInputCheckInput.AutoSize = True Me.ucrInputCheckInput.IsMultiline = False Me.ucrInputCheckInput.IsReadOnly = False - Me.ucrInputCheckInput.Location = New System.Drawing.Point(147, 439) - Me.ucrInputCheckInput.Margin = New System.Windows.Forms.Padding(9) + Me.ucrInputCheckInput.Location = New System.Drawing.Point(220, 658) + Me.ucrInputCheckInput.Margin = New System.Windows.Forms.Padding(14, 14, 14, 14) Me.ucrInputCheckInput.Name = "ucrInputCheckInput" - Me.ucrInputCheckInput.Size = New System.Drawing.Size(253, 21) - Me.ucrInputCheckInput.TabIndex = 18 + Me.ucrInputCheckInput.Size = New System.Drawing.Size(380, 32) + Me.ucrInputCheckInput.TabIndex = 10 ' 'ucrSelectorDefineClimaticData ' @@ -818,39 +852,40 @@ Partial Class DlgDefineClimaticData Me.ucrSelectorDefineClimaticData.bDropUnusedFilterLevels = False Me.ucrSelectorDefineClimaticData.bShowHiddenColumns = False Me.ucrSelectorDefineClimaticData.bUseCurrentFilter = True - Me.ucrSelectorDefineClimaticData.Location = New System.Drawing.Point(16, 9) + Me.ucrSelectorDefineClimaticData.Location = New System.Drawing.Point(24, 14) Me.ucrSelectorDefineClimaticData.Margin = New System.Windows.Forms.Padding(0) Me.ucrSelectorDefineClimaticData.Name = "ucrSelectorDefineClimaticData" - Me.ucrSelectorDefineClimaticData.Size = New System.Drawing.Size(213, 183) - Me.ucrSelectorDefineClimaticData.TabIndex = 13 + Me.ucrSelectorDefineClimaticData.Size = New System.Drawing.Size(320, 274) + Me.ucrSelectorDefineClimaticData.TabIndex = 0 ' 'ucrBase ' Me.ucrBase.AutoSize = True Me.ucrBase.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink - Me.ucrBase.Location = New System.Drawing.Point(6, 476) - Me.ucrBase.Margin = New System.Windows.Forms.Padding(4) + Me.ucrBase.Location = New System.Drawing.Point(9, 714) + Me.ucrBase.Margin = New System.Windows.Forms.Padding(6, 6, 6, 6) Me.ucrBase.Name = "ucrBase" - Me.ucrBase.Size = New System.Drawing.Size(408, 52) - Me.ucrBase.TabIndex = 19 + Me.ucrBase.Size = New System.Drawing.Size(611, 77) + Me.ucrBase.TabIndex = 11 ' 'DlgDefineClimaticData ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!) + Me.AutoScaleDimensions = New System.Drawing.SizeF(144.0!, 144.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi Me.AutoSize = True - Me.ClientSize = New System.Drawing.Size(533, 531) + Me.ClientSize = New System.Drawing.Size(800, 796) Me.Controls.Add(Me.ucrChkLinkedMetaData) Me.Controls.Add(Me.ucrSelectorLinkedDataFrame) Me.Controls.Add(Me.ucrInputCheckInput) Me.Controls.Add(Me.cmdCheckUnique) Me.Controls.Add(Me.ucrSelectorDefineClimaticData) - Me.Controls.Add(Me.grpStation) Me.Controls.Add(Me.ucrBase) Me.Controls.Add(Me.grpDateTime) Me.Controls.Add(Me.grpElements) Me.Controls.Add(Me.grpMeta) + Me.Controls.Add(Me.grpStation) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow + Me.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.MaximizeBox = False Me.MinimizeBox = False Me.Name = "DlgDefineClimaticData" From 6d5b4a0e9e1cc9b2b2002b0fb8ccd2817de28739 Mon Sep 17 00:00:00 2001 From: Ntalumeso Date: Tue, 26 Nov 2024 11:36:47 +0300 Subject: [PATCH 06/12] using metadata to autofill receivers --- instat/DlgDefineClimaticData.vb | 45 +++++++++++++++---- instat/static/InstatObject/R/data_object_R6.R | 6 +++ .../static/InstatObject/R/instat_object_R6.R | 4 ++ 3 files changed, 46 insertions(+), 9 deletions(-) diff --git a/instat/DlgDefineClimaticData.vb b/instat/DlgDefineClimaticData.vb index 3b88a7c821..4432857dd3 100644 --- a/instat/DlgDefineClimaticData.vb +++ b/instat/DlgDefineClimaticData.vb @@ -55,18 +55,18 @@ Public Class DlgDefineClimaticData Dim kvpLongitude As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("lon", {"lon", "lont", "longitude"}.ToList()) Dim kvpLatitude As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("lat", {"lat", "latitude"}.ToList()) Dim kvpCloudCover As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("cloud_cover", {"cloud", "cldtot"}.ToList()) - Dim kvpTempMax As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("temp_max", {"tmax", "tx", "tempmax", "tmp_max", "tmpmax", "max"}.ToList()) - Dim kvpTempMin As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("temp_min", {"tmin", "tn", "tempmin", "tmp_min", "tmpmin", "min"}.ToList()) + Dim kvpTempMax As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("temp_max", {"temp_max", "tmax", "tx", "tempmax", "tmp_max", "tmpmax"}.ToList()) + Dim kvpTempMin As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("temp_min", {"temp_min", "tmin", "tn", "tempmin", "tmp_min", "tmpmin"}.ToList()) Dim kvpRadiation As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("radiation", {"radiation", "rad", "radgls", "radsky", "radres", "radnaw", "raddwn", "radup", "raddsl"}.ToList()) - Dim kvpSunshineHours As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("sunshine_hours", {"sunshine", "sunh", "sunhrs", "sun"}.ToList()) - Dim kvpWindDirection As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("wind_direction", {"winddirection", "pkgstd"}.ToList()) - Dim kvpWindSpeed As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("wind_speed", {"windspeed", "wndspd", "pkgust", "pkgstd", "wndmil"}.ToList()) + Dim kvpSunshineHours As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("sunshine_hours", {"sunshine_hours", "sunshine", "sunh", "sunhrs", "sun"}.ToList()) + Dim kvpWindDirection As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("wind_direction", {"wind_direction", "winddirection", "pkgstd"}.ToList()) + Dim kvpWindSpeed As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("wind_speed", {"wind_speed", "windspeed", "wndspd", "pkgust", "pkgstd", "wndmil"}.ToList()) Dim kvpYear As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("year", {"year"}.ToList()) Dim kvpMonth As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("month", {"month"}.ToList()) Dim kvpDay As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("day", {"day"}.ToList()) Dim kvpDOY As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("doy", {"doy", "doy_366"}.ToList()) - Dim kvpMinRH As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("hum_min", {"minhum", "hmin", "hn", "rhmin"}.ToList()) - Dim kvpMaxRH As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("hum_max", {"maxhum", "hmax", "hx", "rhmax"}.ToList()) + Dim kvpMinRH As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("hum_min", {"hum_min", "minhum", "hmin", "hn", "rhmin"}.ToList()) + Dim kvpMaxRH As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("hum_max", {"hum_max", "maxhum", "hmax", "hx", "rhmax"}.ToList()) lstRecognisedTypes.AddRange({kvpRain, kvpDistrict, kvpCloudCover, kvpTempMax, kvpTempMin, kvpRadiation, kvpSunshineHours, kvpStation, kvpAltitude, kvpLatitude, kvpLongitude, kvpWindDirection, kvpWindSpeed, kvpYear, kvpMonth, kvpDay, kvpDOY, kvpDate, kvpMinRH, kvpMaxRH}) @@ -237,8 +237,9 @@ Public Class DlgDefineClimaticData If lstRecognisedValues.Count > 0 Then For Each lviTempVariable As ListViewItem In ucrSelectorDefineClimaticData.lstAvailableVariable.Items + Dim strClimaticType As String = GetClimaticTypeFromRCommand(lviTempVariable.Text) For Each strValue As String In lstRecognisedValues - If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]|_", String.Empty).Contains(strValue) Then + If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]|_", String.Empty).Contains(strValue) OrElse (strClimaticType IsNot Nothing AndAlso strClimaticType.Contains(strValue)) Then ucrTempReceiver.Add(lviTempVariable.Text, ucrSelectorDefineClimaticData.ucrAvailableDataFrames.cboAvailableDataFrames.Text) bFound = True Exit For @@ -270,8 +271,9 @@ Public Class DlgDefineClimaticData If lstRecognisedValues.Count > 0 Then For Each lviTempVariable As ListViewItem In ucrSelectorLinkedDataFrame.lstAvailableVariable.Items + Dim strClimaticType As String = GetClimaticTypeFromRCommand(lviTempVariable.Text) For Each strValue As String In lstRecognisedValues - If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]|_", String.Empty).Contains(strValue) Then + If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]|_", String.Empty).Contains(strValue) OrElse (strClimaticType IsNot Nothing AndAlso strClimaticType.Contains(strValue)) Then ucrTempReceiver.Add(lviTempVariable.Text, ucrSelectorLinkedDataFrame.ucrAvailableDataFrames.cboAvailableDataFrames.Text) bFound = True Exit For @@ -290,6 +292,31 @@ Public Class DlgDefineClimaticData End If End Sub + Private Function GetClimaticTypeFromRCommand(strName As String) As String + Try + Dim clsGetClimaticTypeFunction As New RFunction + + clsGetClimaticTypeFunction.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$get_column_climatic_type") + clsGetClimaticTypeFunction.AddParameter("attr_name", Chr(34) & "Climatic_Type" & Chr(34)) + clsGetClimaticTypeFunction.AddParameter("col_name", Chr(34) & strName & Chr(34)) + clsGetClimaticTypeFunction.AddParameter("data_name", Chr(34) & ucrSelectorLinkedDataFrame.strCurrentDataFrame & Chr(34)) + + Dim result As SymbolicExpression + result = frmMain.clsRLink.RunInternalScriptGetValue(clsGetClimaticTypeFunction.ToScript()) + + ' Check if result is Nothing or has no values before trying to access + If result IsNot Nothing AndAlso result.Type <> Internals.SymbolicExpressionType.Null Then + Dim strClimaticType As String = result.AsCharacter(0) + If Not String.IsNullOrEmpty(strClimaticType) Then + Return strClimaticType + End If + End If + Catch ex As Exception + MsgBox(ex.Message) + End Try + Return String.Empty + End Function + Private Function GetRecognisedValues(strVariable As String) As List(Of String) Dim lstValues As New List(Of String) diff --git a/instat/static/InstatObject/R/data_object_R6.R b/instat/static/InstatObject/R/data_object_R6.R index 394c50eff4..19460ed5ce 100644 --- a/instat/static/InstatObject/R/data_object_R6.R +++ b/instat/static/InstatObject/R/data_object_R6.R @@ -4575,6 +4575,12 @@ DataSheet$set("public", "save_data_entry_data", function(new_data, rows_changed, } }) +DataSheet$set("public", "get_column_climatic_type", function(col_name, attr_name) { + if (!is.null(private$data[[col_name]]) && !is.null(attr(private$data[[col_name]], attr_name))) { + return(attr(private$data[[col_name]], attr_name)) + } +}) + DataSheet$set("public", "add_flag_fields", function(col_names) { curr_data <- self$get_columns_from_data(col_names, force_as_data_frame = TRUE) for (i in colnames(curr_data)) { diff --git a/instat/static/InstatObject/R/instat_object_R6.R b/instat/static/InstatObject/R/instat_object_R6.R index 5270526bc5..e5f5189c8e 100644 --- a/instat/static/InstatObject/R/instat_object_R6.R +++ b/instat/static/InstatObject/R/instat_object_R6.R @@ -2990,6 +2990,10 @@ DataBook$set("public", "import_from_cds", function(user, dataset, elements, star if (is_win) close(pb) }) +DataBook$set("public", "get_column_climatic_type", function(data_name, col_name, attr_name){ + self$get_data_objects(data_name)$get_column_climatic_type(col_name = col_name, attr_name =attr_name) +}) + DataBook$set("public", "add_flag_fields", function(data_name, col_names, key_column_names) { if (!self$has_key(data_name)) { self$add_key(data_name, key_column_names) From a48762a2bd054ecf88e209a68a5fa94354277950 Mon Sep 17 00:00:00 2001 From: Sophie Malla Tatchum Date: Tue, 26 Nov 2024 11:57:17 +0100 Subject: [PATCH 07/12] Fixed Station autofill issue --- instat/dlgInfill.vb | 73 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 69 insertions(+), 4 deletions(-) diff --git a/instat/dlgInfill.vb b/instat/dlgInfill.vb index c2fa50583e..3f4fdee62a 100644 --- a/instat/dlgInfill.vb +++ b/instat/dlgInfill.vb @@ -15,6 +15,7 @@ ' along with this program. If not, see . Imports instat.Translations +Imports System.Text.RegularExpressions Public Class dlgInfill Public enumFilldateMode As String = FilldateMode.Prepare Public Enum FilldateMode @@ -22,9 +23,13 @@ Public Class dlgInfill Climatic End Enum + Private isFilling As Boolean = False Private bFirstLoad As Boolean = True Private bReset As Boolean = True Private clsDefaultFunction As New RFunction + Private lstStationReceivers As New List(Of ucrReceiverMultiple) + Dim lstRecognisedTypes As New List(Of KeyValuePair(Of String, List(Of String))) + Private Sub dlgInfill_Load(sender As Object, e As EventArgs) Handles MyBase.Load If bFirstLoad Then InitialiseDialog() @@ -37,12 +42,19 @@ Public Class dlgInfill SetHelpOptions() bReset = False autoTranslate(Me) + AutoFillStation() End Sub Private Sub InitialiseDialog() ucrBase.iHelpTopicID = 497 ucrBase.clsRsyntax.iCallType = 2 + + Dim kvpStation As KeyValuePair(Of String, List(Of String)) = New KeyValuePair(Of String, List(Of String))("station", {"station", "station.", "id", "name"}.ToList()) + + lstStationReceivers.AddRange({ucrReceiverFactors}) + + lstRecognisedTypes.AddRange({kvpStation}) 'Set receiver ucrReceiverDate.Selector = ucrInfillSelector ucrReceiverDate.SetDataType("Date") @@ -55,6 +67,7 @@ Public Class dlgInfill ucrReceiverFactors.SetIncludedDataTypes({"factor"}) ucrReceiverFactors.Selector = ucrInfillSelector ucrReceiverFactors.strSelectorHeading = "Factors" + ucrReceiverFactors.Tag = "station" ucrReceiverFactors.SetParameter(New RParameter("factors", 5)) ucrReceiverFactors.SetParameterIsString() @@ -118,6 +131,7 @@ Public Class dlgInfill If bReset Then SetRCode(Me, ucrBase.clsRsyntax.clsBaseFunction, bReset) End If + AutoFillStation() End Sub Private Sub TestOkEnabled() @@ -151,17 +165,68 @@ Public Class dlgInfill End Sub Private Sub AutoFillStation() - If ucrInfillSelector.CurrentReceiver IsNot Nothing Then - ucrInfillSelector.CurrentReceiver.SetMeAsReceiver() + If isFilling Then + Exit Sub End If - ucrReceiverFactors.AddItemsWithMetadataProperty(ucrInfillSelector.ucrAvailableDataFrames.cboAvailableDataFrames.Text, "Climatic_Type", {"station_label"}) + isFilling = True + + ' Temporarily remove the event handler + RemoveHandler ucrInfillSelector.ControlValueChanged, AddressOf AutoFillStation + + Dim lstRecognisedValues As List(Of String) + Dim ucrCurrentReceiver As ucrReceiver + Dim bFound As Boolean = False + + ucrCurrentReceiver = ucrInfillSelector.CurrentReceiver + + For Each ucrTempReceiver As ucrReceiver In lstStationReceivers + ucrTempReceiver.SetMeAsReceiver() + lstRecognisedValues = GetRecognisedValues(ucrTempReceiver.Tag) + + If lstRecognisedValues.Count > 0 Then + For Each lviTempVariable As ListViewItem In ucrInfillSelector.lstAvailableVariable.Items + For Each strValue As String In lstRecognisedValues + If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]", String.Empty).Equals(strValue) Then + ucrTempReceiver.Add(lviTempVariable.Text, ucrInfillSelector.ucrAvailableDataFrames.cboAvailableDataFrames.Text) + bFound = True + Exit For + End If + Next + If bFound Then + bFound = False + Exit For + End If + Next + End If + Next + + If ucrCurrentReceiver IsNot Nothing Then + ucrCurrentReceiver.SetMeAsReceiver() + End If + + ' Re-enable the event handler + AddHandler ucrInfillSelector.ControlValueChanged, AddressOf AutoFillStation + + isFilling = False End Sub + Private Function GetRecognisedValues(strVariable As String) As List(Of String) + Dim lstValues As New List(Of String) + + For Each kvpTemp As KeyValuePair(Of String, List(Of String)) In lstRecognisedTypes + If kvpTemp.Key = strVariable Then + lstValues = kvpTemp.Value + Exit For + End If + Next + Return lstValues + End Function + Private Sub Controls_ControlContentsChanged(ucrChangedControl As ucrCore) Handles ucrReceiverDate.ControlContentsChanged TestOkEnabled() End Sub - Private Sub ucrInfillSelector_ControlValueChanged(ucrChangedControl As ucrCore) Handles ucrInfillSelector.ControlValueChanged + Private Sub ucrInfillSelector_ControlValueChanged(ucrChangedControl As ucrCore) Handles ucrInfillSelector.ControlValueChanged, ucrReceiverFactors.ControlValueChanged AutoFillStation() End Sub End Class From 6928710c82197c8408701bac7fa725a478831bce Mon Sep 17 00:00:00 2001 From: Derrick Agorhom <76208189+derekagorhom@users.noreply.github.com> Date: Wed, 27 Nov 2024 11:41:12 +0100 Subject: [PATCH 08/12] Implementated Output Naming System for One Variable Graph --- instat/dlgOneVariableGraph.vb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/instat/dlgOneVariableGraph.vb b/instat/dlgOneVariableGraph.vb index cfe8199758..cb97f8d3a1 100644 --- a/instat/dlgOneVariableGraph.vb +++ b/instat/dlgOneVariableGraph.vb @@ -169,4 +169,9 @@ Public Class dlgOneVariableGraph Private Sub Controls_ControlContentsChanged(ucrChangedControl As ucrCore) Handles ucrSelectorOneVarGraph.ControlContentsChanged, ucrReceiverOneVarGraph.ControlContentsChanged, ucrSaveGraph.ControlContentsChanged TestOkEnabled() End Sub + + Private Sub ucrSelectorOneVarGraph_ControlValueChanged(ucrChangedControl As ucrCore) Handles ucrSelectorOneVarGraph.ControlValueChanged + Dim clsGetDataFrameFunction As RFunction = ucrSelectorOneVarGraph.ucrAvailableDataFrames.clsCurrDataFrame.Clone + clsOneVarGraph.AddParameter("data", clsRFunctionParameter:=clsGetDataFrameFunction, iPosition:=0) + End Sub End Class \ No newline at end of file From 526d44ab9dbddc7bcb5968db44712373c4e6ebdd Mon Sep 17 00:00:00 2001 From: Sophie Malla Tatchum Date: Thu, 28 Nov 2024 10:28:45 +0100 Subject: [PATCH 09/12] Change made --- instat/dlgClimograph.Designer.vb | 46 ++++++- instat/dlgClimograph.vb | 204 +++++++++++++++++++++++++++++-- 2 files changed, 241 insertions(+), 9 deletions(-) diff --git a/instat/dlgClimograph.Designer.vb b/instat/dlgClimograph.Designer.vb index 1e7a8f5428..676d3502be 100644 --- a/instat/dlgClimograph.Designer.vb +++ b/instat/dlgClimograph.Designer.vb @@ -80,6 +80,9 @@ Partial Class dlgClimograph Me.ucrSave = New instat.ucrSave() Me.ucrReceiverMonth = New instat.ucrReceiverSingle() Me.ucrSelectorClimograph = New instat.ucrSelectorByDataFrameAddRemove() + Me.ucrInputFacetBar = New instat.ucrInputComboBox() + Me.ucrReceiverFacetBar = New instat.ucrReceiverSingle() + Me.lblFacetBar = New System.Windows.Forms.Label() Me.contextMenuStripOptions.SuspendLayout() Me.SuspendLayout() ' @@ -264,7 +267,7 @@ Partial Class dlgClimograph ' Me.contextMenuStripOptions.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.toolStripMenuItemPlotOptions, Me.toolStripMenuItemBarchartOptions, Me.toolStripMenuItemTmaxLineOptions, Me.toolStripMenuItemTminLineOptions}) Me.contextMenuStripOptions.Name = "contextMenuStripOk" - Me.contextMenuStripOptions.Size = New System.Drawing.Size(181, 114) + Me.contextMenuStripOptions.Size = New System.Drawing.Size(181, 92) ' 'toolStripMenuItemPlotOptions ' @@ -699,11 +702,49 @@ Partial Class dlgClimograph Me.ucrSelectorClimograph.Size = New System.Drawing.Size(213, 183) Me.ucrSelectorClimograph.TabIndex = 59 ' + 'ucrInputFacetBar + ' + Me.ucrInputFacetBar.AddQuotesIfUnrecognised = True + Me.ucrInputFacetBar.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink + Me.ucrInputFacetBar.GetSetSelectedIndex = -1 + Me.ucrInputFacetBar.IsReadOnly = False + Me.ucrInputFacetBar.Location = New System.Drawing.Point(379, 68) + Me.ucrInputFacetBar.Name = "ucrInputFacetBar" + Me.ucrInputFacetBar.Size = New System.Drawing.Size(86, 21) + Me.ucrInputFacetBar.TabIndex = 142 + ' + 'ucrReceiverFacetBar + ' + Me.ucrReceiverFacetBar.AutoSize = True + Me.ucrReceiverFacetBar.frmParent = Me + Me.ucrReceiverFacetBar.Location = New System.Drawing.Point(267, 68) + Me.ucrReceiverFacetBar.Margin = New System.Windows.Forms.Padding(0) + Me.ucrReceiverFacetBar.Name = "ucrReceiverFacetBar" + Me.ucrReceiverFacetBar.Selector = Nothing + Me.ucrReceiverFacetBar.Size = New System.Drawing.Size(109, 26) + Me.ucrReceiverFacetBar.strNcFilePath = "" + Me.ucrReceiverFacetBar.TabIndex = 141 + Me.ucrReceiverFacetBar.ucrSelector = Nothing + ' + 'lblFacetBar + ' + Me.lblFacetBar.AutoSize = True + Me.lblFacetBar.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.lblFacetBar.Location = New System.Drawing.Point(267, 53) + Me.lblFacetBar.Name = "lblFacetBar" + Me.lblFacetBar.Size = New System.Drawing.Size(52, 13) + Me.lblFacetBar.TabIndex = 140 + Me.lblFacetBar.Tag = "" + Me.lblFacetBar.Text = "Facet By:" + ' 'dlgClimograph ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(472, 578) + Me.Controls.Add(Me.ucrInputFacetBar) + Me.Controls.Add(Me.ucrReceiverFacetBar) + Me.Controls.Add(Me.lblFacetBar) Me.Controls.Add(Me.ucrReceiverRainBar) Me.Controls.Add(Me.lblRainBar) Me.Controls.Add(Me.ucrReceiverElement1Bar) @@ -825,4 +866,7 @@ Partial Class dlgClimograph Friend WithEvents lblElement2Bar As Label Friend WithEvents ucrReceiverMonthBar As ucrReceiverSingle Friend WithEvents lblMonthBar As Label + Friend WithEvents ucrInputFacetBar As ucrInputComboBox + Friend WithEvents ucrReceiverFacetBar As ucrReceiverSingle + Friend WithEvents lblFacetBar As Label End Class diff --git a/instat/dlgClimograph.vb b/instat/dlgClimograph.vb index 7b7da02428..9a1d0f6c02 100644 --- a/instat/dlgClimograph.vb +++ b/instat/dlgClimograph.vb @@ -31,6 +31,10 @@ Public Class dlgClimograph Private ReadOnly strFacetRow1 As String = "Facet Row" Private ReadOnly strFacetCol1 As String = "Facet Column" Private ReadOnly strNone1 As String = "None" + Private ReadOnly strFacetWrap2 As String = "Facet Wrap" + Private ReadOnly strFacetRow2 As String = "Facet Row" + Private ReadOnly strFacetCol2 As String = "Facet Column" + Private ReadOnly strNone2 As String = "None" Private clsFacetFunction As New RFunction Private clsGroupByFunction As New RFunction Private clsGeomBarFunction As New RFunction @@ -42,6 +46,8 @@ Public Class dlgClimograph Private clsAesLineStar1Function As New RFunction Private clsFacetFunction1 As New RFunction Private clsGroupByFunction1 As New RFunction + Private clsFacetFunction2 As New RFunction + Private clsGroupByFunction2 As New RFunction Private bResetSubdialog As Boolean = True Private bResetLineLayerSubdialog As Boolean = True Private clsCoordPolarFunction As New RFunction @@ -99,6 +105,9 @@ Public Class dlgClimograph Private clsFacetRowOp1 As New ROperator Private clsFacetColOp1 As New ROperator Private clsPipeOperator1 As New ROperator + Private clsFacetRowOp2 As New ROperator + Private clsFacetColOp2 As New ROperator + Private clsPipeOperator2 As New ROperator Private clsFacetOperator As New ROperator Private clsFacetRowOp As New ROperator Private clsFacetColOp As New ROperator @@ -106,7 +115,9 @@ Public Class dlgClimograph Private bUpdateComboOptions As Boolean = True Private bUpdatingParameters As Boolean = False Private bUpdateComboOptions1 As Boolean = True + Private bUpdateComboOptions2 As Boolean = True Private bUpdatingParameters1 As Boolean = False + Private bUpdatingParameters2 As Boolean = False Private strTemBar As String = "Tem" Private strRainBar As String = "Rain" Private clsPlus1Operator, clsPlus2Operator, clsPlus3Operator, clsPlus5Operator As New ROperator @@ -286,9 +297,20 @@ Public Class dlgClimograph ucrReceiverFacet.SetParameterIsString() ucrReceiverFacet.SetValuesToIgnore({"."}) + ucrReceiverFacetBar.SetParameter(New RParameter("var1")) + ucrReceiverFacetBar.Selector = ucrSelectorClimograph + ucrReceiverFacetBar.SetClimaticType("station") + ucrReceiverFacetBar.bAutoFill = True + ucrReceiverFacetBar.bWithQuotes = False + ucrReceiverFacetBar.SetParameterIsString() + ucrReceiverFacetBar.SetValuesToIgnore({"."}) + ucrInputFacet.SetItems({strFacetWrap, strFacetRow, strFacetCol, strNone}) ucrInputFacet.SetDropDownStyleAsNonEditable() + ucrInputFacetBar.SetItems({strFacetWrap, strFacetRow, strFacetCol, strNone}) + ucrInputFacetBar.SetDropDownStyleAsNonEditable() + ucrReceiverAbsolute.SetParameter(New RParameter("ta_min", 6)) ucrReceiverAbsolute.SetParameterIsString() ucrReceiverAbsolute.Selector = ucrSelectorClimograph @@ -299,7 +321,8 @@ Public Class dlgClimograph ucrPnlClimograph.AddToLinkedControls({ucr1stFactorReceiver, ucrReceiverAbsolute, ucrReceiverMintemp, ucrReceiverMonth, ucrReceiverMaxtem, ucrReceiverRain, ucrInputStation}, {rdoWalterLieth}, bNewLinkedAddRemoveParameter:=True, bNewLinkedHideIfParameterMissing:=True) ucrPnlClimograph.AddToLinkedControls({ucrChkColour, ucrChkTile, ucrChkLegend, ucrReceiverElement2, ucrReceiverElement1, ucrReceiverMonthC, ucrReceiverRainC, ucrChkRibbon, ucrChkText}, {rdoClimograph}, bNewLinkedAddRemoveParameter:=True, bNewLinkedHideIfParameterMissing:=True) ucrPnlClimograph.AddToLinkedControls({ucrReceiverElement2Bar, ucrReceiverElement1Bar, ucrReceiverMonthBar, ucrReceiverRainBar}, {rdoClimateBars}, bNewLinkedAddRemoveParameter:=True, bNewLinkedHideIfParameterMissing:=True) - ucrPnlClimograph.AddToLinkedControls({ucrReceiverFacet, ucrInputFacet}, {rdoClimograph, rdoClimateBars}, bNewLinkedAddRemoveParameter:=True, bNewLinkedHideIfParameterMissing:=True) + ucrPnlClimograph.AddToLinkedControls({ucrReceiverFacet, ucrInputFacet}, {rdoClimograph}, bNewLinkedAddRemoveParameter:=True, bNewLinkedHideIfParameterMissing:=True) + ucrPnlClimograph.AddToLinkedControls({ucrReceiverFacetBar, ucrInputFacetBar}, {rdoClimateBars}, bNewLinkedAddRemoveParameter:=True, bNewLinkedHideIfParameterMissing:=True) ucrPnlColour.AddRadioButton(rdoViridis) ucrPnlColour.AddRadioButton(rdoPalette) @@ -421,6 +444,7 @@ Public Class dlgClimograph clsRggplotFunction = New RFunction clsBarAesFunction = New RFunction clsFacetFunction1 = New RFunction + clsFacetFunction2 = New RFunction clsSecondaryAxisFunction = New RFunction clsSecondaryAxis1Function = New RFunction clsSecondaryAxis2Function = New RFunction @@ -448,6 +472,7 @@ Public Class dlgClimograph clsFacetColOp1 = New ROperator clsPipeOperator1 = New ROperator clsGroupByFunction1 = New RFunction + clsGroupByFunction2 = New RFunction clsMaxFunction = New RFunction clsMax1Function = New RFunction clsVectorFunction = New RFunction @@ -508,6 +533,9 @@ Public Class dlgClimograph ucrInputFacet.SetName(strFacetWrap) ucrInputFacet.bUpdateRCodeFromControl = True + ucrInputFacetBar.SetName(strFacetWrap) + ucrInputFacetBar.bUpdateRCodeFromControl = True + clsDummyFunction.AddParameter("checked", "Climograph", iPosition:=0) clsDummyFunction.AddParameter("Check", "viridis", iPosition:=1) @@ -531,6 +559,22 @@ Public Class dlgClimograph clsGroupByFunction1.SetPackageName("dplyr") clsGroupByFunction1.SetRCommand("group_by") + clsFacetFunction2.SetPackageName("ggplot2") + clsFacetRowOp2.SetOperation("+") + clsFacetRowOp2.bBrackets = False + clsFacetColOp2.SetOperation("+") + clsFacetColOp2.bBrackets = False + clsFacetVariablesOperator.SetOperation("~") + clsFacetVariablesOperator.bForceIncludeOperation = True + clsFacetVariablesOperator.bBrackets = False + clsFacetFunction2.AddParameter("facets", clsROperatorParameter:=clsFacetVariablesOperator, iPosition:=0) + + clsPipeOperator2.SetOperation("%>%") + SetPipeAssignTo2() + + clsGroupByFunction2.SetPackageName("dplyr") + clsGroupByFunction2.SetRCommand("group_by") + clsPipeOperator.SetOperation("%>%") SetPipeAssignTo() @@ -1086,6 +1130,55 @@ Public Class dlgClimograph bUpdatingParameters1 = False End Sub + Private Sub ucrInputFacetBar_ControlValueChanged(ucrChangedControl As ucrInputComboBox) Handles ucrInputFacetBar.ControlValueChanged + If Not bUpdateComboOptions2 Then + Exit Sub + End If + Dim strChangedText As String = ucrChangedControl.GetText() + If strChangedText <> strNone Then + If Not strChangedText = strFacetCol2 AndAlso Not strChangedText = strFacetRow2 AndAlso + Not ucrInputFacetBar.Equals(ucrChangedControl) AndAlso ucrInputFacetBar.GetText() = strChangedText Then + bUpdateComboOptions2 = False + ucrInputFacetBar.SetName(strNone2) + bUpdateComboOptions2 = True + End If + If (strChangedText = strFacetWrap2 AndAlso ucrInputFacetBar.GetText = strFacetRow2) OrElse (strChangedText = strFacetRow2 AndAlso + ucrInputFacetBar.GetText = strFacetWrap2) OrElse (strChangedText = strFacetWrap2 AndAlso + ucrInputFacetBar.GetText = strFacetCol2) OrElse (strChangedText = strFacetCol2 AndAlso ucrInputFacetBar.GetText = strFacetWrap2) Then + ucrInputFacetBar.SetName(strNone2) + End If + End If + UpdateParameters2() + AddRemoveFacets2() + AddRemoveGroupBy2() + AddRemoveTemBars() + End Sub + + Private Sub UpdateParameters2() + clsFacetVariablesOperator.RemoveParameterByName("var1") + clsFacetColOp2.RemoveParameterByName("col" & ucrInputFacetBar.Name) + clsFacetRowOp2.RemoveParameterByName("row" & ucrInputFacetBar.Name) + + clsBaseOperator.RemoveParameterByName("facets") + bUpdatingParameters2 = True + ucrReceiverFacetBar.SetRCode(Nothing) + Select Case ucrInputFacetBar.GetText() + Case strFacetWrap2 + ucrReceiverFacetBar.ChangeParameterName("var1") + ucrReceiverFacetBar.SetRCode(clsFacetVariablesOperator) + Case strFacetCol2 + ucrReceiverFacetBar.ChangeParameterName("col" & ucrInputFacetBar.Name) + ucrReceiverFacetBar.SetRCode(clsFacetColOp2) + Case strFacetRow2 + ucrReceiverFacetBar.ChangeParameterName("row" & ucrInputFacetBar.Name) + ucrReceiverFacetBar.SetRCode(clsFacetRowOp2) + End Select + If Not clsRFacetFunction.ContainsParameter("x") Then + clsRFacetFunction.AddParameter("x", Chr(34) & Chr(34)) + End If + bUpdatingParameters2 = False + End Sub + Private Sub AddRemoveFacets1() Dim bWrap As Boolean = False Dim bCol As Boolean = False @@ -1132,6 +1225,52 @@ Public Class dlgClimograph End If End Sub + Private Sub AddRemoveFacets2() + Dim bWrap As Boolean = False + Dim bCol As Boolean = False + Dim bRow As Boolean = False + + If bUpdatingParameters2 Then + Exit Sub + End If + + clsBaseOperator.RemoveParameterByName("facets") + If Not ucrReceiverFacetBar.IsEmpty Then + Select Case ucrInputFacetBar.GetText() + Case strFacetWrap2 + bWrap = True + Case strFacetCol2 + bCol = True + Case strFacetRow2 + bRow = True + End Select + End If + + If bWrap OrElse bRow OrElse bCol Then + clsBaseOperator.AddParameter("facets", clsRFunctionParameter:=clsFacetFunction2) + End If + If bWrap Then + clsFacetFunction2.SetRCommand("facet_wrap") + End If + If bRow OrElse bCol Then + clsFacetFunction2.SetRCommand("facet_grid") + End If + If bRow Then + clsFacetVariablesOperator.AddParameter("left", clsROperatorParameter:=clsFacetRowOp2, iPosition:=0) + ElseIf bCol AndAlso bWrap = False Then + clsFacetVariablesOperator.AddParameter("left", ".", iPosition:=0) + Else + clsFacetVariablesOperator.RemoveParameterByName("left") + End If + If bCol Then + clsFacetVariablesOperator.AddParameter("right", clsROperatorParameter:=clsFacetColOp2, iPosition:=1) + ElseIf bRow AndAlso bWrap = False Then + clsFacetVariablesOperator.AddParameter("right", ".", iPosition:=1) + Else + clsFacetVariablesOperator.RemoveParameterByName("right") + End If + End Sub + Private Sub AddRemoveFacetClimograph() If rdoClimograph.Checked Then If Not ucrReceiverFacet.IsEmpty Then @@ -1145,12 +1284,19 @@ Public Class dlgClimograph clsBaseOperator.RemoveParameterByName("facets") End If End Sub + Private Sub ucrReceiverFacet_ControlValueChanged(ucrChangedControl As ucrCore) Handles ucrReceiverFacet.ControlValueChanged AddRemoveFacetClimograph() AddRemoveFacets1() AddRemoveGroupBy1() End Sub + Private Sub ucrReceiverFacetBar_ControlValueChanged(ucrChangedControl As ucrCore) Handles ucrReceiverFacetBar.ControlValueChanged + AddRemoveFacetClimograph() + AddRemoveFacets2() + AddRemoveGroupBy2() + End Sub + Private Sub GetParameterValue1(clsOperator As ROperator) Dim i As Integer = 0 For Each clsTempParam As RParameter In clsOperator.clsParameters @@ -1195,6 +1341,50 @@ Public Class dlgClimograph End If End Sub + Private Sub GetParameterValue2(clsOperator As ROperator) + Dim i As Integer = 0 + For Each clsTempParam As RParameter In clsOperator.clsParameters + If clsTempParam.strArgumentValue <> "" AndAlso clsTempParam.strArgumentValue <> "." Then + clsGroupByFunction2.AddParameter(i, clsTempParam.strArgumentValue, bIncludeArgumentName:=False, iPosition:=i) + i = i + 1 + End If + Next + End Sub + + Private Sub AddRemoveGroupBy2() + If clsPipeOperator2.ContainsParameter("mutate") Then + clsGroupByFunction2.ClearParameters() + If clsBaseOperator.ContainsParameter("facets") Then + Select Case ucrInputFacetBar.GetText() + Case strFacetWrap2 + GetParameterValue2(clsFacetVariablesOperator) + Case strFacetCol2 + GetParameterValue2(clsFacetColOp2) + Case strFacetRow2 + GetParameterValue2(clsFacetRowOp2) + End Select + End If + + If clsGroupByFunction2.iParameterCount > 0 Then + clsPipeOperator2.AddParameter("group_by", clsRFunctionParameter:=clsGroupByFunction2, iPosition:=1) + Else + clsPipeOperator2.RemoveParameterByName("group_by") + End If + Else + clsPipeOperator2.RemoveParameterByName("group_by") + End If + + SetPipeAssignTo2() + End Sub + + Private Sub SetPipeAssignTo2() + If ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text <> "" AndAlso clsPipeOperator2.clsParameters.Count > 1 Then + clsPipeOperator2.SetAssignTo(ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text) + Else + clsPipeOperator2.RemoveAssignTo() + End If + End Sub + Private Sub ucrInput_ControlValueChanged(ucrChangedControl As ucrInputComboBox) Handles ucrInputStation.ControlValueChanged If Not bUpdateComboOptions Then Exit Sub @@ -1423,10 +1613,6 @@ Public Class dlgClimograph SetPipeAssignTo() End Sub - Private Sub ucrInputFacet_ControlValueChanged(ucrChangedControl As ucrCore) Handles ucrInputFacet.ControlValueChanged - - End Sub - Private Sub SetPipeAssignTo() If ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text <> "" AndAlso clsPipeOperator.clsParameters.Count > 1 Then clsPipeOperator.SetAssignTo(ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text) @@ -1745,7 +1931,8 @@ Public Class dlgClimograph clsBaseOperator.RemoveParameterByName("scale_y_continuous") clsBaseOperator.RemoveParameterByName("facets") clsBaseOperator.RemoveParameterByName("facets1") - If Not ucrReceiverFacet.IsEmpty Then + If Not ucrReceiverFacetBar.IsEmpty Then + 'Tem Functions clsAesRainGgplotFunction.AddParameter("x", ucrReceiverMonthBar.GetVariableNames(False), iPosition:=0) clsAesRainGgplotFunction.AddParameter("y", ucrReceiverRainBar.GetVariableNames(False), iPosition:=1) clsRainGgplotFunction.AddParameter("data", ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text, iPosition:=0) @@ -1756,7 +1943,7 @@ Public Class dlgClimograph clsRainBarTextFunction.AddParameter("mapping", clsRFunctionParameter:=clsAesRainBarTextFunction, iPosition:=0, bIncludeArgumentName:=False) clsPlus10Operator.AddParameter("left", clsRFunctionParameter:=clsLabsRainFunction, iPosition:=0, bIncludeArgumentName:=False) - clsPlus10Operator.AddParameter("right", clsRFunctionParameter:=clsFacetFunction1, iPosition:=1, bIncludeArgumentName:=False) + clsPlus10Operator.AddParameter("right", clsRFunctionParameter:=clsFacetFunction2, iPosition:=1, bIncludeArgumentName:=False) clsPlus3Operator.AddParameter("left", clsRFunctionParameter:=clsRainBarTextFunction, iPosition:=0, bIncludeArgumentName:=False) clsPlus3Operator.AddParameter("right", clsROperatorParameter:=clsPlus10Operator, iPosition:=1, bIncludeArgumentName:=False) clsPlus2Operator.AddParameter("left", clsRFunctionParameter:=clsRainBarFunction, iPosition:=0, bIncludeArgumentName:=False) @@ -1764,6 +1951,7 @@ Public Class dlgClimograph clsPlus1Operator.AddParameter("left", clsRFunctionParameter:=clsRainGgplotFunction, iPosition:=0, bIncludeArgumentName:=False) clsPlus1Operator.AddParameter("right", clsROperatorParameter:=clsPlus2Operator, iPosition:=1, bIncludeArgumentName:=False) + 'Tem Functions clsAesTemGgplotFunction.AddParameter("x", ucrReceiverMonthBar.GetVariableNames(False), iPosition:=0) clsTemGgplotFunction.AddParameter("data", ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text, iPosition:=0) clsTemGgplotFunction.AddParameter("mapping", clsRFunctionParameter:=clsAesTemGgplotFunction, iPosition:=1, bIncludeArgumentName:=False) @@ -1785,7 +1973,7 @@ Public Class dlgClimograph clsTminBarTextFunction.AddParameter("mapping", clsRFunctionParameter:=clsAesTminBarTextFunction, iPosition:=0, bIncludeArgumentName:=False) clsPlus11Operator.AddParameter("left", clsRFunctionParameter:=clsLabsTempFunction, iPosition:=0, bIncludeArgumentName:=False) - clsPlus11Operator.AddParameter("right", clsRFunctionParameter:=clsFacetFunction1, iPosition:=1, bIncludeArgumentName:=False) + clsPlus11Operator.AddParameter("right", clsRFunctionParameter:=clsFacetFunction2, iPosition:=1, bIncludeArgumentName:=False) clsPlus9Operator.AddParameter("left", clsRFunctionParameter:=clsTminBarTextFunction, iPosition:=0, bIncludeArgumentName:=False) clsPlus9Operator.AddParameter("right", clsROperatorParameter:=clsPlus11Operator, iPosition:=1, bIncludeArgumentName:=False) clsPlus8Operator.AddParameter("left", clsRFunctionParameter:=clsTmaxBarTextFunction, iPosition:=0, bIncludeArgumentName:=False) From 0fd5a5d61bbcd2ec5b4c0e9734507bba19e01fe7 Mon Sep 17 00:00:00 2001 From: Sophie Malla Tatchum Date: Fri, 29 Nov 2024 16:04:38 +0100 Subject: [PATCH 10/12] minor change made --- instat/dlgInfill.vb | 1 - 1 file changed, 1 deletion(-) diff --git a/instat/dlgInfill.vb b/instat/dlgInfill.vb index 3f4fdee62a..02d4a44ac1 100644 --- a/instat/dlgInfill.vb +++ b/instat/dlgInfill.vb @@ -42,7 +42,6 @@ Public Class dlgInfill SetHelpOptions() bReset = False autoTranslate(Me) - AutoFillStation() End Sub Private Sub InitialiseDialog() From d876dba842b2db33e01b3d01ed4675ef3c8e2547 Mon Sep 17 00:00:00 2001 From: Sophie Malla Tatchum Date: Mon, 2 Dec 2024 10:56:45 +0100 Subject: [PATCH 11/12] minor change made --- instat/dlgClimograph.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/instat/dlgClimograph.vb b/instat/dlgClimograph.vb index 9a1d0f6c02..40b3a74d3f 100644 --- a/instat/dlgClimograph.vb +++ b/instat/dlgClimograph.vb @@ -291,7 +291,7 @@ Public Class dlgClimograph ucrReceiverFacet.SetParameter(New RParameter("var1")) ucrReceiverFacet.Selector = ucrSelectorClimograph - ucrReceiverFacet.SetClimaticType("year") + ucrReceiverFacet.SetClimaticType("station") ucrReceiverFacet.bAutoFill = True ucrReceiverFacet.bWithQuotes = False ucrReceiverFacet.SetParameterIsString() @@ -1500,7 +1500,7 @@ Public Class dlgClimograph Dim currentReceiver As ucrReceiver = ucrSelectorClimograph.CurrentReceiver If currentReceiver IsNot Nothing Then - ucrReceiverFacet.AddItemsWithMetadataProperty(ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text, "Climatic_Type", {"year_label"}) + ucrReceiverFacet.AddItemsWithMetadataProperty(ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text, "Climatic_Type", {"station_label"}) currentReceiver.SetMeAsReceiver() AddRemoveGroupBy1() End If From 34c55bb2c1db7f725aee6b99b6adfdc871032257 Mon Sep 17 00:00:00 2001 From: Sophie Malla Tatchum Date: Tue, 3 Dec 2024 16:53:33 +0100 Subject: [PATCH 12/12] Change made --- instat/dlgClimograph.vb | 60 +++++------------------------------------ 1 file changed, 7 insertions(+), 53 deletions(-) diff --git a/instat/dlgClimograph.vb b/instat/dlgClimograph.vb index 40b3a74d3f..c03070d7e3 100644 --- a/instat/dlgClimograph.vb +++ b/instat/dlgClimograph.vb @@ -978,7 +978,7 @@ Public Class dlgClimograph Private Sub ucrBase_ClickReset(sender As Object, e As EventArgs) Handles ucrBase.ClickReset SetDefaults() SetRCodeForControls(True) - UpdateParameters() + UpdateParametersForStation() TestOKEnabled() End Sub @@ -1100,12 +1100,12 @@ Public Class dlgClimograph ucrInputFacet.SetName(strNone1) End If End If - UpdateParameters1() + UpdateParametersForStationClimograph() AddRemoveFacets1() AddRemoveGroupBy1() End Sub - Private Sub UpdateParameters1() + Private Sub UpdateParametersForStationClimograph() clsFacetVariablesOperator.RemoveParameterByName("var1") clsFacetColOp1.RemoveParameterByName("col" & ucrInputFacet.Name) clsFacetRowOp1.RemoveParameterByName("row" & ucrInputFacet.Name) @@ -1148,13 +1148,13 @@ Public Class dlgClimograph ucrInputFacetBar.SetName(strNone2) End If End If - UpdateParameters2() + UpdateParametersForFacetBar() AddRemoveFacets2() AddRemoveGroupBy2() AddRemoveTemBars() End Sub - Private Sub UpdateParameters2() + Private Sub UpdateParametersForFacetBar() clsFacetVariablesOperator.RemoveParameterByName("var1") clsFacetColOp2.RemoveParameterByName("col" & ucrInputFacetBar.Name) clsFacetRowOp2.RemoveParameterByName("row" & ucrInputFacetBar.Name) @@ -1403,12 +1403,12 @@ Public Class dlgClimograph ucrInputStation.SetName(strNone) End If End If - UpdateParameters() + UpdateParametersForStation() AddRemoveFacets() AddRemoveGroupBy() End Sub - Private Sub UpdateParameters() + Private Sub UpdateParametersForStation() clsFacetOperator.RemoveParameterByName("var1") clsFacetColOp.RemoveParameterByName("col" & ucrInputStation.Name) clsFacetRowOp.RemoveParameterByName("row" & ucrInputStation.Name) @@ -1532,52 +1532,6 @@ Public Class dlgClimograph AutoFillReceivers(lstTminminReceivers) End Sub - Private Sub AutoFillRainReceivers() - If isFilling Then - Exit Sub - End If - isFilling = True - - ' Temporarily remove the event handler - RemoveHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillRainReceivers - - Dim lstRecognisedValues As List(Of String) - Dim ucrCurrentReceiver As ucrReceiver - Dim bFound As Boolean = False - - ucrCurrentReceiver = ucrSelectorClimograph.CurrentReceiver - - For Each ucrTempReceiver As ucrReceiver In lstRainReceivers - ucrTempReceiver.SetMeAsReceiver() - lstRecognisedValues = GetRecognisedValues(ucrTempReceiver.Tag) - - If lstRecognisedValues.Count > 0 Then - For Each lviTempVariable As ListViewItem In ucrSelectorClimograph.lstAvailableVariable.Items - For Each strValue As String In lstRecognisedValues - If Regex.Replace(lviTempVariable.Text.ToLower(), "[^\w]", String.Empty).Equals(strValue) Then - ucrTempReceiver.Add(lviTempVariable.Text, ucrSelectorClimograph.ucrAvailableDataFrames.cboAvailableDataFrames.Text) - bFound = True - Exit For - End If - Next - If bFound Then - bFound = False - Exit For - End If - Next - End If - Next - - If ucrCurrentReceiver IsNot Nothing Then - ucrCurrentReceiver.SetMeAsReceiver() - End If - - ' Re-enable the event handler - AddHandler ucrSelectorClimograph.ControlValueChanged, AddressOf AutoFillRainReceivers - - isFilling = False - End Sub - Private Sub GetParameterValue(clsOperator As ROperator) Dim i As Integer = 0 For Each clsTempParam As RParameter In clsOperator.clsParameters