PageRenderTime 42ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/Source Code/PowerSong/Item Management/frmSetBackground.vb

#
Visual Basic | 101 lines | 68 code | 32 blank | 1 comment | 0 complexity | 2017de4f3f538d4f494d10834a70dd71 MD5 | raw file
  1. Imports System.Windows.Forms
  2. Imports PowerSong.SongDatabase
  3. Imports PowerSong.SongDatabase.Style
  4. Imports PowerSong.SongDatabase.Items
  5. Public Class frmSetBackground
  6. Private FBackground As OverrideBackground = Nothing
  7. Public ReadOnly Property Background() As OverrideBackground
  8. Get
  9. UpdateBackground()
  10. Return FBackground
  11. End Get
  12. End Property
  13. Public Sub New(Optional ByVal currentBackground As OverrideBackground = Nothing)
  14. InitializeComponent()
  15. If currentBackground IsNot Nothing Then
  16. Select Case currentBackground.Type
  17. Case EBackgroundType.Image
  18. txtBackgroundImage.Text = currentBackground.Value
  19. optImage.Checked = True
  20. Case EBackgroundType.None
  21. optDefault.Checked = True
  22. Case EBackgroundType.SolidColour
  23. pbSolidColour.BackColor = currentBackground.Value
  24. optSolidColour.Checked = True
  25. Case Else
  26. ' Everything else is ignored because we can't handle anything else
  27. End Select
  28. End If
  29. End Sub
  30. Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
  31. Me.DialogResult = System.Windows.Forms.DialogResult.OK
  32. Me.Close()
  33. End Sub
  34. Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
  35. Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
  36. Me.Close()
  37. End Sub
  38. Private Sub btnSelectImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelectImage.Click
  39. If dlgOpenImage.ShowDialog = Windows.Forms.DialogResult.OK Then
  40. txtBackgroundImage.Text = dlgOpenImage.FileName
  41. optImage.Checked = True
  42. End If
  43. End Sub
  44. Private Sub btnSelectSolidColour_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelectSolidColour.Click, pbSolidColour.Click
  45. If optSolidColour.Checked = False Then
  46. optSolidColour.Checked = True
  47. End If
  48. dlgSelectColour.Color = pbSolidColour.BackColor
  49. If dlgSelectColour.ShowDialog = Windows.Forms.DialogResult.OK Then
  50. pbSolidColour.BackColor = dlgSelectColour.Color
  51. End If
  52. End Sub
  53. Private Sub UpdateBackground()
  54. If optDefault.Checked Then
  55. FBackground = Nothing
  56. Else
  57. If optSolidColour.Checked Then
  58. FBackground = New OverrideBackground(EBackgroundType.SolidColour, pbSolidColour.BackColor)
  59. ElseIf optImage.Checked Then
  60. FBackground = New OverrideBackground(EBackgroundType.Image, txtBackgroundImage.Text)
  61. End If
  62. End If
  63. End Sub
  64. Private Sub optImage_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optImage.CheckedChanged
  65. If optImage.Checked AndAlso txtBackgroundImage.Text = "" Then
  66. btnSelectImage_Click(sender, e)
  67. End If
  68. End Sub
  69. End Class