Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / PtsTable / CalculatedColumn.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InvokeBase.cs
- SafeEventLogWriteHandle.cs
- QueryAccessibilityHelpEvent.cs
- TextAdaptor.cs
- ScaleTransform.cs
- GCHandleCookieTable.cs
- MessagingActivityHelper.cs
- InkCanvasAutomationPeer.cs
- PrimitiveOperationFormatter.cs
- WindowsFormsSynchronizationContext.cs
- XmlUTF8TextWriter.cs
- MenuItemStyleCollection.cs
- DesignerForm.cs
- PropertyGeneratedEventArgs.cs
- ColumnWidthChangedEvent.cs
- CurrencyManager.cs
- VectorCollectionConverter.cs
- newitemfactory.cs
- DataBindingHandlerAttribute.cs
- DataSourceSerializationException.cs
- KeyboardEventArgs.cs
- BinaryObjectWriter.cs
- HtmlWindowCollection.cs
- StructuredTypeEmitter.cs
- Enum.cs
- AutomationIdentifierGuids.cs
- HebrewCalendar.cs
- ISessionStateStore.cs
- DetailsViewModeEventArgs.cs
- ViewStateModeByIdAttribute.cs
- ListItemParagraph.cs
- DesignerEditorPartChrome.cs
- EntityParameterCollection.cs
- SqlNodeAnnotations.cs
- DbConnectionStringCommon.cs
- XmlSchemaImport.cs
- ToolStripPanelRenderEventArgs.cs
- URI.cs
- ConfigXmlAttribute.cs
- XmlSerializer.cs
- FrameSecurityDescriptor.cs
- XmlDocumentSerializer.cs
- CacheForPrimitiveTypes.cs
- SqlDataSourceQuery.cs
- ContainerFilterService.cs
- Exceptions.cs
- WebBrowserPermission.cs
- RegexTypeEditor.cs
- LineInfo.cs
- EntityStoreSchemaGenerator.cs
- SourceFilter.cs
- SqlDataReaderSmi.cs
- TrackingProfileCache.cs
- Style.cs
- FillBehavior.cs
- Stroke.cs
- SymbolPair.cs
- ProfileModule.cs
- IPEndPoint.cs
- LabelTarget.cs
- UIPropertyMetadata.cs
- Control.cs
- ToggleButton.cs
- Parameter.cs
- AppDomain.cs
- XmlSerializerSection.cs
- Adorner.cs
- XmlCompatibilityReader.cs
- DependencyPropertyKind.cs
- LoginView.cs
- CompilerScopeManager.cs
- ICspAsymmetricAlgorithm.cs
- UpdateException.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- ListView.cs
- ReliableOutputConnection.cs
- ExpandSegment.cs
- SystemKeyConverter.cs
- XmlSchemaSimpleContent.cs
- FormViewUpdateEventArgs.cs
- RegexRunnerFactory.cs
- ContentPathSegment.cs
- Utils.cs
- TextViewBase.cs
- HtmlControlPersistable.cs
- ReceiveActivityDesignerTheme.cs
- Root.cs
- SafeUserTokenHandle.cs
- MenuDesigner.cs
- TriggerActionCollection.cs
- XhtmlTextWriter.cs
- DatePickerDateValidationErrorEventArgs.cs
- DeploymentSectionCache.cs
- SrgsDocumentParser.cs
- SoapObjectWriter.cs
- DateBoldEvent.cs
- SettingsAttributeDictionary.cs
- LazyTextWriterCreator.cs
- IndentedWriter.cs
- SchemaConstraints.cs