Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- WinInet.cs
- WorkflowRuntimeServiceElement.cs
- HMACMD5.cs
- EntryPointNotFoundException.cs
- DateTimeConstantAttribute.cs
- XPathDocumentNavigator.cs
- ToolStripScrollButton.cs
- _SafeNetHandles.cs
- CodeAttributeDeclarationCollection.cs
- DescriptionAttribute.cs
- Assert.cs
- WebReferencesBuildProvider.cs
- GenericsInstances.cs
- DependencyObjectProvider.cs
- HttpRequestCacheValidator.cs
- WinFormsComponentEditor.cs
- RepeaterItemCollection.cs
- WindowsListBox.cs
- StreamReader.cs
- ReadWriteObjectLock.cs
- OleDbConnectionFactory.cs
- EntityExpressionVisitor.cs
- SearchForVirtualItemEventArgs.cs
- ToolStripInSituService.cs
- DesignerActionVerbList.cs
- GlobalItem.cs
- SignedPkcs7.cs
- XPathDocument.cs
- CacheChildrenQuery.cs
- StorageSetMapping.cs
- ObjectQueryState.cs
- ContextProperty.cs
- MachineKeyConverter.cs
- PolicyManager.cs
- StrokeRenderer.cs
- DataGridViewImageCell.cs
- WebBrowserProgressChangedEventHandler.cs
- PersonalizationStateQuery.cs
- DeclarativeCatalogPartDesigner.cs
- GacUtil.cs
- SimpleWorkerRequest.cs
- XPathDocument.cs
- SSmlParser.cs
- NamespaceList.cs
- MenuCommands.cs
- GenericsInstances.cs
- Decimal.cs
- Msec.cs
- SafeNativeMethods.cs
- WindowsListViewGroupHelper.cs
- LambdaCompiler.Unary.cs
- WebPartCloseVerb.cs
- XmlValueConverter.cs
- EntityException.cs
- XmlDataDocument.cs
- Resources.Designer.cs
- TextServicesDisplayAttribute.cs
- ProxyAttribute.cs
- CompositeScriptReferenceEventArgs.cs
- XPathDocument.cs
- VisualStyleElement.cs
- MenuCommand.cs
- StorageMappingFragment.cs
- MimeParameters.cs
- SHA384.cs
- TabItemWrapperAutomationPeer.cs
- WebPartEditorOkVerb.cs
- SpinLock.cs
- ProcessHostServerConfig.cs
- CodeSubDirectory.cs
- LinkedList.cs
- XmlDocumentSerializer.cs
- DropSource.cs
- XmlDeclaration.cs
- AppDomainInstanceProvider.cs
- PolicyManager.cs
- DataGridTable.cs
- RepeaterDataBoundAdapter.cs
- CompositeDispatchFormatter.cs
- UpdatePanelControlTrigger.cs
- ViewUtilities.cs
- Utility.cs
- AnyReturnReader.cs
- CodeExporter.cs
- RemoveStoryboard.cs
- LateBoundBitmapDecoder.cs
- OracleBoolean.cs
- PerformanceCountersElement.cs
- ResourceExpressionBuilder.cs
- URLIdentityPermission.cs
- ScrollChrome.cs
- BamlResourceSerializer.cs
- MessageQueueKey.cs
- UserControl.cs
- HotCommands.cs
- HtmlTableRow.cs
- Operators.cs
- RawContentTypeMapper.cs
- HtmlInputSubmit.cs
- MaskDescriptors.cs