Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- RMPublishingDialog.cs
- ComponentDesigner.cs
- DoubleLink.cs
- WebHttpBindingElement.cs
- Journal.cs
- NetCodeGroup.cs
- DataBindingValueUIHandler.cs
- Ref.cs
- CanonicalFontFamilyReference.cs
- ArrayTypeMismatchException.cs
- KeyboardNavigation.cs
- DataGridViewLinkCell.cs
- MenuAdapter.cs
- LazyTextWriterCreator.cs
- CheckedPointers.cs
- HuffModule.cs
- DataGridViewEditingControlShowingEventArgs.cs
- FactoryGenerator.cs
- XmlMembersMapping.cs
- DataSpaceManager.cs
- ContentValidator.cs
- RuntimeConfigurationRecord.cs
- Utils.cs
- StringBlob.cs
- ConfigurationLockCollection.cs
- __Filters.cs
- ReferenceConverter.cs
- OciEnlistContext.cs
- StringDictionary.cs
- ConnectionInterfaceCollection.cs
- _NtlmClient.cs
- SequenceNumber.cs
- TypeReference.cs
- HijriCalendar.cs
- BinHexEncoder.cs
- StaticExtensionConverter.cs
- WmlTextViewAdapter.cs
- AppDomainGrammarProxy.cs
- MulticastDelegate.cs
- ToolStripComboBox.cs
- NativeMethods.cs
- TickBar.cs
- PeerNameRecord.cs
- XPathParser.cs
- DbMetaDataCollectionNames.cs
- LocalizationComments.cs
- Size3D.cs
- DataGridViewColumnEventArgs.cs
- TTSEngineTypes.cs
- MoveSizeWinEventHandler.cs
- TimeIntervalCollection.cs
- handlecollector.cs
- EnumValAlphaComparer.cs
- Command.cs
- shaper.cs
- FixedSOMTextRun.cs
- NavigationProgressEventArgs.cs
- WebPartEditorApplyVerb.cs
- ReachSerializationCacheItems.cs
- ViewCellSlot.cs
- DbBuffer.cs
- RegularExpressionValidator.cs
- PtsCache.cs
- GeometryCollection.cs
- SemanticValue.cs
- SQLBytes.cs
- _emptywebproxy.cs
- DesignerDataView.cs
- TileBrush.cs
- OpenFileDialog.cs
- CultureSpecificCharacterBufferRange.cs
- userdatakeys.cs
- NameObjectCollectionBase.cs
- SchemaCollectionCompiler.cs
- TypeSystemProvider.cs
- CompiledXpathExpr.cs
- ObjectViewFactory.cs
- FtpWebRequest.cs
- WindowsGraphics2.cs
- ImportDesigner.xaml.cs
- HttpTransportSecurity.cs
- Touch.cs
- SiteMapNode.cs
- ObjectAssociationEndMapping.cs
- GZipStream.cs
- HostedTransportConfigurationManager.cs
- MimeWriter.cs
- TextSearch.cs
- CryptoApi.cs
- PlanCompiler.cs
- SBCSCodePageEncoding.cs
- HttpProfileGroupBase.cs
- MarshalByValueComponent.cs
- PersianCalendar.cs
- StylusPointProperty.cs
- CheckBoxBaseAdapter.cs
- CorruptStoreException.cs
- MasterPageCodeDomTreeGenerator.cs
- RelationshipManager.cs
- BooleanFunctions.cs