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
- OrderablePartitioner.cs
- EncryptedKeyIdentifierClause.cs
- SchemaEntity.cs
- ArrayListCollectionBase.cs
- Container.cs
- ColorAnimation.cs
- SecurityTokenParameters.cs
- BamlResourceContent.cs
- InstanceLockedException.cs
- SettingsAttributeDictionary.cs
- ValidationSummary.cs
- SqlTrackingWorkflowInstance.cs
- RootContext.cs
- Rotation3DAnimation.cs
- CommonGetThemePartSize.cs
- IPipelineRuntime.cs
- DropAnimation.xaml.cs
- ThreadExceptionDialog.cs
- Viewport2DVisual3D.cs
- TextRangeProviderWrapper.cs
- DirectoryInfo.cs
- CqlBlock.cs
- ArraySegment.cs
- Encoding.cs
- SerializationInfo.cs
- prefixendpointaddressmessagefilter.cs
- FloatSumAggregationOperator.cs
- QueryAsyncResult.cs
- Stack.cs
- AsyncPostBackTrigger.cs
- ResourceReferenceKeyNotFoundException.cs
- TextBox.cs
- PackageRelationshipSelector.cs
- GuidelineCollection.cs
- SecurityCriticalDataForSet.cs
- CryptoStream.cs
- SHA384.cs
- ToolBarButtonDesigner.cs
- DiagnosticTrace.cs
- WriteableOnDemandPackagePart.cs
- BuildProviderAppliesToAttribute.cs
- BitmapEffectvisualstate.cs
- TypedTableGenerator.cs
- TransformDescriptor.cs
- PaintEvent.cs
- DbModificationCommandTree.cs
- InstancePersistenceCommandException.cs
- IntPtr.cs
- CipherData.cs
- ErrorEventArgs.cs
- ResourceDescriptionAttribute.cs
- WebPartHeaderCloseVerb.cs
- ButtonBase.cs
- ViewStateException.cs
- ExtenderControl.cs
- BypassElementCollection.cs
- ColorConvertedBitmap.cs
- AttributeTable.cs
- DataGridState.cs
- BamlLocalizationDictionary.cs
- RealizationDrawingContextWalker.cs
- DefaultMemberAttribute.cs
- TrustSection.cs
- TransformProviderWrapper.cs
- FixedSOMPageElement.cs
- DataBinding.cs
- SmtpTransport.cs
- NTAccount.cs
- Substitution.cs
- QueryableFilterUserControl.cs
- ButtonField.cs
- ApplicationSettingsBase.cs
- ApplicationException.cs
- AttachedPropertyBrowsableAttribute.cs
- OleDbDataReader.cs
- WSSecurityOneDotZeroReceiveSecurityHeader.cs
- COSERVERINFO.cs
- AvTrace.cs
- Win32.cs
- StackBuilderSink.cs
- ToolStripDropTargetManager.cs
- GeneralEndpointIdentity.cs
- AllMembershipCondition.cs
- MemberAccessException.cs
- PerformanceCounterNameAttribute.cs
- Oci.cs
- Directory.cs
- _ProxyChain.cs
- FormsAuthenticationEventArgs.cs
- CheckBoxFlatAdapter.cs
- DataTableMappingCollection.cs
- WorkflowTerminatedException.cs
- AddInProcess.cs
- NegotiateStream.cs
- PerformanceCounterPermission.cs
- SelectionUIService.cs
- Image.cs
- PnrpPermission.cs
- SystemIPv4InterfaceProperties.cs
- NativeMethods.cs