Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------------- // // 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
- SQLMembershipProvider.cs
- FormatVersion.cs
- ClrProviderManifest.cs
- TimeSpanValidator.cs
- WindowProviderWrapper.cs
- ContextQuery.cs
- FileDetails.cs
- SafeHandles.cs
- DependentTransaction.cs
- Msmq4PoisonHandler.cs
- SplitContainer.cs
- BuildProviderCollection.cs
- StylusButton.cs
- PagedDataSource.cs
- MenuItemStyle.cs
- UrlAuthorizationModule.cs
- WebControlParameterProxy.cs
- DBParameter.cs
- FormViewPagerRow.cs
- Operator.cs
- DuplexChannelBinder.cs
- CatalogZone.cs
- LoginUtil.cs
- Executor.cs
- StylusPointDescription.cs
- ExportFileRequest.cs
- DataPagerFieldCollection.cs
- SchemaObjectWriter.cs
- StyleCollection.cs
- ConsoleKeyInfo.cs
- ParseHttpDate.cs
- XmlSchemaSimpleTypeList.cs
- DocumentGridPage.cs
- PageSetupDialog.cs
- TableLayoutStyle.cs
- CollectionChangedEventManager.cs
- WeakEventTable.cs
- PathSegmentCollection.cs
- UidManager.cs
- HitTestDrawingContextWalker.cs
- CacheMemory.cs
- AuthenticationService.cs
- SimpleBitVector32.cs
- cookie.cs
- ReceiveErrorHandling.cs
- TextServicesHost.cs
- AutoSizeToolBoxItem.cs
- SplineKeyFrames.cs
- GrammarBuilderRuleRef.cs
- HostingEnvironment.cs
- KnownTypesHelper.cs
- Size3DConverter.cs
- EventHandlerList.cs
- RadioButtonPopupAdapter.cs
- WebScriptMetadataFormatter.cs
- EntityProviderFactory.cs
- Request.cs
- XPathDocumentIterator.cs
- PointCollection.cs
- WindowsListViewGroupSubsetLink.cs
- TraceUtility.cs
- InlinedLocationReference.cs
- EUCJPEncoding.cs
- BorderGapMaskConverter.cs
- ObjectAnimationUsingKeyFrames.cs
- ProfileParameter.cs
- XmlQueryRuntime.cs
- VirtualPath.cs
- ElementFactory.cs
- Figure.cs
- DirectoryInfo.cs
- WindowCollection.cs
- DataGridViewImageCell.cs
- Matrix3DConverter.cs
- OleDbConnectionInternal.cs
- BaseAsyncResult.cs
- _OSSOCK.cs
- AtomicFile.cs
- ConsoleEntryPoint.cs
- FileSystemWatcher.cs
- ClientUtils.cs
- LineProperties.cs
- WindowsRegion.cs
- X509ThumbprintKeyIdentifierClause.cs
- HttpCookie.cs
- BitmapImage.cs
- TimeSpanStorage.cs
- PageAsyncTaskManager.cs
- KeyEvent.cs
- ReturnEventArgs.cs
- LabelLiteral.cs
- MsmqSecureHashAlgorithm.cs
- SqlUserDefinedAggregateAttribute.cs
- DragStartedEventArgs.cs
- RenderTargetBitmap.cs
- DiscoveryReferences.cs
- WebControlsSection.cs
- TraceHandler.cs
- IdentityHolder.cs
- MailMessageEventArgs.cs