Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / Rules / Design / Dialogs / RenameRuleObjectDialog.cs / 1305376 / RenameRuleObjectDialog.cs
#region Using directives using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Globalization; using System.Text; using System.Windows.Forms; using System.Windows.Forms.Design; #endregion namespace System.Workflow.Activities.Rules.Design { internal partial class RenameRuleObjectDialog : Form { public delegate bool NameValidatorDelegate(string name); private string name; private IServiceProvider serviceProvider; private NameValidatorDelegate nameValidator; private BasicBrowserDialog parent; public RenameRuleObjectDialog(IServiceProvider serviceProvider, string oldName, NameValidatorDelegate nameValidator, BasicBrowserDialog parent) { if (oldName == null) throw (new ArgumentNullException("oldName")); if (serviceProvider == null) throw (new ArgumentNullException("serviceProvider")); if (nameValidator == null) throw (new ArgumentNullException("nameValidator")); this.serviceProvider = serviceProvider; this.name = oldName; this.nameValidator = nameValidator; this.parent = parent; InitializeComponent(); this.ruleNameTextBox.Text = oldName; this.Text = parent.RenameTitleText; this.newNamelabel.Text = parent.NewNameLabelText; this.Icon = null; //Set dialog fonts IUIService uisvc = (IUIService)this.serviceProvider.GetService(typeof(IUIService)); if (uisvc != null) this.Font = (Font)uisvc.Styles["DialogFont"]; } public string RuleObjectName { get { return this.name; } } private void OnCancel(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; this.Close(); } private void OnOk(object sender, EventArgs e) { string newName = this.ruleNameTextBox.Text; if (newName.Trim().Length == 0) { string errorMessage = parent.EmptyNameErrorText; IUIService uisvc = (IUIService)this.serviceProvider.GetService(typeof(IUIService)); if (uisvc != null) uisvc.ShowError(errorMessage); else MessageBox.Show(errorMessage, Messages.InvalidConditionNameCaption, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, DetermineOptions(sender)); this.DialogResult = DialogResult.None; } else if (this.name != newName && !nameValidator(newName)) { string errorMessage = parent.DuplicateNameErrorText; IUIService uisvc = (IUIService)this.serviceProvider.GetService(typeof(IUIService)); if (uisvc != null) uisvc.ShowError(errorMessage); else MessageBox.Show(errorMessage, Messages.InvalidConditionNameCaption, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, DetermineOptions(sender)); this.DialogResult = DialogResult.None; } else { this.name = newName; this.DialogResult = DialogResult.OK; this.Close(); } } private static MessageBoxOptions DetermineOptions(object sender) { MessageBoxOptions options = (MessageBoxOptions)0; Control someControl = sender as Control; RightToLeft rightToLeftValue = RightToLeft.Inherit; while ((rightToLeftValue == RightToLeft.Inherit) && (someControl != null)) { rightToLeftValue = someControl.RightToLeft; someControl = someControl.Parent; } if (rightToLeftValue == RightToLeft.Yes) { options = MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign; } return options; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. #region Using directives using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Globalization; using System.Text; using System.Windows.Forms; using System.Windows.Forms.Design; #endregion namespace System.Workflow.Activities.Rules.Design { internal partial class RenameRuleObjectDialog : Form { public delegate bool NameValidatorDelegate(string name); private string name; private IServiceProvider serviceProvider; private NameValidatorDelegate nameValidator; private BasicBrowserDialog parent; public RenameRuleObjectDialog(IServiceProvider serviceProvider, string oldName, NameValidatorDelegate nameValidator, BasicBrowserDialog parent) { if (oldName == null) throw (new ArgumentNullException("oldName")); if (serviceProvider == null) throw (new ArgumentNullException("serviceProvider")); if (nameValidator == null) throw (new ArgumentNullException("nameValidator")); this.serviceProvider = serviceProvider; this.name = oldName; this.nameValidator = nameValidator; this.parent = parent; InitializeComponent(); this.ruleNameTextBox.Text = oldName; this.Text = parent.RenameTitleText; this.newNamelabel.Text = parent.NewNameLabelText; this.Icon = null; //Set dialog fonts IUIService uisvc = (IUIService)this.serviceProvider.GetService(typeof(IUIService)); if (uisvc != null) this.Font = (Font)uisvc.Styles["DialogFont"]; } public string RuleObjectName { get { return this.name; } } private void OnCancel(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; this.Close(); } private void OnOk(object sender, EventArgs e) { string newName = this.ruleNameTextBox.Text; if (newName.Trim().Length == 0) { string errorMessage = parent.EmptyNameErrorText; IUIService uisvc = (IUIService)this.serviceProvider.GetService(typeof(IUIService)); if (uisvc != null) uisvc.ShowError(errorMessage); else MessageBox.Show(errorMessage, Messages.InvalidConditionNameCaption, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, DetermineOptions(sender)); this.DialogResult = DialogResult.None; } else if (this.name != newName && !nameValidator(newName)) { string errorMessage = parent.DuplicateNameErrorText; IUIService uisvc = (IUIService)this.serviceProvider.GetService(typeof(IUIService)); if (uisvc != null) uisvc.ShowError(errorMessage); else MessageBox.Show(errorMessage, Messages.InvalidConditionNameCaption, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, DetermineOptions(sender)); this.DialogResult = DialogResult.None; } else { this.name = newName; this.DialogResult = DialogResult.OK; this.Close(); } } private static MessageBoxOptions DetermineOptions(object sender) { MessageBoxOptions options = (MessageBoxOptions)0; Control someControl = sender as Control; RightToLeft rightToLeftValue = RightToLeft.Inherit; while ((rightToLeftValue == RightToLeft.Inherit) && (someControl != null)) { rightToLeftValue = someControl.RightToLeft; someControl = someControl.Parent; } if (rightToLeftValue == RightToLeft.Yes) { options = MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign; } return options; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlEncodedRawTextWriter.cs
- DataSourceXmlSerializationAttribute.cs
- ImageMap.cs
- DefaultSection.cs
- PrintPageEvent.cs
- UnmanagedMemoryAccessor.cs
- TimeSpanOrInfiniteConverter.cs
- Polygon.cs
- PrintControllerWithStatusDialog.cs
- ParameterCollection.cs
- DockPatternIdentifiers.cs
- ConfigurationValidatorBase.cs
- CngKeyBlobFormat.cs
- Region.cs
- SecurityTokenRequirement.cs
- XPathNodeList.cs
- AxHost.cs
- FontStretches.cs
- ThreadExceptionDialog.cs
- SubMenuStyleCollection.cs
- DriveNotFoundException.cs
- ToolStripDropTargetManager.cs
- ClientConfigurationSystem.cs
- StretchValidation.cs
- FixedDocumentSequencePaginator.cs
- FlagsAttribute.cs
- TdsParameterSetter.cs
- PrintDialog.cs
- List.cs
- TextDecorations.cs
- PeerFlooder.cs
- SmtpException.cs
- EntityWrapperFactory.cs
- LineProperties.cs
- SHA1Managed.cs
- SoapProtocolImporter.cs
- ObjectStateFormatter.cs
- LocalizeDesigner.cs
- HandleRef.cs
- EnumType.cs
- SystemDropShadowChrome.cs
- SourceInterpreter.cs
- XPathAncestorIterator.cs
- TextMessageEncodingElement.cs
- ProgressBar.cs
- RealizedColumnsBlock.cs
- XsltLoader.cs
- NativeWindow.cs
- TransportContext.cs
- XmlBinaryWriterSession.cs
- Pen.cs
- ColorMap.cs
- Soap11ServerProtocol.cs
- RegionInfo.cs
- BaseTemplateBuildProvider.cs
- DataGridColumnCollectionEditor.cs
- ObjectDataSourceSelectingEventArgs.cs
- counter.cs
- _Rfc2616CacheValidators.cs
- PropertyBuilder.cs
- WindowsEditBox.cs
- RotateTransform3D.cs
- PointLightBase.cs
- SafeFileMapViewHandle.cs
- EventHandlersStore.cs
- EmptyControlCollection.cs
- XmlSchemaChoice.cs
- SingleTagSectionHandler.cs
- GetCardDetailsRequest.cs
- FixedSOMSemanticBox.cs
- Config.cs
- TextTreeInsertUndoUnit.cs
- commandenforcer.cs
- PropagatorResult.cs
- AbstractSvcMapFileLoader.cs
- UnsafeNativeMethods.cs
- ParenthesizePropertyNameAttribute.cs
- CultureNotFoundException.cs
- SequenceNumber.cs
- embossbitmapeffect.cs
- ConfigXmlCDataSection.cs
- AccessViolationException.cs
- BindableTemplateBuilder.cs
- ValueTable.cs
- TextRangeAdaptor.cs
- BaseCodePageEncoding.cs
- GridViewActionList.cs
- ResourceProviderFactory.cs
- ConnectionStringsExpressionBuilder.cs
- PropertyFilterAttribute.cs
- RangeExpression.cs
- ErrorCodes.cs
- HandlerFactoryCache.cs
- ConnectionPoint.cs
- RelatedEnd.cs
- ComponentResourceManager.cs
- Quaternion.cs
- RegexMatchCollection.cs
- ValidationHelper.cs
- RecognizedAudio.cs