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
- DataGridItemEventArgs.cs
- ContentFileHelper.cs
- SineEase.cs
- QilValidationVisitor.cs
- BitmapPalettes.cs
- ActivationArguments.cs
- NativeMethods.cs
- Baml2006Reader.cs
- XPathNavigatorKeyComparer.cs
- ButtonChrome.cs
- DirtyTextRange.cs
- MD5CryptoServiceProvider.cs
- SafeFileMappingHandle.cs
- ParameterCollection.cs
- RayHitTestParameters.cs
- CustomError.cs
- DataControlFieldHeaderCell.cs
- SecureUICommand.cs
- JapaneseCalendar.cs
- DrawingContextDrawingContextWalker.cs
- ProgressPage.cs
- DigitShape.cs
- NumberFunctions.cs
- Utils.cs
- SQLUtility.cs
- PrintDialog.cs
- TreeNodeClickEventArgs.cs
- FrameworkObject.cs
- Operator.cs
- LongAverageAggregationOperator.cs
- WebBrowserPermission.cs
- FilterQuery.cs
- XsdBuildProvider.cs
- Style.cs
- GenericArgumentsUpdater.cs
- ArgumentNullException.cs
- DynamicMetaObjectBinder.cs
- NameNode.cs
- CodeDomLocalizationProvider.cs
- Keyboard.cs
- BroadcastEventHelper.cs
- Boolean.cs
- FontStyle.cs
- ConsumerConnectionPoint.cs
- XsdCachingReader.cs
- TableCellsCollectionEditor.cs
- MethodExpr.cs
- ElementProxy.cs
- BindingMemberInfo.cs
- _ScatterGatherBuffers.cs
- FormViewInsertedEventArgs.cs
- Resources.Designer.cs
- HttpPostProtocolImporter.cs
- RequiredAttributeAttribute.cs
- OperationContractAttribute.cs
- CompoundFileStreamReference.cs
- UserControlAutomationPeer.cs
- FactoryGenerator.cs
- ListViewUpdateEventArgs.cs
- ByteAnimation.cs
- OneOfTypeConst.cs
- LiteralControl.cs
- ExtenderControl.cs
- EventDescriptor.cs
- WmpBitmapEncoder.cs
- FontStyle.cs
- PrtCap_Public_Simple.cs
- CallSiteOps.cs
- SQLString.cs
- _ListenerAsyncResult.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- SessionIDManager.cs
- FlagsAttribute.cs
- MiniCustomAttributeInfo.cs
- TagPrefixInfo.cs
- TableRowsCollectionEditor.cs
- WebPartConnectionsConfigureVerb.cs
- OrderByLifter.cs
- PixelFormatConverter.cs
- CheckableControlBaseAdapter.cs
- ConsoleCancelEventArgs.cs
- DefaultIfEmptyQueryOperator.cs
- ModelVisual3D.cs
- MergeFailedEvent.cs
- OleDbMetaDataFactory.cs
- DragEvent.cs
- ExtensionElementCollection.cs
- ReadOnlyDictionary.cs
- DocumentSchemaValidator.cs
- RijndaelManagedTransform.cs
- FocusWithinProperty.cs
- PageCatalogPartDesigner.cs
- DataGridColumnHeader.cs
- TableLayoutPanelCellPosition.cs
- PolyBezierSegment.cs
- ResXBuildProvider.cs
- IdnMapping.cs
- TableDesigner.cs
- Image.cs
- XmlRootAttribute.cs