|
//*****************************************************************************
//
// File: RibbonFontControl.cs
//
// Contents: Helper class that wraps a ribbon font control.
//
//*****************************************************************************
using System.Drawing;
using RibbonLib.Controls.Events;
using RibbonLib.Controls.Properties;
using RibbonLib.Interop;
namespace RibbonLib.Controls
{
public class RibbonFontControl : BaseRibbonControl,
IFontControlPropertiesProvider,
IEnabledPropertiesProvider,
IKeytipPropertiesProvider,
IExecuteEventsProvider,
IPreviewEventsProvider
{
private FontControlPropertiesProvider _fontControlPropertiesProvider;
private EnabledPropertiesProvider _enabledPropertiesProvider;
private KeytipPropertiesProvider _keytipPropertiesProvider;
private ExecuteEventsProvider _executeEventsProvider;
private PreviewEventsProvider _previewEventsProvider;
public RibbonFontControl(Ribbon ribbon, uint commandId)
: base(ribbon, commandId)
{
AddPropertiesProvider(_fontControlPropertiesProvider = new FontControlPropertiesProvider(ribbon, commandId));
AddPropertiesProvider(_enabledPropertiesProvider = new EnabledPropertiesProvider(ribbon, commandId));
AddPropertiesProvider(_keytipPropertiesProvider = new KeytipPropertiesProvider(ribbon, commandId));
AddEventsProvider(_executeEventsProvider = new ExecuteEventsProvider());
AddEventsProvider(_previewEventsProvider = new PreviewEventsProvider());
}
#region IFontControlPropertiesProvider Members
public string Family
{
get
{
return _fontControlPropertiesProvider.Family;
}
set
{
_fontControlPropertiesProvider.Family = value;
}
}
public decimal Size
{
get
{
return _fontControlPropertiesProvider.Size;
}
set
{
_fontControlPropertiesProvider.Size = value;
}
}
public FontProperties Bold
{
get
{
return _fontControlPropertiesProvider.Bold;
}
set
{
_fontControlPropertiesProvider.Bold = value;
}
}
public FontProperties Italic
{
get
{
return _fontControlPropertiesProvider.Italic;
}
set
{
_fontControlPropertiesProvider.Italic = value;
}
}
public FontUnderline Underline
{
get
{
return _fontControlPropertiesProvider.Underline;
}
set
{
_fontControlPropertiesProvider.Underline = value;
}
}
public FontProperties Strikethrough
{
get
{
return _fontControlPropertiesProvider.Strikethrough;
}
set
{
_fontControlPropertiesProvider.Strikethrough = value;
}
}
public Color ForegroundColor
{
get
{
return _fontControlPropertiesProvider.ForegroundColor;
}
set
{
_fontControlPropertiesProvider.ForegroundColor = value;
}
}
public Color BackgroundColor
{
get
{
return _fontControlPropertiesProvider.BackgroundColor;
}
set
{
_fontControlPropertiesProvider.BackgroundColor = value;
}
}
public FontVerticalPosition VerticalPositioning
{
get
{
return _fontControlPropertiesProvider.VerticalPositioning;
}
set
{
_fontControlPropertiesProvider.VerticalPositioning = 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 IExecuteEventsProvider Members
public event OnExecuteEventHandler OnExecute
{
add
{
_executeEventsProvider.OnExecute += value;
}
remove
{
_executeEventsProvider.OnExecute -= value;
}
}
#endregion
#region IPreviewEventsProvider Members
public event OnPreviewEventHandler OnPreview
{
add
{
_previewEventsProvider.OnPreview += value;
}
remove
{
_previewEventsProvider.OnPreview -= value;
}
}
public event OnCancelPreviewEventHandler OnCancelPreview
{
add
{
_previewEventsProvider.OnCancelPreview += value;
}
remove
{
_previewEventsProvider.OnCancelPreview -= 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).