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
- EntityTypeBase.cs
- DocumentSchemaValidator.cs
- TextWriter.cs
- Events.cs
- TheQuery.cs
- EmbeddedMailObjectsCollection.cs
- DataGridViewDataConnection.cs
- ColumnWidthChangingEvent.cs
- CacheChildrenQuery.cs
- XmlILCommand.cs
- ConfigurationManagerInternalFactory.cs
- SystemIPv6InterfaceProperties.cs
- SqlLiftIndependentRowExpressions.cs
- CompensatableSequenceActivity.cs
- TableRowCollection.cs
- DataGridViewTextBoxColumn.cs
- SQLBoolean.cs
- LocalizationComments.cs
- AssociationSetEnd.cs
- SchemaElementDecl.cs
- TextDecorationUnitValidation.cs
- DoubleCollection.cs
- SocketAddress.cs
- WinEventWrap.cs
- BlurBitmapEffect.cs
- MemberRestriction.cs
- ValueUtilsSmi.cs
- CounterSample.cs
- LightweightCodeGenerator.cs
- BasePropertyDescriptor.cs
- CounterSetInstanceCounterDataSet.cs
- CompatibleIComparer.cs
- NaturalLanguageHyphenator.cs
- DelegateHelpers.cs
- SymLanguageVendor.cs
- CultureTable.cs
- StringSorter.cs
- DataServiceRequestOfT.cs
- NumericPagerField.cs
- Italic.cs
- StorageAssociationSetMapping.cs
- WhileDesigner.cs
- HostingEnvironmentException.cs
- CodeTypeParameter.cs
- ConnectionConsumerAttribute.cs
- DataObjectSettingDataEventArgs.cs
- WebPartPersonalization.cs
- EventTrigger.cs
- JsonDataContract.cs
- UIAgentAsyncParams.cs
- WeakEventTable.cs
- MultiPropertyDescriptorGridEntry.cs
- MimeMultiPart.cs
- DBConcurrencyException.cs
- DataGridViewAutoSizeModeEventArgs.cs
- BooleanStorage.cs
- CompositionAdorner.cs
- FlowDocument.cs
- TextParentUndoUnit.cs
- PriorityChain.cs
- PropertyChangedEventArgs.cs
- SiteOfOriginPart.cs
- DbConnectionPoolOptions.cs
- XmlLinkedNode.cs
- AssemblyName.cs
- DragCompletedEventArgs.cs
- ACE.cs
- InvokeHandlers.cs
- DeploymentExceptionMapper.cs
- MouseButton.cs
- FixedSOMLineRanges.cs
- HttpCacheVary.cs
- WebPartConnectVerb.cs
- DllNotFoundException.cs
- CTreeGenerator.cs
- HttpCapabilitiesBase.cs
- IssuedSecurityTokenProvider.cs
- UntrustedRecipientException.cs
- Codec.cs
- SplayTreeNode.cs
- DisableDpiAwarenessAttribute.cs
- HexParser.cs
- IisTraceWebEventProvider.cs
- AudioFormatConverter.cs
- Debug.cs
- WmlPhoneCallAdapter.cs
- Preprocessor.cs
- ListViewSortEventArgs.cs
- VirtualDirectoryMapping.cs
- loginstatus.cs
- Rectangle.cs
- IsolatedStorageException.cs
- QilGeneratorEnv.cs
- XhtmlConformanceSection.cs
- RtType.cs
- CreateRefExpr.cs
- AppLevelCompilationSectionCache.cs
- EntityDataSourceMemberPath.cs
- ControlCollection.cs
- TableParagraph.cs