Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- Baml2006KeyRecord.cs
- HtmlTitle.cs
- DecimalAverageAggregationOperator.cs
- AccessViolationException.cs
- HostingPreferredMapPath.cs
- ButtonBaseAutomationPeer.cs
- ResetableIterator.cs
- oledbmetadatacollectionnames.cs
- ToolStripAdornerWindowService.cs
- TextCompositionManager.cs
- PipelineModuleStepContainer.cs
- HandoffBehavior.cs
- InkCanvasSelection.cs
- WebMessageEncodingBindingElement.cs
- FontSource.cs
- ApplyHostConfigurationBehavior.cs
- ThicknessAnimationBase.cs
- SeekStoryboard.cs
- ImageField.cs
- GenericsInstances.cs
- WebBrowserContainer.cs
- PenThread.cs
- Column.cs
- ObjectNotFoundException.cs
- RefType.cs
- Literal.cs
- SingleTagSectionHandler.cs
- SetStateEventArgs.cs
- ModuleBuilder.cs
- QilTargetType.cs
- SqlFacetAttribute.cs
- LinkLabel.cs
- mediaeventargs.cs
- ListItemCollection.cs
- ProviderCollection.cs
- XmlCustomFormatter.cs
- SolidBrush.cs
- CellPartitioner.cs
- BamlRecords.cs
- ListViewItem.cs
- XmlNamespaceMappingCollection.cs
- FixedTextView.cs
- AnnotationComponentChooser.cs
- AsymmetricKeyExchangeFormatter.cs
- XmlQualifiedNameTest.cs
- ProjectionPath.cs
- DataContractSerializer.cs
- MenuItemBinding.cs
- SQLSingleStorage.cs
- ResourceReferenceExpression.cs
- ProcessThread.cs
- DispatcherExceptionEventArgs.cs
- SimpleHandlerFactory.cs
- PasswordBoxAutomationPeer.cs
- EntityProxyFactory.cs
- AnimatedTypeHelpers.cs
- WebPartCatalogCloseVerb.cs
- ColorMap.cs
- FontUnitConverter.cs
- SqlServer2KCompatibilityCheck.cs
- ReflectEventDescriptor.cs
- WhiteSpaceTrimStringConverter.cs
- KerberosRequestorSecurityTokenAuthenticator.cs
- LocatorManager.cs
- DiscardableAttribute.cs
- WsatRegistrationHeader.cs
- PerformanceCounterPermissionEntry.cs
- PageRanges.cs
- KeyPressEvent.cs
- BuildProviderCollection.cs
- SqlBuilder.cs
- SelectedPathEditor.cs
- PageContentCollection.cs
- MailWebEventProvider.cs
- FormCollection.cs
- CachedRequestParams.cs
- TraceLevelStore.cs
- LogicalExpr.cs
- AccessKeyManager.cs
- PagesSection.cs
- DataDocumentXPathNavigator.cs
- XamlSerializationHelper.cs
- TemplateColumn.cs
- WindowsSysHeader.cs
- PeerObject.cs
- TaskResultSetter.cs
- tibetanshape.cs
- WindowsTitleBar.cs
- SmiEventSink_Default.cs
- DesignerDataSchemaClass.cs
- XPathItem.cs
- TableRowGroup.cs
- SignatureToken.cs
- OdbcEnvironment.cs
- UnsignedPublishLicense.cs
- StorageAssociationSetMapping.cs
- SafeRightsManagementPubHandle.cs
- Annotation.cs
- safelink.cs
- CallbackValidatorAttribute.cs