Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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 : [....] - 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
- Compiler.cs
- DataReceivedEventArgs.cs
- ArrayWithOffset.cs
- ISAPIApplicationHost.cs
- StorageMappingItemLoader.cs
- PropertyNames.cs
- LineGeometry.cs
- MetadataProperty.cs
- base64Transforms.cs
- TextTrailingCharacterEllipsis.cs
- EntityClassGenerator.cs
- PermissionSet.cs
- ParameterExpression.cs
- ToolBarTray.cs
- panel.cs
- SystemPens.cs
- DetailsViewInsertedEventArgs.cs
- ErrorFormatter.cs
- Comparer.cs
- TearOffProxy.cs
- DbParameterCollection.cs
- DataGridSortingEventArgs.cs
- CompilerState.cs
- MailSettingsSection.cs
- DrawingCollection.cs
- ProxyAttribute.cs
- CodeTypeReferenceCollection.cs
- Pens.cs
- PageEventArgs.cs
- PrePostDescendentsWalker.cs
- ButtonRenderer.cs
- ComNativeDescriptor.cs
- TransformPattern.cs
- RawStylusInputCustomData.cs
- InstanceKey.cs
- CallSiteOps.cs
- FloaterParagraph.cs
- CharEnumerator.cs
- PathFigure.cs
- CollectionContainer.cs
- OracleColumn.cs
- UserPersonalizationStateInfo.cs
- XmlSchemaImporter.cs
- ContextStaticAttribute.cs
- PropertyGridDesigner.cs
- CapabilitiesPattern.cs
- DbUpdateCommandTree.cs
- ControlPaint.cs
- EventLogPermissionEntryCollection.cs
- DateRangeEvent.cs
- QueryCacheKey.cs
- HwndSource.cs
- SafeHandle.cs
- ImageKeyConverter.cs
- HttpModulesSection.cs
- DataObjectAttribute.cs
- ResourceDictionary.cs
- RuleInfoComparer.cs
- WindowShowOrOpenTracker.cs
- TypeForwardedToAttribute.cs
- ListBase.cs
- Point3DKeyFrameCollection.cs
- HostingEnvironment.cs
- SchemaType.cs
- TextViewSelectionProcessor.cs
- ComponentManagerBroker.cs
- ScalarType.cs
- SiblingIterators.cs
- OutputCacheSettings.cs
- XhtmlBasicSelectionListAdapter.cs
- GregorianCalendarHelper.cs
- PropertyItem.cs
- ImageClickEventArgs.cs
- XamlFigureLengthSerializer.cs
- DataGridTextBoxColumn.cs
- UniqueIdentifierService.cs
- DataTableTypeConverter.cs
- HttpCachePolicyElement.cs
- Image.cs
- Pair.cs
- DeploymentSection.cs
- ImageMetadata.cs
- MsdtcWrapper.cs
- SQLString.cs
- PropertyValueChangedEvent.cs
- SqlClientPermission.cs
- ClassData.cs
- PrintingPermission.cs
- Stylesheet.cs
- Validator.cs
- ConfigurationConverterBase.cs
- CodeDomExtensionMethods.cs
- CursorConverter.cs
- EdmFunctions.cs
- PartManifestEntry.cs
- JapaneseCalendar.cs
- DataListItemCollection.cs
- XPathNodeInfoAtom.cs
- PowerModeChangedEventArgs.cs
- MimeFormatExtensions.cs