Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / Panel.cs / 2 / Panel.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Web;
using System.Web.UI;
using System.Collections;
using System.ComponentModel;
using System.Drawing.Design;
using System.Globalization;
using System.Security.Permissions;
///
/// Constructs a panel for specifies layout regions
/// on a page and defines its properties.
///
[
Designer("System.Web.UI.Design.WebControls.PanelContainerDesigner, " + AssemblyRef.SystemDesign),
ParseChildren(false),
PersistChildren(true),
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class Panel : WebControl
#if ORCAS
, IPaginationInfo, IPaginationContainer
#endif
{
#if ORCAS
private int _maximumWeight;
#endif
private string _defaultButton;
private bool _renderedFieldSet = false;
///
/// Initializes a new instance of the class.
///
public Panel()
: base(HtmlTextWriterTag.Div) {
#if ORCAS
_maximumWeight = -1;
#endif
}
#if ORCAS
///
/// [To be supplied.]
///
[
DefaultValue(true),
Themeable(false),
WebCategory("Behavior"),
WebSysDescription(SR.Panel_AllowPaginate)
]
public virtual bool AllowPaginate {
get {
object u = ViewState["AllowPaginate"];
return (u == null) ? true : (bool)u;
}
set {
ViewState["AllowPaginate"] = value;
}
}
#endif
///
/// Gets or sets the URL of the background image for the panel control.
///
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
UrlProperty(),
WebSysDescription(SR.Panel_BackImageUrl)
]
public virtual string BackImageUrl {
get {
if (ControlStyleCreated == false) {
return String.Empty;
}
PanelStyle panelStyle = ControlStyle as PanelStyle;
if (panelStyle != null) {
return panelStyle.BackImageUrl;
}
string s = (string)ViewState["BackImageUrl"];
return((s == null) ? String.Empty : s);
}
set {
PanelStyle panelStyle = ControlStyle as PanelStyle;
if (panelStyle != null) {
panelStyle.BackImageUrl = value;
}
else {
ViewState["BackImageUrl"] = value;
}
}
}
///
/// Gets or sets default button for the panel
///
[
DefaultValue(""),
Themeable(false),
WebCategory("Behavior"),
WebSysDescription(SR.Panel_DefaultButton)
]
public virtual string DefaultButton {
get {
if (_defaultButton == null) {
return String.Empty;
}
return _defaultButton;
}
set {
_defaultButton = value;
}
}
///
/// Gets or sets the direction of text in the panel
///
[
DefaultValue(ContentDirection.NotSet),
WebCategory("Layout"),
WebSysDescription(SR.Panel_Direction)
]
public virtual ContentDirection Direction {
get {
if (ControlStyleCreated == false) {
return ContentDirection.NotSet;
}
PanelStyle panelStyle = ControlStyle as PanelStyle;
if (panelStyle != null) {
return panelStyle.Direction;
}
object direction = ViewState["Direction"];
return direction == null ? ContentDirection.NotSet : (ContentDirection) direction;
}
set {
PanelStyle panelStyle = ControlStyle as PanelStyle;
if (panelStyle != null) {
panelStyle.Direction = value;
}
else {
ViewState["Direction"] = value;
}
}
}
[
Localizable(true),
DefaultValue(""),
WebCategory("Appearance"),
WebSysDescription(SR.Panel_GroupingText)
]
public virtual string GroupingText {
get {
string s = (string)ViewState["GroupingText"];
return (s != null) ? s : String.Empty;
}
set {
ViewState["GroupingText"] = value;
}
}
///
/// Gets or sets the horizontal alignment of the contents within the panel.
///
[
WebCategory("Layout"),
DefaultValue(HorizontalAlign.NotSet),
WebSysDescription(SR.Panel_HorizontalAlign)
]
public virtual HorizontalAlign HorizontalAlign {
get {
if (ControlStyleCreated == false) {
return HorizontalAlign.NotSet;
}
PanelStyle panelStyle = ControlStyle as PanelStyle;
if (panelStyle != null) {
return panelStyle.HorizontalAlign;
}
object o = ViewState["HorizontalAlign"];
return ((o == null) ? HorizontalAlign.NotSet : (HorizontalAlign)o);
}
set {
PanelStyle panelStyle = ControlStyle as PanelStyle;
if (panelStyle != null) {
panelStyle.HorizontalAlign = value;
}
else {
if (value < HorizontalAlign.NotSet || value > HorizontalAlign.Justify) {
throw new ArgumentOutOfRangeException("value");
}
ViewState["HorizontalAlign"] = value;
}
}
}
///
/// Gets or sets the scrollbar behavior of the panel.
///
[
DefaultValue(ScrollBars.None),
WebCategory("Layout"),
WebSysDescription(SR.Panel_ScrollBars)
]
public virtual ScrollBars ScrollBars {
get {
if (ControlStyleCreated == false) {
return ScrollBars.None;
}
PanelStyle panelStyle = ControlStyle as PanelStyle;
if (panelStyle != null) {
return panelStyle.ScrollBars;
}
object scroll = ViewState["ScrollBars"];
return ((scroll == null) ? ScrollBars.None : (ScrollBars)scroll);
}
set {
PanelStyle panelStyle = ControlStyle as PanelStyle;
if (panelStyle != null) {
panelStyle.ScrollBars = value;
}
else {
ViewState["ScrollBars"] = value;
}
}
}
///
/// Gets or sets a value
/// indicating whether the content wraps within the panel.
///
[
WebCategory("Layout"),
DefaultValue(true),
WebSysDescription(SR.Panel_Wrap)
]
public virtual bool Wrap {
get {
if (ControlStyleCreated == false) {
return true;
}
PanelStyle panelStyle = ControlStyle as PanelStyle;
if (panelStyle != null) {
return panelStyle.Wrap;
}
object b = ViewState["Wrap"];
return ((b == null) ? true : (bool)b);
}
set {
PanelStyle panelStyle = ControlStyle as PanelStyle;
if (panelStyle != null) {
panelStyle.Wrap = value;
}
else {
ViewState["Wrap"] = value;
}
}
}
///
///
/// Add background-image to list of style attributes to render.
/// Add align and nowrap to list of attributes to render.
///
protected override void AddAttributesToRender(HtmlTextWriter writer) {
base.AddAttributesToRender(writer);
string s = BackImageUrl;
// Whidbey 12856
if (s.Trim().Length > 0) {
writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundImage, "url(" + ResolveClientUrl(s) + ")");
}
AddScrollingAttribute(ScrollBars, writer);
HorizontalAlign hAlign = HorizontalAlign;
if (hAlign != HorizontalAlign.NotSet) {
TypeConverter hac = TypeDescriptor.GetConverter(typeof(HorizontalAlign));
writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, hac.ConvertToInvariantString(hAlign).ToLowerInvariant());
}
if (!Wrap) {
if (EnableLegacyRendering) {
writer.AddAttribute(HtmlTextWriterAttribute.Nowrap, "nowrap", false);
}
else {
writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap");
}
}
if (Direction == ContentDirection.LeftToRight) {
writer.AddAttribute(HtmlTextWriterAttribute.Dir, "ltr");
}
else if (Direction == ContentDirection.RightToLeft) {
writer.AddAttribute(HtmlTextWriterAttribute.Dir, "rtl");
}
if (!DesignMode &&
(Page != null) &&
(Page.RequestInternal != null) &&
(Page.Request.Browser.EcmaScriptVersion.Major > 0) &&
(Page.Request.Browser.W3CDomVersion.Major > 0)) {
if (DefaultButton.Length > 0) {
Control c = FindControl(DefaultButton);
if (c is IButtonControl) {
Page.ClientScript.RegisterDefaultButtonScript(c, writer, true /* UseAddAttribute */);
}
else {
throw new InvalidOperationException(SR.GetString(SR.HtmlForm_OnlyIButtonControlCanBeDefaultButton, ID));
}
}
}
}
///
/// [To be supplied.]
///
private void AddScrollingAttribute(ScrollBars scrollBars, HtmlTextWriter writer) {
switch (scrollBars) {
case ScrollBars.Horizontal:
writer.AddStyleAttribute(HtmlTextWriterStyle.OverflowX, "scroll");
break;
case ScrollBars.Vertical:
writer.AddStyleAttribute(HtmlTextWriterStyle.OverflowY, "scroll");
break;
case ScrollBars.Both:
writer.AddStyleAttribute(HtmlTextWriterStyle.Overflow, "scroll");
break;
case ScrollBars.Auto:
writer.AddStyleAttribute(HtmlTextWriterStyle.Overflow, "auto");
break;
default:
break;
}
}
///
///
/// A protected method. Creates a panel control style.
///
protected override Style CreateControlStyle() {
return new PanelStyle(ViewState);
}
///
public override void RenderBeginTag(HtmlTextWriter writer) {
AddAttributesToRender(writer);
HtmlTextWriterTag tagKey = TagKey;
if (tagKey != HtmlTextWriterTag.Unknown) {
writer.RenderBeginTag(tagKey);
}
else {
writer.RenderBeginTag(TagName);
}
string s = GroupingText;
bool useGrouping = (s.Length != 0) && !(writer is Html32TextWriter);
if (useGrouping) {
writer.RenderBeginTag(HtmlTextWriterTag.Fieldset);
_renderedFieldSet = true;
writer.RenderBeginTag(HtmlTextWriterTag.Legend);
writer.Write(s);
writer.RenderEndTag();
}
}
public override void RenderEndTag(HtmlTextWriter writer) {
if (_renderedFieldSet) {
writer.RenderEndTag();
}
base.RenderEndTag(writer);
}
#if ORCAS
///
int IPaginationContainer.MaximumWeight {
get {
return MaximumWeight;
}
}
///
protected virtual int MaximumWeight {
get {
if (_maximumWeight != -1) {
return _maximumWeight;
}
if(Context != null) {
_maximumWeight = Int32.Parse(Context.Request.Browser["optimumPageWeight"], CultureInfo.InvariantCulture);
return _maximumWeight;
//
}
else {
return -1;
}
}
}
///
bool IPaginationInfo.PaginateChildren {
get {
return PaginateChildren;
}
}
///
protected virtual bool PaginateChildren {
get {
return AllowPaginate;
}
}
///
int IPaginationInfo.Weight {
get {
return Weight;
}
}
protected virtual int Weight {
get {
return 0;
}
}
#endif
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSchemaObjectTable.cs
- PackUriHelper.cs
- ErrorHandlerModule.cs
- CustomPopupPlacement.cs
- Symbol.cs
- ArrayExtension.cs
- DataGridViewMethods.cs
- PipelineComponent.cs
- ControlBindingsCollection.cs
- ToolStripScrollButton.cs
- PackageDigitalSignatureManager.cs
- QilGenerator.cs
- ContextMenuAutomationPeer.cs
- DSASignatureFormatter.cs
- ConnectionStringSettings.cs
- EventMap.cs
- Quaternion.cs
- TabItemAutomationPeer.cs
- NavigatorOutput.cs
- Visual3DCollection.cs
- Rotation3DAnimationBase.cs
- ExpressionCopier.cs
- ZipIOCentralDirectoryBlock.cs
- SystemException.cs
- ArgumentOutOfRangeException.cs
- MetadataItemSerializer.cs
- XmlSchemaSubstitutionGroup.cs
- DataPager.cs
- DataTablePropertyDescriptor.cs
- PartitionResolver.cs
- TdsParserHelperClasses.cs
- TypeDescriptionProviderAttribute.cs
- LOSFormatter.cs
- LastQueryOperator.cs
- PrintPreviewControl.cs
- TerminatorSinks.cs
- ColumnWidthChangingEvent.cs
- FontSizeConverter.cs
- ZipIOExtraFieldElement.cs
- BinHexEncoding.cs
- ExpressionBindings.cs
- DataSourceControl.cs
- DataControlLinkButton.cs
- EntityDataSourceView.cs
- NavigationProperty.cs
- CommandHelper.cs
- ExeConfigurationFileMap.cs
- FixedBufferAttribute.cs
- GeneralTransform3D.cs
- FileChangeNotifier.cs
- GetCertificateRequest.cs
- ScriptingWebServicesSectionGroup.cs
- IImplicitResourceProvider.cs
- RegexMatchCollection.cs
- PropertyEmitter.cs
- RootBuilder.cs
- XmlDataSource.cs
- VectorValueSerializer.cs
- ExtensionSimplifierMarkupObject.cs
- OracleInfoMessageEventArgs.cs
- SafeNativeMethods.cs
- MSHTMLHostUtil.cs
- ListViewHitTestInfo.cs
- DynamicValueConverter.cs
- TextDecorationCollection.cs
- Attributes.cs
- IfAction.cs
- SqlColumnizer.cs
- ObjectPropertyMapping.cs
- BindingListCollectionView.cs
- ZipIOExtraFieldPaddingElement.cs
- RuleSettings.cs
- ConfigXmlElement.cs
- cryptoapiTransform.cs
- VisualTreeHelper.cs
- ZipIOBlockManager.cs
- StateManagedCollection.cs
- DesignerCatalogPartChrome.cs
- XPathNodeInfoAtom.cs
- MediaContextNotificationWindow.cs
- DateTimeConverter.cs
- XhtmlMobileTextWriter.cs
- IPGlobalProperties.cs
- SizeF.cs
- OutputScope.cs
- CustomPeerResolverService.cs
- LinqDataSourceInsertEventArgs.cs
- AtomEntry.cs
- WhitespaceRuleLookup.cs
- DecimalStorage.cs
- GcHandle.cs
- SqlCachedBuffer.cs
- DataGridViewRowEventArgs.cs
- FileDialog_Vista_Interop.cs
- AttachedPropertyBrowsableAttribute.cs
- QilFactory.cs
- ComAdminWrapper.cs
- SchemaTypeEmitter.cs
- UriTemplateDispatchFormatter.cs
- DynamicILGenerator.cs