WebControl ActionControlStyle.SetUpControl( WebControl control, string defaultText, Unit width, Unit height, Action<Unit> widthSetter )
        {
            widthSetter( width );
            control.CssClass = control.CssClass.ConcatenateWithSpace( "ewfBlockContainer " + CssElementCreator.AllStylesClass + " " + CssElementCreator.BoxStyleClass );

            var span = new HtmlGenericControl( "span" );
            span.Attributes.Add( "class", CssElementCreator.BoxStyleSideAndBackgroundImageBoxClass );
            span.Style.Add( "margin-left", leftImageWidth.Value + "px" );
            span.Style.Add( "margin-right", rightImageWidth.Value + "px" );
            span.Style.Add( "background-image", control.GetClientUrl( backgroundImageUrl ) );

            var leftImage = new EwfImage( new ExternalResourceInfo( leftImageUrl ) ) { CssClass = "left" };
            leftImage.Style.Add( "margin-left", -leftImageWidth + "px" );

            var rightImage = new EwfImage( new ExternalResourceInfo( rightImageUrl ) ) { CssClass = "right" };
            rightImage.Style.Add( "margin-right", -rightImageWidth + "px" );

            var label = new Label { Text = Text.Length > 0 ? Text : defaultText, CssClass = CssElementCreator.BoxStyleTextClass };
            label.Style.Add( "line-height", imageHeight + "px" );

            control.Controls.Add( span.AddControlsReturnThis( leftImage, rightImage, label ) );
            return label;
        }
 private string getClientUrl( WebControl control, ResourceInfo imageInfo )
 {
     return control.GetClientUrl( imageInfo.GetUrl( true, true, false ) );
 }