Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / MS / Internal / PtsTable / CalculatedColumn.cs / 1 / CalculatedColumn.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Implementation of calculated column class. // Calculated columns are created as a result of table // width calculations. Calculated columns are used internally // to hold information about table's horizontal geometry // // History: // 06/19/2003 : olego - Created // //--------------------------------------------------------------------------- using MS.Internal.PtsHost; using System; using System.Diagnostics; using System.Windows; using System.Windows.Documents; using System.Windows.Media; using MS.Internal.PtsHost.UnsafeNativeMethods; namespace MS.Internal.PtsTable { ////// Calculated column implementation. /// internal struct CalculatedColumn { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors #endregion Constructors //------------------------------------------------------ // // Internal Methods // //----------------------------------------------------- #region Internal Methods ////// ValidateAuto /// /// New min width value /// New max width value internal void ValidateAuto(double durMinWidth, double durMaxWidth) { Debug.Assert(0 <= durMinWidth && durMinWidth <= durMaxWidth); _durMinWidth = durMinWidth; _durMaxWidth = durMaxWidth; SetFlags(true, Flags.ValidAutofit); } #endregion Internal Methods //------------------------------------------------------ // // Internal Properties // //------------------------------------------------------ #region Internal Properties ////// Returns understood by PTS state of cell width dirtiness. /// internal int PtsWidthChanged { get { return (PTS.FromBoolean(!CheckFlags(Flags.ValidWidth))); } } ////// DurMinWidth /// internal double DurMinWidth { get { return (_durMinWidth); } } ////// DurMaxWidth /// internal double DurMaxWidth { get { return (_durMaxWidth); } } ////// UserWidth /// internal GridLength UserWidth { get { return (_userWidth); } set { if (_userWidth != value) { SetFlags(false, Flags.ValidAutofit); } _userWidth = value; } } ////// DurWidth /// internal double DurWidth { get { return (_durWidth); } set { if (!DoubleUtil.AreClose(_durWidth, value)) { SetFlags(false, Flags.ValidWidth); } _durWidth = value; } } ////// UrOffset /// internal double UrOffset { get { return (_urOffset); } set { _urOffset = value; } } #endregion Internal Properties //----------------------------------------------------- // // Private Methods // //------------------------------------------------------ #region Private Methods ////// SetFlags is used to set or unset one or multiple flags on the cell. /// private void SetFlags(bool value, Flags flags) { _flags = value ? (_flags | flags) : (_flags & (~flags)); } ////// CheckFlags returns true if all passed flags in the bitmask are set. /// private bool CheckFlags(Flags flags) { return ((_flags & flags) == flags); } #endregion Private Methods //----------------------------------------------------- // // Private Fields // //----------------------------------------------------- #region Private Fields private GridLength _userWidth; // user specified width for the column private double _durWidth; // calculated widht for the column private double _durMinWidth; // calculated minimum width for the column private double _durMaxWidth; // calculated maximum width for the column private double _urOffset; // column's offset private Flags _flags; // state #endregion Private Fields //----------------------------------------------------- // // Private Structures / Classes // //------------------------------------------------------ #region Private Structures Classes [System.Flags] private enum Flags { ValidWidth = 0x1, // resulting width unchanged ValidAutofit = 0x2, // auto width unchanged } #endregion Private Structures Classes } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Implementation of calculated column class. // Calculated columns are created as a result of table // width calculations. Calculated columns are used internally // to hold information about table's horizontal geometry // // History: // 06/19/2003 : olego - Created // //--------------------------------------------------------------------------- using MS.Internal.PtsHost; using System; using System.Diagnostics; using System.Windows; using System.Windows.Documents; using System.Windows.Media; using MS.Internal.PtsHost.UnsafeNativeMethods; namespace MS.Internal.PtsTable { ////// Calculated column implementation. /// internal struct CalculatedColumn { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors #endregion Constructors //------------------------------------------------------ // // Internal Methods // //----------------------------------------------------- #region Internal Methods ////// ValidateAuto /// /// New min width value /// New max width value internal void ValidateAuto(double durMinWidth, double durMaxWidth) { Debug.Assert(0 <= durMinWidth && durMinWidth <= durMaxWidth); _durMinWidth = durMinWidth; _durMaxWidth = durMaxWidth; SetFlags(true, Flags.ValidAutofit); } #endregion Internal Methods //------------------------------------------------------ // // Internal Properties // //------------------------------------------------------ #region Internal Properties ////// Returns understood by PTS state of cell width dirtiness. /// internal int PtsWidthChanged { get { return (PTS.FromBoolean(!CheckFlags(Flags.ValidWidth))); } } ////// DurMinWidth /// internal double DurMinWidth { get { return (_durMinWidth); } } ////// DurMaxWidth /// internal double DurMaxWidth { get { return (_durMaxWidth); } } ////// UserWidth /// internal GridLength UserWidth { get { return (_userWidth); } set { if (_userWidth != value) { SetFlags(false, Flags.ValidAutofit); } _userWidth = value; } } ////// DurWidth /// internal double DurWidth { get { return (_durWidth); } set { if (!DoubleUtil.AreClose(_durWidth, value)) { SetFlags(false, Flags.ValidWidth); } _durWidth = value; } } ////// UrOffset /// internal double UrOffset { get { return (_urOffset); } set { _urOffset = value; } } #endregion Internal Properties //----------------------------------------------------- // // Private Methods // //------------------------------------------------------ #region Private Methods ////// SetFlags is used to set or unset one or multiple flags on the cell. /// private void SetFlags(bool value, Flags flags) { _flags = value ? (_flags | flags) : (_flags & (~flags)); } ////// CheckFlags returns true if all passed flags in the bitmask are set. /// private bool CheckFlags(Flags flags) { return ((_flags & flags) == flags); } #endregion Private Methods //----------------------------------------------------- // // Private Fields // //----------------------------------------------------- #region Private Fields private GridLength _userWidth; // user specified width for the column private double _durWidth; // calculated widht for the column private double _durMinWidth; // calculated minimum width for the column private double _durMaxWidth; // calculated maximum width for the column private double _urOffset; // column's offset private Flags _flags; // state #endregion Private Fields //----------------------------------------------------- // // Private Structures / Classes // //------------------------------------------------------ #region Private Structures Classes [System.Flags] private enum Flags { ValidWidth = 0x1, // resulting width unchanged ValidAutofit = 0x2, // auto width unchanged } #endregion Private Structures Classes } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ToolboxComponentsCreatedEventArgs.cs
- InputMethod.cs
- EditorAttribute.cs
- Psha1DerivedKeyGenerator.cs
- XmlEntity.cs
- PhonemeEventArgs.cs
- GPRECTF.cs
- KeyInfo.cs
- SchemaName.cs
- GeneratedView.cs
- Blend.cs
- DesignerForm.cs
- SubstitutionList.cs
- StringUtil.cs
- Base64Decoder.cs
- ReadOnlyPropertyMetadata.cs
- TextCharacters.cs
- WorkerRequest.cs
- SHA512.cs
- ACE.cs
- Operator.cs
- DynamicValidator.cs
- DbConnectionPoolGroup.cs
- DeploymentSection.cs
- Item.cs
- TextReturnReader.cs
- Separator.cs
- DemultiplexingClientMessageFormatter.cs
- AssertUtility.cs
- TextEditorDragDrop.cs
- DuplicateWaitObjectException.cs
- BitVec.cs
- VersionedStream.cs
- TextElement.cs
- BitmapEffectrendercontext.cs
- DatatypeImplementation.cs
- TableAdapterManagerHelper.cs
- CompositeCollection.cs
- DetailsViewDeleteEventArgs.cs
- TextBoxRenderer.cs
- MaskInputRejectedEventArgs.cs
- PageSetupDialog.cs
- InteropAutomationProvider.cs
- ClientConvert.cs
- PrintEvent.cs
- SharedStream.cs
- DataBindEngine.cs
- ApplicationDirectoryMembershipCondition.cs
- WindowsSolidBrush.cs
- ConcurrentBag.cs
- _LoggingObject.cs
- XmlProcessingInstruction.cs
- MediaSystem.cs
- DataMember.cs
- ServicePointManagerElement.cs
- MessageBox.cs
- SafeEventLogWriteHandle.cs
- EmptyImpersonationContext.cs
- RecognizerInfo.cs
- CheckableControlBaseAdapter.cs
- XmlDocumentFragment.cs
- AddInProcess.cs
- DataContractSerializerServiceBehavior.cs
- UseAttributeSetsAction.cs
- ConfigurationCollectionAttribute.cs
- Exceptions.cs
- RectAnimationUsingKeyFrames.cs
- XPathException.cs
- DataGridGeneralPage.cs
- UIServiceHelper.cs
- Maps.cs
- HttpCookieCollection.cs
- MarkupProperty.cs
- SelectingProviderEventArgs.cs
- SoapFault.cs
- StructuredTypeEmitter.cs
- HTTPNotFoundHandler.cs
- FloaterBaseParagraph.cs
- OAVariantLib.cs
- QueryCacheKey.cs
- LinqDataSourceValidationException.cs
- InternalBufferOverflowException.cs
- FtpCachePolicyElement.cs
- XhtmlBasicCommandAdapter.cs
- SQLSingle.cs
- ThreadExceptionEvent.cs
- CheckedPointers.cs
- Soap11ServerProtocol.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- SecurityKeyUsage.cs
- RSAOAEPKeyExchangeFormatter.cs
- MenuRendererStandards.cs
- RegexReplacement.cs
- DropShadowEffect.cs
- DesignerCapabilities.cs
- ScopelessEnumAttribute.cs
- ListChangedEventArgs.cs
- DesignerFrame.cs
- HashMembershipCondition.cs
- CodeTypeMemberCollection.cs