1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
//------------------------------------------------------------------------------
// <copyright file="DeviceSpecificDialogCachedState.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
namespace System.Web.UI.Design.MobileControls
{
using System;
using System.Collections;
using System.Web.UI.MobileControls;
[
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 DeviceSpecificDialogCachedState : ICloneable
{
protected void SaveChoices(
IDeviceSpecificDesigner designer,
String deviceSpecificID,
ICollection choices
) {
DeviceSpecific deviceSpecific;
if (!designer.GetDeviceSpecific(deviceSpecificID, out deviceSpecific))
{
return;
}
if(choices.Count == 0)
{
designer.SetDeviceSpecific(deviceSpecificID, null);
return;
}
if (deviceSpecific == null)
{
deviceSpecific = new DeviceSpecific();
}
else
{
deviceSpecific.Choices.Clear();
}
foreach (ChoiceTreeNode node in choices)
{
node.CommitChanges();
DeviceSpecificChoice choice = node.Choice.RuntimeChoice;
deviceSpecific.Choices.Add(choice);
}
designer.SetDeviceSpecific(deviceSpecificID, deviceSpecific);
}
/// <summary>
/// Perform shallow copy of state. Cached contents will still
/// point to the same instances.
/// </summary>
public Object Clone()
{
return MemberwiseClone();
}
}
}
|