Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / PopOutPanel.cs / 1305376 / PopOutPanel.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Drawing; using System.Drawing.Design; using System.Globalization; using System.Web; using System.Web.UI; using System.ComponentModel; ////// Constructs a panel with automatic scrolling /// and relative positioning for use with the Menu control. /// internal sealed class PopOutPanel : Panel { private Menu _owner; private String _scrollerClass; private Style _scrollerStyle; private Style _style; private PopOutPanelStyle _emptyPopOutPanelStyle; public PopOutPanel(Menu owner, Style style) { _owner = owner; _style = style; _emptyPopOutPanelStyle = new PopOutPanelStyle(null); } public override ScrollBars ScrollBars { get { return ScrollBars.None; } } internal String ScrollerClass { get { return _scrollerClass; } set { _scrollerClass = value; } } internal Style ScrollerStyle { get { return _scrollerStyle; } set { _scrollerStyle = value; } } ////// Add positioning custom attributes. /// protected override void AddAttributesToRender(HtmlTextWriter writer) { string oldCssClass = CssClass; Style oldStyle = _style; CssClass = String.Empty; _style = null; ControlStyle.Reset(); base.AddAttributesToRender(writer); CssClass = oldCssClass; _style = oldStyle; // Non-configurable style attributes RenderStyleAttributes(writer); } internal PopOutPanelStyle GetEmptyPopOutPanelStyle() { return _emptyPopOutPanelStyle; } public override void RenderEndTag(HtmlTextWriter writer) { if (!_owner.DesignMode) { RenderScrollerAttributes(writer); writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID + "Up"); writer.AddAttribute("onmouseover", "PopOut_Up(this)"); writer.AddAttribute("onmouseout", "PopOut_Stop(this)"); writer.RenderBeginTag(HtmlTextWriterTag.Div); string scrollUpImageUrl = _owner.ScrollUpImageUrl; if (scrollUpImageUrl.Length != 0) { writer.AddAttribute(HtmlTextWriterAttribute.Src, _owner.ResolveClientUrl(scrollUpImageUrl)); } else { writer.AddAttribute(HtmlTextWriterAttribute.Src, _owner.GetImageUrl(Menu.ScrollUpImageIndex)); } writer.AddAttribute(HtmlTextWriterAttribute.Alt, _owner.ScrollUpText); writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); writer.RenderEndTag(); RenderScrollerAttributes(writer); writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID + "Dn"); writer.AddAttribute("onmouseover", "PopOut_Down(this)"); writer.AddAttribute("onmouseout", "PopOut_Stop(this)"); writer.RenderBeginTag(HtmlTextWriterTag.Div); string scrollDownImageUrl = _owner.ScrollDownImageUrl; if (scrollDownImageUrl.Length != 0) { writer.AddAttribute(HtmlTextWriterAttribute.Src, _owner.ResolveClientUrl(scrollDownImageUrl)); } else { writer.AddAttribute(HtmlTextWriterAttribute.Src, _owner.GetImageUrl(Menu.ScrollDownImageIndex)); } writer.AddAttribute(HtmlTextWriterAttribute.Alt, _owner.ScrollDownText); writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); writer.RenderEndTag(); } base.RenderEndTag(writer); } private void RenderScrollerAttributes(HtmlTextWriter writer) { if ((Page != null) && Page.SupportsStyleSheets) { if (!String.IsNullOrEmpty(ScrollerClass)) { writer.AddAttribute(HtmlTextWriterAttribute.Class, ScrollerClass + ' ' + GetEmptyPopOutPanelStyle().RegisteredCssClass); } else { writer.AddAttribute(HtmlTextWriterAttribute.Class, GetEmptyPopOutPanelStyle().RegisteredCssClass); } } else { if ((ScrollerStyle != null) && !ScrollerStyle.IsEmpty) { ScrollerStyle.AddAttributesToRender(writer); } if (ScrollerStyle.BackColor.IsEmpty) { writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, "white"); } writer.AddStyleAttribute(HtmlTextWriterStyle.Visibility, "hidden"); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.AddStyleAttribute(HtmlTextWriterStyle.Position, "absolute"); writer.AddStyleAttribute(HtmlTextWriterStyle.Left, "0px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Top, "0px"); } writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, "center"); } private void RenderStyleAttributes(HtmlTextWriter writer) { if (_style == null) { if (!String.IsNullOrEmpty(CssClass)) { writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClass); } else { if (BackColor.IsEmpty) { writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, "white"); } else { writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ColorTranslator.ToHtml(BackColor)); } if (!_owner.DesignMode) { writer.AddStyleAttribute(HtmlTextWriterStyle.Visibility, "hidden"); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.AddStyleAttribute(HtmlTextWriterStyle.Position, "absolute"); writer.AddStyleAttribute(HtmlTextWriterStyle.Left, "0px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Top, "0px"); } } } else { if ((Page != null) && Page.SupportsStyleSheets) { string styleClass = _style.RegisteredCssClass; if (styleClass.Trim().Length > 0) { writer.AddAttribute(HtmlTextWriterAttribute.Class, (!String.IsNullOrEmpty(CssClass)) ? styleClass + ' ' + CssClass: styleClass); return; } } if (!String.IsNullOrEmpty(CssClass)) { writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClass); } else { _style.AddAttributesToRender(writer); } } } internal void SetInternalStyle(Style style) { _style = style; } internal sealed class PopOutPanelStyle : SubMenuStyle { private PopOutPanel _owner; public PopOutPanelStyle(PopOutPanel owner) { _owner = owner; } protected override void FillStyleAttributes(CssStyleCollection attributes, IUrlResolutionService urlResolver) { if (BackColor.IsEmpty && ((_owner == null) || _owner.BackColor.IsEmpty)) { attributes.Add(HtmlTextWriterStyle.BackgroundColor, "white"); } attributes.Add(HtmlTextWriterStyle.Visibility, "hidden"); attributes.Add(HtmlTextWriterStyle.Display, "none"); attributes.Add(HtmlTextWriterStyle.Position, "absolute"); attributes.Add(HtmlTextWriterStyle.Left, "0px"); attributes.Add(HtmlTextWriterStyle.Top, "0px"); base.FillStyleAttributes(attributes, urlResolver); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Drawing; using System.Drawing.Design; using System.Globalization; using System.Web; using System.Web.UI; using System.ComponentModel; ////// Constructs a panel with automatic scrolling /// and relative positioning for use with the Menu control. /// internal sealed class PopOutPanel : Panel { private Menu _owner; private String _scrollerClass; private Style _scrollerStyle; private Style _style; private PopOutPanelStyle _emptyPopOutPanelStyle; public PopOutPanel(Menu owner, Style style) { _owner = owner; _style = style; _emptyPopOutPanelStyle = new PopOutPanelStyle(null); } public override ScrollBars ScrollBars { get { return ScrollBars.None; } } internal String ScrollerClass { get { return _scrollerClass; } set { _scrollerClass = value; } } internal Style ScrollerStyle { get { return _scrollerStyle; } set { _scrollerStyle = value; } } ////// Add positioning custom attributes. /// protected override void AddAttributesToRender(HtmlTextWriter writer) { string oldCssClass = CssClass; Style oldStyle = _style; CssClass = String.Empty; _style = null; ControlStyle.Reset(); base.AddAttributesToRender(writer); CssClass = oldCssClass; _style = oldStyle; // Non-configurable style attributes RenderStyleAttributes(writer); } internal PopOutPanelStyle GetEmptyPopOutPanelStyle() { return _emptyPopOutPanelStyle; } public override void RenderEndTag(HtmlTextWriter writer) { if (!_owner.DesignMode) { RenderScrollerAttributes(writer); writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID + "Up"); writer.AddAttribute("onmouseover", "PopOut_Up(this)"); writer.AddAttribute("onmouseout", "PopOut_Stop(this)"); writer.RenderBeginTag(HtmlTextWriterTag.Div); string scrollUpImageUrl = _owner.ScrollUpImageUrl; if (scrollUpImageUrl.Length != 0) { writer.AddAttribute(HtmlTextWriterAttribute.Src, _owner.ResolveClientUrl(scrollUpImageUrl)); } else { writer.AddAttribute(HtmlTextWriterAttribute.Src, _owner.GetImageUrl(Menu.ScrollUpImageIndex)); } writer.AddAttribute(HtmlTextWriterAttribute.Alt, _owner.ScrollUpText); writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); writer.RenderEndTag(); RenderScrollerAttributes(writer); writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID + "Dn"); writer.AddAttribute("onmouseover", "PopOut_Down(this)"); writer.AddAttribute("onmouseout", "PopOut_Stop(this)"); writer.RenderBeginTag(HtmlTextWriterTag.Div); string scrollDownImageUrl = _owner.ScrollDownImageUrl; if (scrollDownImageUrl.Length != 0) { writer.AddAttribute(HtmlTextWriterAttribute.Src, _owner.ResolveClientUrl(scrollDownImageUrl)); } else { writer.AddAttribute(HtmlTextWriterAttribute.Src, _owner.GetImageUrl(Menu.ScrollDownImageIndex)); } writer.AddAttribute(HtmlTextWriterAttribute.Alt, _owner.ScrollDownText); writer.RenderBeginTag(HtmlTextWriterTag.Img); writer.RenderEndTag(); writer.RenderEndTag(); } base.RenderEndTag(writer); } private void RenderScrollerAttributes(HtmlTextWriter writer) { if ((Page != null) && Page.SupportsStyleSheets) { if (!String.IsNullOrEmpty(ScrollerClass)) { writer.AddAttribute(HtmlTextWriterAttribute.Class, ScrollerClass + ' ' + GetEmptyPopOutPanelStyle().RegisteredCssClass); } else { writer.AddAttribute(HtmlTextWriterAttribute.Class, GetEmptyPopOutPanelStyle().RegisteredCssClass); } } else { if ((ScrollerStyle != null) && !ScrollerStyle.IsEmpty) { ScrollerStyle.AddAttributesToRender(writer); } if (ScrollerStyle.BackColor.IsEmpty) { writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, "white"); } writer.AddStyleAttribute(HtmlTextWriterStyle.Visibility, "hidden"); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.AddStyleAttribute(HtmlTextWriterStyle.Position, "absolute"); writer.AddStyleAttribute(HtmlTextWriterStyle.Left, "0px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Top, "0px"); } writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, "center"); } private void RenderStyleAttributes(HtmlTextWriter writer) { if (_style == null) { if (!String.IsNullOrEmpty(CssClass)) { writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClass); } else { if (BackColor.IsEmpty) { writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, "white"); } else { writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, ColorTranslator.ToHtml(BackColor)); } if (!_owner.DesignMode) { writer.AddStyleAttribute(HtmlTextWriterStyle.Visibility, "hidden"); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.AddStyleAttribute(HtmlTextWriterStyle.Position, "absolute"); writer.AddStyleAttribute(HtmlTextWriterStyle.Left, "0px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Top, "0px"); } } } else { if ((Page != null) && Page.SupportsStyleSheets) { string styleClass = _style.RegisteredCssClass; if (styleClass.Trim().Length > 0) { writer.AddAttribute(HtmlTextWriterAttribute.Class, (!String.IsNullOrEmpty(CssClass)) ? styleClass + ' ' + CssClass: styleClass); return; } } if (!String.IsNullOrEmpty(CssClass)) { writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClass); } else { _style.AddAttributesToRender(writer); } } } internal void SetInternalStyle(Style style) { _style = style; } internal sealed class PopOutPanelStyle : SubMenuStyle { private PopOutPanel _owner; public PopOutPanelStyle(PopOutPanel owner) { _owner = owner; } protected override void FillStyleAttributes(CssStyleCollection attributes, IUrlResolutionService urlResolver) { if (BackColor.IsEmpty && ((_owner == null) || _owner.BackColor.IsEmpty)) { attributes.Add(HtmlTextWriterStyle.BackgroundColor, "white"); } attributes.Add(HtmlTextWriterStyle.Visibility, "hidden"); attributes.Add(HtmlTextWriterStyle.Display, "none"); attributes.Add(HtmlTextWriterStyle.Position, "absolute"); attributes.Add(HtmlTextWriterStyle.Left, "0px"); attributes.Add(HtmlTextWriterStyle.Top, "0px"); base.FillStyleAttributes(attributes, urlResolver); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MissingMemberException.cs
- XamlInt32CollectionSerializer.cs
- Deserializer.cs
- TdsEnums.cs
- DataGridViewBand.cs
- WeakEventManager.cs
- ObfuscateAssemblyAttribute.cs
- WebPartZoneCollection.cs
- Base64Encoder.cs
- DataObjectFieldAttribute.cs
- SqlSupersetValidator.cs
- KeyValueInternalCollection.cs
- DocumentXmlWriter.cs
- EventManager.cs
- XmlDictionaryReader.cs
- Span.cs
- PointCollection.cs
- PeerCollaborationPermission.cs
- DependencyPropertyAttribute.cs
- PenThreadPool.cs
- TableMethodGenerator.cs
- TemplateNameScope.cs
- PixelFormat.cs
- Stopwatch.cs
- ImageIndexEditor.cs
- HttpProfileGroupBase.cs
- ItemList.cs
- ToolboxItemCollection.cs
- MoveSizeWinEventHandler.cs
- AnnotationAdorner.cs
- ReadOnlyTernaryTree.cs
- FontSizeConverter.cs
- SymLanguageType.cs
- XamlSerializerUtil.cs
- RegionIterator.cs
- SourceExpressionException.cs
- FtpRequestCacheValidator.cs
- DefaultCommandConverter.cs
- AddInControllerImpl.cs
- TextRunTypographyProperties.cs
- IERequestCache.cs
- ClientUrlResolverWrapper.cs
- ModuleBuilderData.cs
- UpdatePanelControlTrigger.cs
- OutKeywords.cs
- ApplicationTrust.cs
- PackagePart.cs
- TextElementEditingBehaviorAttribute.cs
- Point3DValueSerializer.cs
- ClientSession.cs
- SelectionProcessor.cs
- JulianCalendar.cs
- _SafeNetHandles.cs
- StateMachineSubscription.cs
- ManipulationPivot.cs
- Translator.cs
- ECDiffieHellman.cs
- Label.cs
- TextEditorMouse.cs
- SecurityDocument.cs
- HttpCapabilitiesSectionHandler.cs
- HtmlInputCheckBox.cs
- EventLog.cs
- PictureBoxDesigner.cs
- DBCommandBuilder.cs
- XmlWriter.cs
- SafeRightsManagementHandle.cs
- SpeakInfo.cs
- BitmapInitialize.cs
- PeerTransportListenAddressValidator.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- FixedSOMElement.cs
- EntityDataSourceColumn.cs
- ColumnHeaderConverter.cs
- ExplicitDiscriminatorMap.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- UnmanagedMemoryStreamWrapper.cs
- XmlDataSourceView.cs
- BitmapEncoder.cs
- LeaseManager.cs
- LassoSelectionBehavior.cs
- Vector.cs
- AttachInfo.cs
- VersionValidator.cs
- JsonFormatGeneratorStatics.cs
- View.cs
- DecimalMinMaxAggregationOperator.cs
- DataGridColumnEventArgs.cs
- MessageSecurityException.cs
- EdmRelationshipRoleAttribute.cs
- DecoderFallback.cs
- DataSysAttribute.cs
- EncryptedPackageFilter.cs
- FigureParaClient.cs
- ClientRoleProvider.cs
- DataGridViewRowCancelEventArgs.cs
- ControlCommandSet.cs
- StateBag.cs
- DecoratedNameAttribute.cs
- UDPClient.cs