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
- Underline.cs
- CapabilitiesPattern.cs
- ImageList.cs
- SkipStoryboardToFill.cs
- Fault.cs
- DataObjectMethodAttribute.cs
- WebPartMinimizeVerb.cs
- FixedLineResult.cs
- LayoutInformation.cs
- IPipelineRuntime.cs
- Intellisense.cs
- WebPartDeleteVerb.cs
- SchemaMapping.cs
- DuplicateWaitObjectException.cs
- MemoryStream.cs
- MethodExpr.cs
- ChameleonKey.cs
- CultureInfoConverter.cs
- SqlClientWrapperSmiStreamChars.cs
- RegexWorker.cs
- ImageMetadata.cs
- ValidatorUtils.cs
- ActivityUtilities.cs
- KeyInstance.cs
- RelatedEnd.cs
- SystemResourceKey.cs
- TypeLibConverter.cs
- WebBodyFormatMessageProperty.cs
- KoreanLunisolarCalendar.cs
- CommonObjectSecurity.cs
- AxisAngleRotation3D.cs
- DirectoryObjectSecurity.cs
- CachingHintValidation.cs
- BindableAttribute.cs
- ArrayConverter.cs
- AsymmetricAlgorithm.cs
- MenuItemBindingCollection.cs
- DomainConstraint.cs
- DocumentOrderQuery.cs
- XhtmlTextWriter.cs
- DispatcherObject.cs
- KeyValueInternalCollection.cs
- RowToFieldTransformer.cs
- SelectionProcessor.cs
- DesignerSerializerAttribute.cs
- VariantWrapper.cs
- SchemaDeclBase.cs
- Typeface.cs
- ADConnectionHelper.cs
- MaterialGroup.cs
- ListCommandEventArgs.cs
- TextViewBase.cs
- cache.cs
- SoapProtocolImporter.cs
- NetworkCredential.cs
- SmtpAuthenticationManager.cs
- DescendantBaseQuery.cs
- Crc32.cs
- TreeViewImageGenerator.cs
- DataGridTableCollection.cs
- NavigationProgressEventArgs.cs
- WebPartAuthorizationEventArgs.cs
- _ChunkParse.cs
- WmlFormAdapter.cs
- InkSerializer.cs
- TextSelectionHelper.cs
- FacetChecker.cs
- ConfigurationPropertyCollection.cs
- BoundsDrawingContextWalker.cs
- XamlStyleSerializer.cs
- KeyValuePair.cs
- SchemaTypeEmitter.cs
- SmtpTransport.cs
- DesigntimeLicenseContext.cs
- FilterQueryOptionExpression.cs
- MarkupObject.cs
- ListViewUpdateEventArgs.cs
- XPathExpr.cs
- DuplicateWaitObjectException.cs
- SignerInfo.cs
- DurableEnlistmentState.cs
- WebBrowserEvent.cs
- TabItemAutomationPeer.cs
- PLINQETWProvider.cs
- WebCategoryAttribute.cs
- ISAPIApplicationHost.cs
- SByteStorage.cs
- XmlLoader.cs
- oledbmetadatacolumnnames.cs
- Form.cs
- MenuItem.cs
- TreeIterator.cs
- Selection.cs
- EraserBehavior.cs
- LambdaCompiler.cs
- RightsManagementPermission.cs
- NonParentingControl.cs
- _LocalDataStore.cs
- Clock.cs
- ChangeBlockUndoRecord.cs