Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ConstraintConverter.cs
- WindowsFont.cs
- InkSerializer.cs
- SchemaDeclBase.cs
- InfoCardSymmetricAlgorithm.cs
- TrustLevelCollection.cs
- FileIOPermission.cs
- TraceXPathNavigator.cs
- ItemAutomationPeer.cs
- LayoutUtils.cs
- ASCIIEncoding.cs
- FormConverter.cs
- MetadataElement.cs
- SqlBooleanizer.cs
- XmlDocumentFragment.cs
- EnumType.cs
- GridErrorDlg.cs
- HMACSHA1.cs
- ObsoleteAttribute.cs
- UnescapedXmlDiagnosticData.cs
- DynamicValueConverter.cs
- SystemColorTracker.cs
- EntityViewGenerationConstants.cs
- BamlRecordReader.cs
- CodeObjectCreateExpression.cs
- HwndPanningFeedback.cs
- DefaultIfEmptyQueryOperator.cs
- ResourcePermissionBase.cs
- BitmapMetadataEnumerator.cs
- DisplayNameAttribute.cs
- UdpTransportSettingsElement.cs
- DesignerListAdapter.cs
- IConvertible.cs
- TreeIterators.cs
- ExpressionWriter.cs
- ContainerControl.cs
- DataGridColumnStyleMappingNameEditor.cs
- SerialErrors.cs
- RadioButtonFlatAdapter.cs
- CompilationUtil.cs
- QualifierSet.cs
- HtmlControlAdapter.cs
- SmiSettersStream.cs
- CellQuery.cs
- GeneralTransform3DTo2DTo3D.cs
- DocumentGridPage.cs
- RtfNavigator.cs
- ReadOnlyDictionary.cs
- InvalidOleVariantTypeException.cs
- XmlSchemaIdentityConstraint.cs
- StandardRuntimeEnumValidatorAttribute.cs
- StylusCollection.cs
- NegotiateStream.cs
- CriticalFinalizerObject.cs
- PackageStore.cs
- Atom10FormatterFactory.cs
- TextRangeAdaptor.cs
- ParameterRetriever.cs
- FlatButtonAppearance.cs
- TextFormatterImp.cs
- PropertyManager.cs
- RepeatBehaviorConverter.cs
- QueryConverter.cs
- HttpListenerResponse.cs
- FtpCachePolicyElement.cs
- ListItemsPage.cs
- QueryStringParameter.cs
- ToolboxItemWrapper.cs
- DataGridRowAutomationPeer.cs
- XmlLinkedNode.cs
- FlowDocument.cs
- RequestCache.cs
- DataGridViewSelectedColumnCollection.cs
- HexParser.cs
- XmlReaderSettings.cs
- ToolStripDropTargetManager.cs
- _TLSstream.cs
- WebPartCancelEventArgs.cs
- Point3DCollectionValueSerializer.cs
- VSWCFServiceContractGenerator.cs
- FlowSwitchLink.cs
- Baml2006ReaderSettings.cs
- RequestCacheEntry.cs
- HuffCodec.cs
- InvokeHandlers.cs
- GenericParameterDataContract.cs
- Module.cs
- JpegBitmapDecoder.cs
- FunctionParameter.cs
- WindowsListViewItemStartMenu.cs
- Facet.cs
- HttpCacheParams.cs
- ArrayListCollectionBase.cs
- TokenBasedSetEnumerator.cs
- SelectionRange.cs
- TimelineGroup.cs
- AutomationPatternInfo.cs
- SubstitutionList.cs
- DictionaryEntry.cs
- QilGenerator.cs