Skip to content

Commit 56d1477

Browse files
committed
dotspatial migration update per recent file and handling of project data
1 parent 561657c commit 56d1477

19 files changed

Lines changed: 202 additions & 36 deletions

BASINS/atcBasinsPlugIn.vb

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,7 @@ Public Class atcBasinsPlugIn
404404
End If
405405
ElseIf aItemName.StartsWith(ProjectsMenuName & "_") Then
406406
#If GISProvider = "DotSpatial" Then
407+
aHandled = UserOpenProject(aItemName)
407408
#Else
408409
aHandled = UserOpenProject(g_Menus(aItemName).Text)
409410
#End If
@@ -790,6 +791,29 @@ FoundDir:
790791
End Sub
791792

792793
#If GISProvider = "DotSpatial" Then
794+
Public Sub ProjectLoadingDS(sender As Object, evt As SerializingEventArgs)
795+
Dim lSettingsString As String = ""
796+
Dim lProjectFile As String = sender.CurrentProjectFile
797+
If lProjectFile.EndsWith("mwprj") Then
798+
Dim lxmlDoc As New Xml.XmlDocument()
799+
lxmlDoc.Load(lProjectFile)
800+
Dim nodes As Xml.XmlNodeList = lxmlDoc.DocumentElement.SelectNodes("/Mapwin/MapWindow4/Plugins")
801+
For Each node As Xml.XmlNode In nodes(0).ChildNodes
802+
If node IsNot Nothing Then
803+
lSettingsString = node.Attributes(0).InnerText
804+
If lSettingsString.StartsWith("<BASINS><DataManager>") Then
805+
Exit For
806+
End If
807+
End If
808+
Next
809+
ElseIf lProjectFile.EndsWith("dspx") Then
810+
lSettingsString = sender.GetCustomSetting("ProjectData", "")
811+
End If
812+
If Not String.IsNullOrEmpty(lSettingsString) Then
813+
ProjectLoading(lProjectFile, lSettingsString)
814+
End If
815+
End Sub
816+
793817
Public Sub ProjectLoading(ByVal aProjectFile As String, ByVal aSettingsString As String)
794818
#Else
795819

@@ -824,6 +848,14 @@ FoundDir:
824848
End Sub
825849

826850
#If GISProvider = "DotSpatial" Then
851+
Public Sub ProjectSavingDS(sender As Object, evt As SerializingEventArgs)
852+
Dim manager As SerializationManager = CType(sender, SerializationManager)
853+
Dim lProjectFile As String = manager.CurrentProjectFile
854+
Dim lSettingsString As String = ""
855+
ProjectSaving(lProjectFile, lSettingsString)
856+
manager.SetCustomSetting("ProjectData", lSettingsString)
857+
End Sub
858+
827859
Public Sub ProjectSaving(ByVal aProjectFile As String, ByRef aSettingsString As String)
828860
#Else
829861
Public Sub ProjectSaving(ByVal aProjectFile As String, ByRef aSettingsString As String) Implements MapWindow.Interfaces.IPlugin.ProjectSaving

BASINS/frmWelcomeScreen.vb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,30 @@ Public Class frmWelcomeScreen
299299
Dim lProjectId As String
300300
Dim lblProject As Label
301301
#If GISProvider = "DotSpatial" Then
302+
Dim recentFiles As New ArrayList()
303+
For Each lfile As String In DotSpatial.Data.Properties.Settings.Default.RecentFiles
304+
If Not String.IsNullOrEmpty(lfile) Then
305+
recentFiles.Add(lfile)
306+
End If
307+
Next
308+
309+
While lRecentCount < 4 And lCurrent < recentFiles.Count
310+
lProjectName = recentFiles(lCurrent)
311+
lProjectId = System.IO.Path.GetFileNameWithoutExtension(lProjectName)
312+
If FileExists(lProjectName) AndAlso LCase(lProjectId) <> "national" Then
313+
Select Case lRecentCount
314+
Case 0 : lblProject = lblProject1
315+
Case 1 : lblProject = lblProject2
316+
Case 2 : lblProject = lblProject3
317+
Case Else : lblProject = lblProject4
318+
End Select
319+
lblProject.Text = lProjectId
320+
lblProject.Tag = lProjectName
321+
lblProject.Visible = True
322+
lRecentCount += 1
323+
End If
324+
lCurrent += 1
325+
End While
302326
#Else
303327
While lRecentCount < 4 And lCurrent < lProject.RecentProjects.Count
304328
lProjectName = CType(lProject.RecentProjects(lCurrent), String)

BASINS/modBasinsPlugin.vb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ Public Module modBasinsPlugin
331331
Dim lHaveCatLayer As Boolean = False
332332
Dim lHaveStateLayer As Boolean = False
333333
#If GISProvider = "DotSpatial" Then
334-
For Each lLayer As IMapFeatureLayer In g_MapWin.Map.GetLayers()
334+
For Each lLayer As IMapFeatureLayer In g_MapWin.Map.MapFrame().GetAllFeatureLayers()
335335
#Else
336336
For Each lLayer As MapWindow.Interfaces.Layer In g_MapWin.Layers
337337
#End If

BASINS/modDownloadDS.vb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1970,7 +1970,8 @@ StartOver:
19701970
ClearLayers()
19711971
AddAllShapesInDir(aNewDataDir, aNewDataDir)
19721972
'g_MapWin.PreviewMap.GetPictureFromMap()
1973-
g_Project.SaveProject(aProjectFileName)
1973+
Dim lProjectFileName As String = IO.Path.ChangeExtension(aProjectFileName, "dspx")
1974+
g_Project.SaveProject(lProjectFileName)
19741975
Else
19751976
lHUC8BoundaryOnly = False
19761977
End If

atcData/atcData-DSC.vbproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<BaseAddress>285212672</BaseAddress>
5959
<ConfigurationOverrideFile>
6060
</ConfigurationOverrideFile>
61-
<DefineConstants>GISProvider="DotSpatial"</DefineConstants>
61+
<DefineConstants>GISProvider="DotSpatial",Toolbox="Hydro"</DefineConstants>
6262
<DefineDebug>true</DefineDebug>
6363
<DefineTrace>true</DefineTrace>
6464
<DebugSymbols>true</DebugSymbols>

atcData/atcDataManagerDS.vb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Imports DotSpatial.Controls
1212
Public Class atcDataManager
1313
#If GISProvider = "DotSpatial" Then
1414
Public Shared DataPlugins As New Generic.List(Of atcDataPlugin)
15+
Public Shared UserSelectDataOptions As New atcDataAttributes
1516
Private Shared pMapWin As AppManager
1617
''' <summary>Pointer to the root interface for MapWindow 4</summary>
1718
<CLSCompliant(False)>
@@ -620,6 +621,14 @@ Public Class atcDataManager
620621

621622
'Try automatically selecting data based on what is selected on the map
622623
#If GISProvider = "DotSpatial" Then
624+
Dim lAllowFilterOptionKey As String = "ShowFilterOption"
625+
Dim lAllowFilterOption As Boolean = UserSelectDataOptions.GetValue(lAllowFilterOptionKey, True)
626+
If lAllowFilterOption Then
627+
lForm.chkFilter.Visible = True
628+
Else
629+
lForm.chkFilter.Visible = False
630+
End If
631+
UserSelectDataOptions.RemoveByKey(lAllowFilterOptionKey)
623632
#Else
624633
If aSelected Is Nothing Then
625634
aSelected = DatasetsAtMapSelectedLocations()
@@ -746,10 +755,7 @@ Public Class atcDataManager
746755
Logger.Msg("No data source type found for '" & lSpecification & "'", "Data type not specified")
747756
Else
748757
Dim lNewDataSource As atcTimeseriesSource = Nothing
749-
#If GISProvider = "DotSpatial" Then
750-
#Else
751758
lNewDataSource = DataSourceByName(lDataSourceType)
752-
#End If
753759
If lNewDataSource Is Nothing Then
754760
Logger.Msg("Unable to open data source of type '" & lDataSourceType & "'", "Data type not found")
755761
ElseIf lNewDataSource.Category = "File" Then

atcData/frmFilterData.Designer.vb

Lines changed: 15 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

atcData/frmFilterData.resx

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,52 @@
112112
<value>2.0</value>
113113
</resheader>
114114
<resheader name="reader">
115-
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
115+
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116116
</resheader>
117117
<resheader name="writer">
118-
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
118+
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119119
</resheader>
120+
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
121+
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
122+
<value>
123+
AAABAAEAICAAAQAAAACoCAAAFgAAACgAAAAgAAAAQAAAAAEACAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA
124+
AAD///8AAP//AP/MzADMzMwAzMyZAMyZmQCZmZkAAJmZADMzmQDMmWYAmZlmAMxmZgCZZmYAZmZmADMz
125+
ZgDMZjMAmWYzAGZmMwCZMzMAZjMzADMzMwCZMwAA/wAAAAAAiAAAiAAA7u7uAN3d3QC7u7sAqqqqAIiI
126+
iAB3d3cAVVVVAERERAAiIiIAERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
127+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
128+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
129+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
130+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
131+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
132+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
133+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
134+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
135+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
136+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
137+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
138+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
139+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
140+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
141+
AAAAAAAABgMGBgMGBgMGBgMGBgMGBgMGBgYGBgYGHQMGBgYICB0GAwMGAwYGAwYGAwMGAwMGAwYGAwYG
142+
Bh0HBwcYGBgYGAMDAwMBAwMBAwMBAwMBAwYDAQMGCBgYGBgYGBgYGBgYBgMDBgMGBgYHIQcHBwgHCAYH
143+
IRgYGBgYGBgYGBgYHRUGAwYhIyEhGBgYIxgYGBgYGBgYGBgYGBgYGBgYGBUVFQMBAyEjIyMjIyMjGBgY
144+
GBgYGBgYGBgYGBgYGBUVFRUVHR0dIyMjIyMjIyMYGBgYGBgYGBgYGBgYHRUVFRUVGBgjIyMjIyMjIyMj
145+
IxgYGBgYGBgYGBgYHRUVFRUdGBgYGCMjIyMjIyMjIxgYGBgYGBgYGBgYGBUVFRUdGBgYGBgYIyMjIyMj
146+
IyMjGBgYGBgYGBgdFRUVFRUYGBgYGBgYGBgjIyMjGBgjIxgYGBgYGB0VFRUVFRgYGBgYGBgYGBgYGCMj
147+
IxgYGCMjIxgdHRUVFRUVFRgYGBgYGBgYGBgYGBgYIyMjGBgYIyEdFRUVFR0VFRUYGBgYGBgYGBgYGBgY
148+
GBgjIyEVFRUjHRUVHRgYGBUVGBgYGBgYGCMjIyMjIyMjGCMjFRUVFSEYGBgYGBgVFR0YGBgYGBgYIyMj
149+
IyMjIyMjIyMVFRgYGBgYGBgYGBUVIRgYGBgYGBgjIyMjIyMjIyMjGBgYGBgYGBgYGBgYFRUYGBgYGCMj
150+
IyMjIyMjIyMjIyMYGBgYGBgYGBgYGBgVFRgYGBgYIyMjIyMjIyMjIyMjIxgYGBgYGBgYGBgYGBUWGBgY
151+
GBgjIyMjIyMjIyMjIyMjIwcHBgcHGBgYGBgYGBUYGBgYGCMjIyMjIyMjIyMjIxgYGBgHAwEBAQEHGBgY
152+
FR0YGBgYIyMjIyMjIyMjIyMjBwcYGBgYBwMBAQADGBgYHRgYGBgjIyMjIyMjIyMjIyMBAQEBAwcYGBgH
153+
AQEBBxgYGBgYGCEOIyMjIyMjIyMjIwcHAwEBAQEHGBgYAwEBARgYGBgYIyMjIyMjIyMjIyMjGBgYGAcB
154+
AQADGBgYBwABBxgYGBgjIyMjIyMjIyMjIyMGBwcYGBgHAQEBGBgYBgEBBxgYGCEOIyMOIyMjIyMjIwEB
155+
AQEHGBgYAQEBBxgYAQEBGBgYIyMjIyMjIyMjIyMjGAcBAQEDGBgYAQEDGBgDAQEYGBghDiMjIyMjIyMj
156+
IyMjGBgGAAEHGBgGAAEYGAYBABgYGCMjIyMjIyMjIyMjIxcjGBgdAQYYGAYBARgYBgEBGBgYGBgYIwYh
157+
IyMjIyMjFyMYGBgDARgYBgEHGBgBAxgYGBgYGBgjIyMjIyMjIyEXFxgYGAYdGBgDBxgYBxgYGBgYGBgY
158+
GBgYGBgYIyMjDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
159+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
160+
AAAAAAAAAAAAAAAAAAAAAAAA
161+
</value>
162+
</data>
120163
</root>

atcData/frmFilterData.vb

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,11 @@ Public Class frmFilterData
490490
For Each typ As Type In atcData.atcSeasonBase.AllSeasonTypes
491491
Dim SeasonTypeLabel As String = atcSeasonBase.SeasonClassNameToLabel(typ.Name)
492492
If SeasonTypeLabel <> "Year Subset" Then
493+
#If Toolbox = "Hydro" Then
494+
If SeasonTypeLabel = "Traditional" Then
495+
SeasonTypeLabel = "Seasons"
496+
End If
497+
#End If
493498
cboSeasons.Items.Add(SeasonTypeLabel)
494499
End If
495500
Next
@@ -567,8 +572,14 @@ Public Class frmFilterData
567572
End Sub
568573

569574
Private Function CurrentSeason() As Type
575+
Dim lSeasonTypeLabel As String = cboSeasons.Text
576+
#If Toolbox = "Hydro" Then
577+
If lSeasonTypeLabel = "Seasons" Then
578+
lSeasonTypeLabel = "Traditional"
579+
End If
580+
#End If
570581
For Each typ As Type In atcData.atcSeasonBase.AllSeasonTypes
571-
If atcSeasonBase.SeasonClassNameToLabel(typ.Name) = cboSeasons.Text Then
582+
If atcSeasonBase.SeasonClassNameToLabel(typ.Name) = lSeasonTypeLabel Then
572583
Return typ
573584
End If
574585
Next

0 commit comments

Comments
 (0)