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
- DataMemberConverter.cs
- SoapObjectReader.cs
- XmlUnspecifiedAttribute.cs
- DocumentSequenceHighlightLayer.cs
- TransformedBitmap.cs
- SoapSchemaImporter.cs
- Queue.cs
- HeaderLabel.cs
- SrgsElementFactory.cs
- IdentitySection.cs
- ActivationProxy.cs
- WsrmMessageInfo.cs
- XNameTypeConverter.cs
- SqlClientWrapperSmiStreamChars.cs
- BuilderPropertyEntry.cs
- RelatedPropertyManager.cs
- NamespaceInfo.cs
- QueryOptionExpression.cs
- TextView.cs
- DropShadowEffect.cs
- HtmlTextArea.cs
- WorkflowRuntimeService.cs
- BinaryKeyIdentifierClause.cs
- FilteredAttributeCollection.cs
- arc.cs
- SurrogateEncoder.cs
- BitHelper.cs
- Sql8ExpressionRewriter.cs
- SqlMethodCallConverter.cs
- EditorZone.cs
- ConstructorNeedsTagAttribute.cs
- InternalTypeHelper.cs
- ForEachAction.cs
- FormsAuthenticationEventArgs.cs
- MetadataCacheItem.cs
- GridViewSelectEventArgs.cs
- DependencySource.cs
- TextEditorTyping.cs
- Simplifier.cs
- TypeContext.cs
- TrackingParticipant.cs
- VectorAnimationBase.cs
- TdsParserStaticMethods.cs
- Rect.cs
- HttpCapabilitiesBase.cs
- SQLBinaryStorage.cs
- OutOfProcStateClientManager.cs
- ParsedAttributeCollection.cs
- StaticTextPointer.cs
- FontDriver.cs
- ConnectionManagementElement.cs
- SoapFaultCodes.cs
- PropertyAccessVisitor.cs
- GraphicsPathIterator.cs
- SQLDoubleStorage.cs
- WorkItem.cs
- StringAnimationUsingKeyFrames.cs
- CommandManager.cs
- TCEAdapterGenerator.cs
- Process.cs
- AsyncStreamReader.cs
- BooleanFacetDescriptionElement.cs
- SecurityKeyUsage.cs
- TiffBitmapDecoder.cs
- OdbcConnectionStringbuilder.cs
- XsltQilFactory.cs
- Pkcs7Signer.cs
- DelegatedStream.cs
- BindableAttribute.cs
- TextTreeInsertElementUndoUnit.cs
- RefExpr.cs
- ToolStripSettings.cs
- WSIdentityFaultException.cs
- AssemblyCollection.cs
- HtmlSelect.cs
- GlyphTypeface.cs
- CellLabel.cs
- VerificationException.cs
- GridViewDeleteEventArgs.cs
- RotateTransform3D.cs
- XPathNavigatorReader.cs
- SimpleType.cs
- ServiceModelExtensionElement.cs
- SelectedDatesCollection.cs
- DesignTimeType.cs
- WebReferencesBuildProvider.cs
- _Connection.cs
- SystemBrushes.cs
- DoubleLink.cs
- ASCIIEncoding.cs
- XpsPackagingPolicy.cs
- OutOfProcStateClientManager.cs
- BuildProviderCollection.cs
- Scene3D.cs
- StringPropertyBuilder.cs
- Html32TextWriter.cs
- AccessKeyManager.cs
- EventData.cs
- ExpressionStringBuilder.cs
- TypeDependencyAttribute.cs