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
- OdbcStatementHandle.cs
- XmlSchemaSimpleTypeList.cs
- DesignerSerializerAttribute.cs
- FormatPage.cs
- EventDescriptorCollection.cs
- ReferencedAssembly.cs
- UnknownBitmapEncoder.cs
- WorkflowMessageEventHandler.cs
- FocusWithinProperty.cs
- OdbcFactory.cs
- OleDbEnumerator.cs
- DataListAutoFormat.cs
- PrintPreviewGraphics.cs
- SmiEventSink.cs
- ColorContextHelper.cs
- Graph.cs
- FileVersionInfo.cs
- MachineKeySection.cs
- StylusOverProperty.cs
- ProfilePropertySettingsCollection.cs
- MultiDataTrigger.cs
- path.cs
- Bitmap.cs
- TargetControlTypeCache.cs
- DataGridViewRowEventArgs.cs
- TypedTableHandler.cs
- RepeatButtonAutomationPeer.cs
- Knowncolors.cs
- FlowDocumentScrollViewer.cs
- ListBindableAttribute.cs
- Function.cs
- ResourceDescriptionAttribute.cs
- ChangeNode.cs
- ReferencedCollectionType.cs
- PagesSection.cs
- RoleService.cs
- ColorAnimationUsingKeyFrames.cs
- Literal.cs
- Attributes.cs
- InputBinding.cs
- DrawingVisual.cs
- RootBrowserWindowProxy.cs
- XsltInput.cs
- DataRowView.cs
- HttpModuleAction.cs
- PageSetupDialog.cs
- ExpressionBindings.cs
- DbParameterCollectionHelper.cs
- Publisher.cs
- DataGridViewComboBoxEditingControl.cs
- ExcludeFromCodeCoverageAttribute.cs
- ControlDesigner.cs
- KeyFrames.cs
- DataContext.cs
- TagNameToTypeMapper.cs
- RouteItem.cs
- BindStream.cs
- DataGridViewComboBoxEditingControl.cs
- MaterialGroup.cs
- GiveFeedbackEventArgs.cs
- EllipticalNodeOperations.cs
- EnumValAlphaComparer.cs
- XPathScanner.cs
- Graphics.cs
- EntityDataSourceWizardForm.cs
- RayMeshGeometry3DHitTestResult.cs
- TrackingServices.cs
- PatternMatcher.cs
- Verify.cs
- CodeObject.cs
- TreeView.cs
- ListViewCommandEventArgs.cs
- WindowsPrincipal.cs
- CodeParameterDeclarationExpressionCollection.cs
- LongSumAggregationOperator.cs
- LifetimeManager.cs
- XmlAggregates.cs
- XmlSchemaAttributeGroup.cs
- Brush.cs
- StreamUpdate.cs
- DataBoundControlAdapter.cs
- PageClientProxyGenerator.cs
- ImageSource.cs
- SemaphoreSlim.cs
- DispatcherTimer.cs
- XmlLanguageConverter.cs
- WindowsRichEditRange.cs
- ListChangedEventArgs.cs
- Floater.cs
- ValidatorUtils.cs
- PropertyGridView.cs
- DPTypeDescriptorContext.cs
- TreeNodeMouseHoverEvent.cs
- CodeArrayCreateExpression.cs
- X509SecurityTokenAuthenticator.cs
- MsdtcClusterUtils.cs
- ClassicBorderDecorator.cs
- RangeBase.cs
- HttpCookiesSection.cs
- BoolLiteral.cs