Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Design / AppliedDeviceFiltersEditor.cs / 1305376 / AppliedDeviceFiltersEditor.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.Design.MobileControls
{
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Drawing.Design;
using System.Windows.Forms.Design;
using DialogResult = System.Windows.Forms.DialogResult;
[
System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand,
Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)
]
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
internal class AppliedDeviceFiltersTypeEditor : UITypeEditor
{
private static readonly String _appliedDeviceFiltersDescription = "AppliedDeviceFilters";
public override Object EditValue(ITypeDescriptorContext context, IServiceProvider provider, Object value)
{
Debug.Assert(context.Instance is Control, "Expected control");
Control ctrl = (Control) context.Instance;
IServiceProvider serviceProvider;
ISite site = ctrl.Site;
if (site == null && ctrl.Page != null)
{
site = ctrl.Page.Site;
}
if (site != null)
{
serviceProvider = site;
}
else
{
serviceProvider = provider;
}
Debug.Assert(serviceProvider != null,
"Failed to get the serviceProvider");
IComponentChangeService changeService =
(IComponentChangeService) serviceProvider.GetService(typeof(IComponentChangeService));
IDesignerHost designerHost =
(IDesignerHost) serviceProvider.GetService(typeof(IDesignerHost));
Debug.Assert(designerHost != null,
"Must always have access to IDesignerHost service");
IDeviceSpecificDesigner dsDesigner =
designerHost.GetDesigner(ctrl) as IDeviceSpecificDesigner;
Debug.Assert(dsDesigner != null,
"Expected component designer to implement IDeviceSpecificDesigner");
IMobileWebFormServices wfServices =
(IMobileWebFormServices)serviceProvider.GetService(typeof(IMobileWebFormServices));
DialogResult result = DialogResult.Cancel;
DesignerTransaction transaction = designerHost.CreateTransaction(_appliedDeviceFiltersDescription);
try
{
if (changeService != null)
{
try
{
changeService.OnComponentChanging(ctrl, null);
}
catch (CheckoutException ce)
{
if (ce == CheckoutException.Canceled)
{
return value;
}
throw;
}
}
try
{
AppliedDeviceFiltersDialog dialog =
new AppliedDeviceFiltersDialog(dsDesigner, MobileControlDesigner.MergingContextChoices);
IWindowsFormsEditorService edSvc =
(IWindowsFormsEditorService) provider.GetService(typeof(IWindowsFormsEditorService));
result = edSvc.ShowDialog(dialog);
}
finally
{
if (changeService != null && result != DialogResult.Cancel)
{
changeService.OnComponentChanged(ctrl, null, null, null);
}
}
}
finally
{
if (transaction != null)
{
if (result == DialogResult.OK)
{
transaction.Commit();
}
else
{
transaction.Cancel();
}
}
}
return value;
}
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.Modal;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ClosableStream.cs
- SharedPersonalizationStateInfo.cs
- DataGridViewMethods.cs
- FrameworkTextComposition.cs
- Positioning.cs
- __TransparentProxy.cs
- AlphaSortedEnumConverter.cs
- EntityReference.cs
- XMLSyntaxException.cs
- DataDocumentXPathNavigator.cs
- ConvertersCollection.cs
- NavigationWindow.cs
- _KerberosClient.cs
- SettingsAttributes.cs
- ItemsControl.cs
- StackBuilderSink.cs
- ItemCollectionEditor.cs
- Zone.cs
- CompressedStack.cs
- PointHitTestParameters.cs
- Container.cs
- RotateTransform.cs
- CompleteWizardStep.cs
- StreamWithDictionary.cs
- DataGridViewCellStateChangedEventArgs.cs
- ExtentKey.cs
- AuthenticationModulesSection.cs
- EventBindingService.cs
- ToolStripLabel.cs
- TripleDESCryptoServiceProvider.cs
- ListDataBindEventArgs.cs
- SetStateDesigner.cs
- Claim.cs
- SqlDataSourceView.cs
- XmlSiteMapProvider.cs
- GridViewSortEventArgs.cs
- ObjectStateEntryDbDataRecord.cs
- PasswordTextNavigator.cs
- DLinqTableProvider.cs
- EventBuilder.cs
- ProfileSettingsCollection.cs
- XsdBuilder.cs
- LessThan.cs
- PrintingPermissionAttribute.cs
- EditorAttribute.cs
- Assembly.cs
- ProcessInputEventArgs.cs
- ChangeDirector.cs
- ListViewInsertionMark.cs
- ToolTip.cs
- NextPreviousPagerField.cs
- ToolboxBitmapAttribute.cs
- Int16Storage.cs
- DrawingContextDrawingContextWalker.cs
- PlatformCulture.cs
- MailHeaderInfo.cs
- oledbmetadatacollectionnames.cs
- RulePatternOps.cs
- ImageAnimator.cs
- DesignerLoader.cs
- XXXOnTypeBuilderInstantiation.cs
- EmptyStringExpandableObjectConverter.cs
- ResXResourceWriter.cs
- SpellerHighlightLayer.cs
- XmlSchemaExporter.cs
- StorageMappingItemCollection.cs
- EventTrigger.cs
- BindingNavigator.cs
- FixedTextView.cs
- SystemInformation.cs
- BinaryWriter.cs
- TreeViewAutomationPeer.cs
- TextServicesHost.cs
- PersonalizationStateInfoCollection.cs
- StagingAreaInputItem.cs
- StructuralObject.cs
- DotExpr.cs
- ResourceKey.cs
- IisTraceListener.cs
- Decorator.cs
- ISessionStateStore.cs
- SchemaLookupTable.cs
- SqlDeflator.cs
- __Filters.cs
- Serializer.cs
- CanonicalizationDriver.cs
- Message.cs
- EventRoute.cs
- TemplatePropertyEntry.cs
- SortableBindingList.cs
- ZoneLinkButton.cs
- Int32CollectionConverter.cs
- Peer.cs
- IpcClientChannel.cs
- AssemblyAssociatedContentFileAttribute.cs
- ResourceAttributes.cs
- XmlIterators.cs
- StaticFileHandler.cs
- CqlParser.cs
- SoapSchemaImporter.cs