From 91cfdfd32876f40bf9137cc1f0461baf9977bfca Mon Sep 17 00:00:00 2001 From: KWAMBAI VITALIS Date: Tue, 4 Mar 2025 20:41:10 +0300 Subject: [PATCH 1/6] changes --- instat/dlgSplitText.vb | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/instat/dlgSplitText.vb b/instat/dlgSplitText.vb index 46beff78c10..fa87e899e30 100644 --- a/instat/dlgSplitText.vb +++ b/instat/dlgSplitText.vb @@ -24,7 +24,7 @@ Public Class dlgSplitText Public bFirstLoad As Boolean = True Private bReset As Boolean = True - Private clsTextComponentsFixed, clsTextComponentsMaximum, clsStringCollFunction As New RFunction + Private clsTextComponentsFixed, clsCurrentNewColumnFunction, clsSquishFunction, clsTextComponentsMaximum, clsStringCollFunction As New RFunction Private clsBinaryColumns As New RFunction Private clsSplitDummyFunction As New RFunction Private clsPatternDummyFunction As New RFunction @@ -105,6 +105,8 @@ Public Class dlgSplitText clsStringCollFunction = New RFunction clsSplitDummyFunction = New RFunction clsPatternDummyFunction = New RFunction + clsSquishFunction = New RFunction + clsCurrentNewColumnFunction = New RFunction ucrSelectorSplitTextColumn.Reset() ucrSaveColumn.Reset() @@ -133,6 +135,9 @@ Public Class dlgSplitText clsTextComponentsMaximum.AddParameter("n", "Inf", iPosition:=2) clsTextComponentsMaximum.AddParameter("simplify", "TRUE", iPosition:=3) + clsSquishFunction.SetPackageName("stringr") + clsSquishFunction.SetRCommand("str_squish") + clsTextComponentsFixed.SetAssignTo(ucrSaveColumn.GetText(), strTempDataframe:=ucrSelectorSplitTextColumn.ucrAvailableDataFrames.cboAvailableDataFrames.Text, strTempColumn:=ucrSaveColumn.GetText()) clsTextComponentsMaximum.SetAssignTo("split", strTempDataframe:=ucrSelectorSplitTextColumn.ucrAvailableDataFrames.cboAvailableDataFrames.Text, strTempColumn:="split", bAssignToIsPrefix:=True) clsBinaryColumns.SetAssignTo("split", strTempDataframe:=ucrSelectorSplitTextColumn.ucrAvailableDataFrames.cboAvailableDataFrames.Text, bAssignToColumnWithoutNames:=True) @@ -140,19 +145,20 @@ Public Class dlgSplitText End Sub Private Sub SetRCodeForControls(bReset As Boolean) - ucrReceiverSplitTextColumn.AddAdditionalCodeParameterPair(clsTextComponentsMaximum, New RParameter("string", 0), iAdditionalPairNo:=1) - ucrReceiverSplitTextColumn.AddAdditionalCodeParameterPair(clsBinaryColumns, New RParameter("var", 0), iAdditionalPairNo:=2) + 'ucrReceiverSplitTextColumn.AddAdditionalCodeParameterPair(clsTextComponentsMaximum, New RParameter("string", 0), iAdditionalPairNo:=1) + 'ucrReceiverSplitTextColumn.AddAdditionalCodeParameterPair(clsBinaryColumns, New RParameter("var", 0), iAdditionalPairNo:=2) ucrSaveColumn.AddAdditionalRCode(clsTextComponentsMaximum, iAdditionalPairNo:=1) ucrSaveColumn.AddAdditionalRCode(clsBinaryColumns, iAdditionalPairNo:=2) - ucrReceiverSplitTextColumn.SetRCode(clsTextComponentsFixed, bReset) + 'ucrReceiverSplitTextColumn.SetRCode(clsTextComponentsFixed, bReset) ucrInputPattern.SetRCode(clsPatternDummyFunction, bReset) ucrNudPieces.SetRCode(clsTextComponentsFixed, bReset) ucrChkIncludeRegularExpressions.SetRCode(clsSplitDummyFunction, bReset) ucrPnlSplitText.SetRCode(ucrBase.clsRsyntax.clsBaseFunction, bReset) ucrPnlTextComponents.SetRCode(ucrBase.clsRsyntax.clsBaseFunction, bReset) ucrSaveColumn.SetRCode(clsTextComponentsFixed, bReset) + SetTextSplittingParameters() End Sub Private Sub TestOKEnabled() @@ -236,11 +242,34 @@ Public Class dlgSplitText ucrBase.clsRsyntax.SetBaseRFunction(clsTextComponentsMaximum) End If End If + SetTextSplittingParameters() End Sub Private Sub ucrChkIncludeRegularExpressions_ControlValueChanged(ucrChangedControl As ucrCore) Handles ucrChkIncludeRegularExpressions.ControlValueChanged, ucrReceiverSplitTextColumn.ControlValueChanged, ucrInputPattern.ControlValueChanged, ucrInputRegexPattern.ControlValueChanged + clsCurrentNewColumnFunction = ucrReceiverSplitTextColumn.GetVariables() + clsCurrentNewColumnFunction.SetAssignTo(ucrReceiverSplitTextColumn.GetVariableNames(False)) + ChangeParametersValues() SetVisibleAddKeyboardButton() + SetTextSplittingParameters() + End Sub + + Private Sub SetTextSplittingParameters() + clsSquishFunction.RemoveParameterByName("split") + clsTextComponentsMaximum.RemoveParameterByName("string") + clsTextComponentsFixed.RemoveParameterByName("string") + clsBinaryColumns.RemoveParameterByName("string") + Select Case ucrInputPattern.GetText() + Case "Space ( )" + clsSquishFunction.AddParameter("split", clsRFunctionParameter:=clsCurrentNewColumnFunction, bIncludeArgumentName:=False, iPosition:=0) + clsTextComponentsFixed.AddParameter("string", clsRFunctionParameter:=clsSquishFunction, iPosition:=0) + clsTextComponentsMaximum.AddParameter("string", clsRFunctionParameter:=clsSquishFunction, iPosition:=0) + clsBinaryColumns.AddParameter("string", clsRFunctionParameter:=clsSquishFunction, iPosition:=0) + Case Else + clsTextComponentsFixed.AddParameter("string", clsRFunctionParameter:=clsCurrentNewColumnFunction, iPosition:=0) + clsTextComponentsMaximum.AddParameter("string", clsRFunctionParameter:=clsCurrentNewColumnFunction, iPosition:=0) + clsBinaryColumns.AddParameter("string", clsRFunctionParameter:=clsCurrentNewColumnFunction, iPosition:=0) + End Select End Sub Private Sub Controls_ControlContentsChanged(ucrChangedControl As ucrCore) Handles ucrReceiverSplitTextColumn.ControlContentsChanged, ucrNudPieces.ControlContentsChanged, ucrSaveColumn.ControlContentsChanged, ucrPnlSplitText.ControlContentsChanged From 73a586f5e884f33113e18112566ef13c703eef02 Mon Sep 17 00:00:00 2001 From: KWAMBAI VITALIS Date: Tue, 4 Mar 2025 20:41:57 +0300 Subject: [PATCH 2/6] changes --- instat/dlgSplitText.vb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/instat/dlgSplitText.vb b/instat/dlgSplitText.vb index fa87e899e30..146efff78d7 100644 --- a/instat/dlgSplitText.vb +++ b/instat/dlgSplitText.vb @@ -145,13 +145,9 @@ Public Class dlgSplitText End Sub Private Sub SetRCodeForControls(bReset As Boolean) - 'ucrReceiverSplitTextColumn.AddAdditionalCodeParameterPair(clsTextComponentsMaximum, New RParameter("string", 0), iAdditionalPairNo:=1) - 'ucrReceiverSplitTextColumn.AddAdditionalCodeParameterPair(clsBinaryColumns, New RParameter("var", 0), iAdditionalPairNo:=2) - ucrSaveColumn.AddAdditionalRCode(clsTextComponentsMaximum, iAdditionalPairNo:=1) ucrSaveColumn.AddAdditionalRCode(clsBinaryColumns, iAdditionalPairNo:=2) - 'ucrReceiverSplitTextColumn.SetRCode(clsTextComponentsFixed, bReset) ucrInputPattern.SetRCode(clsPatternDummyFunction, bReset) ucrNudPieces.SetRCode(clsTextComponentsFixed, bReset) ucrChkIncludeRegularExpressions.SetRCode(clsSplitDummyFunction, bReset) From 0af1b4c42841cbdac4c9a9f4e15f6514078a14c3 Mon Sep 17 00:00:00 2001 From: KWAMBAI VITALIS Date: Wed, 5 Mar 2025 11:13:28 +0300 Subject: [PATCH 3/6] changes --- instat/dlgSplitText.vb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/instat/dlgSplitText.vb b/instat/dlgSplitText.vb index 146efff78d7..f9f37922c73 100644 --- a/instat/dlgSplitText.vb +++ b/instat/dlgSplitText.vb @@ -74,6 +74,7 @@ Public Class dlgSplitText ucrInputPattern.SetParameter(New RParameter("pattern", 1)) dctPatternPairs.Add("Space ( )", Chr(34) & " " & Chr(34)) + dctPatternPairs.Add("Spaces ( )", Chr(34) & " " & Chr(34) & " ") ' Adds an invisible difference dctPatternPairs.Add("Period .", Chr(34) & "." & Chr(34)) dctPatternPairs.Add("Comma ,", Chr(34) & "," & Chr(34)) dctPatternPairs.Add("Colon :", Chr(34) & ":" & Chr(34)) @@ -256,7 +257,7 @@ Public Class dlgSplitText clsTextComponentsFixed.RemoveParameterByName("string") clsBinaryColumns.RemoveParameterByName("string") Select Case ucrInputPattern.GetText() - Case "Space ( )" + Case "Spaces ( )" clsSquishFunction.AddParameter("split", clsRFunctionParameter:=clsCurrentNewColumnFunction, bIncludeArgumentName:=False, iPosition:=0) clsTextComponentsFixed.AddParameter("string", clsRFunctionParameter:=clsSquishFunction, iPosition:=0) clsTextComponentsMaximum.AddParameter("string", clsRFunctionParameter:=clsSquishFunction, iPosition:=0) From 84ed7d1670ab4d82f56e7ff12e43ae8cd8e404a1 Mon Sep 17 00:00:00 2001 From: KWAMBAI VITALIS Date: Wed, 5 Mar 2025 14:52:32 +0300 Subject: [PATCH 4/6] changes to the code --- instat/dlgPasteNewColumns.Designer.vb | 101 ++++++++++++++++---------- instat/dlgPasteNewColumns.vb | 20 ++++- 2 files changed, 81 insertions(+), 40 deletions(-) diff --git a/instat/dlgPasteNewColumns.Designer.vb b/instat/dlgPasteNewColumns.Designer.vb index a2760572e76..c37f398a2a4 100644 --- a/instat/dlgPasteNewColumns.Designer.vb +++ b/instat/dlgPasteNewColumns.Designer.vb @@ -38,6 +38,7 @@ Partial Class dlgPasteNewColumns Me.rdoDataFrame = New System.Windows.Forms.RadioButton() Me.ucrPnl = New instat.UcrPanel() Me.ucrChkKeepExstingCols = New instat.ucrCheck() + Me.ucrChkSpaceSeperated = New instat.ucrCheck() Me.panelNoDataPreview.SuspendLayout() Me.SuspendLayout() ' @@ -46,37 +47,38 @@ Partial Class dlgPasteNewColumns Me.ucrDFSelected.AutoSize = True Me.ucrDFSelected.bDropUnusedFilterLevels = False Me.ucrDFSelected.bUseCurrentFilter = True - Me.ucrDFSelected.Location = New System.Drawing.Point(5, 265) + Me.ucrDFSelected.Location = New System.Drawing.Point(8, 398) Me.ucrDFSelected.Margin = New System.Windows.Forms.Padding(0) Me.ucrDFSelected.Name = "ucrDFSelected" - Me.ucrDFSelected.Size = New System.Drawing.Size(177, 50) + Me.ucrDFSelected.Size = New System.Drawing.Size(266, 75) Me.ucrDFSelected.TabIndex = 0 ' 'panelNoDataPreview ' Me.panelNoDataPreview.Controls.Add(Me.lblNoDataPreview) - Me.panelNoDataPreview.Location = New System.Drawing.Point(5, 70) + Me.panelNoDataPreview.Location = New System.Drawing.Point(8, 105) + Me.panelNoDataPreview.Margin = New System.Windows.Forms.Padding(4) Me.panelNoDataPreview.Name = "panelNoDataPreview" - Me.panelNoDataPreview.Size = New System.Drawing.Size(572, 186) + Me.panelNoDataPreview.Size = New System.Drawing.Size(858, 279) Me.panelNoDataPreview.TabIndex = 36 ' 'lblNoDataPreview ' Me.lblNoDataPreview.AutoSize = True Me.lblNoDataPreview.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.lblNoDataPreview.Location = New System.Drawing.Point(201, 66) + Me.lblNoDataPreview.Location = New System.Drawing.Point(302, 99) + Me.lblNoDataPreview.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblNoDataPreview.Name = "lblNoDataPreview" - Me.lblNoDataPreview.Size = New System.Drawing.Size(168, 25) + Me.lblNoDataPreview.Size = New System.Drawing.Size(252, 37) Me.lblNoDataPreview.TabIndex = 0 Me.lblNoDataPreview.Text = "No Data Loaded" ' 'lblConfirmText ' Me.lblConfirmText.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblConfirmText.Location = New System.Drawing.Point(358, 271) - Me.lblConfirmText.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblConfirmText.Location = New System.Drawing.Point(537, 406) Me.lblConfirmText.Name = "lblConfirmText" - Me.lblConfirmText.Size = New System.Drawing.Size(219, 46) + Me.lblConfirmText.Size = New System.Drawing.Size(328, 69) Me.lblConfirmText.TabIndex = 35 Me.lblConfirmText.Text = "Click Ok to paste data to new data frame" ' @@ -84,27 +86,30 @@ Partial Class dlgPasteNewColumns ' Me.lblLinesToPreview.AutoSize = True Me.lblLinesToPreview.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblLinesToPreview.Location = New System.Drawing.Point(315, 50) + Me.lblLinesToPreview.Location = New System.Drawing.Point(472, 75) + Me.lblLinesToPreview.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblLinesToPreview.Name = "lblLinesToPreview" - Me.lblLinesToPreview.Size = New System.Drawing.Size(88, 13) + Me.lblLinesToPreview.Size = New System.Drawing.Size(127, 20) Me.lblLinesToPreview.TabIndex = 34 Me.lblLinesToPreview.Text = "Lines to Preview:" ' 'lblPreviewHeader ' Me.lblPreviewHeader.AutoSize = True - Me.lblPreviewHeader.Location = New System.Drawing.Point(5, 50) + Me.lblPreviewHeader.Location = New System.Drawing.Point(8, 75) + Me.lblPreviewHeader.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblPreviewHeader.Name = "lblPreviewHeader" - Me.lblPreviewHeader.Size = New System.Drawing.Size(119, 13) + Me.lblPreviewHeader.Size = New System.Drawing.Size(172, 20) Me.lblPreviewHeader.TabIndex = 33 Me.lblPreviewHeader.Text = "Preview of copied data:" ' 'btnRefreshPreview ' Me.btnRefreshPreview.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.btnRefreshPreview.Location = New System.Drawing.Point(477, 45) + Me.btnRefreshPreview.Location = New System.Drawing.Point(716, 68) + Me.btnRefreshPreview.Margin = New System.Windows.Forms.Padding(4) Me.btnRefreshPreview.Name = "btnRefreshPreview" - Me.btnRefreshPreview.Size = New System.Drawing.Size(100, 23) + Me.btnRefreshPreview.Size = New System.Drawing.Size(150, 34) Me.btnRefreshPreview.TabIndex = 29 Me.btnRefreshPreview.Text = "Refresh Preview" Me.btnRefreshPreview.UseVisualStyleBackColor = True @@ -114,7 +119,8 @@ Partial Class dlgPasteNewColumns Me.grdDataPreview.BackColor = System.Drawing.Color.White Me.grdDataPreview.ColumnHeaderContextMenuStrip = Nothing Me.grdDataPreview.LeadHeaderContextMenuStrip = Nothing - Me.grdDataPreview.Location = New System.Drawing.Point(5, 70) + Me.grdDataPreview.Location = New System.Drawing.Point(8, 105) + Me.grdDataPreview.Margin = New System.Windows.Forms.Padding(4) Me.grdDataPreview.Name = "grdDataPreview" Me.grdDataPreview.Readonly = True Me.grdDataPreview.RowHeaderContextMenuStrip = Nothing @@ -122,18 +128,18 @@ Partial Class dlgPasteNewColumns Me.grdDataPreview.SheetTabContextMenuStrip = Nothing Me.grdDataPreview.SheetTabNewButtonVisible = False Me.grdDataPreview.SheetTabVisible = True - Me.grdDataPreview.SheetTabWidth = 60 + Me.grdDataPreview.SheetTabWidth = 90 Me.grdDataPreview.ShowScrollEndSpacing = True - Me.grdDataPreview.Size = New System.Drawing.Size(572, 186) + Me.grdDataPreview.Size = New System.Drawing.Size(858, 279) Me.grdDataPreview.TabIndex = 32 ' 'ucrSaveNewDFName ' Me.ucrSaveNewDFName.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink - Me.ucrSaveNewDFName.Location = New System.Drawing.Point(5, 269) - Me.ucrSaveNewDFName.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) + Me.ucrSaveNewDFName.Location = New System.Drawing.Point(8, 434) + Me.ucrSaveNewDFName.Margin = New System.Windows.Forms.Padding(6, 8, 6, 8) Me.ucrSaveNewDFName.Name = "ucrSaveNewDFName" - Me.ucrSaveNewDFName.Size = New System.Drawing.Size(263, 24) + Me.ucrSaveNewDFName.Size = New System.Drawing.Size(394, 36) Me.ucrSaveNewDFName.TabIndex = 30 ' 'ucrNudPreviewLines @@ -141,12 +147,12 @@ Partial Class dlgPasteNewColumns Me.ucrNudPreviewLines.AutoSize = True Me.ucrNudPreviewLines.DecimalPlaces = New Decimal(New Integer() {0, 0, 0, 0}) Me.ucrNudPreviewLines.Increment = New Decimal(New Integer() {1, 0, 0, 0}) - Me.ucrNudPreviewLines.Location = New System.Drawing.Point(420, 45) - Me.ucrNudPreviewLines.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) + Me.ucrNudPreviewLines.Location = New System.Drawing.Point(630, 68) + Me.ucrNudPreviewLines.Margin = New System.Windows.Forms.Padding(6, 8, 6, 8) Me.ucrNudPreviewLines.Maximum = New Decimal(New Integer() {10000, 0, 0, 0}) Me.ucrNudPreviewLines.Minimum = New Decimal(New Integer() {10, 0, 0, 0}) Me.ucrNudPreviewLines.Name = "ucrNudPreviewLines" - Me.ucrNudPreviewLines.Size = New System.Drawing.Size(50, 20) + Me.ucrNudPreviewLines.Size = New System.Drawing.Size(75, 30) Me.ucrNudPreviewLines.TabIndex = 28 Me.ucrNudPreviewLines.Value = New Decimal(New Integer() {10, 0, 0, 0}) ' @@ -154,18 +160,20 @@ Partial Class dlgPasteNewColumns ' Me.ucrChkRowHeader.AutoSize = True Me.ucrChkRowHeader.Checked = False - Me.ucrChkRowHeader.Location = New System.Drawing.Point(141, 47) + Me.ucrChkRowHeader.Location = New System.Drawing.Point(212, 70) + Me.ucrChkRowHeader.Margin = New System.Windows.Forms.Padding(9) Me.ucrChkRowHeader.Name = "ucrChkRowHeader" - Me.ucrChkRowHeader.Size = New System.Drawing.Size(169, 23) + Me.ucrChkRowHeader.Size = New System.Drawing.Size(254, 34) Me.ucrChkRowHeader.TabIndex = 27 ' 'ucrBase ' Me.ucrBase.AutoSize = True Me.ucrBase.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink - Me.ucrBase.Location = New System.Drawing.Point(62, 323) + Me.ucrBase.Location = New System.Drawing.Point(93, 484) + Me.ucrBase.Margin = New System.Windows.Forms.Padding(6) Me.ucrBase.Name = "ucrBase" - Me.ucrBase.Size = New System.Drawing.Size(408, 52) + Me.ucrBase.Size = New System.Drawing.Size(611, 77) Me.ucrBase.TabIndex = 31 ' 'rdoColumns @@ -176,9 +184,10 @@ Partial Class dlgPasteNewColumns Me.rdoColumns.FlatAppearance.CheckedBackColor = System.Drawing.SystemColors.ActiveCaption Me.rdoColumns.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.rdoColumns.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.rdoColumns.Location = New System.Drawing.Point(278, 9) + Me.rdoColumns.Location = New System.Drawing.Point(417, 14) + Me.rdoColumns.Margin = New System.Windows.Forms.Padding(4) Me.rdoColumns.Name = "rdoColumns" - Me.rdoColumns.Size = New System.Drawing.Size(99, 27) + Me.rdoColumns.Size = New System.Drawing.Size(148, 40) Me.rdoColumns.TabIndex = 39 Me.rdoColumns.TabStop = True Me.rdoColumns.Text = "Columns" @@ -193,9 +202,10 @@ Partial Class dlgPasteNewColumns Me.rdoDataFrame.FlatAppearance.CheckedBackColor = System.Drawing.SystemColors.ActiveCaption Me.rdoDataFrame.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.rdoDataFrame.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.rdoDataFrame.Location = New System.Drawing.Point(176, 9) + Me.rdoDataFrame.Location = New System.Drawing.Point(264, 14) + Me.rdoDataFrame.Margin = New System.Windows.Forms.Padding(4) Me.rdoDataFrame.Name = "rdoDataFrame" - Me.rdoDataFrame.Size = New System.Drawing.Size(105, 27) + Me.rdoDataFrame.Size = New System.Drawing.Size(158, 40) Me.rdoDataFrame.TabIndex = 38 Me.rdoDataFrame.TabStop = True Me.rdoDataFrame.Text = "Data Frame" @@ -205,26 +215,39 @@ Partial Class dlgPasteNewColumns 'ucrPnl ' Me.ucrPnl.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink - Me.ucrPnl.Location = New System.Drawing.Point(134, 7) + Me.ucrPnl.Location = New System.Drawing.Point(201, 10) + Me.ucrPnl.Margin = New System.Windows.Forms.Padding(9) Me.ucrPnl.Name = "ucrPnl" - Me.ucrPnl.Size = New System.Drawing.Size(286, 29) + Me.ucrPnl.Size = New System.Drawing.Size(429, 44) Me.ucrPnl.TabIndex = 37 ' 'ucrChkKeepExstingCols ' Me.ucrChkKeepExstingCols.AutoSize = True Me.ucrChkKeepExstingCols.Checked = False - Me.ucrChkKeepExstingCols.Location = New System.Drawing.Point(170, 287) + Me.ucrChkKeepExstingCols.Location = New System.Drawing.Point(255, 430) + Me.ucrChkKeepExstingCols.Margin = New System.Windows.Forms.Padding(9) Me.ucrChkKeepExstingCols.Name = "ucrChkKeepExstingCols" - Me.ucrChkKeepExstingCols.Size = New System.Drawing.Size(183, 23) + Me.ucrChkKeepExstingCols.Size = New System.Drawing.Size(274, 34) Me.ucrChkKeepExstingCols.TabIndex = 40 ' + 'ucrChkSpaceSeperated + ' + Me.ucrChkSpaceSeperated.AutoSize = True + Me.ucrChkSpaceSeperated.Checked = False + Me.ucrChkSpaceSeperated.Location = New System.Drawing.Point(8, 393) + Me.ucrChkSpaceSeperated.Margin = New System.Windows.Forms.Padding(9) + Me.ucrChkSpaceSeperated.Name = "ucrChkSpaceSeperated" + Me.ucrChkSpaceSeperated.Size = New System.Drawing.Size(274, 34) + Me.ucrChkSpaceSeperated.TabIndex = 41 + ' 'dlgPasteNewColumns ' - 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(585, 383) + Me.ClientSize = New System.Drawing.Size(878, 574) + Me.Controls.Add(Me.ucrChkSpaceSeperated) Me.Controls.Add(Me.ucrChkKeepExstingCols) Me.Controls.Add(Me.rdoColumns) Me.Controls.Add(Me.rdoDataFrame) @@ -241,7 +264,6 @@ Partial Class dlgPasteNewColumns Me.Controls.Add(Me.ucrBase) Me.Controls.Add(Me.ucrDFSelected) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow - Me.Margin = New System.Windows.Forms.Padding(2) Me.Name = "dlgPasteNewColumns" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "Paste New" @@ -268,4 +290,5 @@ Partial Class dlgPasteNewColumns Friend WithEvents rdoDataFrame As RadioButton Friend WithEvents ucrPnl As UcrPanel Friend WithEvents ucrChkKeepExstingCols As ucrCheck + Friend WithEvents ucrChkSpaceSeperated As ucrCheck End Class diff --git a/instat/dlgPasteNewColumns.vb b/instat/dlgPasteNewColumns.vb index 00457514b89..9dc1ea39902 100644 --- a/instat/dlgPasteNewColumns.vb +++ b/instat/dlgPasteNewColumns.vb @@ -18,7 +18,7 @@ Imports instat.Translations Public Class dlgPasteNewColumns Private bFirstLoad As Boolean = True Private bReset As Boolean = True - Private clsReadClipDataRFunction As New RFunction + Private clsReadClipDataRFunction, clsDummyFunction As New RFunction Private clsImportColsToExistingDFRFunction As RFunction 'used to prevent TestOkEnabled from being called multiple times when loading the dialog. Private bValidatePasteData As Boolean = False @@ -52,6 +52,7 @@ Public Class dlgPasteNewColumns ucrPnl.AddFunctionNamesCondition(rdoDataFrame, frmMain.clsRLink.strInstatDataObject & "$add_columns_to_data", bNewIsPositive:=False) ucrPnl.AddFunctionNamesCondition(rdoColumns, frmMain.clsRLink.strInstatDataObject & "$add_columns_to_data", bNewIsPositive:=True) ucrPnl.AddToLinkedControls({ucrDFSelected, ucrChkKeepExstingCols}, {rdoColumns}, bNewLinkedAddRemoveParameter:=False, bNewLinkedHideIfParameterMissing:=True) + ucrPnl.AddToLinkedControls(ucrChkSpaceSeperated, {rdoDataFrame}, bNewLinkedAddRemoveParameter:=False, bNewLinkedHideIfParameterMissing:=True) ucrChkRowHeader.SetText("First row is header") ucrChkRowHeader.SetParameter(New RParameter("header", 1)) @@ -78,6 +79,9 @@ Public Class dlgPasteNewColumns ucrChkKeepExstingCols.SetParameter(New RParameter("use_col_name_as_prefix", 2)) ucrChkKeepExstingCols.SetValuesCheckedAndUnchecked("TRUE", "FALSE") '---------------------------- + ucrChkSpaceSeperated.SetText("Space Separated") + ucrChkSpaceSeperated.AddParameterValuesCondition(True, "sep", "True") + ucrChkSpaceSeperated.AddParameterValuesCondition(False, "sep", "False") ucrNudPreviewLines.Minimum = 10 End Sub @@ -85,11 +89,14 @@ Public Class dlgPasteNewColumns Private Sub SetDefaults() clsImportColsToExistingDFRFunction = New RFunction clsReadClipDataRFunction = New RFunction + clsDummyFunction = New RFunction ucrNudPreviewLines.Value = 10 ucrSaveNewDFName.Reset() ucrDFSelected.Reset() + clsDummyFunction.AddParameter("sep", "False", iPosition:=0) + 'todo. some clip data values work well with read_delim R function. 'that's why readr references have been left here for future testing and reference. 'clsReadClipDataRFunction.SetPackageName("readr") @@ -114,6 +121,7 @@ Public Class dlgPasteNewColumns ucrDFSelected.SetRCode(clsImportColsToExistingDFRFunction, bReset) ucrChkKeepExstingCols.SetRCode(clsImportColsToExistingDFRFunction, bReset) + ucrChkSpaceSeperated.SetRCode(clsDummyFunction, bReset) ucrPnl.SetRCode(ucrBase.clsRsyntax.clsBaseFunction, bReset) End Sub @@ -230,4 +238,14 @@ Public Class dlgPasteNewColumns TestOkEnabled() End Sub + Private Sub ucrChkSpaceSeperated_ControlValueChanged(ucrChangedControl As ucrCore) Handles ucrChkSpaceSeperated.ControlValueChanged + If ucrChkSpaceSeperated.Checked Then + clsReadClipDataRFunction.AddParameter("sep", Chr(34) & "" & Chr(34), iPosition:=2) + clsDummyFunction.AddParameter("sep", "True", iPosition:=1) + Else + clsReadClipDataRFunction.RemoveParameterByName("sep") + clsDummyFunction.AddParameter("sep", "False", iPosition:=0) + End If + End Sub + End Class \ No newline at end of file From 269ca80ecfea56f624eaa00baf167c294ead611c Mon Sep 17 00:00:00 2001 From: KWAMBAI VITALIS Date: Thu, 6 Mar 2025 07:52:20 +0300 Subject: [PATCH 5/6] changes --- instat/dlgPasteNewColumns.vb | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/instat/dlgPasteNewColumns.vb b/instat/dlgPasteNewColumns.vb index 9dc1ea39902..266d40c5808 100644 --- a/instat/dlgPasteNewColumns.vb +++ b/instat/dlgPasteNewColumns.vb @@ -166,6 +166,14 @@ Public Class dlgPasteNewColumns Return False End If + ' Disable "Space Separated" only if user didn't check it manually + If dfTemp.ColumnCount > 1 AndAlso Not ucrChkSpaceSeperated.Checked Then + ucrChkSpaceSeperated.Checked = False ' Uncheck if more than one column + ucrChkSpaceSeperated.Enabled = False ' Disable it + Else + ucrChkSpaceSeperated.Enabled = True ' Allow user to enable it + End If + 'preview data frmMain.clsGrids.FillSheet(dfTemp, "temp", grdDataPreview, bIncludeDataTypes:=False, iColMax:=frmMain.clsGrids.iMaxCols, iRowMax:=ucrNudPreviewLines.Value) lblConfirmText.Text = "Columns: " & dfTemp.ColumnCount & " | Rows: " & dfTemp.RowCount & Environment.NewLine & "Click Ok to paste data." @@ -222,10 +230,10 @@ Public Class dlgPasteNewColumns End If End Sub - Private Sub ucrControls_ControlContentsChanged(ucrchangedControl As ucrCore) Handles ucrDFSelected.ControlContentsChanged, ucrSaveNewDFName.ControlContentsChanged, ucrChkKeepExstingCols.ControlContentsChanged + Private Sub ucrControls_ControlContentsChanged(ucrchangedControl As ucrCore) Handles ucrDFSelected.ControlContentsChanged, ucrSaveNewDFName.ControlContentsChanged, ucrChkKeepExstingCols.ControlContentsChanged, ucrChkSpaceSeperated.ControlContentsChanged If bValidatePasteData Then 'disabled unnecessary validation of copied data because it may take long for large datasets - TestOkEnabled(bValidateCopiedData:=ucrchangedControl IsNot ucrSaveNewDFName AndAlso ucrchangedControl IsNot ucrDFSelected AndAlso ucrchangedControl IsNot ucrChkKeepExstingCols) + TestOkEnabled(bValidateCopiedData:=ucrchangedControl IsNot ucrSaveNewDFName AndAlso ucrchangedControl IsNot ucrDFSelected AndAlso ucrchangedControl IsNot ucrChkKeepExstingCols AndAlso ucrchangedControl IsNot ucrChkSpaceSeperated) End If End Sub @@ -246,6 +254,9 @@ Public Class dlgPasteNewColumns clsReadClipDataRFunction.RemoveParameterByName("sep") clsDummyFunction.AddParameter("sep", "False", iPosition:=0) End If + If bValidatePasteData Then + TestOkEnabled(True) + End If End Sub End Class \ No newline at end of file From 776ee8081463e1f9cd46842fb74f574afcbdd397 Mon Sep 17 00:00:00 2001 From: KWAMBAI VITALIS Date: Thu, 6 Mar 2025 07:56:18 +0300 Subject: [PATCH 6/6] changes --- instat/dlgPasteNewColumns.vb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/instat/dlgPasteNewColumns.vb b/instat/dlgPasteNewColumns.vb index 266d40c5808..488bc9f2c64 100644 --- a/instat/dlgPasteNewColumns.vb +++ b/instat/dlgPasteNewColumns.vb @@ -254,9 +254,7 @@ Public Class dlgPasteNewColumns clsReadClipDataRFunction.RemoveParameterByName("sep") clsDummyFunction.AddParameter("sep", "False", iPosition:=0) End If - If bValidatePasteData Then - TestOkEnabled(True) - End If + TestOkEnabled(True) End Sub End Class \ No newline at end of file