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
- HostDesigntimeLicenseContext.cs
- XPathNavigator.cs
- MetadataSection.cs
- exports.cs
- EventMap.cs
- CultureMapper.cs
- PropagatorResult.cs
- Thread.cs
- AutoGeneratedField.cs
- MarkupWriter.cs
- WebRequest.cs
- indexingfiltermarshaler.cs
- ToolStripDesignerAvailabilityAttribute.cs
- MiniConstructorInfo.cs
- LifetimeManager.cs
- Stroke.cs
- ParallelEnumerableWrapper.cs
- DragEvent.cs
- DesignerOptionService.cs
- EdmComplexTypeAttribute.cs
- EntitySetDataBindingList.cs
- SqlConnectionString.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- UiaCoreApi.cs
- DBConcurrencyException.cs
- TrustSection.cs
- ListCardsInFileRequest.cs
- MemberExpression.cs
- ListBindableAttribute.cs
- InkPresenter.cs
- ControlBuilderAttribute.cs
- RestClientProxyHandler.cs
- Executor.cs
- TextFragmentEngine.cs
- XappLauncher.cs
- FixedStringLookup.cs
- WebPartMenu.cs
- DataServices.cs
- Rectangle.cs
- RectKeyFrameCollection.cs
- UriExt.cs
- BoundingRectTracker.cs
- DecoderBestFitFallback.cs
- CodeComment.cs
- InternalConfigRoot.cs
- Rules.cs
- Item.cs
- Message.cs
- XhtmlBasicLabelAdapter.cs
- AppModelKnownContentFactory.cs
- AccessKeyManager.cs
- XmlSchemaSimpleType.cs
- ActivityExecutorDelegateInfo.cs
- WeakReferenceList.cs
- ResourceDisplayNameAttribute.cs
- EdmItemCollection.cs
- Site.cs
- DispatcherFrame.cs
- BitmapEffectDrawingContent.cs
- Win32PrintDialog.cs
- CFStream.cs
- ConfigurationException.cs
- XmlAttributeAttribute.cs
- IndependentlyAnimatedPropertyMetadata.cs
- SystemParameters.cs
- DbConnectionPoolIdentity.cs
- ProcessMessagesAsyncResult.cs
- MultipleViewPatternIdentifiers.cs
- ThreadExceptionEvent.cs
- PKCS1MaskGenerationMethod.cs
- PromptStyle.cs
- QueryOutputWriter.cs
- MobileUserControl.cs
- BaseTypeViewSchema.cs
- Activator.cs
- SqlException.cs
- ButtonFieldBase.cs
- _UncName.cs
- RoutedEvent.cs
- XamlTemplateSerializer.cs
- TranslateTransform3D.cs
- ProxyWebPart.cs
- Authorization.cs
- DateTimeStorage.cs
- DebugViewWriter.cs
- XamlPoint3DCollectionSerializer.cs
- FileUpload.cs
- TimeStampChecker.cs
- PropertyPanel.cs
- XmlWrappingWriter.cs
- ImportFileRequest.cs
- WindowInteropHelper.cs
- BitmapScalingModeValidation.cs
- XamlReaderConstants.cs
- ConfigurationSectionCollection.cs
- Dispatcher.cs
- ProcessHost.cs
- InstanceKeyCompleteException.cs
- WebPartConnection.cs
- FixedDocumentSequencePaginator.cs