Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Design / ObjectListCommandsPage.cs / 1305376 / ObjectListCommandsPage.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.Design.MobileControls
{
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.CodeDom.Compiler;
using System.Diagnostics;
using System.Drawing;
using System.Web.UI.MobileControls;
using System.Windows.Forms;
using System.Windows.Forms.Design;
// using System.Web.UI.Design.Util;
using System.Web.UI.Design.MobileControls.Util;
using ObjectList = System.Web.UI.MobileControls.ObjectList;
using Label = System.Windows.Forms.Label;
using TextBox = System.Windows.Forms.TextBox;
///
/// The Commands page for the ObjectList control.
///
///
[
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 sealed class ObjectListCommandsPage : ListComponentEditorPage
{
private ComboBox _cmbDefaultCommand;
private TextBox _txtText = null;
private ObjectList _objectList = null;
public ObjectListCommandsPage()
{
Y = 24;
CaseSensitive = false;
TreeViewTitle = SR.GetString(SR.ObjectListCommandsPage_CommandNameCaption);
AddButtonTitle = SR.GetString(SR.ObjectListCommandsPage_NewCommandBtnCaption);
DefaultName = SR.GetString(SR.ObjectListCommandsPage_DefaultCommandName);
MessageTitle = SR.GetString(SR.ObjectListCommandsPage_ErrorMessageTitle);
EmptyNameMessage = SR.GetString(SR.ObjectListCommandsPage_EmptyNameError);
// DuplicateNameMessage = SR.GetString(SR.ObjectListCommandsPage_DuplicateNameError);
// InvalidNameMessage = SR.GetString(SR.ObjectListCommandsPage_InvalidName); // DCR 4240
}
protected override String HelpKeyword
{
get
{
return "net.Mobile.ObjectListProperties.Commands";
}
}
protected override void InitForm()
{
base.InitForm();
this._objectList = (ObjectList)Component;
this.CommitOnDeactivate = true;
this.Icon = new Icon(
typeof(System.Web.UI.Design.MobileControls.MobileControlDesigner),
"Commands.ico"
);
this.Size = new Size(402, 300);
this.Text = SR.GetString(SR.ObjectListCommandsPage_Title);
GroupLabel grplblCommandList = new GroupLabel();
grplblCommandList.SetBounds(4, 4, 392, LabelHeight);
grplblCommandList.Text = SR.GetString(SR.ObjectListCommandsPage_CommandListGroupLabel);
grplblCommandList.TabIndex = 0;
grplblCommandList.TabStop = false;
TreeList.TabIndex = 1;
Label lblText = new Label();
lblText.SetBounds(X, Y, ControlWidth, LabelHeight);
lblText.Text = SR.GetString(SR.ObjectListCommandsPage_TextCaption);
lblText.TabStop = false;
lblText.TabIndex = TabIndex;
_txtText = new TextBox();
Y += LabelHeight;
_txtText.SetBounds(X, Y, ControlWidth, CmbHeight);
_txtText.TextChanged += new EventHandler(this.OnPropertyChanged);
_txtText.TabIndex = TabIndex + 1;
GroupLabel grplblData = new GroupLabel();
grplblData.SetBounds(4, 238, 392, LabelHeight);
grplblData.Text = SR.GetString(SR.ObjectListCommandsPage_DataGroupLabel);
grplblData.TabIndex = TabIndex + 2;
grplblData.TabStop = false;
Label lblDefaultCommand = new Label();
lblDefaultCommand.SetBounds(8, 260, 182, LabelHeight);
lblDefaultCommand.Text = SR.GetString(SR.ObjectListCommandsPage_DefaultCommandCaption);
lblDefaultCommand.TabStop = false;
lblDefaultCommand.TabIndex = TabIndex + 3;
_cmbDefaultCommand = new ComboBox();
_cmbDefaultCommand.SetBounds(8, 276, 182, 64);
_cmbDefaultCommand.DropDownStyle = ComboBoxStyle.DropDown;
_cmbDefaultCommand.Sorted = true;
_cmbDefaultCommand.TabIndex = TabIndex + 4;
_cmbDefaultCommand.SelectedIndexChanged += new EventHandler(this.OnSetPageDirty);
_cmbDefaultCommand.TextChanged += new EventHandler(this.OnSetPageDirty);
this.Controls.AddRange(new Control[]
{
grplblCommandList,
lblText,
_txtText,
grplblData,
lblDefaultCommand,
_cmbDefaultCommand
});
}
protected override void InitPage()
{
base.InitPage();
_cmbDefaultCommand.Text = _objectList.DefaultCommand;
_txtText.Text = String.Empty;
}
protected override void LoadItems()
{
using (new LoadingModeResource(this))
{
foreach (ObjectListCommand command in _objectList.Commands)
{
CommandTreeNode newNode = new CommandTreeNode(command.Name, command);
TreeList.TvList.Nodes.Add(newNode);
}
}
LoadDefaultCommands();
}
protected override void LoadItemProperties()
{
using (new LoadingModeResource(this))
{
if (CurrentNode != null)
{
CommandTreeNode currentCommandNode = (CommandTreeNode)CurrentNode;
_txtText.Text = currentCommandNode.Text;
}
else
{
_txtText.Text = String.Empty;
}
}
}
private void LoadDefaultCommands()
{
_cmbDefaultCommand.Items.Clear();
foreach (CommandTreeNode commandNode in TreeList.TvList.Nodes)
{
_cmbDefaultCommand.Items.Add(commandNode.Name);
}
}
private void OnSetPageDirty(Object source, EventArgs e)
{
if (IsLoading())
{
return;
}
SetDirty();
}
protected override void OnClickAddButton(Object source, EventArgs e)
{
if (IsLoading())
{
return;
}
CommandTreeNode newNode = new CommandTreeNode(GetNewName());
TreeList.TvList.Nodes.Add(newNode);
TreeList.TvList.SelectedNode = newNode;
CurrentNode = newNode;
newNode.Dirty = true;
newNode.BeginEdit();
LoadItemProperties();
LoadDefaultCommands();
SetDirty();
}
protected override void OnClickRemoveButton(Object source, EventArgs e)
{
base.OnClickRemoveButton(source, e);
LoadDefaultCommands();
}
protected override void OnNodeRenamed()
{
LoadDefaultCommands();
}
protected override void OnPropertyChanged(Object source, EventArgs e)
{
if (IsLoading())
{
return;
}
// This means there are no fields yet. Do nothing
if (CurrentNode == null)
{
return;
}
((CommandTreeNode)CurrentNode).Text = _txtText.Text;
SetDirty();
CurrentNode.Dirty = true;
}
protected override void SaveComponent()
{
// Delegate to base implementation first!
// This will properly close ListTreeNode editing mode.
base.SaveComponent();
_objectList.DefaultCommand = _cmbDefaultCommand.Text;
_objectList.Commands.Clear();
foreach (CommandTreeNode commandNode in TreeList.TvList.Nodes)
{
if (commandNode.Dirty)
{
commandNode.RuntimeCommand.Text = commandNode.Text;
commandNode.RuntimeCommand.Name = commandNode.Name;
}
_objectList.Commands.AddAt(-1, commandNode.RuntimeCommand);
}
TypeDescriptor.Refresh(_objectList);
}
protected override void UpdateControlsEnabling()
{
TreeList.TvList.Enabled =
_txtText.Enabled = (TreeList.TvList.SelectedNode != null);
}
///
/// Internal object used to store all command properties
///
[
System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand,
Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)
]
private class CommandTreeNode : ListTreeNode
{
private ObjectListCommand _runtimeCommand;
private String _text;
///
///
internal CommandTreeNode(String name) : this(name, new ObjectListCommand())
{
}
///
///
internal CommandTreeNode(String name, ObjectListCommand runtimeCommand) : base(name)
{
Debug.Assert(name != null, "invalid name for ObjectListCommand");
Debug.Assert(runtimeCommand != null, "null ObjectListCommand");
this._runtimeCommand = runtimeCommand;
LoadAttributes();
}
internal void LoadAttributes()
{
this._text = _runtimeCommand.Text;
}
internal ObjectListCommand RuntimeCommand
{
get
{
return _runtimeCommand;
}
}
internal new String Text
{
get
{
return _text;
}
set
{
_text = value;
}
}
}
}
}
// 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
- ExtenderProvidedPropertyAttribute.cs
- SmiMetaDataProperty.cs
- LocalServiceSecuritySettingsElement.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- CriticalHandle.cs
- TypeInformation.cs
- ExtensionSimplifierMarkupObject.cs
- RichTextBox.cs
- DecoratedNameAttribute.cs
- ServiceBusyException.cs
- EntityTemplateUserControl.cs
- Peer.cs
- OrderByBuilder.cs
- DbDataReader.cs
- CodeRemoveEventStatement.cs
- XmlDataLoader.cs
- AtomPub10CategoriesDocumentFormatter.cs
- OleDbSchemaGuid.cs
- JavaScriptString.cs
- AspNetSynchronizationContext.cs
- MethodAccessException.cs
- WindowsSecurityToken.cs
- HMACSHA1.cs
- FacetChecker.cs
- SecurityTokenRequirement.cs
- HtmlInputCheckBox.cs
- DecimalAnimationBase.cs
- RuntimeArgumentHandle.cs
- OneWayChannelListener.cs
- TemplateBindingExpressionConverter.cs
- TraceInternal.cs
- StringValidatorAttribute.cs
- RegexWorker.cs
- PngBitmapEncoder.cs
- DataColumnChangeEvent.cs
- SqlDataAdapter.cs
- DataGridHeaderBorder.cs
- TextEditorSpelling.cs
- PackagingUtilities.cs
- SchemaMerger.cs
- RemotingServices.cs
- SingleAnimation.cs
- MessageBuilder.cs
- AttributeCallbackBuilder.cs
- FileVersionInfo.cs
- LingerOption.cs
- EntityModelBuildProvider.cs
- StringSorter.cs
- MemberDescriptor.cs
- XmlWrappingReader.cs
- TextBoxLine.cs
- UriParserTemplates.cs
- NullReferenceException.cs
- AnyReturnReader.cs
- ObjectParameterCollection.cs
- PrintPageEvent.cs
- PageParserFilter.cs
- DesignerSerializationOptionsAttribute.cs
- HuffmanTree.cs
- XmlHierarchyData.cs
- ApplicationActivator.cs
- TextEditorTyping.cs
- SqlRowUpdatingEvent.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- RegexParser.cs
- RSAOAEPKeyExchangeDeformatter.cs
- DropDownButton.cs
- TagPrefixAttribute.cs
- WebPartZoneCollection.cs
- CopyNamespacesAction.cs
- AssemblyNameEqualityComparer.cs
- DynamicMetaObject.cs
- DecimalAnimation.cs
- SecurityPermission.cs
- NotConverter.cs
- While.cs
- SystemIPv6InterfaceProperties.cs
- VisualStyleTypesAndProperties.cs
- NameValueSectionHandler.cs
- SubqueryRules.cs
- PolygonHotSpot.cs
- AspNetSynchronizationContext.cs
- XmlWrappingWriter.cs
- ResourceDescriptionAttribute.cs
- HttpsTransportBindingElement.cs
- FormViewAutoFormat.cs
- ExecutionEngineException.cs
- WSSecureConversation.cs
- IQueryable.cs
- XPathExpr.cs
- TagNameToTypeMapper.cs
- ValidationService.cs
- PropertyGridView.cs
- SafeFileMappingHandle.cs
- SqlUserDefinedAggregateAttribute.cs
- InputProcessorProfiles.cs
- SafeFileMappingHandle.cs
- ConstructorNeedsTagAttribute.cs
- SetIterators.cs
- LassoHelper.cs