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
- BitmapEncoder.cs
- ChannelManager.cs
- ValidationErrorEventArgs.cs
- Win32MouseDevice.cs
- ViewgenGatekeeper.cs
- _Connection.cs
- SettingsPropertyValue.cs
- ObsoleteAttribute.cs
- SqlEnums.cs
- CapiSymmetricAlgorithm.cs
- SafeNativeMethods.cs
- SelectionProcessor.cs
- FlowDocumentFormatter.cs
- StringFormat.cs
- FileVersion.cs
- TemplatePagerField.cs
- DesignerHelpers.cs
- WebConfigurationFileMap.cs
- ControlAdapter.cs
- OutArgumentConverter.cs
- _NetworkingPerfCounters.cs
- Point3DCollectionConverter.cs
- WsiProfilesElement.cs
- LineSegment.cs
- RepeaterItemEventArgs.cs
- XamlSerializerUtil.cs
- ImageCodecInfo.cs
- RouteItem.cs
- AssertUtility.cs
- UserPersonalizationStateInfo.cs
- DataGridCellsPresenter.cs
- TransactionCache.cs
- BitmapEffect.cs
- Root.cs
- IteratorDescriptor.cs
- EntityParameter.cs
- SiteMapHierarchicalDataSourceView.cs
- AttachInfo.cs
- IArgumentProvider.cs
- ResumeStoryboard.cs
- HtmlLink.cs
- SystemBrushes.cs
- PropertyMappingExceptionEventArgs.cs
- ManagedIStream.cs
- SessionStateSection.cs
- IdentityValidationException.cs
- IndexObject.cs
- ImportRequest.cs
- OdbcConnectionFactory.cs
- EdmEntityTypeAttribute.cs
- SiteOfOriginPart.cs
- SchemaCompiler.cs
- CutCopyPasteHelper.cs
- _SingleItemRequestCache.cs
- SrgsNameValueTag.cs
- DragDeltaEventArgs.cs
- WorkflowQueuingService.cs
- NamedPipeTransportBindingElement.cs
- SocketInformation.cs
- XmlImplementation.cs
- DataControlFieldTypeEditor.cs
- RangeBaseAutomationPeer.cs
- SolidColorBrush.cs
- CheckBoxFlatAdapter.cs
- StorageBasedPackageProperties.cs
- SqlInternalConnectionTds.cs
- SelfIssuedTokenFactoryCredential.cs
- XmlMemberMapping.cs
- HttpListenerException.cs
- AppDomainProtocolHandler.cs
- WaitHandle.cs
- InfiniteIntConverter.cs
- TemplateBindingExpression.cs
- XPathParser.cs
- __Filters.cs
- ISO2022Encoding.cs
- Floater.cs
- Input.cs
- DataGridCaption.cs
- ObjectPersistData.cs
- DockProviderWrapper.cs
- Formatter.cs
- SiteIdentityPermission.cs
- XmlParser.cs
- TimeoutException.cs
- BooleanConverter.cs
- GridViewUpdateEventArgs.cs
- Environment.cs
- StringInfo.cs
- ServerIdentity.cs
- WindowsImpersonationContext.cs
- XmlIgnoreAttribute.cs
- Misc.cs
- LinkButton.cs
- ForEachAction.cs
- SizeChangedInfo.cs
- HelloMessage11.cs
- TraceSwitch.cs
- DispatchOperationRuntime.cs
- EdmProviderManifest.cs