From a484718aaab6f7823e344c8507f69f537b368dad Mon Sep 17 00:00:00 2001 From: FrancoisJRenaud Date: Sat, 8 Oct 2016 20:17:27 +0100 Subject: [PATCH 1/2] Comments, questions and a few minor changes mainly consisting in editing SetDefaults() --- instat/clsROperator.vb | 4 +++- instat/clsRSyntax.vb | 2 ++ instat/dlgGeneralForGraphics.vb | 10 +++++++--- instat/sdgLayerOptions.vb | 6 +++++- instat/ucrAdditionalLayers.vb | 7 +++++-- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/instat/clsROperator.vb b/instat/clsROperator.vb index 422281fd08c..0a4d9a26a91 100644 --- a/instat/clsROperator.vb +++ b/instat/clsROperator.vb @@ -221,7 +221,9 @@ Public Class ROperator End Function Public Sub SetParameter(bSetFirst As Boolean, Optional strParameterName As String = "Right", Optional strValue As String = "", Optional clsParam As RParameter = Nothing, Optional clsRFunc As RFunction = Nothing, Optional clsOp As ROperator = Nothing, Optional bIncludeArgumentName As Boolean = True) - + 'Only one of the nonboolean parameters should ever be nonempty, but strParameterName. + 'bSetFirst decides wether we are modifying/adding the first parameter. + 'The default new parameter name is "Right", in case we are not modyfying the first parameter. Cannot be recursively adding parameters using default name as it will overwrite. If strValue <> "" Then clsParam = New RParameter clsParam.SetArgumentValue(strValue) diff --git a/instat/clsRSyntax.vb b/instat/clsRSyntax.vb index 50084f8cb68..50817cc7665 100644 --- a/instat/clsRSyntax.vb +++ b/instat/clsRSyntax.vb @@ -33,6 +33,7 @@ Public Class RSyntax Public strScript As String Public i As Integer Public bExcludeAssignedFunctionOutput As Boolean = True + 'What is this used for ? When does the value changes ? Private strAssignTo As String 'strAssignTo is the name that should be used to assign in R the output of the main (Base) R-command. Private strAssignToDataframe As String @@ -291,6 +292,7 @@ Public Class RSyntax strTemp = clsFunction.ToScript(strScript) End If If bExcludeAssignedFunctionOutput Then + ' what is this doing, mixture of parameter if function and fields if not function, what is excluded ? ... If (bUseBaseFunction AndAlso clsFunction.bIsAssigned) OrElse (bUseBaseOperator AndAlso clsBaseOperator.bIsAssigned) OrElse (bUseCommandString AndAlso bIsAssigned) Then Return strScript Exit Function diff --git a/instat/dlgGeneralForGraphics.vb b/instat/dlgGeneralForGraphics.vb index 92e40b779cf..a88c089a327 100644 --- a/instat/dlgGeneralForGraphics.vb +++ b/instat/dlgGeneralForGraphics.vb @@ -18,10 +18,12 @@ Public Class dlgGeneralForGraphics Public clsRggplotFunction As New RFunction Private bFirstLoad As Boolean = True Private lstLayerComplete As New List(Of Boolean) + 'list of completed layers. Private iLayerIndex As Integer + 'current layer Public WithEvents clsGgplotAesFunction As New RFunction - Private strGlobalDataFrame As String = "" - Public bDataFrameSet As Boolean = False + Private strGlobalDataFrame As String + Public bDataFrameSet As Boolean Private Sub dlgGeneralForGraphics_Load(sender As Object, e As EventArgs) Handles MyBase.Load If bFirstLoad Then @@ -41,6 +43,7 @@ Public Class dlgGeneralForGraphics clsRggplotFunction.SetRCommand("ggplot") clsGgplotAesFunction.SetRCommand("aes") ucrBase.clsRsyntax.SetOperatorParameter(True, clsRFunc:=clsRggplotFunction) + 'True for "we are setting the first parameter, on the left of +. ucrBase.iHelpTopicID = 356 ucrSaveGraph.SetDataFrameSelector(sdgLayerOptions.ucrGeomWithAes.UcrSelector.ucrAvailableDataFrames) @@ -49,7 +52,7 @@ Public Class dlgGeneralForGraphics ucrAdditionalLayers.SetGGplotFunction(clsRggplotFunction) ucrAdditionalLayers.SetAesFunction(clsGgplotAesFunction) ucrBase.clsRsyntax.bExcludeAssignedFunctionOutput = False - + 'What does that stand for ? End Sub @@ -59,6 +62,7 @@ Public Class dlgGeneralForGraphics lstLayerComplete.Clear() 'SetEditDeleteEnabled() strGlobalDataFrame = "" + bDataFrameSet = False clsRggplotFunction.ClearParameters() clsGgplotAesFunction.ClearParameters() ucrAdditionalLayers.Reset() diff --git a/instat/sdgLayerOptions.vb b/instat/sdgLayerOptions.vb index 682fafb1b25..76043c2a3d1 100644 --- a/instat/sdgLayerOptions.vb +++ b/instat/sdgLayerOptions.vb @@ -20,7 +20,7 @@ Public Class sdgLayerOptions Public clsGgplotFunction As New RFunction Public bFirstLoad As Boolean = True Public bAesInGeom As Boolean - Public strGlobalDataFrame As String = "" + Public strGlobalDataFrame As String Public Sub New() ' This call is required by the designer. @@ -43,10 +43,12 @@ Public Class sdgLayerOptions Private Sub InitialiseDialog() ucrLayerParameter.ucrGeomWithAes = ucrGeomWithAes ucrGeomWithAes.ucrLayersControl = ucrLayerParameter + 'Why does the order in equality not matter here ? Should intuitively be the other way around. End Sub Private Sub SetDefaults() ucrGeomWithAes.UcrSelector.Reset() + strGlobalDataFrame = "" End Sub Private Sub ReopenDialog() @@ -66,6 +68,8 @@ Public Class sdgLayerOptions clsGgplotFunction = clsTempGgPlot ucrGeomWithAes.Setup(clsTempGgPlot, clsTempGeomFunc, clsTempAesFunc, bFixAes, bFixGeom, strDataframe, bUseGlobalAes, iNumVariablesForGeoms, clsTempLocalAes) ucrLayerParameter.Setup(clsTempGgPlot, clsTempGeomFunc, clsTempAesFunc, bFixAes, bFixGeom, strDataframe, bUseGlobalAes, iNumVariablesForGeoms, clsTempLocalAes) + 'Warning, when coming back to a layer where the geom was not fixed, the geom is now fixed... + 'when is fix aes used ? End Sub Public Function TestForOKEnabled() As Boolean diff --git a/instat/ucrAdditionalLayers.vb b/instat/ucrAdditionalLayers.vb index 141cd602d18..f3743480e39 100644 --- a/instat/ucrAdditionalLayers.vb +++ b/instat/ucrAdditionalLayers.vb @@ -22,8 +22,8 @@ Public Class ucrAdditionalLayers Public bFirstLoad As Boolean = True Public lstLayerComplete As New List(Of Boolean) Public iLayerIndex As Integer - Private strGlobalDataFrame As String = "" - Public bSetGlobalIsDefault As Boolean = True + Private strGlobalDataFrame As String + Public bSetGlobalIsDefault As Boolean Public Sub New() @@ -56,6 +56,9 @@ Public Class ucrAdditionalLayers iLayerIndex = 0 lstLayers.Clear() lstLayerComplete.Clear() + strGlobalDataFrame = "" + bSetGlobalIsDefault = True + 'This bSetGlobalIsDefault seems to stay True forever, maybe source of some of the errors ? Where is this used ? SetEditDeleteEnabled() End Sub From 5db21ee3e280b16e470fb35b71b99b8b97a801df Mon Sep 17 00:00:00 2001 From: FrancoisJRenaud Date: Sun, 9 Oct 2016 17:57:01 +0100 Subject: [PATCH 2/2] Questions erased, comments added, other questions added and some substantial changes in GetScript of RSyntax --- instat/clsRFunction.vb | 2 + instat/clsRSyntax.vb | 239 ++++++++++++++++---------------- instat/dlgGeneralForGraphics.vb | 3 +- instat/sdgLayerOptions.vb | 3 +- instat/ucrGeom.vb | 1 + 5 files changed, 126 insertions(+), 122 deletions(-) diff --git a/instat/clsRFunction.vb b/instat/clsRFunction.vb index 407a87a17e5..bbe47be02df 100644 --- a/instat/clsRFunction.vb +++ b/instat/clsRFunction.vb @@ -70,6 +70,7 @@ Public Class RFunction End Sub Public Function ToScript(Optional ByRef strScript As String = "") As String + 'Converting the RFunction into a string that when run in R gives the appropriate output Dim strTemp As String = "" Dim i As Integer Dim clsAddColumns As New RFunction @@ -85,6 +86,7 @@ Public Class RFunction If bIsAssigned Then Return (strAssignTo) End If + 'In case R has already stored the output of the function in the string of the appropriate name -AssignTo-, then that variable can be used as script. strTemp = strRCommand & "(" diff --git a/instat/clsRSyntax.vb b/instat/clsRSyntax.vb index 50817cc7665..d98d518500d 100644 --- a/instat/clsRSyntax.vb +++ b/instat/clsRSyntax.vb @@ -33,18 +33,24 @@ Public Class RSyntax Public strScript As String Public i As Integer Public bExcludeAssignedFunctionOutput As Boolean = True - 'What is this used for ? When does the value changes ? + 'Decides whether or not the output oof the R-command should be part of the script or not, in the case this has already been assigned. Private strAssignTo As String 'strAssignTo is the name that should be used to assign in R the output of the main (Base) R-command. Private strAssignToDataframe As String Private strAssignToColumn As String Private strAssignToModel As String - Private strAssignToGraph As String - 'These AssingTo's are only relevant in the string case, as RFunction and ROperator have internal equivalents. + Private strAssignToGraph As String + 'These AssingTo's are only relevant in the string case, as RFunction and ROperator have internal equivalents. + 'If they are empty, the output Of the command Is Not linked To an R-instat object. + 'If they are non-empty, that gives the name of the R-instat Object fields it needs to be linked with. Public bToBeAssigned As Boolean = False - 'bToBeAssigned is a boolean telling whether or not, AT THE CURRENT STAGE of running code within R, the output of the Base R-command NEEDS TO BE assigned to the variable with the appropriate name: strAssignTo. + 'bToBeAssigned is a boolean telling whether or not, AT THE CURRENT STAGE of running code within R, the output of the Base R-command NEEDS TO BE assigned to + ' - the variable With the appropriate name: strAssignTo, + ' - And potentially assigned to elements in an R-instat object, if specified in the AssignToDataFrame,... parameters. Public bIsAssigned As Boolean = False - 'bIsAssigned tells blindly whether or not the variabe with the appropriate name has been assigned to the output of the Base R-command. + 'bIsAssigned tells blindly whether or not the output of the R-command has been assigned and, if relevant, the link with the appropriate R-instat object has been done. + 'Both booleans are necessary to distinguish the case where nothing needs to be assigned, and nothing is indeed assigned from the case, nothing needs to be assigned as it has already been assigned. + 'So bIsAssigned Is Not enough To decide whether Or Not we should assign, unless we use the information "is strAssignTo empty or not", but for the moment we keep it like it is. Private bAssignToIsPrefix As Boolean Private bAssignToColumnWithoutNames As Boolean Private bInsertColumnBefore As String @@ -178,124 +184,119 @@ Public Class RSyntax clsFunction.ClearParameters() End Sub - Public Function GetScript(Optional ByRef clsFunction As RFunction = Nothing) As String + Public Function GetScript() As String - Dim strTemp As String = "" - - If IsNothing(clsFunction) Then - If bUseBaseFunction Then - clsFunction = clsBaseFunction - strTemp = clsBaseFunction.ToScript(strScript) - End If - If bUseBaseOperator Then - strTemp = clsBaseOperator.ToScript(strScript) - End If - If bUseCommandString Then - Dim clsAddColumns As New RFunction - Dim clsGetColumns As New RFunction - Dim clsAddData As New RFunction - Dim clsGetData As New RFunction - Dim clsAddModels As New RFunction - Dim clsGetModels As New RFunction - Dim clsAddGraphs As New RFunction - Dim clsGetGraphs As New RFunction - Dim clsDataList As New RFunction - - strTemp = strCommandString - If bToBeAssigned Then - If Not frmMain.clsRLink.bInstatObjectExists Then - frmMain.clsRLink.CreateNewInstatObject() - End If - strScript = strScript & strAssignTo & " <- " & strTemp & vbCrLf - If Not strAssignToDataframe = "" AndAlso (Not strAssignToColumn = "" OrElse bAssignToColumnWithoutNames) Then - clsAddColumns.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$add_columns_to_data") - clsAddColumns.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) - If Not bAssignToColumnWithoutNames Then - clsAddColumns.AddParameter("col_name", Chr(34) & strAssignToColumn & Chr(34)) - End If - clsAddColumns.AddParameter("col_data", strAssignTo) - If bAssignToIsPrefix Then - clsAddColumns.AddParameter("use_col_name_as_prefix", "TRUE") - Else - If frmMain.clsInstatOptions.bIncludeRDefaultParameters Then - clsAddColumns.AddParameter("use_col_name_as_prefix", "FALSE") - End If - End If - If bInsertColumnBefore Then - clsAddColumns.AddParameter("before", "TRUE") - Else - If frmMain.clsInstatOptions.bIncludeRDefaultParameters Then - clsAddColumns.AddParameter("before", "FALSE") - End If - End If - strScript = strScript & clsAddColumns.ToScript() & vbCrLf - - clsGetColumns.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$get_columns_from_data") - clsGetColumns.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) - clsGetColumns.AddParameter("col_name", Chr(34) & strAssignToColumn & Chr(34)) - strAssignTo = clsGetColumns.ToScript() - - bIsAssigned = True - bToBeAssigned = False - ElseIf Not strAssignToModel = "" Then - clsAddModels.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$add_model") - clsAddModels.AddParameter("model_name", Chr(34) & strAssignToModel & Chr(34)) - clsAddModels.AddParameter("model", strAssignTo) - If Not strAssignToDataframe = "" Then - clsAddColumns.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) - clsGetModels.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) - End If - strScript = strScript & clsAddModels.ToScript() & vbCrLf - - clsGetModels.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$get_models") - clsGetModels.AddParameter("model_name", Chr(34) & strAssignToModel & Chr(34)) - strAssignTo = clsGetModels.ToScript() - - bIsAssigned = True - bToBeAssigned = False - ElseIf Not strAssignToGraph = "" Then - clsAddGraphs.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$add_graph") - clsAddGraphs.AddParameter("graph_name", Chr(34) & strAssignToGraph & Chr(34)) - clsAddGraphs.AddParameter("graph", strAssignTo) - If Not strAssignToDataframe = "" Then - clsAddGraphs.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) - clsGetGraphs.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) - End If - strScript = strScript & clsAddGraphs.ToScript() & vbCrLf - - clsGetGraphs.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$get_graphs") - clsGetGraphs.AddParameter("graph_name", Chr(34) & strAssignToGraph & Chr(34)) - strAssignTo = clsGetGraphs.ToScript() - - bIsAssigned = True - bToBeAssigned = False - ElseIf Not strAssignToDataframe = "" Then - clsAddData.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$import_data") - clsDataList.SetRCommand("list") - clsDataList.AddParameter(strAssignToDataframe, strAssignTo) - clsAddData.AddParameter("data_tables", clsRFunctionParameter:=clsDataList) - strScript = strScript & clsAddData.ToScript() & vbCrLf - - clsGetData.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$get_data_frame") - clsGetData.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) - strAssignTo = clsGetData.ToScript() - - bIsAssigned = True - bToBeAssigned = False - End If - strTemp = strAssignTo - Else - 'Return strTemp - End If - End If - Else - strTemp = clsFunction.ToScript(strScript) + Dim strTemp As String = "" + + If bUseBaseFunction Then + strTemp = clsBaseFunction.ToScript(strScript) + End If + If bUseBaseOperator Then + strTemp = clsBaseOperator.ToScript(strScript) + End If + If bUseCommandString Then + Dim clsAddColumns As New RFunction + Dim clsGetColumns As New RFunction + Dim clsAddData As New RFunction + Dim clsGetData As New RFunction + Dim clsAddModels As New RFunction + Dim clsGetModels As New RFunction + Dim clsAddGraphs As New RFunction + Dim clsGetGraphs As New RFunction + Dim clsDataList As New RFunction + + strTemp = strCommandString + + If bIsAssigned Then + strTemp = strAssignTo + ElseIf bToBeAssigned Then + If Not frmMain.clsRLink.bInstatObjectExists Then + frmMain.clsRLink.CreateNewInstatObject() + End If + strScript = strScript & strAssignTo & " <- " & strTemp & vbCrLf + If Not strAssignToDataframe = "" AndAlso (Not strAssignToColumn = "" OrElse bAssignToColumnWithoutNames) Then + clsAddColumns.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$add_columns_to_data") + clsAddColumns.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) + If Not bAssignToColumnWithoutNames Then + clsAddColumns.AddParameter("col_name", Chr(34) & strAssignToColumn & Chr(34)) + End If + clsAddColumns.AddParameter("col_data", strAssignTo) + If bAssignToIsPrefix Then + clsAddColumns.AddParameter("use_col_name_as_prefix", "TRUE") + Else + If frmMain.clsInstatOptions.bIncludeRDefaultParameters Then + clsAddColumns.AddParameter("use_col_name_as_prefix", "FALSE") + End If + End If + If bInsertColumnBefore Then + clsAddColumns.AddParameter("before", "TRUE") + Else + If frmMain.clsInstatOptions.bIncludeRDefaultParameters Then + clsAddColumns.AddParameter("before", "FALSE") + End If + End If + strScript = strScript & clsAddColumns.ToScript() & vbCrLf + + clsGetColumns.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$get_columns_from_data") + clsGetColumns.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) + clsGetColumns.AddParameter("col_name", Chr(34) & strAssignToColumn & Chr(34)) + strAssignTo = clsGetColumns.ToScript() + + bIsAssigned = True + bToBeAssigned = False + ElseIf Not strAssignToModel = "" Then + clsAddModels.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$add_model") + clsAddModels.AddParameter("model_name", Chr(34) & strAssignToModel & Chr(34)) + clsAddModels.AddParameter("model", strAssignTo) + If Not strAssignToDataframe = "" Then + clsAddColumns.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) + clsGetModels.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) + End If + strScript = strScript & clsAddModels.ToScript() & vbCrLf + + clsGetModels.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$get_models") + clsGetModels.AddParameter("model_name", Chr(34) & strAssignToModel & Chr(34)) + strAssignTo = clsGetModels.ToScript() + + bIsAssigned = True + bToBeAssigned = False + ElseIf Not strAssignToGraph = "" Then + clsAddGraphs.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$add_graph") + clsAddGraphs.AddParameter("graph_name", Chr(34) & strAssignToGraph & Chr(34)) + clsAddGraphs.AddParameter("graph", strAssignTo) + If Not strAssignToDataframe = "" Then + clsAddGraphs.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) + clsGetGraphs.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) + End If + strScript = strScript & clsAddGraphs.ToScript() & vbCrLf + + clsGetGraphs.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$get_graphs") + clsGetGraphs.AddParameter("graph_name", Chr(34) & strAssignToGraph & Chr(34)) + strAssignTo = clsGetGraphs.ToScript() + + bIsAssigned = True + bToBeAssigned = False + ElseIf Not strAssignToDataframe = "" Then + clsAddData.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$import_data") + clsDataList.SetRCommand("list") + clsDataList.AddParameter(strAssignToDataframe, strAssignTo) + clsAddData.AddParameter("data_tables", clsRFunctionParameter:=clsDataList) + strScript = strScript & clsAddData.ToScript() & vbCrLf + + clsGetData.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$get_data_frame") + clsGetData.AddParameter("data_name", Chr(34) & strAssignToDataframe & Chr(34)) + strAssignTo = clsGetData.ToScript() + + bIsAssigned = True + bToBeAssigned = False + End If + strTemp = strAssignTo + End If End If If bExcludeAssignedFunctionOutput Then - ' what is this doing, mixture of parameter if function and fields if not function, what is excluded ? ... - If (bUseBaseFunction AndAlso clsFunction.bIsAssigned) OrElse (bUseBaseOperator AndAlso clsBaseOperator.bIsAssigned) OrElse (bUseCommandString AndAlso bIsAssigned) Then + 'Sometimes the output of the R-command we deal with should not be part of the script... That's only the case when this output has already been assigned. + If (bUseBaseFunction AndAlso clsBaseFunction.bIsAssigned) OrElse (bUseBaseOperator AndAlso clsBaseOperator.bIsAssigned) OrElse (bUseCommandString AndAlso bIsAssigned) Then Return strScript - Exit Function End If End If Return strScript & strTemp diff --git a/instat/dlgGeneralForGraphics.vb b/instat/dlgGeneralForGraphics.vb index a88c089a327..86605897ddd 100644 --- a/instat/dlgGeneralForGraphics.vb +++ b/instat/dlgGeneralForGraphics.vb @@ -52,7 +52,8 @@ Public Class dlgGeneralForGraphics ucrAdditionalLayers.SetGGplotFunction(clsRggplotFunction) ucrAdditionalLayers.SetAesFunction(clsGgplotAesFunction) ucrBase.clsRsyntax.bExcludeAssignedFunctionOutput = False - 'What does that stand for ? + 'By default, we want to put in the script the output of our Base R-command (in this case the ...+...+...) even when it has been assigned to some object (in which case we want the name of that object in the script so that it's called when the script is run). + 'For example, when a graph is saved, it is assigned to it's place in an R-instat object. If we had set bExcludeAssignedFunctionOutput to True, then we would never print the graph when running the script. End Sub diff --git a/instat/sdgLayerOptions.vb b/instat/sdgLayerOptions.vb index 76043c2a3d1..671ea0f0211 100644 --- a/instat/sdgLayerOptions.vb +++ b/instat/sdgLayerOptions.vb @@ -43,7 +43,7 @@ Public Class sdgLayerOptions Private Sub InitialiseDialog() ucrLayerParameter.ucrGeomWithAes = ucrGeomWithAes ucrGeomWithAes.ucrLayersControl = ucrLayerParameter - 'Why does the order in equality not matter here ? Should intuitively be the other way around. + 'All these controls are on the current subdialogue and should be linked together as shown above. End Sub Private Sub SetDefaults() @@ -69,7 +69,6 @@ Public Class sdgLayerOptions ucrGeomWithAes.Setup(clsTempGgPlot, clsTempGeomFunc, clsTempAesFunc, bFixAes, bFixGeom, strDataframe, bUseGlobalAes, iNumVariablesForGeoms, clsTempLocalAes) ucrLayerParameter.Setup(clsTempGgPlot, clsTempGeomFunc, clsTempAesFunc, bFixAes, bFixGeom, strDataframe, bUseGlobalAes, iNumVariablesForGeoms, clsTempLocalAes) 'Warning, when coming back to a layer where the geom was not fixed, the geom is now fixed... - 'when is fix aes used ? End Sub Public Function TestForOKEnabled() As Boolean diff --git a/instat/ucrGeom.vb b/instat/ucrGeom.vb index 8f2c2ebacdb..1e70bbaceea 100644 --- a/instat/ucrGeom.vb +++ b/instat/ucrGeom.vb @@ -22,6 +22,7 @@ Public Class ucrGeom Public lstGgParameters As New List(Of RParameter) Public clsGeomFunction As New RFunction Public clsCurrGeom As New Geoms + 'why is geomfunction not a memeber of the geomclass ? Public lstFunctionParameters As New List(Of RParameter) Private bFirstLoad As Boolean = True Public clsGgplotAesFunction As New RFunction