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
- ClientOptions.cs
- DES.cs
- SiteMapNodeCollection.cs
- MenuTracker.cs
- IgnoreDeviceFilterElement.cs
- CssTextWriter.cs
- Polygon.cs
- ColumnResult.cs
- ObjectSet.cs
- PerformanceCounterManager.cs
- CharacterBufferReference.cs
- TimeSpanStorage.cs
- MachineSettingsSection.cs
- InputLanguageEventArgs.cs
- TypeResolver.cs
- NativeMethodsCLR.cs
- XNodeNavigator.cs
- CharacterMetricsDictionary.cs
- BindUriHelper.cs
- CollectionBuilder.cs
- FunctionDescription.cs
- TableRowGroup.cs
- ListItemParagraph.cs
- WebPartMenu.cs
- SqlDataSourceRefreshSchemaForm.cs
- TextComposition.cs
- IsolatedStorageFileStream.cs
- AddInSegmentDirectoryNotFoundException.cs
- FloatUtil.cs
- templategroup.cs
- WindowsListBox.cs
- FontClient.cs
- MarginsConverter.cs
- RenderDataDrawingContext.cs
- ButtonBaseAutomationPeer.cs
- TdsParameterSetter.cs
- ArrayTypeMismatchException.cs
- SimpleBitVector32.cs
- Int64Animation.cs
- HttpChannelBindingToken.cs
- ObjectQuery_EntitySqlExtensions.cs
- LoggedException.cs
- TreeNodeEventArgs.cs
- IndependentAnimationStorage.cs
- EventProxy.cs
- AddingNewEventArgs.cs
- PeerNameRegistration.cs
- XmlSchemaParticle.cs
- TreeViewItemAutomationPeer.cs
- SerializationInfo.cs
- DiscriminatorMap.cs
- ZoneIdentityPermission.cs
- Exception.cs
- CqlParser.cs
- SpecialTypeDataContract.cs
- DynamicQueryableWrapper.cs
- CodeCompileUnit.cs
- OneOfConst.cs
- CuspData.cs
- ContextMenu.cs
- TypedElement.cs
- ProcessHostServerConfig.cs
- TableLayoutRowStyleCollection.cs
- TraceUtility.cs
- ProtocolsSection.cs
- SecurityElement.cs
- TaskHelper.cs
- XamlBrushSerializer.cs
- QilGenerator.cs
- AbsoluteQuery.cs
- ConsumerConnectionPointCollection.cs
- String.cs
- ConnectivityStatus.cs
- IISMapPath.cs
- StylusTouchDevice.cs
- SBCSCodePageEncoding.cs
- XmlnsDictionary.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- ManipulationDelta.cs
- StreamedFramingRequestChannel.cs
- MessageVersion.cs
- WebPartTransformer.cs
- FilteredReadOnlyMetadataCollection.cs
- CultureTable.cs
- DataBinder.cs
- XmlMapping.cs
- ColumnMap.cs
- XmlCustomFormatter.cs
- BamlRecordWriter.cs
- WebConfigurationHost.cs
- XMLSyntaxException.cs
- RegexCode.cs
- XmlNotation.cs
- NamespaceQuery.cs
- SubtreeProcessor.cs
- Viewport2DVisual3D.cs
- Registry.cs
- BaseCollection.cs
- ResourceProviderFactory.cs
- OleDbErrorCollection.cs