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
- NavigationWindowAutomationPeer.cs
- ReadOnlyTernaryTree.cs
- XmlNodeComparer.cs
- SessionEndedEventArgs.cs
- ImplicitInputBrush.cs
- AbandonedMutexException.cs
- CalloutQueueItem.cs
- ComponentResourceManager.cs
- SelectionBorderGlyph.cs
- SecurityManager.cs
- DiagnosticStrings.cs
- RemotingConfiguration.cs
- InputManager.cs
- SmtpAuthenticationManager.cs
- TableCellCollection.cs
- EncodingNLS.cs
- DataListItemEventArgs.cs
- IChannel.cs
- DocumentPaginator.cs
- Transaction.cs
- ReadWriteSpinLock.cs
- RunWorkerCompletedEventArgs.cs
- SettingsContext.cs
- CodeTypeParameter.cs
- TransactedReceiveData.cs
- NativeMsmqMessage.cs
- SynchronizedInputProviderWrapper.cs
- GridViewRowCollection.cs
- SqlClientWrapperSmiStreamChars.cs
- HttpModuleAction.cs
- ClientSettingsSection.cs
- ListenerElementsCollection.cs
- Executor.cs
- WebPartEditorCancelVerb.cs
- ScriptingRoleServiceSection.cs
- EnumUnknown.cs
- ProviderSettings.cs
- IEnumerable.cs
- NullableConverter.cs
- SafeLocalAllocation.cs
- ActiveXContainer.cs
- SafeNativeMethods.cs
- StatusStrip.cs
- ExternalException.cs
- NamedElement.cs
- Calendar.cs
- XmlSchemaAny.cs
- QueryContext.cs
- CompareValidator.cs
- XmlCharType.cs
- SqlBulkCopyColumnMapping.cs
- sortedlist.cs
- DnsPermission.cs
- OptionUsage.cs
- XPathQilFactory.cs
- ConnectionManagementElementCollection.cs
- WindowsAltTab.cs
- ImageDesigner.cs
- SortQuery.cs
- StrongNameHelpers.cs
- DataGridViewUtilities.cs
- DecryptRequest.cs
- ISessionStateStore.cs
- SelectionPattern.cs
- ProtectedConfiguration.cs
- MemberDomainMap.cs
- NavigationHelper.cs
- EdmItemCollection.OcAssemblyCache.cs
- CodeAttributeArgumentCollection.cs
- DecimalAnimationBase.cs
- SystemSounds.cs
- DefinitionBase.cs
- ToolStripTextBox.cs
- CalendarDay.cs
- URLAttribute.cs
- TextTreeInsertUndoUnit.cs
- IDReferencePropertyAttribute.cs
- D3DImage.cs
- SerializationAttributes.cs
- SqlParameterizer.cs
- TempFiles.cs
- WsdlContractConversionContext.cs
- UidManager.cs
- XmlTextReaderImpl.cs
- DBCommandBuilder.cs
- PageEventArgs.cs
- SecUtil.cs
- TextPenaltyModule.cs
- DeferredSelectedIndexReference.cs
- TypeReference.cs
- DataGridViewRowStateChangedEventArgs.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- ProvideValueServiceProvider.cs
- XappLauncher.cs
- ToolStripArrowRenderEventArgs.cs
- GifBitmapDecoder.cs
- BamlRecords.cs
- Timer.cs
- RequestNavigateEventArgs.cs
- EntityCodeGenerator.cs