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
- HostSecurityManager.cs
- DataSourceCacheDurationConverter.cs
- ToolStripContainer.cs
- SafeThreadHandle.cs
- DbQueryCommandTree.cs
- MessageBox.cs
- Activator.cs
- ResourceDescriptionAttribute.cs
- EventTrigger.cs
- FlatButtonAppearance.cs
- ContentHostHelper.cs
- GZipDecoder.cs
- PrinterResolution.cs
- SyndicationSerializer.cs
- MultiSelector.cs
- TableItemProviderWrapper.cs
- WebServiceReceiveDesigner.cs
- XmlSchemaParticle.cs
- BitmapFrame.cs
- FixedSOMFixedBlock.cs
- WebDescriptionAttribute.cs
- CellConstant.cs
- AsymmetricKeyExchangeDeformatter.cs
- Decoder.cs
- PersonalizableTypeEntry.cs
- SortAction.cs
- Rules.cs
- SqlRecordBuffer.cs
- DataGridTablesFactory.cs
- TextTreeTextBlock.cs
- Vector3DAnimation.cs
- RawStylusSystemGestureInputReport.cs
- Util.cs
- Size3DValueSerializer.cs
- Membership.cs
- TableDetailsCollection.cs
- FileLoadException.cs
- HandlerBase.cs
- AssemblyBuilder.cs
- ServerReliableChannelBinder.cs
- ImageAnimator.cs
- AuthenticateEventArgs.cs
- DataSourceHelper.cs
- ExtendedPropertyDescriptor.cs
- HandoffBehavior.cs
- ExecutedRoutedEventArgs.cs
- listitem.cs
- EntityClientCacheEntry.cs
- NumericUpDownAcceleration.cs
- CodeStatement.cs
- Point3D.cs
- IconEditor.cs
- AbandonedMutexException.cs
- GenericTextProperties.cs
- CacheDependency.cs
- CapabilitiesSection.cs
- BitmapDecoder.cs
- SessionStateSection.cs
- FederatedMessageSecurityOverHttpElement.cs
- BaseHashHelper.cs
- CharStorage.cs
- XmlMembersMapping.cs
- SemanticBasicElement.cs
- ElementsClipboardData.cs
- SecurityDescriptor.cs
- LayeredChannelFactory.cs
- WebRequestModulesSection.cs
- Activity.cs
- PropertiesTab.cs
- Set.cs
- CAGDesigner.cs
- QueryHandler.cs
- RichTextBox.cs
- RightsManagementEncryptionTransform.cs
- MultiAsyncResult.cs
- fixedPageContentExtractor.cs
- PropertyDescriptorGridEntry.cs
- AuthStoreRoleProvider.cs
- SingleObjectCollection.cs
- TakeQueryOptionExpression.cs
- ErrorHandler.cs
- FileDialogCustomPlace.cs
- Exceptions.cs
- PreloadedPackages.cs
- IdnElement.cs
- Encoder.cs
- QilList.cs
- MethodAccessException.cs
- ServiceDiscoveryElement.cs
- SettingsProperty.cs
- WizardPanelChangingEventArgs.cs
- ReachUIElementCollectionSerializerAsync.cs
- _LocalDataStoreMgr.cs
- BufferCache.cs
- SerializationEventsCache.cs
- Cell.cs
- Permission.cs
- WebPartConnectionsConnectVerb.cs
- SHA256Managed.cs
- HashCodeCombiner.cs