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
- CheckBoxStandardAdapter.cs
- StrongTypingException.cs
- GZipDecoder.cs
- ModuleBuilder.cs
- RegistryPermission.cs
- MetaModel.cs
- DataBindingList.cs
- PenContext.cs
- InvalidDataContractException.cs
- LongPath.cs
- DataGridHeaderBorder.cs
- VariableAction.cs
- ToolboxItem.cs
- OdbcInfoMessageEvent.cs
- AnimatedTypeHelpers.cs
- RangeBase.cs
- SmtpNtlmAuthenticationModule.cs
- MessageQueue.cs
- SplitContainer.cs
- BitmapFrameDecode.cs
- XmlTextAttribute.cs
- ToolStripSplitStackLayout.cs
- ResourceKey.cs
- SByteConverter.cs
- XsdBuilder.cs
- BamlResourceSerializer.cs
- DesignerActionList.cs
- ColumnPropertiesGroup.cs
- UIEndRequest.cs
- DataControlPagerLinkButton.cs
- AutomationAttributeInfo.cs
- DefaultShape.cs
- TypeConstant.cs
- XPathPatternBuilder.cs
- XmlNodeChangedEventArgs.cs
- XmlnsCompatibleWithAttribute.cs
- MasterPageBuildProvider.cs
- ScriptingAuthenticationServiceSection.cs
- SQLConvert.cs
- _ChunkParse.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- QueryReaderSettings.cs
- LoadedOrUnloadedOperation.cs
- TrackingRecord.cs
- EditingMode.cs
- SubpageParaClient.cs
- FormsAuthenticationCredentials.cs
- RegexFCD.cs
- SeparatorAutomationPeer.cs
- Publisher.cs
- SecurityElement.cs
- FileFormatException.cs
- GroupBox.cs
- CodeDirectoryCompiler.cs
- Clipboard.cs
- ResolvedKeyFrameEntry.cs
- MessageSecurityTokenVersion.cs
- PriorityRange.cs
- ByteAnimationBase.cs
- DataSourceGroupCollection.cs
- HttpFileCollectionBase.cs
- WebPartCancelEventArgs.cs
- CallbackHandler.cs
- FontFamilyConverter.cs
- MdiWindowListItemConverter.cs
- XmlDocumentFragment.cs
- GeneratedView.cs
- MemoryMappedViewStream.cs
- LightweightCodeGenerator.cs
- DefinitionUpdate.cs
- SoapFault.cs
- LicenseContext.cs
- ScriptManagerProxy.cs
- XsdDataContractExporter.cs
- DoubleAnimationClockResource.cs
- OpenTypeLayoutCache.cs
- CodeDomComponentSerializationService.cs
- TraceHandler.cs
- PKCS1MaskGenerationMethod.cs
- InkCanvasAutomationPeer.cs
- SecurityCriticalDataForSet.cs
- MatrixIndependentAnimationStorage.cs
- ChangeInterceptorAttribute.cs
- XmlPreloadedResolver.cs
- DirectoryObjectSecurity.cs
- Assembly.cs
- ZipPackagePart.cs
- EncoderFallback.cs
- ManipulationStartingEventArgs.cs
- StylusLogic.cs
- TextEncodedRawTextWriter.cs
- NamedPermissionSet.cs
- OutputCacheProfile.cs
- WeakReferenceList.cs
- BasicExpandProvider.cs
- Parser.cs
- TraceHandler.cs
- TextDocumentView.cs
- ObjectContext.cs
- PermissionToken.cs