Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / PanelStyle.cs / 1305376 / PanelStyle.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Globalization;
using System.Reflection;
using System.Web;
using System.Web.UI;
///
/// Specifies the style of the panel.
///
public class PanelStyle : Style {
// !!NOTE!!
// Style.cs also defines a set of flag contants and both sets have to
// be unique. Please be careful when adding new flags to either list.
private const int PROP_BACKIMAGEURL = 0x00010000;
private const int PROP_DIRECTION = 0x00020000;
private const int PROP_HORIZONTALALIGN = 0x00040000;
private const int PROP_SCROLLBARS = 0x00080000;
private const int PROP_WRAP = 0x00100000;
private const string STR_BACKIMAGEURL = "BackImageUrl";
private const string STR_DIRECTION = "Direction";
private const string STR_HORIZONTALALIGN = "HorizontalAlign";
private const string STR_SCROLLBARS = "ScrollBars";
private const string STR_WRAP = "Wrap";
///
///
/// Initializes a new instance of the
/// class with state bag information.
///
///
public PanelStyle(StateBag bag) : base (bag) {
}
///
/// Gets or sets the URL of the background image for the panel.
///
[
WebCategory("Appearance"),
DefaultValue(""),
UrlProperty(),
WebSysDescription(SR.Panel_BackImageUrl)
]
public virtual string BackImageUrl {
get {
if (IsSet(PROP_BACKIMAGEURL)) {
return(string)(ViewState[STR_BACKIMAGEURL]);
}
return String.Empty;
}
set {
if (value == null) {
throw new ArgumentNullException("value");
}
ViewState[STR_BACKIMAGEURL] = value;
SetBit(PROP_BACKIMAGEURL);
}
}
///
/// Gets or sets content direction for the panel.
///
[
WebCategory("Appearance"),
DefaultValue(""),
WebSysDescription(SR.Panel_Direction)
]
public virtual ContentDirection Direction {
get {
if (IsSet(PROP_DIRECTION)) {
return (ContentDirection)(ViewState[STR_DIRECTION]);
}
return ContentDirection.NotSet;
}
set {
if (value < ContentDirection.NotSet || value > ContentDirection.RightToLeft) {
throw new ArgumentOutOfRangeException("value");
}
ViewState[STR_DIRECTION] = value;
SetBit(PROP_DIRECTION);
}
}
///
/// Gets or sets the horizontal alignment of the contents within the panel.
///
[
WebCategory("Appearance"),
DefaultValue(""),
WebSysDescription(SR.Panel_HorizontalAlign)
]
public virtual HorizontalAlign HorizontalAlign {
get {
if (IsSet(PROP_HORIZONTALALIGN)) {
return (HorizontalAlign)(ViewState[STR_HORIZONTALALIGN]);
}
return HorizontalAlign.NotSet;
}
set {
if (value < HorizontalAlign.NotSet || value > HorizontalAlign.Justify) {
throw new ArgumentOutOfRangeException("value");
}
ViewState[STR_HORIZONTALALIGN] = value;
SetBit(PROP_HORIZONTALALIGN);
}
}
///
/// Gets or sets the scrollbar behavior of the panel.
///
[
WebCategory("Appearance"),
DefaultValue(""),
WebSysDescription(SR.Panel_ScrollBars)
]
public virtual ScrollBars ScrollBars {
get {
if (IsSet(PROP_SCROLLBARS)) {
return (ScrollBars)(ViewState[STR_SCROLLBARS]);
}
return ScrollBars.None;
}
set {
if (value < ScrollBars.None || value > ScrollBars.Auto) {
throw new ArgumentOutOfRangeException("value");
}
ViewState[STR_SCROLLBARS] = value;
SetBit(PROP_SCROLLBARS);
}
}
///
/// Gets or sets a value
/// indicating whether the content wraps within the panel.
///
[
WebCategory("Appearance"),
DefaultValue(""),
WebSysDescription(SR.Panel_Wrap)
]
public virtual bool Wrap {
get {
if (IsSet(PROP_WRAP)) {
return (bool)(ViewState[STR_WRAP]);
}
return true;
}
set {
ViewState[STR_WRAP] = value;
SetBit(PROP_WRAP);
}
}
///
///
/// Copies non-blank elements from the specified style, overwriting existing
/// style elements if necessary.
///
public override void CopyFrom(Style s) {
if (s != null && !s.IsEmpty) {
base.CopyFrom(s);
if (s is PanelStyle) {
PanelStyle ts = (PanelStyle)s;
if (s.RegisteredCssClass.Length != 0) {
if (ts.IsSet(PROP_BACKIMAGEURL)) {
ViewState.Remove(STR_BACKIMAGEURL);
ClearBit(PROP_BACKIMAGEURL);
}
if (ts.IsSet(PROP_SCROLLBARS)) {
ViewState.Remove(STR_SCROLLBARS);
ClearBit(PROP_SCROLLBARS);
}
if (ts.IsSet(PROP_WRAP)) {
ViewState.Remove(STR_WRAP);
ClearBit(PROP_WRAP);
}
}
else {
if (ts.IsSet(PROP_BACKIMAGEURL))
this.BackImageUrl = ts.BackImageUrl;
if (ts.IsSet(PROP_SCROLLBARS))
this.ScrollBars = ts.ScrollBars;
if (ts.IsSet(PROP_WRAP))
this.Wrap = ts.Wrap;
}
if (ts.IsSet(PROP_DIRECTION))
this.Direction = ts.Direction;
if (ts.IsSet(PROP_HORIZONTALALIGN))
this.HorizontalAlign = ts.HorizontalAlign;
}
}
}
///
///
/// Copies non-blank elements from the specified style, but will not overwrite
/// any existing style elements.
///
public override void MergeWith(Style s) {
if (s != null && !s.IsEmpty) {
if (IsEmpty) {
// merge into an empty style is equivalent to a copy,
// which is more efficient
CopyFrom(s);
return;
}
base.MergeWith(s);
if (s is PanelStyle) {
PanelStyle ts = (PanelStyle)s;
// Since we're already copying the registered CSS class in base.MergeWith, we don't
// need to any attributes that would be included in that class.
if (s.RegisteredCssClass.Length == 0) {
if (ts.IsSet(PROP_BACKIMAGEURL) && !this.IsSet(PROP_BACKIMAGEURL))
this.BackImageUrl = ts.BackImageUrl;
if (ts.IsSet(PROP_SCROLLBARS) && !this.IsSet(PROP_SCROLLBARS))
this.ScrollBars = ts.ScrollBars;
if (ts.IsSet(PROP_WRAP) && !this.IsSet(PROP_WRAP))
this.Wrap = ts.Wrap;
}
if (ts.IsSet(PROP_DIRECTION) && !this.IsSet(PROP_DIRECTION))
this.Direction = ts.Direction;
if (ts.IsSet(PROP_HORIZONTALALIGN) && !this.IsSet(PROP_HORIZONTALALIGN))
this.HorizontalAlign = ts.HorizontalAlign;
}
}
}
///
///
/// Clears out any defined style elements from the state bag.
///
public override void Reset() {
if (IsSet(PROP_BACKIMAGEURL))
ViewState.Remove(STR_BACKIMAGEURL);
if (IsSet(PROP_DIRECTION))
ViewState.Remove(STR_DIRECTION);
if (IsSet(PROP_HORIZONTALALIGN))
ViewState.Remove(STR_HORIZONTALALIGN);
if (IsSet(PROP_SCROLLBARS))
ViewState.Remove(STR_SCROLLBARS);
if (IsSet(PROP_WRAP))
ViewState.Remove(STR_WRAP);
base.Reset();
}
}
}
// 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
- AttachmentService.cs
- SymbolType.cs
- ColorBlend.cs
- CompoundFileDeflateTransform.cs
- ArithmeticException.cs
- EntityParameterCollection.cs
- QilSortKey.cs
- TextRangeEdit.cs
- OverloadGroupAttribute.cs
- FixedHighlight.cs
- Transform3DCollection.cs
- GridViewColumn.cs
- PageRanges.cs
- ZoneButton.cs
- Int16Animation.cs
- SiteMapNodeItemEventArgs.cs
- InputProviderSite.cs
- SignatureHelper.cs
- ThreadExceptionEvent.cs
- RoleService.cs
- TextElement.cs
- WindowsImpersonationContext.cs
- X509Extension.cs
- Color.cs
- MainMenu.cs
- RegionInfo.cs
- PartialCachingControl.cs
- CustomAttributeFormatException.cs
- XmlConvert.cs
- ColorAnimationUsingKeyFrames.cs
- InputMethodStateChangeEventArgs.cs
- ModelUIElement3D.cs
- QilTypeChecker.cs
- Itemizer.cs
- Logging.cs
- Base64Decoder.cs
- XmlHierarchicalEnumerable.cs
- BoundsDrawingContextWalker.cs
- RSACryptoServiceProvider.cs
- BitmapEffectCollection.cs
- WindowsProgressbar.cs
- ClientBuildManager.cs
- PrintingPermission.cs
- CoreSwitches.cs
- RegexCompiler.cs
- PluggableProtocol.cs
- EdmComplexTypeAttribute.cs
- OletxTransactionFormatter.cs
- ObjectPropertyMapping.cs
- StringValidator.cs
- SimpleHandlerFactory.cs
- securitycriticaldata.cs
- KnownBoxes.cs
- ProfileParameter.cs
- DomNameTable.cs
- ConfigXmlCDataSection.cs
- HtmlElementErrorEventArgs.cs
- MultiAsyncResult.cs
- ScrollViewer.cs
- DataExpression.cs
- MeasureData.cs
- Speller.cs
- TagNameToTypeMapper.cs
- DataGridViewCellParsingEventArgs.cs
- ValidationSummary.cs
- PageThemeParser.cs
- SqlUdtInfo.cs
- MemoryMappedViewAccessor.cs
- ExtendedTransformFactory.cs
- ItemMap.cs
- _LazyAsyncResult.cs
- RtType.cs
- EmptyWithCancelationCheckWorkItem.cs
- HelpProvider.cs
- RolePrincipal.cs
- ActivityDesignerLayoutSerializers.cs
- GrammarBuilderBase.cs
- DisplayInformation.cs
- ArrayTypeMismatchException.cs
- Lease.cs
- COM2IPerPropertyBrowsingHandler.cs
- control.ime.cs
- CharacterBufferReference.cs
- PeerTransportCredentialType.cs
- OrderByBuilder.cs
- DataObjectAttribute.cs
- HttpListenerRequest.cs
- DataRowView.cs
- AnonymousIdentificationSection.cs
- FontStyleConverter.cs
- ByteFacetDescriptionElement.cs
- SessionIDManager.cs
- AspNetSynchronizationContext.cs
- ASCIIEncoding.cs
- InputLangChangeRequestEvent.cs
- LogLogRecord.cs
- BuildResult.cs
- DecoderNLS.cs
- MenuEventArgs.cs
- DataObjectSettingDataEventArgs.cs