369 lines
13 KiB
C#
369 lines
13 KiB
C#
using System.Collections;
|
|
namespace DevComponents.DotNetBar
|
|
{
|
|
using System;
|
|
using System.Drawing;
|
|
/// <summary>
|
|
/// Interface for designer-item integration.
|
|
/// </summary>
|
|
public interface IBarItemDesigner
|
|
{
|
|
void StartExternalDrag(BaseItem item);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Interface implemented by target Bar interested in access to designer.
|
|
/// </summary>
|
|
public interface IBarDesignerServices
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets the BarBaseControlDesigner instance.
|
|
/// </summary>
|
|
IBarItemDesigner Designer { get;set;}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Provides design-time support for DotNetBar items.
|
|
/// </summary>
|
|
public interface IDesignTimeProvider
|
|
{
|
|
InsertPosition GetInsertPosition(Point pScreen, BaseItem DragItem);
|
|
void DrawReversibleMarker(int iPos, bool Before);
|
|
void InsertItemAt(BaseItem objItem, int iPos, bool Before);
|
|
}
|
|
|
|
public class InsertPosition
|
|
{
|
|
public int Position;
|
|
public bool Before;
|
|
public IDesignTimeProvider TargetProvider;
|
|
public InsertPosition()
|
|
{
|
|
Position=-1;
|
|
Before=false;
|
|
TargetProvider=null;
|
|
}
|
|
public InsertPosition(int iPosition, bool bBefore, IDesignTimeProvider target)
|
|
{
|
|
this.Position=iPosition;
|
|
this.Before=bBefore;
|
|
this.TargetProvider=target;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
if (TargetProvider == null)
|
|
return string.Format("TargetProvider={0}, Position={1}, Before={2}", "null", Position, Before);
|
|
else
|
|
return string.Format("TargetProvider={0}, Position={1}, Before={2}", TargetProvider, Position, Before);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Provides support for personalized menu items.
|
|
/// </summary>
|
|
public interface IPersonalizedMenuItem
|
|
{
|
|
eMenuVisibility MenuVisibility {get;set;}
|
|
bool RecentlyUsed {get;set;}
|
|
}
|
|
|
|
public interface IOwnerItemEvents
|
|
{
|
|
void InvokeItemAdded(BaseItem item,EventArgs e);
|
|
void InvokeItemRemoved(BaseItem item, BaseItem parent, int itemIndex);
|
|
void InvokeMouseEnter(BaseItem item,EventArgs e);
|
|
void InvokeMouseHover(BaseItem item,EventArgs e);
|
|
void InvokeMouseLeave(BaseItem item,EventArgs e);
|
|
void InvokeMouseDown(BaseItem item, System.Windows.Forms.MouseEventArgs e);
|
|
void InvokeMouseUp(BaseItem item, System.Windows.Forms.MouseEventArgs e);
|
|
void InvokeMouseMove(BaseItem item, System.Windows.Forms.MouseEventArgs e);
|
|
void InvokeItemClick(BaseItem objItem);
|
|
void InvokeItemDoubleClick(BaseItem objItem, System.Windows.Forms.MouseEventArgs e);
|
|
void InvokeGotFocus(BaseItem item,EventArgs e);
|
|
void InvokeLostFocus(BaseItem item,EventArgs e);
|
|
void InvokeExpandedChange(BaseItem item,EventArgs e);
|
|
void InvokeItemTextChanged(BaseItem item, EventArgs e);
|
|
// void InvokeItemDisplayedChanged(BaseItem item, EventArgs e);
|
|
|
|
void InvokeContainerControlDeserialize(BaseItem item,ControlContainerSerializationEventArgs e);
|
|
void InvokeContainerControlSerialize(BaseItem item,ControlContainerSerializationEventArgs e);
|
|
void InvokeContainerLoadControl(BaseItem item,EventArgs e);
|
|
|
|
void InvokeOptionGroupChanging(BaseItem item, OptionGroupChangingEventArgs e);
|
|
|
|
void InvokeToolTipShowing(object item, EventArgs e);
|
|
|
|
void InvokeCheckedChanged(ButtonItem item, EventArgs e);
|
|
}
|
|
|
|
public interface IOwnerMenuSupport
|
|
{
|
|
bool PersonalizedAllVisible {get;set;}
|
|
bool ShowFullMenusOnHover {get;set;}
|
|
bool AlwaysShowFullMenus {get;set;}
|
|
|
|
void RegisterPopup(PopupItem objPopup);
|
|
void UnregisterPopup(PopupItem objPopup);
|
|
bool RelayMouseHover();
|
|
|
|
// Events
|
|
void InvokePopupClose(PopupItem item,EventArgs e);
|
|
void InvokePopupContainerLoad(PopupItem item,EventArgs e);
|
|
void InvokePopupContainerUnload(PopupItem item,EventArgs e);
|
|
void InvokePopupOpen(PopupItem item,PopupOpenEventArgs e);
|
|
void InvokePopupShowing(PopupItem item,EventArgs e);
|
|
|
|
bool ShowPopupShadow {get;}
|
|
eMenuDropShadow MenuDropShadow{get;set;}
|
|
ePopupAnimation PopupAnimation{get;set;}
|
|
bool AlphaBlendShadow{get;set;}
|
|
/// <summary>
|
|
/// Closes all popups managed by the owner control.
|
|
/// </summary>
|
|
void ClosePopups();
|
|
}
|
|
|
|
public interface IOwnerBarSupport
|
|
{
|
|
void InvokeDockTabChange(Bar bar,DockTabChangeEventArgs e);
|
|
void InvokeBarDock(Bar bar,EventArgs e);
|
|
void InvokeBarUndock(Bar bar,EventArgs e);
|
|
void InvokeAutoHideChanged(Bar bar,EventArgs e);
|
|
void InvokeBarClosing(Bar bar,BarClosingEventArgs e);
|
|
void InvokeAutoHideDisplay(Bar bar,AutoHideDisplayEventArgs e);
|
|
void InvokeBarTearOff(Bar bar,EventArgs e);
|
|
void InvokeBeforeDockTabDisplay(BaseItem item, EventArgs e);
|
|
|
|
DockSiteInfo GetDockInfo(IDockInfo pDock, int x, int y);
|
|
void DockComplete();
|
|
|
|
void BarContextMenu(System.Windows.Forms.Control bar, System.Windows.Forms.MouseEventArgs e);
|
|
|
|
System.Collections.ArrayList WereVisible{get;}
|
|
void AddShortcutsFromBar(Bar bar);
|
|
void RemoveShortcutsFromBar(Bar bar);
|
|
|
|
// Dock Site Support
|
|
DockSite LeftDockSite{get;set;}
|
|
DockSite RightDockSite{get;set;}
|
|
DockSite TopDockSite{get;set;}
|
|
DockSite BottomDockSite{get;set;}
|
|
DockSite FillDockSite{get;set;}
|
|
|
|
DockSite ToolbarLeftDockSite { get;set;}
|
|
DockSite ToolbarRightDockSite { get;set;}
|
|
DockSite ToolbarTopDockSite { get;set;}
|
|
DockSite ToolbarBottomDockSite { get;set;}
|
|
|
|
bool ApplyDocumentBarStyle{get;set;}
|
|
}
|
|
|
|
public interface IOwnerAutoHideSupport
|
|
{
|
|
// Auto-hide support
|
|
AutoHidePanel LeftAutoHidePanel {get;set;}
|
|
AutoHidePanel RightAutoHidePanel {get;set;}
|
|
AutoHidePanel TopAutoHidePanel {get;set;}
|
|
AutoHidePanel BottomAutoHidePanel {get;set;}
|
|
bool HasLeftAutoHidePanel {get;}
|
|
bool HasRightAutoHidePanel {get;}
|
|
bool HasTopAutoHidePanel {get;}
|
|
bool HasBottomAutoHidePanel {get;}
|
|
|
|
}
|
|
|
|
public interface IOwner
|
|
{
|
|
System.Windows.Forms.Form ParentForm {get;set;}
|
|
System.Collections.ArrayList GetItems(string ItemName);
|
|
System.Collections.ArrayList GetItems(string ItemName, Type itemType);
|
|
System.Collections.ArrayList GetItems(string ItemName, Type itemType, bool useGlobalName);
|
|
BaseItem GetItem(string ItemName);
|
|
void SetExpandedItem(BaseItem objItem);
|
|
BaseItem GetExpandedItem();
|
|
|
|
void SetFocusItem(BaseItem objFocusItem);
|
|
BaseItem GetFocusItem();
|
|
void DesignTimeContextMenu(BaseItem objItem);
|
|
|
|
void RemoveShortcutsFromItem(BaseItem objItem);
|
|
void AddShortcutsFromItem(BaseItem objItem);
|
|
|
|
System.Windows.Forms.ImageList Images {get;set;}
|
|
System.Windows.Forms.ImageList ImagesMedium {get;set;}
|
|
System.Windows.Forms.ImageList ImagesLarge {get;set;}
|
|
|
|
// Drag support
|
|
void StartItemDrag(BaseItem objItem);
|
|
BaseItem DragItem{get;}
|
|
bool DragInProgress{get;}
|
|
|
|
bool ShowToolTips{get;set;}
|
|
bool ShowShortcutKeysInToolTips{get;set;}
|
|
bool AlwaysDisplayKeyAccelerators{get;set;}
|
|
|
|
System.Windows.Forms.Form ActiveMdiChild{get;}
|
|
System.Windows.Forms.MdiClient GetMdiClient(System.Windows.Forms.Form MdiForm);
|
|
|
|
void Customize();
|
|
void InvokeResetDefinition(BaseItem item,EventArgs e);
|
|
bool ShowResetButton{get;set;}
|
|
|
|
void InvokeDefinitionLoaded(object sender,EventArgs e);
|
|
void InvokeUserCustomize(object sender,EventArgs e);
|
|
void InvokeEndUserCustomize(object sender, EndUserCustomizeEventArgs e);
|
|
|
|
void OnApplicationActivate();
|
|
void OnApplicationDeactivate();
|
|
void OnParentPositionChanging();
|
|
|
|
bool DesignMode {get;}
|
|
|
|
bool DisabledImagesGrayScale{get;set;}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Provides support for custom localization.
|
|
/// </summary>
|
|
public interface IOwnerLocalize
|
|
{
|
|
void InvokeLocalizeString(LocalizeEventArgs e);
|
|
}
|
|
|
|
internal interface IThemeCache
|
|
{
|
|
DevComponents.DotNetBar.ThemeWindow ThemeWindow{get;}
|
|
DevComponents.DotNetBar.ThemeRebar ThemeRebar{get;}
|
|
DevComponents.DotNetBar.ThemeToolbar ThemeToolbar{get;}
|
|
DevComponents.DotNetBar.ThemeHeader ThemeHeader{get;}
|
|
DevComponents.DotNetBar.ThemeScrollBar ThemeScrollBar{get;}
|
|
DevComponents.DotNetBar.ThemeExplorerBar ThemeExplorerBar{get;}
|
|
DevComponents.DotNetBar.ThemeProgress ThemeProgress{get;}
|
|
DevComponents.DotNetBar.ThemeButton ThemeButton { get;}
|
|
}
|
|
|
|
public interface IBarImageSize
|
|
{
|
|
eBarImageSize ImageSize {get;set;}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Describes container support for setting the word-wrap behavior of it's sub-items.
|
|
/// </summary>
|
|
public interface IContainerWordWrap
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets whether sub items text will be word wrapped if it cannot fit the space allocated.
|
|
/// </summary>
|
|
bool WordWrapSubItems{get;set;}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Desribes interface that provides custom serialization support for items.
|
|
/// </summary>
|
|
public interface ICustomSerialization
|
|
{
|
|
/// <summary>
|
|
/// Occurs after an item has been serialized to XmlElement and provides you with opportunity to add any custom data
|
|
/// to serialized XML. This allows you to serialize any data with the item and load it back up in DeserializeItem event.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <para>To serialize custom data to XML definition control creates handle this event and use CustomXmlElement
|
|
/// property on SerializeItemEventArgs to add new nodes or set attributes with custom data you want saved.</para>
|
|
/// </remarks>
|
|
event SerializeItemEventHandler SerializeItem;
|
|
|
|
/// <summary>
|
|
/// Occurs after an item has been de-serialized (load) from XmlElement and provides you with opportunity to load any custom data
|
|
/// you have serialized during SerializeItem event.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <para>To de-serialize custom data from XML definition handle this event and use CustomXmlElement
|
|
/// property on SerializeItemEventArgs to retrive any data you saved in SerializeItem event.</para>
|
|
/// </remarks>
|
|
event SerializeItemEventHandler DeserializeItem;
|
|
|
|
/// <summary>
|
|
/// Invokes SerializeItem event.
|
|
/// </summary>
|
|
/// <param name="e">Provides data for the event.</param>
|
|
void InvokeSerializeItem(SerializeItemEventArgs e);
|
|
|
|
/// <summary>
|
|
/// Invokes DeserializeItem event.
|
|
/// </summary>
|
|
/// <param name="e">Provides data for the event.</param>
|
|
void InvokeDeserializeItem(SerializeItemEventArgs e);
|
|
|
|
/// <summary>
|
|
/// Gets whether any handlers have been defined for SerializeItem event. If no handles have been defined to optimize performance SerializeItem event will not be attempted to fire.
|
|
/// </summary>
|
|
bool HasSerializeItemHandlers { get;}
|
|
|
|
/// <summary>
|
|
/// Gets whether any handlers have been defined for DeserializeItem event. If no handles have been defined to optimize performance DeserializeItem event will not be attempted to fire.
|
|
/// </summary>
|
|
bool HasDeserializeItemHandlers { get;}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Defines interface that should be implemented by controls that support per control renderers.
|
|
/// </summary>
|
|
public interface IRenderingSupport
|
|
{
|
|
/// <summary>
|
|
/// Gets the renderer control will be rendered with. This can be either custom renderer set on the control or the
|
|
/// Rendering.GlobalManager specified renderer.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Rendering.BaseRenderer GetRenderer();
|
|
|
|
/// <summary>
|
|
/// Gets or sets the redering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must
|
|
/// also be set to the custom renderer that will be used.
|
|
/// </summary>
|
|
eRenderMode RenderMode { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer
|
|
/// specified here to be used.
|
|
/// </summary>
|
|
DevComponents.DotNetBar.Rendering.BaseRenderer Renderer { get; set;}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Defines interface for internal accessibility support for DotNetBar control.
|
|
/// </summary>
|
|
public interface IAccessibilitySupport
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets the item default accesibility action will be performed on.
|
|
/// </summary>
|
|
BaseItem DoDefaultActionItem { get; set;}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Provides interface for controls that support ribbon customization.
|
|
/// </summary>
|
|
public interface IRibbonCustomize
|
|
{
|
|
/// <summary>
|
|
/// Called when item contained by the container is right-clicked.
|
|
/// </summary>
|
|
/// <param name="item">Instance of the item that was right-clicked.</param>
|
|
void ItemRightClick(BaseItem item);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Defines notification interface for scrollable item controls.
|
|
/// </summary>
|
|
public interface IScrollableItemControl
|
|
{
|
|
/// <summary>
|
|
/// Indicates that item has been selected via keyboard.
|
|
/// </summary>
|
|
/// <param name="item">Reference to item being selected</param>
|
|
void KeyboardItemSelected(BaseItem item);
|
|
}
|
|
} |