|
//*****************************************************************************
//
// File: RibbonToggleButton.cs
//
// Contents: Helper class that wraps a ribbon toggle button control.
//
//*****************************************************************************
using RibbonLib.Controls.Events;
using RibbonLib.Controls.Properties;
using RibbonLib.Interop;
namespace RibbonLib.Controls
{
public class RibbonToggleButton : BaseRibbonControl,
IBooleanValuePropertyProvider,
IEnabledPropertiesProvider,
IKeytipPropertiesProvider,
ILabelPropertiesProvider,
ILabelDescriptionPropertiesProvider,
IImagePropertiesProvider,
ITooltipPropertiesProvider,
IExecuteEventsProvider
{
private BooleanValuePropertyProvider _booleanValuePropertyProvider;
private EnabledPropertiesProvider _enabledPropertiesProvider;
private KeytipPropertiesProvider _keytipPropertiesProvider;
private LabelPropertiesProvider _labelPropertiesProvider;
private LabelDescriptionPropertiesProvider _labelDescriptionPropertiesProvider;
private ImagePropertiesProvider _imagePropertiesProvider;
private TooltipPropertiesProvider _tooltipPropertiesProvider;
private ExecuteEventsProvider _executeEventsProvider;
public RibbonToggleButton(Ribbon ribbon, uint commandId)
: base(ribbon, commandId)
{
AddPropertiesProvider(_booleanValuePropertyProvider = new BooleanValuePropertyProvider(ribbon, commandId));
AddPropertiesProvider(_enabledPropertiesProvider = new EnabledPropertiesProvider(ribbon, commandId));
AddPropertiesProvider(_keytipPropertiesProvider = new KeytipPropertiesProvider(ribbon, commandId));
AddPropertiesProvider(_labelPropertiesProvider = new LabelPropertiesProvider(ribbon, commandId));
AddPropertiesProvider(_labelDescriptionPropertiesProvider = new LabelDescriptionPropertiesProvider(ribbon, commandId));
AddPropertiesProvider(_imagePropertiesProvider = new ImagePropertiesProvider(ribbon, commandId));
AddPropertiesProvider(_tooltipPropertiesProvider = new TooltipPropertiesProvider(ribbon, commandId));
AddEventsProvider(_executeEventsProvider = new ExecuteEventsProvider());
}
#region IBooleanValuePropertyProvider Members
public bool BooleanValue
{
get
{
return _booleanValuePropertyProvider.BooleanValue;
}
set
{
_booleanValuePropertyProvider.BooleanValue = value;
}
}
#endregion
#region IEnabledPropertiesProvider Members
public bool Enabled
{
get
{
return _enabledPropertiesProvider.Enabled;
}
set
{
_enabledPropertiesProvider.Enabled = value;
}
}
#endregion
#region IKeytipPropertiesProvider Members
public string Keytip
{
get
{
return _keytipPropertiesProvider.Keytip;
}
set
{
_keytipPropertiesProvider.Keytip = value;
}
}
#endregion
#region ILabelPropertiesProvider Members
public string Label
{
get
{
return _labelPropertiesProvider.Label;
}
set
{
_labelPropertiesProvider.Label = value;
}
}
#endregion
#region ILabelDescriptionPropertiesProvider Members
public string LabelDescription
{
get
{
return _labelDescriptionPropertiesProvider.LabelDescription;
}
set
{
_labelDescriptionPropertiesProvider.LabelDescription = value;
}
}
#endregion
#region IImagePropertiesProvider Members
public IUIImage LargeImage
{
get
{
return _imagePropertiesProvider.LargeImage;
}
set
{
_imagePropertiesProvider.LargeImage = value;
}
}
public IUIImage SmallImage
{
get
{
return _imagePropertiesProvider.SmallImage;
}
set
{
_imagePropertiesProvider.SmallImage = value;
}
}
public IUIImage LargeHighContrastImage
{
get
{
return _imagePropertiesProvider.LargeHighContrastImage;
}
set
{
_imagePropertiesProvider.LargeHighContrastImage = value;
}
}
public IUIImage SmallHighContrastImage
{
get
{
return _imagePropertiesProvider.SmallHighContrastImage;
}
set
{
_imagePropertiesProvider.SmallHighContrastImage = value;
}
}
#endregion
#region ITooltipPropertiesProvider Members
public string TooltipTitle
{
get
{
return _tooltipPropertiesProvider.TooltipTitle;
}
set
{
_tooltipPropertiesProvider.TooltipTitle = value;
}
}
public string TooltipDescription
{
get
{
return _tooltipPropertiesProvider.TooltipDescription;
}
set
{
_tooltipPropertiesProvider.TooltipDescription = value;
}
}
#endregion
#region IExecuteEventsProvider Members
public event OnExecuteEventHandler OnExecute
{
add
{
_executeEventsProvider.OnExecute += value;
}
remove
{
_executeEventsProvider.OnExecute -= value;
}
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Arik Poznanski is a senior software developer at Verint. He completed two B.Sc. degrees in Mathematics & Computer Science, summa cum laude, from the Technion in Israel.
Arik has extensive knowledge and experience in many Microsoft technologies, including .NET with C#, WPF, Silverlight, WinForms, Interop, COM/ATL programming, C++ Win32 programming and reverse engineering (assembly, IL).