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
- CodeGeneratorOptions.cs
- controlskin.cs
- FontFamily.cs
- EventProvider.cs
- MemoryStream.cs
- TextViewBase.cs
- TripleDES.cs
- BitSet.cs
- SqlErrorCollection.cs
- ThumbAutomationPeer.cs
- DPCustomTypeDescriptor.cs
- DefaultParameterValueAttribute.cs
- ResourceIDHelper.cs
- EntityType.cs
- BrowserCapabilitiesFactoryBase.cs
- TypeSemantics.cs
- PeerNeighborManager.cs
- HtmlWindow.cs
- Activity.cs
- PolicyManager.cs
- _IPv4Address.cs
- LOSFormatter.cs
- AspNetSynchronizationContext.cs
- SessionSwitchEventArgs.cs
- KoreanLunisolarCalendar.cs
- InternalTypeHelper.cs
- ProjectionPathBuilder.cs
- IRCollection.cs
- DataTableMappingCollection.cs
- BindingOperations.cs
- XmlDataContract.cs
- CodeArrayIndexerExpression.cs
- CodeExporter.cs
- CLSCompliantAttribute.cs
- VectorCollection.cs
- AsyncResult.cs
- MetadataCache.cs
- CommonDialog.cs
- EventDriven.cs
- SourceFileBuildProvider.cs
- SqlOuterApplyReducer.cs
- WebServiceMethodData.cs
- SplitterPanelDesigner.cs
- XPathNavigator.cs
- CultureSpecificCharacterBufferRange.cs
- XPathNodeInfoAtom.cs
- CallbackValidator.cs
- NamespaceEmitter.cs
- ResourceReader.cs
- PointCollection.cs
- Matrix.cs
- HttpDebugHandler.cs
- HandleCollector.cs
- BuildManagerHost.cs
- MetafileHeaderWmf.cs
- RIPEMD160Managed.cs
- PasswordValidationException.cs
- UnauthorizedWebPart.cs
- MultiBinding.cs
- IntSecurity.cs
- mactripleDES.cs
- LocatorPartList.cs
- HitTestResult.cs
- AppliedDeviceFiltersEditor.cs
- ReplacementText.cs
- GenericIdentity.cs
- Visual.cs
- DataKeyArray.cs
- TextRenderer.cs
- AsyncResult.cs
- RecognizerBase.cs
- DelegateBodyWriter.cs
- DataGridRowClipboardEventArgs.cs
- FirstMatchCodeGroup.cs
- AppDomain.cs
- EditorZone.cs
- MetabaseSettings.cs
- MarkupExtensionParser.cs
- FixedDSBuilder.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- SqlConnectionPoolGroupProviderInfo.cs
- CompoundFileIOPermission.cs
- TableItemPattern.cs
- ExceptionHandlerDesigner.cs
- Internal.cs
- WindowsFont.cs
- TemplateBaseAction.cs
- InputLangChangeRequestEvent.cs
- IisTraceWebEventProvider.cs
- BitmapMetadataEnumerator.cs
- LinqDataSourceUpdateEventArgs.cs
- ProjectionPruner.cs
- NotSupportedException.cs
- WebPartDescription.cs
- XsdSchemaFileEditor.cs
- CellTreeNode.cs
- PerformanceCounterManager.cs
- CustomGrammar.cs
- RankException.cs
- TransformedBitmap.cs