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 ) ); }