Files
OrganLit/frmAddAlternateHymnTuneName.vb
2026-04-21 16:35:57 -05:00

66 lines
2.8 KiB
VB.net

Imports System.ComponentModel
Imports System.Windows.Forms
Public Class frmAddAlternateHymnTuneName
Private m_objCurrentHymnTuneName As clsHymnTuneName
Private m_objAlternateHymnTuneNameChosen As clsHymnTuneName
<DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)>
Public Property CurrentHymnTuneName() As clsHymnTuneName
Get
Return m_objCurrentHymnTuneName
End Get
Set(ByVal Value As clsHymnTuneName)
m_objCurrentHymnTuneName = Value
End Set
End Property
Public ReadOnly Property AlternateHymnTuneNameChosen() As clsHymnTuneName
Get
Return m_objAlternateHymnTuneNameChosen
End Get
End Property
Public Sub LoadGUI(ByVal objCurrentHymnTuneName As clsHymnTuneName)
CurrentHymnTuneName = objCurrentHymnTuneName
lblAlternateHymnTuneName.Text = "Select Alternate Hymn Tune Name for: " + objCurrentHymnTuneName.HymnTuneName
Dim objHymnTuneNames As System.Collections.Generic.List(Of clsHymnTuneName) = clsHymnTuneName.GetAllHymnTuneNames()
Dim objHymnTuneName As clsHymnTuneName
For Each objHymnTuneName In objHymnTuneNames
If objHymnTuneName.HymnTuneName = objCurrentHymnTuneName.HymnTuneName Then
'Do not load this one - it is the one we are comparing to
Else
If objHymnTuneName.OtherHymnTuneNamesForTune.ContainsKey(objHymnTuneName.HymnTuneName) Then
'Do not load this one - it already matches
Else
lstAlternateHymnTuneNames.Items.Add(objHymnTuneName)
End If
End If
Next
m_objAlternateHymnTuneNameChosen = Nothing
End Sub
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
If lstAlternateHymnTuneNames.SelectedItems.Count = 0 Then
MessageBox.Show("Must select an alternate hymn tune name")
Me.DialogResult = System.Windows.Forms.DialogResult.None
Exit Sub
End If
m_objAlternateHymnTuneNameChosen = CType(lstAlternateHymnTuneNames.SelectedItem, clsHymnTuneName)
'This button will close the form with Dialog Result OK
End Sub
Public Shared Function GetAlternateHymnTuneNameChosen(ByVal objCurrentHymnTuneName As clsHymnTuneName) As clsHymnTuneName
Dim objFrmAddAlternateHymnTuneName As New frmAddAlternateHymnTuneName
objFrmAddAlternateHymnTuneName.LoadGUI(objCurrentHymnTuneName)
objFrmAddAlternateHymnTuneName.ShowDialog()
Dim lobjReturnValue As clsHymnTuneName = objFrmAddAlternateHymnTuneName.AlternateHymnTuneNameChosen
objFrmAddAlternateHymnTuneName.Dispose()
Return lobjReturnValue
End Function
End Class