'**********************************************************************************
' $Archive:  $ 
' $Author:  $ 
' $Date:  $  $Revision:  $
'  Description : Exemple de développement d'un CustomWebControl basé sur un Exemple d'Entête
'               de Page que l'on placera simplement dans la page ASPX
'               
' *********************************************************************************

Imports System.ComponentModel
Imports System.Web.UI

''' -----------------------------------------------------------------------------
''' Project	 : DotNetSysInfo
''' Class	 : FabWebControl
''' 
''' -----------------------------------------------------------------------------
''' <summary>
''' Exemple de développement d'un CustomWebControl basé sur un Exemple d'Entête
''' de Page que l'on placera simplement dans la page ASPX
''' </summary>
''' <remarks>
''' </remarks>
''' <history>
''' 	[moi]	04/08/2004	Created
''' </history>
''' -----------------------------------------------------------------------------
<DefaultProperty("TitreEntete"), ToolboxData("<{0}:FabWebControl runat=server></{0}:FabWebControl>")> Public Class FabWebControl
    Inherits System.Web.UI.WebControls.WebControl

    Dim _TitreEntete As String = ""
    Dim _SousTitreEntete As String = ""
    Dim _CommentaireTitreEntete As String = ""
    Dim _URLImageEntete As String = ""

#Region "Propriétés du WebControl"

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' Titre de l'entete que l'on utilisera dans la page
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[moi]	04/08/2004	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    <Bindable(True), Category("Appearance"), DefaultValue("")> Property [TitreEntete]() As String
        Get
            Return _TitreEntete
        End Get

        Set(ByVal Value As String)
            _TitreEntete = Value
        End Set
    End Property

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' SousTitre de l'entete que l'on utilisera dans la page
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[moi]	04/08/2004	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    <Bindable(True), Category("Appearance"), DefaultValue("")> Property [SousTitreEntete]() As String
        Get
            Return _SousTitreEntete
        End Get

        Set(ByVal Value As String)
            _SousTitreEntete = Value
        End Set
    End Property

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' Commentaire de l'entete que l'on utilisera dans la page
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[moi]	04/08/2004	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    <Bindable(True), Category("Appearance"), DefaultValue("")> Property [CommentaireTitreEntete]() As String
        Get
            Return _CommentaireTitreEntete
        End Get

        Set(ByVal Value As String)
            _CommentaireTitreEntete = Value
        End Set
    End Property

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' URL de l'image qui sera associée à l'entête de la page
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[moi]	04/08/2004	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    <Bindable(True), Category("Appearance"), DefaultValue("")> Property [URLImageEntete]() As String
        Get
            Return _URLImageEntete
        End Get

        Set(ByVal Value As String)
            _URLImageEntete = Value
        End Set
    End Property

    ' -----------------------------------------------------------------------------
#End Region

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' Sortie envoyée par le WebControl lors de son placement dans la page
    ''' </summary>
    ''' <param name="output"></param>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[moi]	04/08/2004	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)

        ' On va déja paramétrer la date courante afin de l'afficher dans l'entête
        Dim c As New System.Globalization.CultureInfo("fr-FR")
        Dim tempdate As String = DateTime.Now.ToString("f", c.DateTimeFormat)

        ' Variable temporaire qui contiendra le flux HTML à renvoyer
        Dim Temp As New System.Text.StringBuilder

        ' Chargement du flux HTML que l'on aura en sortie
        Temp.Append("<TABLE cellSpacing='1' cellPadding='1' width='100%' border='0'>")
        Temp.Append("<TR width='100%'>")
        Temp.Append("<TD>")
        If Not [URLImageEntete] Is Nothing AndAlso [URLImageEntete] <> "" Then
            Temp.Append("<IMG src='" & [URLImageEntete] & "' align='left' Height='62'>")
        End If
        Temp.Append("<FONT SIZE=4><B>")
        Temp.Append([TitreEntete])
        Temp.Append("</B></FONT><BR><FONT SIZE=2><B>")
        Temp.Append([SousTitreEntete])
        Temp.Append("</B></FONT><BR>")
        Temp.Append([_CommentaireTitreEntete])
        Temp.Append("<TD vAlign='top' align='right'>")
        Temp.Append(tempdate)
        Temp.Append("</TD></TR></TABLE><BR><BR>")

        output.Write(Temp.ToString)
    End Sub

    ' -----------------------------------------------------------------------------
End Class
