Code:
                         / 4.0 / 4.0 / untmp / 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.
                        
                        
                        
                        
                    Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataGridSortCommandEventArgs.cs
- EditorBrowsableAttribute.cs
- TemplateBuilder.cs
- BitmapScalingModeValidation.cs
- WindowsIPAddress.cs
- UpDownEvent.cs
- ToolZoneDesigner.cs
- Row.cs
- UserControl.cs
- RuntimeCompatibilityAttribute.cs
- ActivityInfo.cs
- RoleManagerModule.cs
- XmlReflectionImporter.cs
- PropertyPushdownHelper.cs
- SQLInt32.cs
- TreeViewItem.cs
- PenThreadPool.cs
- BulletDecorator.cs
- EventSinkActivity.cs
- ObjectParameterCollection.cs
- TextTreeTextElementNode.cs
- LiteralSubsegment.cs
- ScrollItemPattern.cs
- HashCodeCombiner.cs
- SingleBodyParameterMessageFormatter.cs
- precedingsibling.cs
- HScrollProperties.cs
- DataQuery.cs
- SoapObjectWriter.cs
- XmlQueryType.cs
- ProtectedConfiguration.cs
- WindowsGraphics2.cs
- BrowserCapabilitiesFactoryBase.cs
- XmlKeywords.cs
- NetTcpSecurityElement.cs
- PlatformNotSupportedException.cs
- DataGridItemEventArgs.cs
- PropertyPushdownHelper.cs
- SafeFindHandle.cs
- XsltCompileContext.cs
- SqlErrorCollection.cs
- PatternMatcher.cs
- QilChoice.cs
- COM2PropertyDescriptor.cs
- SessionState.cs
- XsltContext.cs
- OperationContractAttribute.cs
- UniformGrid.cs
- Constants.cs
- AnimationClockResource.cs
- LogConverter.cs
- DataBindingValueUIHandler.cs
- ResourceDefaultValueAttribute.cs
- InstanceLockQueryResult.cs
- HelpFileFileNameEditor.cs
- TextTabProperties.cs
- PlatformCulture.cs
- Formatter.cs
- ResourceReferenceExpression.cs
- SiteMapHierarchicalDataSourceView.cs
- HtmlEmptyTagControlBuilder.cs
- AudioLevelUpdatedEventArgs.cs
- SuppressIldasmAttribute.cs
- AdvancedBindingPropertyDescriptor.cs
- HtmlShimManager.cs
- DataGridViewColumnCollectionEditor.cs
- DiscoveryDocumentSerializer.cs
- FamilyTypeface.cs
- HtmlInputPassword.cs
- CryptoStream.cs
- FormViewDeletedEventArgs.cs
- PeerCustomResolverElement.cs
- TemplateManager.cs
- ToolStripProgressBar.cs
- EventSinkHelperWriter.cs
- PrintingPermissionAttribute.cs
- Events.cs
- ExpandSegment.cs
- WebException.cs
- StandardBindingCollectionElement.cs
- HierarchicalDataSourceIDConverter.cs
- PropertySegmentSerializationProvider.cs
- CatalogPartChrome.cs
- SymmetricCryptoHandle.cs
- DbDataAdapter.cs
- JapaneseLunisolarCalendar.cs
- UniqueIdentifierService.cs
- ParameterElementCollection.cs
- ColorAnimation.cs
- DeploymentExceptionMapper.cs
- ConfigurationSection.cs
- MultiDataTrigger.cs
- DataColumnCollection.cs
- OrderByQueryOptionExpression.cs
- MatrixAnimationBase.cs
- SafeNativeMethods.cs
- EventDescriptorCollection.cs
- RegexGroupCollection.cs
- RtfToXamlReader.cs
- HostingMessageProperty.cs