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
- WindowsButton.cs
- EventSchemaTraceListener.cs
- TdsParserSafeHandles.cs
- SqlInfoMessageEvent.cs
- CodeIndexerExpression.cs
- MouseOverProperty.cs
- TargetException.cs
- WrappingXamlSchemaContext.cs
- XmlSchemaSet.cs
- DataServiceStreamResponse.cs
- cryptoapiTransform.cs
- LocalizationCodeDomSerializer.cs
- ObjectToken.cs
- ToolStripPanel.cs
- ListView.cs
- OleStrCAMarshaler.cs
- ScrollBar.cs
- XmlDigitalSignatureProcessor.cs
- DataGridViewRowCancelEventArgs.cs
- FixedPageAutomationPeer.cs
- CngKey.cs
- IntSecurity.cs
- Deflater.cs
- WebProxyScriptElement.cs
- SpeechDetectedEventArgs.cs
- DispatcherEventArgs.cs
- PeerNameRegistration.cs
- WindowsFormsLinkLabel.cs
- DataContext.cs
- UnauthorizedAccessException.cs
- Pick.cs
- RenderOptions.cs
- basenumberconverter.cs
- PrinterSettings.cs
- OpenTypeLayoutCache.cs
- EntityContainer.cs
- PreviewPageInfo.cs
- FileRegion.cs
- BamlMapTable.cs
- ResXDataNode.cs
- ObjectSet.cs
- StandardTransformFactory.cs
- XmlReaderSettings.cs
- CellConstantDomain.cs
- SetStoryboardSpeedRatio.cs
- BuildDependencySet.cs
- MimeObjectFactory.cs
- TextTreeTextElementNode.cs
- GCHandleCookieTable.cs
- OpenTypeLayoutCache.cs
- EdmConstants.cs
- DictionaryContent.cs
- ObjectList.cs
- TracedNativeMethods.cs
- TaskFileService.cs
- MbpInfo.cs
- _NegoState.cs
- ApplicationGesture.cs
- SafeNativeMethods.cs
- DataGridViewCellCancelEventArgs.cs
- WebException.cs
- TraceInternal.cs
- SiteMapProvider.cs
- AttachedAnnotation.cs
- DesignerVerbCollection.cs
- ObjectDataSourceMethodEventArgs.cs
- PackWebRequest.cs
- PageThemeBuildProvider.cs
- ObjectQueryProvider.cs
- lengthconverter.cs
- ItemsChangedEventArgs.cs
- ListViewDeletedEventArgs.cs
- log.cs
- RepeaterItemEventArgs.cs
- NameNode.cs
- BitFlagsGenerator.cs
- TimersDescriptionAttribute.cs
- AvTrace.cs
- DesignColumnCollection.cs
- CodeTypeParameterCollection.cs
- TextEditorTyping.cs
- JavaScriptSerializer.cs
- SettingsPropertyIsReadOnlyException.cs
- OrderablePartitioner.cs
- ButtonAutomationPeer.cs
- GenericIdentity.cs
- ConfigXmlCDataSection.cs
- SmtpCommands.cs
- DynamicVirtualDiscoSearcher.cs
- LogAppendAsyncResult.cs
- ZoneIdentityPermission.cs
- Rfc4050KeyFormatter.cs
- MethodImplAttribute.cs
- FormViewRow.cs
- SamlAuthenticationStatement.cs
- WebMessageFormatHelper.cs
- ReferencedType.cs
- FileDialogPermission.cs
- OwnerDrawPropertyBag.cs
- SecurityTokenTypes.cs