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
- LinearGradientBrush.cs
- Simplifier.cs
- HttpProfileBase.cs
- HashCodeCombiner.cs
- SizeChangedInfo.cs
- XmlWrappingWriter.cs
- WebPartMinimizeVerb.cs
- Helpers.cs
- SecurityKeyUsage.cs
- HMAC.cs
- UDPClient.cs
- SecurityProtocol.cs
- WriteTimeStream.cs
- AppDomainFactory.cs
- JapaneseLunisolarCalendar.cs
- TableLayoutPanel.cs
- Pens.cs
- ProcessHost.cs
- IgnoreFlushAndCloseStream.cs
- PropertyChangeTracker.cs
- DescendantQuery.cs
- LeftCellWrapper.cs
- DataViewManager.cs
- NavigationWindowAutomationPeer.cs
- EncoderExceptionFallback.cs
- XamlBrushSerializer.cs
- ConfigurationStrings.cs
- WebResourceAttribute.cs
- Authorization.cs
- BitmapPalette.cs
- sqlinternaltransaction.cs
- ObjectCloneHelper.cs
- DiagnosticTrace.cs
- DynamicPropertyReader.cs
- AtomMaterializer.cs
- EventRecordWrittenEventArgs.cs
- TableRow.cs
- OleDbErrorCollection.cs
- ToolStripItemCollection.cs
- DesignTimeValidationFeature.cs
- RecognizerBase.cs
- RawAppCommandInputReport.cs
- EntityWrapper.cs
- BinaryNode.cs
- DataServiceQueryProvider.cs
- MenuAutomationPeer.cs
- AsyncCompletedEventArgs.cs
- EntityDataReader.cs
- ListViewDeletedEventArgs.cs
- ProfileManager.cs
- FileIOPermission.cs
- CursorConverter.cs
- PropertyInfoSet.cs
- XmlObjectSerializerReadContextComplexJson.cs
- SolidBrush.cs
- CacheAxisQuery.cs
- XmlAnyElementAttributes.cs
- TabletCollection.cs
- DocumentPaginator.cs
- ToolStripComboBox.cs
- Vector3DValueSerializer.cs
- ConsumerConnectionPointCollection.cs
- OleServicesContext.cs
- RequestTimeoutManager.cs
- DirectoryRootQuery.cs
- EntityClientCacheEntry.cs
- SafeNativeMethods.cs
- SqlProviderManifest.cs
- SqlTriggerContext.cs
- QilTypeChecker.cs
- SiteOfOriginPart.cs
- XmlText.cs
- DependencyPropertyChangedEventArgs.cs
- MasterPageCodeDomTreeGenerator.cs
- SmiSettersStream.cs
- AutomationElement.cs
- Style.cs
- WebSysDefaultValueAttribute.cs
- CustomServiceCredentials.cs
- ItemChangedEventArgs.cs
- XsltSettings.cs
- Util.cs
- ProvideValueServiceProvider.cs
- WindowsListViewItemCheckBox.cs
- smtppermission.cs
- CorePropertiesFilter.cs
- XmlSerializerNamespaces.cs
- LoggedException.cs
- PrintDialogDesigner.cs
- WebPartConnectionsCancelEventArgs.cs
- FileLogRecord.cs
- TreeViewImageKeyConverter.cs
- FlowDocumentReaderAutomationPeer.cs
- JsonReaderDelegator.cs
- xsdvalidator.cs
- DataGridViewColumnConverter.cs
- SchemaElementDecl.cs
- WorkflowMarkupSerializer.cs
- MenuScrollingVisibilityConverter.cs
- COMException.cs