Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / TrustUi / MS / Internal / documents / CredentialManagerDialog.cs / 1 / CredentialManagerDialog.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description:
// CredentialManagerDialog is the Forms dialog that allows users to select RM Creds.
//
// History:
// 08/15/05 - [....] created
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Windows.Forms;
using System.Windows.TrustUI;
using System.Security;
using System.Security.RightsManagement;
namespace MS.Internal.Documents
{
///
/// CredentialManagerDialog is used for choose RM credentials.
///
internal sealed partial class CredentialManagerDialog : DialogBaseForm
{
#region Constructors
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
///
/// The constructor
///
internal CredentialManagerDialog( IList accountList,
string defaultAccount,
DocumentRightsManagementManager docRightsManagementManager
)
{
if ((docRightsManagementManager != null))
{
_docRightsManagementManager = docRightsManagementManager;
}
else
{
throw new ArgumentNullException("DocumentRightsManagementManager");
}
//Set the data source for the listbox
SetCredentialManagementList(accountList, defaultAccount);
//Enable or disable remove button depending on whether there is anything to remove
_credListBox_SelectedIndexChanged(this, EventArgs.Empty);
}
#endregion Constructors
#region Public Methods
//------------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
///
/// SetCredentialManagementList.
///
internal void SetCredentialManagementList(
IList accountList,
string defaultAccount
)
{
//now we need to refresh everything.
//Set the data source
_credListBox.DataSource = accountList;
if (defaultAccount != null)
{
//Now we need to get and select the default.
_credListBox.SelectedIndex = _credListBox.Items.IndexOf(defaultAccount);
}
}
#endregion Public Methods
#region Private Methods
//------------------------------------------------------
//
// Private Methods
//
//------------------------------------------------------
///
/// Called when the selected item changes on the listbox.
///
private void _credListBox_SelectedIndexChanged(object sender, EventArgs e)
{
//Check to see if something is selected.
if (_credListBox.SelectedIndex >= 0)
{
_removeButton.Enabled = true;
}
else
{
_removeButton.Enabled = false;
}
}
///
/// OK button handler.
///
///
/// Critical - Calls a critical method _docRightsManagementManager::OnCredentialManagementSetDefault.
/// TreatAsSafe - The data we are passing into the critical call is strictly user supplied text
/// directly from the UI for list box.
///
[SecurityCritical, SecurityTreatAsSafe]
private void _okButton_Click(object sender, EventArgs e)
{
//Check to see if something is selected.
if (_credListBox.SelectedIndex >= 0)
{
//Call Manager to set the default.
_docRightsManagementManager.OnCredentialManagementSetDefault(
(string) _credListBox.Items[_credListBox.SelectedIndex]);
}
}
///
/// Remove button handler.
///
///
/// Critical - Calls a critical method _docRightsManagementManager::OnCredentialManagementRemove.
/// TreatAsSafe - The data we are passing into the critical call is strictly user supplied text
/// directly from the UI for list box.
///
[SecurityCritical, SecurityTreatAsSafe]
private void _removeButton_Click(object sender, EventArgs e)
{
//Check to see if something is selected.
if (_credListBox.SelectedIndex >= 0)
{
//Call Manager to remove selected user.
_docRightsManagementManager.OnCredentialManagementRemove(
(string)_credListBox.Items[_credListBox.SelectedIndex]);
//Enable or disable remove button depending on whether there is anything to remove
_credListBox_SelectedIndexChanged(this, EventArgs.Empty);
}
}
///
/// Add button handler.
///
///
/// Critical - Calls a critical method _docRightsManagementManager::OnCredentialManagementShowEnrollment.
/// TreatAsSafe - No data is being passed into the critical method and only invoked when the UI button is clicked.
///
[SecurityCritical, SecurityTreatAsSafe]
private void _addButton_Click(object sender, EventArgs e)
{
//to add new user just call enrollment
_docRightsManagementManager.OnCredentialManagementShowEnrollment();
//Enable or disable remove button depending on whether there is anything to remove
_credListBox_SelectedIndexChanged(this, EventArgs.Empty);
}
#endregion Private Methods
#region Protected Methods
//-----------------------------------------------------
//
// Protected Methods
//
//------------------------------------------------------
///
/// ApplyResources override. Called to apply dialog resources.
///
protected override void ApplyResources()
{
base.ApplyResources();
_cancelButton.Text = SR.Get(SRID.RMCredManagementCancel);
_okButton.Text = SR.Get(SRID.RMCredManagementOk);
_addButton.Text = SR.Get(SRID.RMCredManagementAdd);
_removeButton.Text = SR.Get(SRID.RMCredManagementRemove);
_instructionLabel.Text = SR.Get(SRID.RMCredManagementInstruction);
Text = SR.Get(SRID.RMCredManagementDialog);
// Setup matching Add/Remove button widths
int maxWidth = Math.Max(_addButton.Width, _removeButton.Width);
_addButton.Width = maxWidth;
_removeButton.Width = maxWidth;
}
#endregion Protected Methods
#region Private Fields
//-----------------------------------------------------
//
// Private Fields
//
//-----------------------------------------------------
private DocumentRightsManagementManager _docRightsManagementManager;
#endregion Private Fields
}
}
// 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
- PropertyTab.cs
- WinFormsUtils.cs
- DigestTraceRecordHelper.cs
- HtmlTitle.cs
- AddInAttribute.cs
- DecimalStorage.cs
- _KerberosClient.cs
- KeyBinding.cs
- DecoratedNameAttribute.cs
- BuildResult.cs
- DropShadowBitmapEffect.cs
- Socket.cs
- diagnosticsswitches.cs
- UriTemplateQueryValue.cs
- OleDbConnection.cs
- Crypto.cs
- PagesSection.cs
- PeerReferralPolicy.cs
- AsymmetricKeyExchangeDeformatter.cs
- WbemProvider.cs
- TimelineGroup.cs
- filewebrequest.cs
- Container.cs
- DefaultSection.cs
- HuffmanTree.cs
- Duration.cs
- HostedTransportConfigurationBase.cs
- SerializeAbsoluteContext.cs
- OdbcFactory.cs
- ModulesEntry.cs
- EdmConstants.cs
- WindowPattern.cs
- TreeViewDesigner.cs
- MobileContainerDesigner.cs
- SamlAssertion.cs
- WebBrowser.cs
- OleCmdHelper.cs
- TypeElementCollection.cs
- util.cs
- LookupBindingPropertiesAttribute.cs
- Transform.cs
- StylusPlugInCollection.cs
- InspectionWorker.cs
- OutOfMemoryException.cs
- ExpressionVisitor.cs
- EnumMember.cs
- ContextMenu.cs
- RefreshEventArgs.cs
- DataGridViewCellEventArgs.cs
- BuildProviderCollection.cs
- Material.cs
- TextEditorSpelling.cs
- ComponentDesigner.cs
- AttributeQuery.cs
- Statements.cs
- UIHelper.cs
- BamlStream.cs
- ColorBuilder.cs
- DurationConverter.cs
- ContentElement.cs
- TextTabProperties.cs
- MsmqOutputMessage.cs
- DrawListViewColumnHeaderEventArgs.cs
- DispatcherObject.cs
- ScriptServiceAttribute.cs
- ScrollProviderWrapper.cs
- ScriptRegistrationManager.cs
- SafeRegistryHandle.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- FamilyCollection.cs
- BinarySecretKeyIdentifierClause.cs
- OperatingSystem.cs
- EncryptedPackage.cs
- XmlAttribute.cs
- SecondaryIndexDefinition.cs
- TextRangeBase.cs
- BamlTreeUpdater.cs
- lengthconverter.cs
- SharedPersonalizationStateInfo.cs
- PieceNameHelper.cs
- CompressStream.cs
- tibetanshape.cs
- indexingfiltermarshaler.cs
- ValidatingCollection.cs
- InternalConfigHost.cs
- DictionarySectionHandler.cs
- FragmentNavigationEventArgs.cs
- PenThreadWorker.cs
- LeaseManager.cs
- DataColumnMappingCollection.cs
- BindingList.cs
- DataServiceRequestException.cs
- LinqDataSourceStatusEventArgs.cs
- XmlSchemaSet.cs
- DateTimeValueSerializerContext.cs
- SessionStateItemCollection.cs
- SmiContextFactory.cs
- ColorIndependentAnimationStorage.cs
- SQLBytesStorage.cs
- AttachedAnnotation.cs