/Source Code/PowerSong/Item Management/frmVerse.vb
Visual Basic | 91 lines | 67 code | 20 blank | 4 comment | 1 complexity | e488b92b316871dc50eef60fef75767e MD5 | raw file
- Imports System.Windows.Forms
- Imports PowerSong.SongDatabase
- Imports PowerSong.SongDatabase.Items
-
- Public Class frmVerse
-
- Private FItem As BaseItem = Nothing
-
- Public ReadOnly Property Item() As BaseItem
- Get
- Return FItem
- End Get
- End Property
-
- Private FPart As Integer = -1
-
- Public ReadOnly Property Part() As Integer
- Get
- Return FPart
- End Get
- End Property
-
- Private Enum EMode
- Add
- Edit
- End Enum
-
- Private FMode As EMode
-
- Public Sub New(ByVal item As BaseItem)
- InitializeComponent()
- FItem = item
- FPart = -1
- txtSongName.Text = item.Title
- FMode = EMode.Add
- Text = "Add Verse"
- End Sub
-
- Public Sub New(ByVal item As BaseItem, ByVal part As Integer)
- InitializeComponent()
- FItem = item
- FPart = part
- txtSongName.Text = item.Title
- txtVerse.Text = item.Parts(part)
- FMode = EMode.Edit
- Text = "Edit Verse"
- End Sub
-
- Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
-
- ' Compose a usable verse
- Dim Text As String = ComposeUsableVerse()
-
- ' Exit if no text specified
- If Text = "" Then
- MsgBox("Please specify some words for the verse.", MsgBoxStyle.Information)
- Exit Sub
- End If
-
- ' Save the verse
- Select Case FMode
- Case EMode.Add : FItem.Parts.Add(Text)
- Case EMode.Edit : FItem.Parts(FPart) = Text
- End Select
-
- ' Close the form
- Me.DialogResult = System.Windows.Forms.DialogResult.OK
- Me.Close()
-
- End Sub
-
- Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
- Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
- Me.Close()
- End Sub
-
- Private Function ComposeUsableVerse() As String
-
- Dim Text As String = ""
- For I As Integer = 0 To txtVerse.Lines.Length - 1
- Dim NextLine As String = txtVerse.Lines(I).Trim
- If NextLine <> "" AndAlso NextLine <> Environment.NewLine Then
- Text += NextLine
- If I < txtVerse.Lines.Length - 1 Then Text += Environment.NewLine
- End If
- Next
- Return Text
-
- End Function
-
- End Class