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
- ByteKeyFrameCollection.cs
- XmlSchemaObject.cs
- ListBindableAttribute.cs
- MatrixTransform.cs
- AutoScrollHelper.cs
- XslException.cs
- TemplateBuilder.cs
- StackBuilderSink.cs
- MembershipPasswordException.cs
- ReliableMessagingVersionConverter.cs
- EntityTransaction.cs
- Win32.cs
- StrokeNodeData.cs
- XmlILOptimizerVisitor.cs
- HashJoinQueryOperatorEnumerator.cs
- ArrayWithOffset.cs
- RtfToken.cs
- ServiceProviders.cs
- XmlUtil.cs
- DrawingVisualDrawingContext.cs
- ApplicationFileCodeDomTreeGenerator.cs
- HostedHttpRequestAsyncResult.cs
- WorkflowMessageEventArgs.cs
- ErrorStyle.cs
- ControlCollection.cs
- StylusButton.cs
- EventRoute.cs
- Set.cs
- Win32KeyboardDevice.cs
- WindowsNonControl.cs
- LogicalExpressionTypeConverter.cs
- OleStrCAMarshaler.cs
- GlobalizationAssembly.cs
- BitmapInitialize.cs
- XmlSchemaNotation.cs
- ProfileProvider.cs
- DatePickerDateValidationErrorEventArgs.cs
- DbMetaDataColumnNames.cs
- Keywords.cs
- PagePropertiesChangingEventArgs.cs
- OuterGlowBitmapEffect.cs
- X509CertificateCollection.cs
- BuildResult.cs
- SplineQuaternionKeyFrame.cs
- URI.cs
- NTAccount.cs
- XsltInput.cs
- SqlGenericUtil.cs
- MarkupProperty.cs
- WindowsProgressbar.cs
- SQlBooleanStorage.cs
- RIPEMD160Managed.cs
- GAC.cs
- WebPartTransformerCollection.cs
- CellConstant.cs
- OwnerDrawPropertyBag.cs
- SafeHandle.cs
- BitVector32.cs
- ArgumentDirectionHelper.cs
- MarshalByRefObject.cs
- CircleHotSpot.cs
- InheritanceUI.cs
- InfoCardKeyedHashAlgorithm.cs
- BamlResourceSerializer.cs
- ImageList.cs
- HitTestParameters.cs
- DataTableReader.cs
- DebugView.cs
- SignedXml.cs
- EntityCommand.cs
- PermissionListSet.cs
- AnnouncementService.cs
- ListItemViewAttribute.cs
- SafePointer.cs
- Misc.cs
- DependencySource.cs
- BindUriHelper.cs
- ProviderUtil.cs
- Codec.cs
- SqlDataAdapter.cs
- CompilerHelpers.cs
- ItemsPanelTemplate.cs
- DataGridTablesFactory.cs
- ListViewTableRow.cs
- ApplicationSecurityInfo.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- DynamicPhysicalDiscoSearcher.cs
- StringReader.cs
- TemplateEditingService.cs
- AlternationConverter.cs
- RuleSet.cs
- ProtocolElement.cs
- EntityKey.cs
- DefaultBinder.cs
- TextElementCollection.cs
- TraceContextRecord.cs
- PageContent.cs
- FixedTextView.cs
- WindowsGrip.cs
- CurrentTimeZone.cs