Initial population
This commit is contained in:
354
frmEditHymnTuneName.vb
Normal file
354
frmEditHymnTuneName.vb
Normal file
@@ -0,0 +1,354 @@
|
||||
Imports System.Windows.Forms
|
||||
|
||||
Public Class frmEditHymnTuneName
|
||||
Inherits BaseEditForm
|
||||
|
||||
Private mobjDetailHymnTuneName As New clsHymnTuneName
|
||||
|
||||
#Region " Windows Form Designer generated code "
|
||||
|
||||
Public Sub New()
|
||||
MyBase.New()
|
||||
|
||||
'This call is required by the Windows Form Designer.
|
||||
InitializeComponent()
|
||||
|
||||
'Add any initialization after the InitializeComponent() call
|
||||
End Sub
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing Then
|
||||
If Not (components Is Nothing) Then
|
||||
components.Dispose()
|
||||
End If
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
End Sub
|
||||
|
||||
'Required by the Windows Form Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
Friend WithEvents lblHymnTuneName As Windows.Forms.Label
|
||||
Friend WithEvents txtHymnTuneName As Windows.Forms.TextBox
|
||||
Friend WithEvents grpAlternateTuneNames As Windows.Forms.GroupBox
|
||||
Friend WithEvents lstAlternateTuneNames As Windows.Forms.ListBox
|
||||
Friend WithEvents btnAddAlternateHymnTuneName As Windows.Forms.Button
|
||||
Friend WithEvents btnRemoveAlternateHymnTuneName As Windows.Forms.Button
|
||||
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
|
||||
Me.lblHymnTuneName = New Windows.Forms.Label
|
||||
Me.txtHymnTuneName = New Windows.Forms.TextBox
|
||||
Me.grpAlternateTuneNames = New Windows.Forms.GroupBox
|
||||
Me.btnRemoveAlternateHymnTuneName = New Windows.Forms.Button
|
||||
Me.btnAddAlternateHymnTuneName = New Windows.Forms.Button
|
||||
Me.lstAlternateTuneNames = New Windows.Forms.ListBox
|
||||
Me.fraAddEdit.SuspendLayout()
|
||||
Me.grpAlternateTuneNames.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'fraAddEdit
|
||||
'
|
||||
Me.fraAddEdit.Controls.Add(Me.grpAlternateTuneNames)
|
||||
Me.fraAddEdit.Controls.Add(Me.txtHymnTuneName)
|
||||
Me.fraAddEdit.Controls.Add(Me.lblHymnTuneName)
|
||||
Me.fraAddEdit.Location = New System.Drawing.Point(8, 300)
|
||||
Me.fraAddEdit.Size = New System.Drawing.Size(1072, 228)
|
||||
Me.fraAddEdit.Controls.SetChildIndex(Me.lblHymnTuneName, 0)
|
||||
Me.fraAddEdit.Controls.SetChildIndex(Me.txtHymnTuneName, 0)
|
||||
Me.fraAddEdit.Controls.SetChildIndex(Me.grpAlternateTuneNames, 0)
|
||||
'
|
||||
'lblHymnTuneName
|
||||
'
|
||||
Me.lblHymnTuneName.Location = New System.Drawing.Point(16, 24)
|
||||
Me.lblHymnTuneName.Name = "lblHymnTuneName"
|
||||
Me.lblHymnTuneName.Size = New System.Drawing.Size(96, 16)
|
||||
Me.lblHymnTuneName.TabIndex = 3
|
||||
Me.lblHymnTuneName.Text = "Hymn Tune Name"
|
||||
'
|
||||
'txtHymnTuneName
|
||||
'
|
||||
Me.txtHymnTuneName.Location = New System.Drawing.Point(112, 24)
|
||||
Me.txtHymnTuneName.Name = "txtHymnTuneName"
|
||||
Me.txtHymnTuneName.Size = New System.Drawing.Size(448, 20)
|
||||
Me.txtHymnTuneName.TabIndex = 4
|
||||
'
|
||||
'grpAlternateTuneNames
|
||||
'
|
||||
Me.grpAlternateTuneNames.Controls.Add(Me.btnRemoveAlternateHymnTuneName)
|
||||
Me.grpAlternateTuneNames.Controls.Add(Me.btnAddAlternateHymnTuneName)
|
||||
Me.grpAlternateTuneNames.Controls.Add(Me.lstAlternateTuneNames)
|
||||
Me.grpAlternateTuneNames.Location = New System.Drawing.Point(8, 48)
|
||||
Me.grpAlternateTuneNames.Name = "grpAlternateTuneNames"
|
||||
Me.grpAlternateTuneNames.Size = New System.Drawing.Size(552, 168)
|
||||
Me.grpAlternateTuneNames.TabIndex = 5
|
||||
Me.grpAlternateTuneNames.TabStop = False
|
||||
Me.grpAlternateTuneNames.Text = "Alternate Tune Names for this Tune"
|
||||
'
|
||||
'btnRemoveAlternateHymnTuneName
|
||||
'
|
||||
Me.btnRemoveAlternateHymnTuneName.Location = New System.Drawing.Point(464, 48)
|
||||
Me.btnRemoveAlternateHymnTuneName.Name = "btnRemoveAlternateHymnTuneName"
|
||||
Me.btnRemoveAlternateHymnTuneName.Size = New System.Drawing.Size(80, 24)
|
||||
Me.btnRemoveAlternateHymnTuneName.TabIndex = 2
|
||||
Me.btnRemoveAlternateHymnTuneName.Text = "Remove"
|
||||
'
|
||||
'btnAddAlternateHymnTuneName
|
||||
'
|
||||
Me.btnAddAlternateHymnTuneName.Location = New System.Drawing.Point(464, 16)
|
||||
Me.btnAddAlternateHymnTuneName.Name = "btnAddAlternateHymnTuneName"
|
||||
Me.btnAddAlternateHymnTuneName.Size = New System.Drawing.Size(80, 24)
|
||||
Me.btnAddAlternateHymnTuneName.TabIndex = 1
|
||||
Me.btnAddAlternateHymnTuneName.Text = "Add..."
|
||||
'
|
||||
'lstAlternateTuneNames
|
||||
'
|
||||
Me.lstAlternateTuneNames.Location = New System.Drawing.Point(8, 16)
|
||||
Me.lstAlternateTuneNames.Name = "lstAlternateTuneNames"
|
||||
Me.lstAlternateTuneNames.Size = New System.Drawing.Size(440, 147)
|
||||
Me.lstAlternateTuneNames.TabIndex = 0
|
||||
'
|
||||
'frmEditHymnTuneName
|
||||
'
|
||||
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
|
||||
Me.ClientSize = New System.Drawing.Size(1088, 534)
|
||||
Me.Name = "frmEditHymnTuneName"
|
||||
Me.StartPosition = Windows.Forms.FormStartPosition.Manual
|
||||
Me.Text = "Edit Hymn Tune Name"
|
||||
Me.fraAddEdit.ResumeLayout(False)
|
||||
Me.fraAddEdit.PerformLayout()
|
||||
Me.grpAlternateTuneNames.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
Protected Overrides Sub LoadExistingItemsList()
|
||||
Dim lobjHymnTuneName As clsHymnTuneName
|
||||
Dim lobjHymnTuneNames As System.Collections.Generic.List(Of clsHymnTuneName)
|
||||
|
||||
SetUpExistingItemsHeaders()
|
||||
|
||||
lobjHymnTuneNames = clsHymnTuneName.GetAllHymnTuneNames
|
||||
|
||||
Me.ExistingItemsListSuspendLayout()
|
||||
|
||||
For Each lobjHymnTuneName In lobjHymnTuneNames
|
||||
Me.ExistingObjectsListItems.Add(ConvertHymnTuneNameToListViewItem(lobjHymnTuneName))
|
||||
Next
|
||||
|
||||
Me.ExistingItemsListResumeLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub SetUpExistingItemsHeaders()
|
||||
Me.ExistingObjectsListColumns.Add("Hymn Tune Name", 800, HorizontalAlignment.Left)
|
||||
'Me.ExistingObjectsListColumns.Add("Column2", 0, HorizontalAlignment.Left)
|
||||
'Me.ExistingObjectsListColumns.Add("Column3", 200, HorizontalAlignment.Left)
|
||||
|
||||
'Set up sorting rules
|
||||
Dim lobjBaseEditFormColumnSortRules(0) As clsGridColumnSortRule
|
||||
lobjBaseEditFormColumnSortRules(0) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortAsString)
|
||||
MyBaseEditFormColumnSortRules = lobjBaseEditFormColumnSortRules
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub InitializeDetailControls()
|
||||
'Load data to detail controls here at form load time
|
||||
txtHymnTuneName.MaxLength = MyGlobals.HYMN_TUNE_NAME_SIZE
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub SetFocusToFirstDetailControlForEdit()
|
||||
txtHymnTuneName.Focus()
|
||||
End Sub
|
||||
|
||||
Protected Overrides Function DetailControlsHaveDifferentDataThanExistingData(ByVal lstvwExistingItem As Windows.Forms.ListViewItem) As Boolean
|
||||
Dim lobjSavedHymnTuneName As clsHymnTuneName
|
||||
Dim lblnReturnValue As Boolean = False
|
||||
|
||||
lobjSavedHymnTuneName = CType(lstvwExistingItem.Tag, clsHymnTuneName)
|
||||
|
||||
mobjDetailHymnTuneName.HymnTuneName = txtHymnTuneName.Text
|
||||
'Alternate tune names should already be in mobjDetailHymnTuneName
|
||||
|
||||
If lobjSavedHymnTuneName.StateIsIdentical(mobjDetailHymnTuneName) Then
|
||||
Return False
|
||||
Else
|
||||
Return True
|
||||
End If
|
||||
End Function
|
||||
|
||||
Protected Overrides Function DetailControlsHaveSignificantData() As Boolean
|
||||
If txtHymnTuneName.Text.Trim.Length > 0 Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Protected Overrides Sub EmptyOutDetailControls()
|
||||
txtHymnTuneName.Text = ""
|
||||
lstAlternateTuneNames.Items.Clear()
|
||||
mobjDetailHymnTuneName = New clsHymnTuneName
|
||||
End Sub
|
||||
|
||||
Protected Overrides Function LoadExistingDataToDetailControls(ByVal lstvwExistingItem As Windows.Forms.ListViewItem) As Boolean
|
||||
Dim lobjHymnTuneName As clsHymnTuneName
|
||||
Dim lblnReturnValue As Boolean = False
|
||||
|
||||
lobjHymnTuneName = CType(lstvwExistingItem.Tag, clsHymnTuneName)
|
||||
lobjHymnTuneName.Refresh()
|
||||
txtHymnTuneName.Text = lobjHymnTuneName.HymnTuneName
|
||||
|
||||
Dim objDictionaryEntry As DictionaryEntry
|
||||
Dim objOtherHymnTuneName As clsHymnTuneName
|
||||
For Each objDictionaryEntry In lobjHymnTuneName.OtherHymnTuneNamesForTune
|
||||
objOtherHymnTuneName = CType(objDictionaryEntry.Value, clsHymnTuneName)
|
||||
lstAlternateTuneNames.Items.Add(objOtherHymnTuneName)
|
||||
Next
|
||||
|
||||
mobjDetailHymnTuneName = CType(lobjHymnTuneName.Clone(), clsHymnTuneName)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Protected Overrides Function ConfirmOKToDeleteExistingItem(ByVal lstvwItemToDelete As Windows.Forms.ListViewItem) As Boolean
|
||||
Dim lobjHymnTuneName As clsHymnTuneName
|
||||
Dim lstrReferencedBy As String = ""
|
||||
|
||||
lobjHymnTuneName = CType(lstvwItemToDelete.Tag, clsHymnTuneName)
|
||||
|
||||
If Not lobjHymnTuneName.OKToDelete(lstrReferencedBy) Then
|
||||
MessageBox.Show("Can't delete hymn tune name: " + lobjHymnTuneName.HymnTuneName + ". Currently used by " + lstrReferencedBy + ".", "Unable to delete", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
Dim ldrDialogResult As DialogResult = MessageBox.Show("Are you sure you want to delete hymn tune name: " + lobjHymnTuneName.HymnTuneName + "?", "Delete confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)
|
||||
If ldrDialogResult = Windows.Forms.DialogResult.No Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Protected Overrides Function DeleteExistingItem(ByVal lstvwItemToDelete As Windows.Forms.ListViewItem) As Boolean
|
||||
Dim lobjHymnTuneName As clsHymnTuneName
|
||||
lobjHymnTuneName = CType(lstvwItemToDelete.Tag, clsHymnTuneName)
|
||||
|
||||
Return lobjHymnTuneName.Delete()
|
||||
End Function
|
||||
|
||||
Protected Overrides Function SaveNewItem() As Boolean
|
||||
Dim lstrErrorString As String = ""
|
||||
|
||||
mobjDetailHymnTuneName.HymnTuneName = txtHymnTuneName.Text
|
||||
'Alternate tune names should already be in mobjDetailHymnTuneName
|
||||
|
||||
If Not mobjDetailHymnTuneName.Validate(lstrErrorString) Then
|
||||
MessageBox.Show(lstrErrorString, "Edit Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
||||
Return False
|
||||
End If
|
||||
|
||||
If Not mobjDetailHymnTuneName.Save() Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
'Refresh to pick up any other alternate hymn tune names that
|
||||
'may have gotten added by adding an entry
|
||||
mobjDetailHymnTuneName.Refresh()
|
||||
|
||||
Me.ExistingObjectsListItems.Add(ConvertHymnTuneNameToListViewItem(mobjDetailHymnTuneName))
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Protected Overrides Sub UserRequestedToExit()
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub EditOrAddStarting()
|
||||
CType(Me.ParentForm, frmMain).DisableMenus()
|
||||
End Sub
|
||||
Protected Overrides Sub EditOrAddCompleted()
|
||||
CType(Me.ParentForm, frmMain).EnableMenus()
|
||||
End Sub
|
||||
|
||||
Private Function ConvertHymnTuneNameToListViewItem(ByVal lobjHymnTuneName As clsHymnTuneName) As ListViewItem
|
||||
Dim lobjItem As ListViewItem
|
||||
lobjItem = New ListViewItem(lobjHymnTuneName.HymnTuneName)
|
||||
'lobjItem.SubItems.Add("Item1Col2")
|
||||
'lobjItem.SubItems.Add("Item1Col3")
|
||||
lobjItem.Tag = lobjHymnTuneName
|
||||
|
||||
Return lobjItem
|
||||
|
||||
End Function
|
||||
|
||||
Protected Overrides Function SaveNewDataForExistingItem(ByVal lstvwExistingItem As Windows.Forms.ListViewItem) As Boolean
|
||||
Dim lstrErrorString As String = ""
|
||||
|
||||
mobjDetailHymnTuneName.HymnTuneName = txtHymnTuneName.Text
|
||||
|
||||
If Not mobjDetailHymnTuneName.Validate(lstrErrorString) Then
|
||||
MessageBox.Show(lstrErrorString, "Edit Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
||||
Return False
|
||||
End If
|
||||
|
||||
If Not mobjDetailHymnTuneName.Save() Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
mobjDetailHymnTuneName.Refresh()
|
||||
|
||||
Me.ExistingObjectsListItems.Remove(lstvwExistingItem)
|
||||
Me.ExistingObjectsListItems.Add(ConvertHymnTuneNameToListViewItem(mobjDetailHymnTuneName))
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Sub txtHymnTuneName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHymnTuneName.TextChanged
|
||||
MyBase.DetailDataHasChanged()
|
||||
End Sub
|
||||
|
||||
Private Sub btnAddAlternateHymnTuneName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddAlternateHymnTuneName.Click
|
||||
If txtHymnTuneName.Text.Trim.Length = 0 Then
|
||||
MessageBox.Show("Cannot add alternate hymn tune name when no hymn tune name has been entered")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim objNewAlternateHymnTuneName As clsHymnTuneName
|
||||
mobjDetailHymnTuneName.HymnTuneName = txtHymnTuneName.Text.Trim
|
||||
objNewAlternateHymnTuneName = frmAddAlternateHymnTuneName.GetAlternateHymnTuneNameChosen(mobjDetailHymnTuneName)
|
||||
If objNewAlternateHymnTuneName Is Nothing Then
|
||||
'User cancelled
|
||||
Else
|
||||
lstAlternateTuneNames.Items.Add(objNewAlternateHymnTuneName)
|
||||
mobjDetailHymnTuneName.AddAlternateHymnTuneName(objNewAlternateHymnTuneName)
|
||||
MyBase.DetailDataHasChanged()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub btnRemoveAlternateHymnTuneName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemoveAlternateHymnTuneName.Click
|
||||
If txtHymnTuneName.Text.Trim.Length = 0 Then
|
||||
MessageBox.Show("Cannot remove alternate hymn tune name when no hymn tune name has been entered")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If lstAlternateTuneNames.SelectedItems.Count = 0 Then
|
||||
MessageBox.Show("Must select an alternate hymn tune name to remove")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim objHymnTuneNameToRemove As clsHymnTuneName
|
||||
objHymnTuneNameToRemove = CType(lstAlternateTuneNames.SelectedItem, clsHymnTuneName)
|
||||
|
||||
mobjDetailHymnTuneName.RemoveAlternateHymnTuneName(objHymnTuneNameToRemove)
|
||||
lstAlternateTuneNames.Items.RemoveAt(lstAlternateTuneNames.SelectedIndex)
|
||||
MyBase.DetailDataHasChanged()
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user