Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Documents / ColumnResizeUndoUnit.cs / 1 / 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
- XmlSchemaSimpleContent.cs
- ObjectComplexPropertyMapping.cs
- DataGridViewCellCollection.cs
- TemplateControlCodeDomTreeGenerator.cs
- PathSegment.cs
- UrlPropertyAttribute.cs
- BaseHashHelper.cs
- NotifyIcon.cs
- TextContainerHelper.cs
- RedirectionProxy.cs
- SqlError.cs
- XamlStream.cs
- relpropertyhelper.cs
- TreeNodeStyle.cs
- TextParagraph.cs
- MissingManifestResourceException.cs
- ValidatingCollection.cs
- PKCS1MaskGenerationMethod.cs
- CalendarDay.cs
- SqlDelegatedTransaction.cs
- ResourceManagerWrapper.cs
- Main.cs
- SqlHelper.cs
- PropertyChange.cs
- ReaderWriterLock.cs
- Invariant.cs
- XmlSchemaSimpleContentRestriction.cs
- CompoundFileDeflateTransform.cs
- InstanceLockQueryResult.cs
- ArrayExtension.cs
- MetadataCache.cs
- OleDbParameterCollection.cs
- MatrixAnimationUsingKeyFrames.cs
- ScriptServiceAttribute.cs
- SQLBinary.cs
- PeerCollaboration.cs
- PasswordTextNavigator.cs
- DataFieldConverter.cs
- DES.cs
- WebPartEditorCancelVerb.cs
- ProtectedProviderSettings.cs
- DesignerHelpers.cs
- StreamReader.cs
- Token.cs
- IisTraceWebEventProvider.cs
- PropertySourceInfo.cs
- ProxyDataContractResolver.cs
- ArrayConverter.cs
- InputQueueChannelAcceptor.cs
- Mutex.cs
- HitTestWithGeometryDrawingContextWalker.cs
- AnimationException.cs
- XPathDescendantIterator.cs
- BlobPersonalizationState.cs
- NextPreviousPagerField.cs
- Label.cs
- HandledEventArgs.cs
- BCLDebug.cs
- MetadataHelper.cs
- EntityFrameworkVersions.cs
- StyleModeStack.cs
- HtmlElementCollection.cs
- SortedList.cs
- ElementNotAvailableException.cs
- DebuggerAttributes.cs
- ServiceDocumentFormatter.cs
- ChannelDispatcher.cs
- ArgIterator.cs
- CharEnumerator.cs
- COM2IDispatchConverter.cs
- Timer.cs
- TableRow.cs
- DocumentViewer.cs
- MouseActionConverter.cs
- FilteredAttributeCollection.cs
- ObjectManager.cs
- RecommendedAsConfigurableAttribute.cs
- DesignerForm.cs
- RectAnimationUsingKeyFrames.cs
- LineInfo.cs
- EpmContentSerializerBase.cs
- ResourceAttributes.cs
- MappingItemCollection.cs
- QueryConverter.cs
- UpdatePanel.cs
- NaturalLanguageHyphenator.cs
- TypeSystemProvider.cs
- GeneralTransform.cs
- AssemblyName.cs
- ChtmlLinkAdapter.cs
- SurrogateSelector.cs
- SocketException.cs
- BlurBitmapEffect.cs
- _SSPISessionCache.cs
- NegationPusher.cs
- XmlSchemaGroupRef.cs
- ValidationResult.cs
- LinkConverter.cs
- CallSiteHelpers.cs
- TransformerInfoCollection.cs