Imports VBTrain.GraphicalObjects.WebGraphicalText

 

Public Class WebGTextDemoPage1

      Inherits MasterPage

     

'Web Form Designer Generated Code here

 

#Region "Event Handlers"

 

      Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

            If Not Me.IsPostBack Then

                  If Not Me.InitDone Then

                        Call UpdatePropsFromWgt()

                  End If

                  Call UpdateDemoWgt(demoGraphicalText)

                  Call InitCombos()

            End If

      End Sub

 

      Private Sub UpdateBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpdateBtn.Click

            Dim enumString As String

            Dim obj As Object

 

            With demoGraphicalText

                  .Text = TextTextBox.Text

                  .Font_ToUse = GetFontFromString(FontDropDown.SelectedItem.ToString)

                  enumString = EffectDropDown.SelectedItem.ToString

                  obj = System.Enum.Parse(GetType(BrushTypeEnum), enumString)

                  .Effect = CType(obj, BrushTypeEnum)

                  .Color1 = Color.FromName(Color1DropDown.SelectedItem.ToString)

                  .Color2 = Color.FromName(Color2DropDown.SelectedItem.ToString)

                  .BackgroundColor = Color.FromName(BackgroundColorDropDown.SelectedItem.ToString)

                  .RotationAngle = CSng(RotationAngleDropDown.SelectedItem.ToString)

                  enumString = SizingDropDown.SelectedItem.ToString

                  obj = System.Enum.Parse(GetType(SizingEnum), enumString)

                  .Sizing = CType(obj, SizingEnum)

 

                  ' update master page props

                  Me.DemoFont_ToUse = .Font_ToUse

                  Me.DemoText = .Text

                  Me.DemoColor1 = .Color1

                  Me.DemoColor2 = .Color2

                  Me.DemoEffect = .Effect

                  Me.DemoSizing = .Sizing

                  Me.DemoRotationAngle = .RotationAngle

                  Me.DemoBackgroundColor = .BackgroundColor

            End With

            Server.Transfer("WebGTextDemoPage1.aspx")         ' This is required so the streaming.aspx form reloads.

      End Sub

 

#End Region

 

#Region "Implementation Methods"

 

      Private Sub InitCombos()

 

            Dim f As Font = demoGraphicalText.Font_ToUse

            Dim fName As String = f.Name

 

            If fName = "Microsoft Sans Serif" Then

                  fName = "MS Sans Serif"

            End If

            Dim fontChoiceStr As String = String.Concat(fName, ", ", f.Size, ", ", f.Style)

            FontDropDown.SelectedIndex = FontDropDown.Items.IndexOf(New ListItem(fontChoiceStr))

            TextTextBox.Text = demoGraphicalText.Text

            EffectDropDown.SelectedIndex = EffectDropDown.Items.IndexOf(New ListItem(demoGraphicalText.Effect.ToString))

            Color1DropDown.SelectedIndex = Color1DropDown.Items.IndexOf(New ListItem(GetColorStringFromColor(demoGraphicalText.Color1)))

            Color2DropDown.SelectedIndex = Color2DropDown.Items.IndexOf(New ListItem(GetColorStringFromColor(demoGraphicalText.Color2)))

            SizingDropDown.SelectedIndex = SizingDropDown.Items.IndexOf(New ListItem(demoGraphicalText.Sizing.ToString))

            RotationAngleDropDown.SelectedIndex = RotationAngleDropDown.Items.IndexOf(New ListItem(demoGraphicalText.RotationAngle.ToString))

            BackgroundColorDropDown.SelectedIndex = BackgroundColorDropDown.Items.IndexOf(New ListItem(GetColorStringFromColor(demoGraphicalText.BackgroundColor)))

      End Sub

 

      Private Function GetColorStringFromColor(ByVal inputColor As Color) As String

 

            Dim colorStr As String

 

            Select Case inputColor.ToArgb

                  Case Color.Blue.ToArgb

                        colorStr = "Blue"

                  Case Color.Yellow.ToArgb

                        colorStr = "Yellow"

                  Case Color.Orange.ToArgb

                        colorStr = "Orange"

                  Case Color.Green.ToArgb

                        colorStr = "Green"

                  Case Color.Red.ToArgb

                        colorStr = "Red"

                  Case Else

                        colorStr = "White"

            End Select

 

            Return colorStr

      End Function

 

      Protected Sub UpdatePropsFromWgt()

            With demoGraphicalText

                  Me.DemoFont_ToUse = .Font_ToUse

                  Me.DemoText = .Text

                  Me.DemoEffect = .Effect

                  Me.DemoColor1 = .Color1

                  Me.DemoColor2 = .Color2

                  Me.DemoSizing = .Sizing

                  Me.DemoBackgroundColor = .BackgroundColor

                  Me.DemoRotationAngle = .RotationAngle

            End With

            Me.InitDone = True

      End Sub

 

#End Region

 

#Region "Properties"

 

      Protected Property InitDone() As Boolean

            Get

                  Return CBool(Session("InitDone"))

            End Get

            Set(ByVal Value As Boolean)

                  Session("InitDone") = Value.ToString

            End Set

      End Property

 

#End Region

 

End Class