Skip to content

Commit

Permalink
Merge pull request #40 from africanmathsinitiative/master
Browse files Browse the repository at this point in the history
updating master
  • Loading branch information
maxwellfundi authored Apr 3, 2017
2 parents edb982e + dfed989 commit d72c350
Show file tree
Hide file tree
Showing 28 changed files with 3,431 additions and 139 deletions.
15 changes: 7 additions & 8 deletions instat/clsGridLink.vb
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Imports RDotNet
Imports unvell.ReoGrid

Public Class clsGridLink
Public ucrDataViewer As ucrDataView
Public grdData As ReoGridControl
Public grdMetadata As ReoGridControl
Public grdVariablesMetadata As ReoGridControl
Expand Down Expand Up @@ -104,7 +105,7 @@ Public Class clsGridLink
Else
FillSheet(dfTemp, strDataName, grdData, bInstatObjectDataFrame:=True, bIncludeDataTypes:=True, iNewPosition:=i, bFilterApplied:=False, bCheckFreezeColumns:=True)
End If
frmEditor.SetColumnNames(strDataName, dfTemp.ColumnNames())
ucrDataViewer.SetColumnNames(strDataName, dfTemp.ColumnNames())
clsSetDataFramesChanged.AddParameter("data_name", Chr(34) & strDataName & Chr(34))
clsSetDataFramesChanged.AddParameter("new_val", "FALSE")
frmMain.clsRLink.RunInternalScript(clsSetDataFramesChanged.ToScript())
Expand Down Expand Up @@ -181,10 +182,7 @@ Public Class clsGridLink
grdVariablesMetadata.Visible = True
grdMetadata.Visible = True
End If
'TODO TEMPORARY THIS MUST BE REMOVED
'Cannot refer to frmEditor directly
'Could fix by having user control for grid and here raising event handled in frmEditor
frmEditor.UpdateCurrentWorksheet()
ucrDataViewer.UpdateCurrentWorksheet()
End Sub

Public Sub SetMetadata(tmpStrMetadata As String)
Expand All @@ -209,8 +207,9 @@ Public Class clsGridLink
End If
End Sub

Public Sub SetData(grdTemp As ReoGridControl)
grdData = grdTemp
Public Sub SetDataViewer(ucrNewDataViewer As ucrDataView)
ucrDataViewer = ucrNewDataViewer
grdData = ucrNewDataViewer.grdData
bGrdDataExists = True
bGrdDataChanged = True
UpdateGrids()
Expand Down Expand Up @@ -303,8 +302,8 @@ Public Class clsGridLink
fillWorkSheet.RowHeaders(i).TextColor = Color.DarkBlue
Next
End If
FormatDataView(fillWorkSheet)
End If
FormatDataView(fillWorkSheet)
Try
clsGetColumnNames.SetRCommand(frmMain.clsRLink.strInstatDataObject & "$get_column_names")
clsGetColumnNames.AddParameter("data_name", Chr(34) & strName & Chr(34))
Expand Down
19 changes: 13 additions & 6 deletions instat/clsRLink.vb
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
' along with this program. If not, see <http://www.gnu.org/licenses/>.

Imports RDotNet
Imports unvell.ReoGrid

Public Class RLink
' R interface class. Each instance of the class has its own REngine instance
Expand Down Expand Up @@ -44,6 +45,8 @@ Public Class RLink

Public strGraphDisplayOption As String = "view_output_window"

Private grdDataView As ReoGridControl

Public Sub New(Optional bWithInstatObj As Boolean = False, Optional bWithClimsoft As Boolean = False)

End Sub
Expand All @@ -64,6 +67,10 @@ Public Class RLink
clsEngine.Initialize()
End Sub

Public Sub SetDataViewGrid(grdNewDataGrid As ReoGridControl)
grdDataView = grdNewDataGrid
End Sub

Public Sub setFormatOutput(tempFont As Font, tempColor As Color)
fOutput = tempFont
clrOutput = tempColor
Expand Down Expand Up @@ -127,8 +134,8 @@ Public Class RLink
cboDataFrames.Items.AddRange(GetDataFrameNames().ToArray)
AdjustComboBoxWidth(cboDataFrames)
'Task/Question: From what I understood, if bSetDefault is true or if the strCurrentDataFrame (given as an argument) is actually not in cboDataFrames (is this case generic or should it never happen ?), then the selected Index should be the current worksheet.
If (bSetDefault OrElse cboDataFrames.Items.IndexOf(strCurrentDataFrame) = -1) AndAlso (frmEditor.grdData IsNot Nothing) AndAlso (frmEditor.grdData.CurrentWorksheet IsNot Nothing) Then
cboDataFrames.SelectedIndex = cboDataFrames.Items.IndexOf(frmEditor.grdData.CurrentWorksheet.Name)
If (bSetDefault OrElse cboDataFrames.Items.IndexOf(strCurrentDataFrame) = -1) AndAlso (grdDataView IsNot Nothing) AndAlso (grdDataView.CurrentWorksheet IsNot Nothing) Then
cboDataFrames.SelectedIndex = cboDataFrames.Items.IndexOf(grdDataView.CurrentWorksheet.Name)
ElseIf cboDataFrames.Items.IndexOf(strCurrentDataFrame) <> -1 Then
cboDataFrames.SelectedIndex = cboDataFrames.Items.IndexOf(strCurrentDataFrame)
End If
Expand All @@ -139,7 +146,7 @@ Public Class RLink
' Then this can be removed
Public Shared Sub AdjustComboBoxWidth(cboCurrent As ComboBox)
Dim iWidth As Integer = cboCurrent.DropDownWidth
Dim graTemp As Graphics = cboCurrent.CreateGraphics()
Dim graTemp As System.Drawing.Graphics = cboCurrent.CreateGraphics()
Dim font As Font = cboCurrent.Font
Dim iScrollBarWidth As Integer
Dim iNewWidth As Integer
Expand Down Expand Up @@ -233,7 +240,7 @@ Public Class RLink
Dim strTempGraphsDirectory As String
Dim clsPNGFunction As New RFunction

strTempGraphsDirectory = IO.Path.Combine(IO.Path.GetTempPath() & "R_Instat_Temp_Graphs")
strTempGraphsDirectory = System.IO.Path.Combine(System.IO.Path.GetTempPath() & "R_Instat_Temp_Graphs")
strOutput = ""

If strComment <> "" Then
Expand Down Expand Up @@ -265,7 +272,7 @@ Public Class RLink
If iCallType = 3 Then
If strGraphDisplayOption = "view_output_window" OrElse strGraphDisplayOption = "view_separate_window" Then
clsPNGFunction.SetRCommand("png")
clsPNGFunction.AddParameter("filename", Chr(34) & IO.Path.Combine(strTempGraphsDirectory & "/Graph.png").Replace("\", "/") & Chr(34))
clsPNGFunction.AddParameter("filename", Chr(34) & System.IO.Path.Combine(strTempGraphsDirectory & "/Graph.png").Replace("\", "/") & Chr(34))
clsPNGFunction.AddParameter("width", 4000)
clsPNGFunction.AddParameter("height", 4000)
clsPNGFunction.AddParameter("res", 500)
Expand All @@ -284,7 +291,7 @@ Public Class RLink
'It is called from RLink at the end of RunScript.
Dim lstTempGraphFiles As ObjectModel.ReadOnlyCollection(Of String)
Dim iNumberOfFiles As Integer = -1
strTempGraphsDirectory = IO.Path.Combine(IO.Path.GetTempPath(), "R_Instat_Temp_Graphs")
strTempGraphsDirectory = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "R_Instat_Temp_Graphs")
Try
lstTempGraphFiles = FileIO.FileSystem.GetFiles(strTempGraphsDirectory)
Catch e As Exception
Expand Down
52 changes: 52 additions & 0 deletions instat/dlgImportGriddedData.Designer.vb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

120 changes: 120 additions & 0 deletions instat/dlgImportGriddedData.resx
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
56 changes: 56 additions & 0 deletions instat/dlgImportGriddedData.vb
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
' Instat-R
' Copyright (C) 2015
'
' This program is free software: you can redistribute it and/or modify
' it under the terms of the GNU General Public License as published by
' the Free Software Foundation, either version 3 of the License, or
' (at your option) any later version.
'
' This program is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
' GNU General Public License for more details.
'
' You should have received a copy of the GNU General Public License k
' along with this program. If not, see <http://www.gnu.org/licenses/>.

Imports instat.Translations
Public Class dlgImportGriddedData
Private bFirstLoad As Boolean = True
Private bReset As Boolean = True

Private Sub dlgImportGriddedData_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If bFirstLoad Then
InitialiseDialog()
bFirstLoad = False
End If

If bReset Then
SetDefaults()
End If
SetRCodeForControls(bReset)
bReset = False
autoTranslate(Me)
TestOkEnabled()
End Sub
Private Sub SetRCodeForControls(bReset As Boolean)

End Sub

Private Sub InitialiseDialog()

End Sub
Private Sub SetDefaults()

End Sub

Private Sub TestOkEnabled()

End Sub

Private Sub ucrBase_ClickReset(sender As Object, e As EventArgs) Handles ucrBase.ClickReset
SetDefaults()
SetRCodeForControls(True)
TestOkEnabled()
End Sub
End Class
4 changes: 2 additions & 2 deletions instat/frmEditor.vb
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Public Class frmEditor
Private Sub frmEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FreezeToHereToolStripMenuItem.Enabled = False
UnfreezeToolStripMenuItem.Enabled = False
frmMain.clsGrids.SetData(grdData)
'frmMain.clsGrids.SetData(grdData)
grdData.Visible = False
autoTranslate(Me)
'Disable Autoformat cell
Expand Down Expand Up @@ -587,7 +587,7 @@ Public Class frmEditor
End Sub

Private Sub frmEditor_VisibleChanged(sender As Object, e As EventArgs) Handles Me.VisibleChanged
frmMain.mnuViewDataView.Checked = Me.Visible
'frmMain.mnuViewDataView.Checked = Me.Visible
End Sub

Private Sub clearColumnFilterToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles clearColumnFilterToolStripMenuItem.Click
Expand Down
Loading

0 comments on commit d72c350

Please sign in to comment.