Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / ColumnResizeUndoUnit.cs / 1305600 / ColumnResizeUndoUnit.cs
//---------------------------------------------------------------------------- // // File: ColumnResizeUndoUnit.cs // // Description: Undo unit for resizing columns // // History: // 01/27/2005 : GHermann - Created // //--------------------------------------------------------------------------- using MS.Internal.Documents; namespace System.Windows.Documents { internal class ColumnResizeUndoUnit : ParentUndoUnit { #region Constructors internal ColumnResizeUndoUnit(TextPointer textPointerTable, int columnIndex, double[] columnWidths, double resizeAmount) : base("ColumnResize") { _textContainer = textPointerTable.TextContainer; _cpTable = _textContainer.Start.GetOffsetToPosition(textPointerTable); _columnWidths = columnWidths; _columnIndex = columnIndex; _resizeAmount = resizeAmount; } #endregion Constructors #region Public Methods ////// Perform the appropriate action for this unit. If this is a parent undo unit, the /// parent must create an appropriate parent undo unit to contain the redo units. /// public override void Do() { UndoManager undoManager; IParentUndoUnit redo; TextPointer textPointerTable; Table table; undoManager = TopContainer as UndoManager; redo = null; textPointerTable = new TextPointer(_textContainer.Start, _cpTable, LogicalDirection.Forward); table = (Table) textPointerTable.Parent; _columnWidths[_columnIndex] -= _resizeAmount; if(_columnIndex < table.ColumnCount - 1) { _columnWidths[_columnIndex + 1] += _resizeAmount; } if(undoManager != null && undoManager.IsEnabled) { redo = new ColumnResizeUndoUnit(textPointerTable, _columnIndex, _columnWidths, -_resizeAmount); undoManager.Open(redo); } TextRangeEditTables.EnsureTableColumnsAreFixedSize(table, _columnWidths); if(redo != null) { undoManager.Close(redo, UndoCloseAction.Commit); } } #endregion Public Methods #region Private Data private TextContainer _textContainer; private double[] _columnWidths; private int _cpTable; private int _columnIndex; private double _resizeAmount; #endregion Private Data } } // 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
- HitTestDrawingContextWalker.cs
- ToolStripContentPanelDesigner.cs
- Rotation3DAnimationBase.cs
- ListBox.cs
- RelationshipDetailsRow.cs
- CfgArc.cs
- CurrencyManager.cs
- BitmapImage.cs
- ISAPIApplicationHost.cs
- ManagedFilter.cs
- CodeParameterDeclarationExpression.cs
- CriticalFinalizerObject.cs
- controlskin.cs
- PropertiesTab.cs
- DbMetaDataColumnNames.cs
- VisualTarget.cs
- TimeSpanValidator.cs
- CodeBlockBuilder.cs
- CoordinationService.cs
- DispatcherBuilder.cs
- DocComment.cs
- OdbcInfoMessageEvent.cs
- SpellerHighlightLayer.cs
- FontWeights.cs
- Int32AnimationUsingKeyFrames.cs
- Selection.cs
- _NegoStream.cs
- XNodeSchemaApplier.cs
- DataMisalignedException.cs
- TrustManager.cs
- HttpCookie.cs
- MailAddressCollection.cs
- SuppressMessageAttribute.cs
- XpsException.cs
- SelectingProviderEventArgs.cs
- NGCPageContentSerializerAsync.cs
- XmlDictionaryReaderQuotas.cs
- StringUtil.cs
- ValueUtilsSmi.cs
- Stream.cs
- ImageFormat.cs
- SQlBooleanStorage.cs
- RowBinding.cs
- EndpointNameMessageFilter.cs
- SafeRightsManagementHandle.cs
- X509CertificateTrustedIssuerElementCollection.cs
- HtmlInputRadioButton.cs
- ListViewItem.cs
- GPPOINT.cs
- AdornerLayer.cs
- SpellerStatusTable.cs
- MultiByteCodec.cs
- ExecutionContext.cs
- LogManagementAsyncResult.cs
- HorizontalAlignConverter.cs
- DbDataSourceEnumerator.cs
- DataGridViewColumnConverter.cs
- EmptyEnumerator.cs
- PassportPrincipal.cs
- CustomMenuItemCollection.cs
- ServiceOperationParameter.cs
- LongTypeConverter.cs
- MutexSecurity.cs
- X509Certificate2Collection.cs
- PropertyKey.cs
- Comparer.cs
- ReadOnlyMetadataCollection.cs
- EFAssociationProvider.cs
- AnnotationMap.cs
- SqlProviderManifest.cs
- Stroke.cs
- DeleteIndexBinder.cs
- CodeArrayCreateExpression.cs
- EventLogEntry.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- TargetParameterCountException.cs
- IdentifierCollection.cs
- CodeIdentifier.cs
- CellIdBoolean.cs
- Calendar.cs
- ToolStripDropDownClosingEventArgs.cs
- MaskedTextBoxDesignerActionList.cs
- SqlTriggerAttribute.cs
- SocketInformation.cs
- BasePropertyDescriptor.cs
- SourceLineInfo.cs
- RsaElement.cs
- DataListCommandEventArgs.cs
- StyleCollection.cs
- ResizeGrip.cs
- InputScopeConverter.cs
- ZipIOLocalFileHeader.cs
- EventTrigger.cs
- PriorityQueue.cs
- HtmlWindowCollection.cs
- ComNativeDescriptor.cs
- dataSvcMapFileLoader.cs
- MethodToken.cs
- FirstMatchCodeGroup.cs
- SqlPersonalizationProvider.cs