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
- AutomationPropertyInfo.cs
- OleDbRowUpdatingEvent.cs
- DBSqlParserColumn.cs
- XpsFilter.cs
- PropertyGridCommands.cs
- Stackframe.cs
- TextBoxRenderer.cs
- SQLSingleStorage.cs
- Helpers.cs
- IntSecurity.cs
- StorageModelBuildProvider.cs
- ScopeElement.cs
- CardSpaceSelector.cs
- ToolboxItemFilterAttribute.cs
- KeyboardNavigation.cs
- XNodeValidator.cs
- DeviceFilterDictionary.cs
- CFStream.cs
- CodeTypeReferenceCollection.cs
- CopyEncoder.cs
- IconConverter.cs
- Operator.cs
- UIElementParagraph.cs
- ScriptComponentDescriptor.cs
- DataGridViewHeaderCell.cs
- AxImporter.cs
- TypedTableBaseExtensions.cs
- FixedPageStructure.cs
- DataGridBoundColumn.cs
- ShapeTypeface.cs
- RuntimeResourceSet.cs
- GPPOINT.cs
- ItemList.cs
- ExpressionBindingCollection.cs
- UdpDiscoveryEndpointElement.cs
- ApplicationContext.cs
- TextShapeableCharacters.cs
- MetadataItem_Static.cs
- ECDsaCng.cs
- Calendar.cs
- DataTablePropertyDescriptor.cs
- SudsCommon.cs
- LocalizedNameDescriptionPair.cs
- DesignSurfaceCollection.cs
- EntityViewGenerator.cs
- Pen.cs
- TextEndOfLine.cs
- JavascriptCallbackBehaviorAttribute.cs
- PeerInvitationResponse.cs
- BStrWrapper.cs
- Array.cs
- TransformGroup.cs
- SystemInfo.cs
- PasswordTextNavigator.cs
- SafeRegistryKey.cs
- JsonReaderWriterFactory.cs
- SamlAttributeStatement.cs
- BufferedGraphicsManager.cs
- TypeSystem.cs
- UnderstoodHeaders.cs
- SqlXml.cs
- DataFieldConverter.cs
- WorkflowItemPresenter.cs
- MetadataItem.cs
- UIAgentCrashedException.cs
- HashRepartitionStream.cs
- MsmqChannelListenerBase.cs
- MenuAutomationPeer.cs
- ImmComposition.cs
- Gdiplus.cs
- SafeHandles.cs
- TagPrefixInfo.cs
- DockPattern.cs
- TransportSecurityHelpers.cs
- RegexWriter.cs
- CodeTypeMemberCollection.cs
- ClientTarget.cs
- SchemaMerger.cs
- ExpressionEditorAttribute.cs
- StyleCollectionEditor.cs
- SatelliteContractVersionAttribute.cs
- ThicknessConverter.cs
- CompositeScriptReference.cs
- XslVisitor.cs
- Propagator.Evaluator.cs
- SymmetricKey.cs
- TextTreeInsertUndoUnit.cs
- SqlSelectStatement.cs
- LicenseContext.cs
- RawKeyboardInputReport.cs
- FlagsAttribute.cs
- BoundingRectTracker.cs
- EastAsianLunisolarCalendar.cs
- TcpSocketManager.cs
- CompiledQuery.cs
- ThicknessAnimationUsingKeyFrames.cs
- X509CertificateInitiatorClientCredential.cs
- DataServiceProcessingPipeline.cs
- AssertSection.cs
- MessageSecurityVersionConverter.cs