Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- XmlTextReaderImplHelpers.cs
- SamlAttributeStatement.cs
- BrushMappingModeValidation.cs
- ScrollChrome.cs
- FontFamily.cs
- DataServiceQueryException.cs
- webbrowsersite.cs
- DispatcherFrame.cs
- StylusEditingBehavior.cs
- ObjectDataSourceSelectingEventArgs.cs
- PersonalizationStateInfoCollection.cs
- ProgressChangedEventArgs.cs
- ManipulationDeltaEventArgs.cs
- CommonGetThemePartSize.cs
- XpsViewerException.cs
- ToolStripMenuItem.cs
- XPathNavigatorException.cs
- AssemblyAssociatedContentFileAttribute.cs
- DataProtectionSecurityStateEncoder.cs
- ReleaseInstanceMode.cs
- SimpleWorkerRequest.cs
- WsatConfiguration.cs
- LexicalChunk.cs
- Point3DAnimation.cs
- MethodMessage.cs
- XsltArgumentList.cs
- HtmlProps.cs
- CacheAxisQuery.cs
- TimeZoneInfo.cs
- ItemCollection.cs
- InternalMappingException.cs
- DistinctQueryOperator.cs
- IconEditor.cs
- DataFormat.cs
- RegexCompiler.cs
- Point3DAnimation.cs
- BindableAttribute.cs
- EventLogTraceListener.cs
- AvTrace.cs
- EncoderParameter.cs
- ContractAdapter.cs
- NamespaceTable.cs
- PublishLicense.cs
- DoubleLinkListEnumerator.cs
- HtmlButton.cs
- CustomAttribute.cs
- CqlIdentifiers.cs
- OrderedDictionary.cs
- Html32TextWriter.cs
- ObjectViewQueryResultData.cs
- Label.cs
- KeyInfo.cs
- ServiceModelConfigurationSectionCollection.cs
- OleTxTransactionInfo.cs
- PropertyGroupDescription.cs
- DocumentProperties.cs
- FormViewDeletedEventArgs.cs
- GlyphShapingProperties.cs
- GeneratedCodeAttribute.cs
- OAVariantLib.cs
- IPEndPoint.cs
- MasterPageParser.cs
- ObjectHelper.cs
- ArgumentValidation.cs
- Nodes.cs
- Rect3D.cs
- MasterPage.cs
- AsyncOperation.cs
- UIElementIsland.cs
- NativeMethods.cs
- OleDbError.cs
- formatter.cs
- ReceiveContextCollection.cs
- UserMapPath.cs
- DbMetaDataColumnNames.cs
- TypeUtil.cs
- VarRefManager.cs
- OleDbConnection.cs
- PresentationSource.cs
- HttpListenerRequestUriBuilder.cs
- JsonObjectDataContract.cs
- StateBag.cs
- HostedElements.cs
- SqlProfileProvider.cs
- DataGridTablesFactory.cs
- CfgParser.cs
- ActivitySurrogate.cs
- UnsafeNativeMethods.cs
- GroupItem.cs
- CategoryEditor.cs
- ExcCanonicalXml.cs
- CatalogPartChrome.cs
- SaveFileDialog.cs
- CommandDevice.cs
- QilGeneratorEnv.cs
- WindowsFormsLinkLabel.cs
- KeyNotFoundException.cs
- ListSortDescriptionCollection.cs
- TextEndOfParagraph.cs
- EntityProviderFactory.cs