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
- MemoryPressure.cs
- SqlConnectionStringBuilder.cs
- FieldToken.cs
- RSAPKCS1SignatureFormatter.cs
- FormsAuthenticationUser.cs
- VoiceObjectToken.cs
- PersonalizationDictionary.cs
- ContentDesigner.cs
- IpcManager.cs
- TriggerAction.cs
- WinFormsUtils.cs
- EventHandlersStore.cs
- GlobalEventManager.cs
- DocumentViewerHelper.cs
- CdpEqualityComparer.cs
- NonSerializedAttribute.cs
- SoapParser.cs
- ApplicationManager.cs
- RuleConditionDialog.Designer.cs
- AsyncResult.cs
- ToolStripSystemRenderer.cs
- RayHitTestParameters.cs
- TrackingProfileCache.cs
- WindowsRichEdit.cs
- XomlCompilerParameters.cs
- OleDbPermission.cs
- adornercollection.cs
- DataView.cs
- SafePointer.cs
- ChannelSinkStacks.cs
- RIPEMD160Managed.cs
- ColumnResizeUndoUnit.cs
- CustomAttributeSerializer.cs
- StylusPointPropertyInfo.cs
- SerializationException.cs
- AutoResizedEvent.cs
- Rotation3DKeyFrameCollection.cs
- QuaternionAnimationUsingKeyFrames.cs
- SqlCacheDependencySection.cs
- WebPartMovingEventArgs.cs
- MexBindingBindingCollectionElement.cs
- CryptoProvider.cs
- EventLogEntryCollection.cs
- ResizeGrip.cs
- OpenFileDialog.cs
- SiteMapNodeItemEventArgs.cs
- SqlAliasesReferenced.cs
- SchemaCompiler.cs
- FunctionParameter.cs
- GenerateHelper.cs
- BevelBitmapEffect.cs
- BufferedWebEventProvider.cs
- XmlText.cs
- CustomWebEventKey.cs
- MouseBinding.cs
- UpdateEventArgs.cs
- BitmapEffectGroup.cs
- PointLightBase.cs
- brushes.cs
- DurableRuntimeValidator.cs
- DataBoundControlAdapter.cs
- SoapAttributeAttribute.cs
- PixelFormatConverter.cs
- SafeNativeMethodsCLR.cs
- NodeFunctions.cs
- ICollection.cs
- GridSplitter.cs
- ClipboardProcessor.cs
- X509CertificateCollection.cs
- IndentedWriter.cs
- RecordsAffectedEventArgs.cs
- PreviewPrintController.cs
- WebHttpBindingElement.cs
- ErrorEventArgs.cs
- GenericAuthenticationEventArgs.cs
- WinEventTracker.cs
- SolidBrush.cs
- exports.cs
- _ListenerResponseStream.cs
- OleDbEnumerator.cs
- OleStrCAMarshaler.cs
- FastEncoder.cs
- ListViewUpdatedEventArgs.cs
- DropDownButton.cs
- FilteredSchemaElementLookUpTable.cs
- DataColumnMapping.cs
- PrivilegedConfigurationManager.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- ThrowHelper.cs
- XmlProcessingInstruction.cs
- ContentPlaceHolder.cs
- cookie.cs
- EntityDataSourceChangedEventArgs.cs
- RemotingConfigParser.cs
- ParameterCollectionEditor.cs
- ErrorHandlerModule.cs
- SimpleHandlerFactory.cs
- QuadTree.cs
- DSASignatureDeformatter.cs
- ClientTarget.cs