Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- DnsPermission.cs
- DataGridViewHitTestInfo.cs
- WorkflowRuntimeServiceElement.cs
- ExtendedPropertyCollection.cs
- CodeThrowExceptionStatement.cs
- ReliableSessionBindingElementImporter.cs
- Timer.cs
- ComponentDispatcherThread.cs
- ObjectStateManager.cs
- InternalPermissions.cs
- PenLineCapValidation.cs
- XpsFilter.cs
- PrePostDescendentsWalker.cs
- arc.cs
- RequestCacheManager.cs
- ModuleBuilderData.cs
- ChineseLunisolarCalendar.cs
- Util.cs
- CanExpandCollapseAllConverter.cs
- PrimarySelectionGlyph.cs
- FactoryRecord.cs
- DoubleLink.cs
- CodeTypeMember.cs
- ContextConfiguration.cs
- NavigationWindow.cs
- ByteFacetDescriptionElement.cs
- SchemaNotation.cs
- MaxValueConverter.cs
- AdornerDecorator.cs
- FormClosingEvent.cs
- mansign.cs
- LineSegment.cs
- ServiceModelReg.cs
- DeflateEmulationStream.cs
- BinaryFormatter.cs
- SoapObjectInfo.cs
- IssuedSecurityTokenParameters.cs
- RequiredFieldValidator.cs
- AspCompat.cs
- XmlIgnoreAttribute.cs
- PrimitiveXmlSerializers.cs
- BitmapDecoder.cs
- FilePrompt.cs
- CodeTypeOfExpression.cs
- HttpModuleCollection.cs
- MatrixTransform3D.cs
- ConfigurationCollectionAttribute.cs
- KeyManager.cs
- ConsoleTraceListener.cs
- SourceExpressionException.cs
- PropertySourceInfo.cs
- KeyFrames.cs
- XmlSchemaSimpleType.cs
- Label.cs
- BlockUIContainer.cs
- SettingsSavedEventArgs.cs
- PenThread.cs
- SubtreeProcessor.cs
- CapabilitiesSection.cs
- KnownTypes.cs
- sortedlist.cs
- EndpointIdentityConverter.cs
- SendKeys.cs
- TakeOrSkipQueryOperator.cs
- InstanceStore.cs
- ZipIOLocalFileBlock.cs
- DataControlLinkButton.cs
- SystemPens.cs
- RepeatButtonAutomationPeer.cs
- DataComponentNameHandler.cs
- ImageSource.cs
- FlagsAttribute.cs
- RsaEndpointIdentity.cs
- ParallelDesigner.cs
- ScalarOps.cs
- TreeViewBindingsEditorForm.cs
- CodeParameterDeclarationExpressionCollection.cs
- BamlTreeNode.cs
- ListCollectionView.cs
- WsdlInspector.cs
- FormClosingEvent.cs
- TreeViewCancelEvent.cs
- ScriptModule.cs
- FocusWithinProperty.cs
- CustomAssemblyResolver.cs
- ConfigXmlComment.cs
- InputMethod.cs
- ToolStripArrowRenderEventArgs.cs
- ThreadInterruptedException.cs
- TextParentUndoUnit.cs
- CompModHelpers.cs
- SafeHandles.cs
- ChannelCacheDefaults.cs
- HexParser.cs
- CommandCollectionEditor.cs
- ValueUnavailableException.cs
- CultureTable.cs
- DocumentPageView.cs
- FixedSOMLineCollection.cs
- ManagedFilter.cs