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
- Logging.cs
- GraphicsPathIterator.cs
- CodeObject.cs
- DataRelation.cs
- ExceptionUtil.cs
- PerformanceCounterNameAttribute.cs
- PackageRelationship.cs
- xmlsaver.cs
- DesignerActionMethodItem.cs
- OdbcInfoMessageEvent.cs
- TextBoxBase.cs
- SingleResultAttribute.cs
- SrgsElementFactoryCompiler.cs
- CapabilitiesRule.cs
- ObjectViewQueryResultData.cs
- AtlasWeb.Designer.cs
- JumpTask.cs
- NameValueCollection.cs
- RelatedPropertyManager.cs
- Positioning.cs
- EventRoute.cs
- PolyLineSegmentFigureLogic.cs
- TypeBuilderInstantiation.cs
- WebPartUserCapability.cs
- SourceFilter.cs
- MetabaseServerConfig.cs
- InvalidAsynchronousStateException.cs
- MarkupWriter.cs
- XmlSchemaComplexContent.cs
- ConfigurationSection.cs
- WCFServiceClientProxyGenerator.cs
- DynamicMetaObject.cs
- CountdownEvent.cs
- CommandField.cs
- MouseButtonEventArgs.cs
- Window.cs
- ModelServiceImpl.cs
- Application.cs
- ToolStripOverflow.cs
- CustomErrorsSectionWrapper.cs
- NetCodeGroup.cs
- Run.cs
- ExpressionBindings.cs
- FamilyTypefaceCollection.cs
- BezierSegment.cs
- BinaryObjectWriter.cs
- TextSpan.cs
- DesignerActionTextItem.cs
- ScriptingWebServicesSectionGroup.cs
- UnsafeNativeMethods.cs
- ToolStripPanelCell.cs
- CompilerError.cs
- TraceHandlerErrorFormatter.cs
- entityreference_tresulttype.cs
- PageParserFilter.cs
- OracleColumn.cs
- TextDecorationCollection.cs
- SHA384Managed.cs
- Part.cs
- XmlChildEnumerator.cs
- CompressionTransform.cs
- BinarySecretSecurityToken.cs
- HtmlWindowCollection.cs
- WinEventQueueItem.cs
- TimeZoneNotFoundException.cs
- EmptyReadOnlyDictionaryInternal.cs
- XmlEnumAttribute.cs
- Point3DCollection.cs
- ActivityDelegate.cs
- URI.cs
- SubqueryRules.cs
- SchemaTableColumn.cs
- DataReceivedEventArgs.cs
- PtsPage.cs
- WindowsAuthenticationEventArgs.cs
- FunctionQuery.cs
- GZipStream.cs
- ValidateNames.cs
- HierarchicalDataTemplate.cs
- MenuBase.cs
- InkCanvasSelection.cs
- ComboBox.cs
- PermissionAttributes.cs
- SoapMessage.cs
- Config.cs
- DataBinder.cs
- Parameter.cs
- VirtualPathData.cs
- CmsUtils.cs
- ZoneMembershipCondition.cs
- AlignmentXValidation.cs
- NetworkAddressChange.cs
- ProfessionalColorTable.cs
- InputDevice.cs
- COM2Properties.cs
- Style.cs
- RuntimeCompatibilityAttribute.cs
- BindingBase.cs
- DataObjectSettingDataEventArgs.cs
- RSAPKCS1KeyExchangeFormatter.cs