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
- SmiXetterAccessMap.cs
- TypeSystemHelpers.cs
- ObjectListCommandCollection.cs
- HttpApplicationFactory.cs
- WpfXamlLoader.cs
- XomlCompilerHelpers.cs
- VerbConverter.cs
- HashSetDebugView.cs
- Polyline.cs
- TextDecorationCollection.cs
- ControllableStoryboardAction.cs
- DefinitionBase.cs
- CompensationExtension.cs
- ListBoxAutomationPeer.cs
- Hex.cs
- Axis.cs
- XmlMemberMapping.cs
- ModuleBuilderData.cs
- ProtocolsConfiguration.cs
- CssTextWriter.cs
- ColorPalette.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- WebPartUtil.cs
- AssemblyAttributes.cs
- ByteKeyFrameCollection.cs
- X509Utils.cs
- RouteCollection.cs
- CompModHelpers.cs
- PrimitiveSchema.cs
- XmlSchemaExternal.cs
- FormViewModeEventArgs.cs
- SpeakProgressEventArgs.cs
- TextHidden.cs
- TreeNodeClickEventArgs.cs
- EntityDataSourceSelectedEventArgs.cs
- RemotingException.cs
- XmlEntity.cs
- TrackingDataItemValue.cs
- ToolStripPanelRenderEventArgs.cs
- ReachSerializerAsync.cs
- Decorator.cs
- StorageMappingItemLoader.cs
- CallSiteBinder.cs
- Font.cs
- OperationInfo.cs
- WinInetCache.cs
- XamlClipboardData.cs
- MemoryFailPoint.cs
- MaskPropertyEditor.cs
- DataServiceRequestException.cs
- AuthenticationManager.cs
- ClientSession.cs
- TypeListConverter.cs
- CodeIdentifier.cs
- FlowDocumentPaginator.cs
- DataGridCell.cs
- AudienceUriMode.cs
- Triangle.cs
- SqlCachedBuffer.cs
- CompilerInfo.cs
- DataFormat.cs
- unsafenativemethodsother.cs
- UrlAuthFailedErrorFormatter.cs
- DataIdProcessor.cs
- BaseConfigurationRecord.cs
- XamlInterfaces.cs
- LayoutExceptionEventArgs.cs
- HashHelpers.cs
- DbConnectionOptions.cs
- SamlAction.cs
- Trace.cs
- Assert.cs
- DBSqlParserColumnCollection.cs
- BindingValueChangedEventArgs.cs
- FixedSOMContainer.cs
- COM2TypeInfoProcessor.cs
- GlyphRun.cs
- HebrewCalendar.cs
- Line.cs
- StringExpressionSet.cs
- DataRowComparer.cs
- TimeZone.cs
- FactoryRecord.cs
- EventEntry.cs
- GridViewCellAutomationPeer.cs
- WindowsTooltip.cs
- ThicknessAnimationBase.cs
- ExitEventArgs.cs
- OracleParameterCollection.cs
- XmlSchemaImporter.cs
- KeyInterop.cs
- ServiceOperationViewControl.cs
- AspProxy.cs
- VisualTreeUtils.cs
- ListBindingHelper.cs
- HttpResponseHeader.cs
- WmlLinkAdapter.cs
- HttpWebRequest.cs
- AccessDataSource.cs
- basecomparevalidator.cs