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
- BuiltInPermissionSets.cs
- FileSystemWatcher.cs
- SafeSecurityHelper.cs
- LinkedResourceCollection.cs
- RawStylusSystemGestureInputReport.cs
- DiagnosticEventProvider.cs
- GetCertificateRequest.cs
- HeaderedItemsControl.cs
- MetadataItem_Static.cs
- NavigationPropertySingletonExpression.cs
- NavigationPropertyEmitter.cs
- FontFamilyConverter.cs
- QuarticEase.cs
- SystemEvents.cs
- XMLUtil.cs
- XPathNode.cs
- TriggerCollection.cs
- IODescriptionAttribute.cs
- ArglessEventHandlerProxy.cs
- BulletDecorator.cs
- CipherData.cs
- AsyncOperationContext.cs
- COM2ExtendedTypeConverter.cs
- ObjectTag.cs
- XmlSchemaInclude.cs
- HttpRequest.cs
- XmlSchemaAttribute.cs
- ServerValidateEventArgs.cs
- MimeTypeAttribute.cs
- CryptoApi.cs
- ToolboxBitmapAttribute.cs
- NamespaceMapping.cs
- PersonalizationStateInfoCollection.cs
- ViewKeyConstraint.cs
- Int16KeyFrameCollection.cs
- XPathEmptyIterator.cs
- GestureRecognizer.cs
- DesignerTextBoxAdapter.cs
- CookieHandler.cs
- Imaging.cs
- ToolStripScrollButton.cs
- RuleEngine.cs
- Binding.cs
- XmlWellformedWriterHelpers.cs
- ProjectionPath.cs
- Point3D.cs
- DbConnectionStringCommon.cs
- SafeFileMappingHandle.cs
- IconBitmapDecoder.cs
- VectorCollectionConverter.cs
- TreeNodeMouseHoverEvent.cs
- PageAsyncTaskManager.cs
- AuthenticationModuleElement.cs
- WebPart.cs
- ProxyFragment.cs
- TransactionCache.cs
- DataGridViewIntLinkedList.cs
- HashAlgorithm.cs
- HitTestWithPointDrawingContextWalker.cs
- WebDescriptionAttribute.cs
- InputLanguage.cs
- ConfigurationPermission.cs
- IdentitySection.cs
- CellNormalizer.cs
- InstanceDataCollection.cs
- IndicCharClassifier.cs
- ObjectSecurity.cs
- EventBookmark.cs
- QueuePathEditor.cs
- BaseDataListActionList.cs
- CultureInfoConverter.cs
- DateTimeFormatInfoScanner.cs
- ZipIOModeEnforcingStream.cs
- ListItem.cs
- AxParameterData.cs
- Point.cs
- DataFieldEditor.cs
- Query.cs
- SvcMapFile.cs
- SqlInternalConnection.cs
- ExtractCollection.cs
- HostProtectionPermission.cs
- MetadataHelper.cs
- SapiRecoContext.cs
- CodeTypeDeclarationCollection.cs
- MouseDevice.cs
- CredentialCache.cs
- SortableBindingList.cs
- SqlClientWrapperSmiStreamChars.cs
- ParentQuery.cs
- AppLevelCompilationSectionCache.cs
- CallTemplateAction.cs
- messageonlyhwndwrapper.cs
- Operand.cs
- TextEndOfLine.cs
- PageCatalogPart.cs
- HWStack.cs
- ButtonBase.cs
- XamlBrushSerializer.cs
- externdll.cs