Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / MS / Internal / Ink / TextClipboardData.cs / 1 / TextClipboardData.cs
//----------------------------------------------------------------------------
//
// File: TextClipboardData.cs
//
// Description:
// A base class which can copy a unicode text to the IDataObject.
// It also can get the unicode text from the IDataObject and create a corresponding textbox.
//
// Features:
//
// History:
// 11/17/2004 waynezen: Created
//
// Copyright (C) 2001 by Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Markup;
using System.Text;
namespace MS.Internal.Ink
{
internal class TextClipboardData : ElementsClipboardData
{
//-------------------------------------------------------------------------------
//
// Constructors
//
//-------------------------------------------------------------------------------
#region Constructors
// The default constructor
internal TextClipboardData() : this(null) {}
// The constructor with a string as argument
internal TextClipboardData(string text)
{
_text = text;
}
#endregion Constructors
// Checks if the data can be pasted.
internal override bool CanPaste(IDataObject dataObject)
{
return ( dataObject.GetDataPresent(DataFormats.UnicodeText, false)
|| dataObject.GetDataPresent(DataFormats.Text, false)
|| dataObject.GetDataPresent(DataFormats.OemText, false) );
}
//--------------------------------------------------------------------------------
//
// Protected Methods
//
//-------------------------------------------------------------------------------
#region Protected Methods
// Checks if the data can be copied.
protected override bool CanCopy()
{
return !string.IsNullOrEmpty(_text);
}
// Copy the text to the IDataObject
protected override void DoCopy(IDataObject dataObject)
{
// Put the text to the clipboard
dataObject.SetData(DataFormats.UnicodeText, _text, true);
}
// Retrieves the text from the IDataObject instance.
// Then create a textbox with the text data.
protected override void DoPaste(IDataObject dataObject)
{
ElementList = new List();
// Get the string from the data object.
string text = dataObject.GetData(DataFormats.UnicodeText, true) as string;
if ( String.IsNullOrEmpty(text) )
{
// OemText can be retrieved as CF_TEXT.
text = dataObject.GetData(DataFormats.Text, true) as string;
}
if ( !String.IsNullOrEmpty(text) )
{
// Now, create a text box and set the text to it.
TextBox textBox = new TextBox();
textBox.Text = text;
textBox.TextWrapping = TextWrapping.Wrap;
// Add the textbox to the internal array list.
ElementList.Add(textBox);
}
}
#endregion Protected Methods
//--------------------------------------------------------------------------------
//
// Private Fields
//
//--------------------------------------------------------------------------------
#region Private Fields
private string _text;
#endregion Private Fields
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
// File: TextClipboardData.cs
//
// Description:
// A base class which can copy a unicode text to the IDataObject.
// It also can get the unicode text from the IDataObject and create a corresponding textbox.
//
// Features:
//
// History:
// 11/17/2004 waynezen: Created
//
// Copyright (C) 2001 by Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Markup;
using System.Text;
namespace MS.Internal.Ink
{
internal class TextClipboardData : ElementsClipboardData
{
//-------------------------------------------------------------------------------
//
// Constructors
//
//-------------------------------------------------------------------------------
#region Constructors
// The default constructor
internal TextClipboardData() : this(null) {}
// The constructor with a string as argument
internal TextClipboardData(string text)
{
_text = text;
}
#endregion Constructors
// Checks if the data can be pasted.
internal override bool CanPaste(IDataObject dataObject)
{
return ( dataObject.GetDataPresent(DataFormats.UnicodeText, false)
|| dataObject.GetDataPresent(DataFormats.Text, false)
|| dataObject.GetDataPresent(DataFormats.OemText, false) );
}
//--------------------------------------------------------------------------------
//
// Protected Methods
//
//-------------------------------------------------------------------------------
#region Protected Methods
// Checks if the data can be copied.
protected override bool CanCopy()
{
return !string.IsNullOrEmpty(_text);
}
// Copy the text to the IDataObject
protected override void DoCopy(IDataObject dataObject)
{
// Put the text to the clipboard
dataObject.SetData(DataFormats.UnicodeText, _text, true);
}
// Retrieves the text from the IDataObject instance.
// Then create a textbox with the text data.
protected override void DoPaste(IDataObject dataObject)
{
ElementList = new List();
// Get the string from the data object.
string text = dataObject.GetData(DataFormats.UnicodeText, true) as string;
if ( String.IsNullOrEmpty(text) )
{
// OemText can be retrieved as CF_TEXT.
text = dataObject.GetData(DataFormats.Text, true) as string;
}
if ( !String.IsNullOrEmpty(text) )
{
// Now, create a text box and set the text to it.
TextBox textBox = new TextBox();
textBox.Text = text;
textBox.TextWrapping = TextWrapping.Wrap;
// Add the textbox to the internal array list.
ElementList.Add(textBox);
}
}
#endregion Protected Methods
//--------------------------------------------------------------------------------
//
// Private Fields
//
//--------------------------------------------------------------------------------
#region Private Fields
private string _text;
#endregion Private Fields
}
}
// 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
- DataGridViewCellValueEventArgs.cs
- WebPartChrome.cs
- X509CertificateInitiatorServiceCredential.cs
- Form.cs
- _CookieModule.cs
- XmlFormatExtensionPrefixAttribute.cs
- FixedSOMPageElement.cs
- DataGridViewColumnCollectionDialog.cs
- FtpCachePolicyElement.cs
- CollectionChangeEventArgs.cs
- odbcmetadatacollectionnames.cs
- BindingListCollectionView.cs
- SQlBooleanStorage.cs
- DtrList.cs
- DrawingAttributesDefaultValueFactory.cs
- ActiveXSite.cs
- ConfigXmlAttribute.cs
- DesignConnection.cs
- XmlCharCheckingReader.cs
- MonthChangedEventArgs.cs
- SvcMapFileSerializer.cs
- LoginCancelEventArgs.cs
- EventMappingSettingsCollection.cs
- ThaiBuddhistCalendar.cs
- IfAction.cs
- CodeSubDirectoriesCollection.cs
- AuthorizationRule.cs
- CompressStream.cs
- XmlAtomicValue.cs
- TypeUsage.cs
- PartialCachingControl.cs
- TemplateKeyConverter.cs
- StorageTypeMapping.cs
- DataSourceCollectionBase.cs
- TrackingProfileDeserializationException.cs
- KeyBinding.cs
- ResumeStoryboard.cs
- VirtualPathUtility.cs
- PipelineModuleStepContainer.cs
- MergeLocalizationDirectives.cs
- WebResponse.cs
- SetState.cs
- CodeAttributeArgumentCollection.cs
- OverrideMode.cs
- CodeCompileUnit.cs
- ShellProvider.cs
- FixedDocumentSequencePaginator.cs
- DataBindingHandlerAttribute.cs
- PropertyChangingEventArgs.cs
- ColorMap.cs
- MatrixTransform.cs
- ServiceProviders.cs
- TextFormatter.cs
- SafeRightsManagementSessionHandle.cs
- Latin1Encoding.cs
- SkipQueryOptionExpression.cs
- SizeAnimation.cs
- LineServicesCallbacks.cs
- MeshGeometry3D.cs
- CodeExporter.cs
- InvalidateEvent.cs
- SqlXml.cs
- NativeMethods.cs
- KeyboardNavigation.cs
- OdbcException.cs
- Converter.cs
- TableItemPattern.cs
- DropShadowBitmapEffect.cs
- AttributeCollection.cs
- PeerSecurityManager.cs
- UserControlCodeDomTreeGenerator.cs
- ByteFacetDescriptionElement.cs
- X509Certificate2Collection.cs
- EdmProperty.cs
- ProfileGroupSettings.cs
- FontInfo.cs
- Mouse.cs
- Completion.cs
- TableCell.cs
- SynchronizationContext.cs
- MenuItemStyle.cs
- DataGridItem.cs
- PlanCompilerUtil.cs
- XmlCharType.cs
- ParseChildrenAsPropertiesAttribute.cs
- MouseGestureConverter.cs
- WebPartAuthorizationEventArgs.cs
- FormsAuthenticationConfiguration.cs
- DataViewSettingCollection.cs
- InternalConfigHost.cs
- WaitForChangedResult.cs
- XmlDocumentFragment.cs
- ParameterBuilder.cs
- SystemUdpStatistics.cs
- LinkTarget.cs
- CreateWorkflowOwnerCommand.cs
- XmlMessageFormatter.cs
- PolyLineSegmentFigureLogic.cs
- DataGridLengthConverter.cs
- OleServicesContext.cs