Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ManagementExtension.cs
- TraceHandler.cs
- DataGridViewTextBoxEditingControl.cs
- EventSinkActivity.cs
- FixedHyperLink.cs
- ScrollChangedEventArgs.cs
- NullableIntAverageAggregationOperator.cs
- ClientSettingsStore.cs
- HwndProxyElementProvider.cs
- GenericRootAutomationPeer.cs
- CursorConverter.cs
- PluralizationService.cs
- ColumnWidthChangedEvent.cs
- RecordManager.cs
- SqlGatherProducedAliases.cs
- SqlCacheDependencyDatabase.cs
- ConsumerConnectionPointCollection.cs
- unsafenativemethodstextservices.cs
- ElementUtil.cs
- _NTAuthentication.cs
- GradientBrush.cs
- XmlDownloadManager.cs
- StateRuntime.cs
- EntityProxyTypeInfo.cs
- ImplicitInputBrush.cs
- DataColumnMapping.cs
- ClipboardData.cs
- LayoutInformation.cs
- SqlClientWrapperSmiStream.cs
- Mappings.cs
- StringStorage.cs
- Package.cs
- RTLAwareMessageBox.cs
- NegotiationTokenAuthenticatorState.cs
- TypeForwardedToAttribute.cs
- StoreAnnotationsMap.cs
- HyperlinkAutomationPeer.cs
- HealthMonitoringSectionHelper.cs
- FileStream.cs
- AnnotationObservableCollection.cs
- SaveFileDialogDesigner.cs
- SecurityPolicySection.cs
- recordstatescratchpad.cs
- ApplyImportsAction.cs
- InputLangChangeEvent.cs
- AutoResizedEvent.cs
- HelpEvent.cs
- WmiEventSink.cs
- MeshGeometry3D.cs
- TypedReference.cs
- HtmlInputText.cs
- DrawingImage.cs
- SchemaImporter.cs
- WebPartManager.cs
- QuaternionRotation3D.cs
- Column.cs
- DbConnectionClosed.cs
- AppDomainGrammarProxy.cs
- ScriptResourceHandler.cs
- ValidatedControlConverter.cs
- FunctionImportMapping.cs
- oledbconnectionstring.cs
- LogExtent.cs
- MaterialCollection.cs
- SmiEventSink.cs
- Int16Animation.cs
- BinaryObjectReader.cs
- ClrProviderManifest.cs
- UshortList2.cs
- AdornerHitTestResult.cs
- HttpModuleAction.cs
- Preprocessor.cs
- DataGridPagerStyle.cs
- ExpandedProjectionNode.cs
- ResourceIDHelper.cs
- BasicExpressionVisitor.cs
- QilList.cs
- AutoResizedEvent.cs
- DeviceContext.cs
- SizeChangedEventArgs.cs
- SqlTriggerAttribute.cs
- dtdvalidator.cs
- SynchronizedDispatch.cs
- ReliableSessionBindingElement.cs
- SecurityPolicySection.cs
- _AcceptOverlappedAsyncResult.cs
- XmlSchemaCollection.cs
- SqlTypeConverter.cs
- SelectionProcessor.cs
- Drawing.cs
- StringUtil.cs
- Compiler.cs
- ProviderConnectionPoint.cs
- FlowLayoutPanel.cs
- SqlError.cs
- TraceProvider.cs
- ReadContentAsBinaryHelper.cs
- StringComparer.cs
- PerformanceCounterCategory.cs
- ConstrainedDataObject.cs