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(leftImageUrl) { CssClass = "left" }; leftImage.Style.Add("margin-left", -leftImageWidth + "px"); var rightImage = new EwfImage(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 WebControl getIconButton() { var parent = new HtmlGenericControl("span"); parent.Attributes["class"] = "fa-stack datetimepickerIcon"; var iconCal = new LiteralControl { Text = @"<i class=""{0}""></i>".FormatWith("fa fa-calendar-o fa-stack-2x") }; var iconTime = new LiteralControl { Text = @"<i class=""{0}"" style=""{1}""></i>".FormatWith("fa fa-clock-o fa-stack-1x", "position:relative; top: .20em") }; parent.AddControlsReturnThis(iconCal, iconTime); var style = new CustomActionControlStyle(control => control.AddControlsReturnThis(parent)); return(new CustomButton(() => "$( '#{0}' ).datetimepicker( 'show' )".FormatWith(textBox.TextBoxClientId)) { ActionControlStyle = style, CssClass = "icon" }); }