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
- SchemaManager.cs
- TimeSpanConverter.cs
- TableAutomationPeer.cs
- FontFamilyConverter.cs
- GridViewRowCollection.cs
- SatelliteContractVersionAttribute.cs
- XmlEntity.cs
- ArglessEventHandlerProxy.cs
- DefaultMemberAttribute.cs
- AlternationConverter.cs
- KeyedCollection.cs
- MessageQueueCriteria.cs
- DataSpaceManager.cs
- HttpListenerException.cs
- XamlGridLengthSerializer.cs
- BooleanAnimationUsingKeyFrames.cs
- ColorTranslator.cs
- VerticalAlignConverter.cs
- ThrowHelper.cs
- SqlNodeAnnotation.cs
- RtfToXamlReader.cs
- BackStopAuthenticationModule.cs
- COM2IDispatchConverter.cs
- WebRequest.cs
- SqlUserDefinedTypeAttribute.cs
- ParserOptions.cs
- FlowLayout.cs
- ExpandCollapseProviderWrapper.cs
- TabControlCancelEvent.cs
- Mapping.cs
- TemplateNameScope.cs
- WSSecurityXXX2005.cs
- SmiGettersStream.cs
- TabItemAutomationPeer.cs
- RegexParser.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- Or.cs
- QilStrConcat.cs
- MimeTypeAttribute.cs
- XmlSchemaParticle.cs
- SplineKeyFrames.cs
- LabelEditEvent.cs
- ClientRuntimeConfig.cs
- DataGridDesigner.cs
- SortExpressionBuilder.cs
- SqlDataSourceParameterParser.cs
- ThumbAutomationPeer.cs
- LinkedList.cs
- PageFunction.cs
- ElementNotEnabledException.cs
- XmlLoader.cs
- OleDbPropertySetGuid.cs
- WebPartZoneBase.cs
- PictureBox.cs
- DetailsViewInsertEventArgs.cs
- SystemNetHelpers.cs
- WeakReadOnlyCollection.cs
- FixedFlowMap.cs
- ReaderWriterLock.cs
- HttpGetServerProtocol.cs
- _AuthenticationState.cs
- ConfigXmlElement.cs
- XmlIncludeAttribute.cs
- ListItemCollection.cs
- HTMLTextWriter.cs
- MessageSecurityOverTcp.cs
- SystemTcpStatistics.cs
- EmptyControlCollection.cs
- Transactions.cs
- PrimaryKeyTypeConverter.cs
- SmiEventSink.cs
- DecimalConverter.cs
- CodeTypeReferenceCollection.cs
- NameValueConfigurationCollection.cs
- ExternalException.cs
- WebSysDefaultValueAttribute.cs
- DataGridViewTextBoxCell.cs
- DataServiceResponse.cs
- MsmqTransportReceiveParameters.cs
- ParseChildrenAsPropertiesAttribute.cs
- DbConnectionPoolOptions.cs
- ErrorHandlingAcceptor.cs
- ExpressionEditorAttribute.cs
- PtsCache.cs
- SqlDataAdapter.cs
- DataGridViewSelectedCellCollection.cs
- DiagnosticsConfiguration.cs
- QilInvokeLateBound.cs
- BamlLocalizableResourceKey.cs
- KeyValueInternalCollection.cs
- ClientFormsAuthenticationMembershipProvider.cs
- SecurityChannelFactory.cs
- lengthconverter.cs
- Processor.cs
- peernodeimplementation.cs
- WorkflowTransactionOptions.cs
- AccessDataSourceView.cs
- Cursors.cs
- CompositionAdorner.cs
- TypeListConverter.cs