Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- BrowserCapabilitiesFactoryBase.cs
- figurelength.cs
- DataPagerFieldCommandEventArgs.cs
- ObjectListTitleAttribute.cs
- TextSelectionProcessor.cs
- NullExtension.cs
- ContextMenuStrip.cs
- Rotation3D.cs
- CollaborationHelperFunctions.cs
- Quad.cs
- _AutoWebProxyScriptEngine.cs
- Literal.cs
- TimeSpanOrInfiniteValidator.cs
- FileDialog_Vista_Interop.cs
- CompilerWrapper.cs
- SessionStateContainer.cs
- TextContainer.cs
- CodeGenerator.cs
- ExtensionElementCollection.cs
- DiscreteKeyFrames.cs
- MessageQueuePermissionAttribute.cs
- MessageDescription.cs
- SpAudioStreamWrapper.cs
- Types.cs
- DataGridRowsPresenter.cs
- DetailsViewInsertEventArgs.cs
- MetadataCache.cs
- QilStrConcatenator.cs
- CaseStatementProjectedSlot.cs
- BaseTypeViewSchema.cs
- TablePattern.cs
- BaseProcessor.cs
- MessageHeaderException.cs
- SimpleTypeResolver.cs
- RectAnimationUsingKeyFrames.cs
- ClassData.cs
- WinEventHandler.cs
- CodeDomConfigurationHandler.cs
- PolygonHotSpot.cs
- OutOfMemoryException.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- StackSpiller.Temps.cs
- TableChangeProcessor.cs
- DataControlImageButton.cs
- ContentElement.cs
- EventLogPermission.cs
- MulticastNotSupportedException.cs
- XmlDictionary.cs
- CodeDirectionExpression.cs
- X509Certificate2.cs
- Table.cs
- SynchronizedInputHelper.cs
- thaishape.cs
- EncoderParameters.cs
- FilteredXmlReader.cs
- Wizard.cs
- SessionStateSection.cs
- PreProcessInputEventArgs.cs
- CustomPopupPlacement.cs
- Matrix.cs
- OutputCacheProfile.cs
- HttpDebugHandler.cs
- SqlDataAdapter.cs
- WmlValidationSummaryAdapter.cs
- StructuralComparisons.cs
- CustomAttributeSerializer.cs
- PermissionRequestEvidence.cs
- HttpRawResponse.cs
- securitycriticaldataClass.cs
- BaseTemplateBuildProvider.cs
- EditCommandColumn.cs
- StorageComplexPropertyMapping.cs
- ByteStorage.cs
- TypeUtils.cs
- MiniModule.cs
- XmlSchemaComplexContentExtension.cs
- HttpBrowserCapabilitiesBase.cs
- NativeWindow.cs
- AQNBuilder.cs
- CursorInteropHelper.cs
- ItemCheckedEvent.cs
- FormViewUpdatedEventArgs.cs
- Select.cs
- HwndSubclass.cs
- CapabilitiesUse.cs
- UInt64Storage.cs
- ResizeBehavior.cs
- OdbcPermission.cs
- FileCodeGroup.cs
- StorageMappingItemLoader.cs
- PerformanceCounterPermissionEntryCollection.cs
- SimpleApplicationHost.cs
- BamlStream.cs
- PhysicalFontFamily.cs
- ClientTargetCollection.cs
- BufferedWebEventProvider.cs
- Vector3DAnimation.cs
- RefreshPropertiesAttribute.cs
- ThumbAutomationPeer.cs
- PeerNameRegistration.cs