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
- StatusBarItemAutomationPeer.cs
- PointAnimationClockResource.cs
- Atom10FeedFormatter.cs
- NetPeerTcpBinding.cs
- ObjectListDesigner.cs
- WindowsFormsSectionHandler.cs
- Soap.cs
- ByteAnimation.cs
- XhtmlBasicCommandAdapter.cs
- UrlMappingsModule.cs
- _IPv4Address.cs
- RevocationPoint.cs
- EntityDataReader.cs
- HttpSocketManager.cs
- Base64WriteStateInfo.cs
- TemplateBuilder.cs
- NullableDoubleMinMaxAggregationOperator.cs
- RotationValidation.cs
- StrokeCollectionDefaultValueFactory.cs
- OdbcUtils.cs
- XamlFxTrace.cs
- OTFRasterizer.cs
- RequestDescription.cs
- FormViewInsertEventArgs.cs
- XPathBinder.cs
- ExceptionValidationRule.cs
- CheckedListBox.cs
- IpcServerChannel.cs
- ConfigurationManagerInternal.cs
- CLRBindingWorker.cs
- TextServicesLoader.cs
- BrowserTree.cs
- TimeSpanOrInfiniteConverter.cs
- IArgumentProvider.cs
- ListViewInsertedEventArgs.cs
- XPathParser.cs
- HttpProcessUtility.cs
- XmlSchemaException.cs
- InstanceKeyView.cs
- CellParagraph.cs
- ScrollEventArgs.cs
- KeyValueConfigurationCollection.cs
- WindowsAuthenticationModule.cs
- JsonStringDataContract.cs
- InkCanvas.cs
- PhysicalOps.cs
- XmlValidatingReaderImpl.cs
- SplitterPanelDesigner.cs
- WsdlParser.cs
- COM2TypeInfoProcessor.cs
- ByteKeyFrameCollection.cs
- SystemUdpStatistics.cs
- SqlDataSourceCache.cs
- TextTreeInsertUndoUnit.cs
- SystemFonts.cs
- ObjectAnimationUsingKeyFrames.cs
- ListViewItemEventArgs.cs
- PerspectiveCamera.cs
- HtmlTextArea.cs
- ToolTip.cs
- SystemIPAddressInformation.cs
- SemanticKeyElement.cs
- ClrProviderManifest.cs
- TextTreeInsertUndoUnit.cs
- InputLanguageSource.cs
- unsafeIndexingFilterStream.cs
- QueryReaderSettings.cs
- DragDeltaEventArgs.cs
- ShaderEffect.cs
- SecurityPermission.cs
- TableNameAttribute.cs
- Timeline.cs
- ObjectConverter.cs
- ReaderWriterLock.cs
- BinaryKeyIdentifierClause.cs
- Token.cs
- XmlSchemaValidator.cs
- Int32EqualityComparer.cs
- GeneralTransform3DTo2D.cs
- HiddenFieldPageStatePersister.cs
- LockCookie.cs
- ConfigXmlComment.cs
- PageThemeParser.cs
- ObjectViewFactory.cs
- DbProviderFactories.cs
- LongCountAggregationOperator.cs
- EncryptedData.cs
- FileSystemInfo.cs
- CLSCompliantAttribute.cs
- ApplicationHost.cs
- DiscoveryDocumentLinksPattern.cs
- SoapFault.cs
- Configuration.cs
- ReadOnlyTernaryTree.cs
- ReadOnlyCollectionBuilder.cs
- HttpCacheVary.cs
- COM2ColorConverter.cs
- SafeNativeMethods.cs
- EntityClassGenerator.cs
- Expander.cs