private void OnContextMenu(object sender, MouseEventArgs e)
{
if ((_ribbonCluster != null) && (_ribbonCluster.Ribbon != null))
{
// Create the menu strip the first time around
if (_cms == null)
{
_cms = new ContextMenuStrip();
_toggleHelpersMenu = new ToolStripMenuItem("Design Helpers", null, new EventHandler(OnToggleHelpers));
_visibleMenu = new ToolStripMenuItem("Visible", null, new EventHandler(OnVisible));
_moveFirstMenu = new ToolStripMenuItem("Move Cluster First", ComponentFactory.Krypton.Design.Properties.Resources.MoveFirst, new EventHandler(OnMoveFirst));
_movePreviousMenu = new ToolStripMenuItem("Move Cluster Previous", ComponentFactory.Krypton.Design.Properties.Resources.MovePrevious, new EventHandler(OnMovePrevious));
_moveNextMenu = new ToolStripMenuItem("Move Cluster Next", ComponentFactory.Krypton.Design.Properties.Resources.MoveNext, new EventHandler(OnMoveNext));
_moveLastMenu = new ToolStripMenuItem("Move Cluster Last", ComponentFactory.Krypton.Design.Properties.Resources.MoveLast, new EventHandler(OnMoveLast));
_addButtonMenu = new ToolStripMenuItem("Add Button", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupClusterButton, new EventHandler(OnAddButton));
_addColorButtonMenu = new ToolStripMenuItem("Add Color Button", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupClusterColorButton, new EventHandler(OnAddColorButton));
_clearItemsMenu = new ToolStripMenuItem("Clear Items", null, new EventHandler(OnClearItems));
_deleteClusterMenu = new ToolStripMenuItem("Delete Cluster", ComponentFactory.Krypton.Design.Properties.Resources.delete2, new EventHandler(OnDeleteCluster));
_cms.Items.AddRange(new ToolStripItem[] { _toggleHelpersMenu, new ToolStripSeparator(),
_visibleMenu, new ToolStripSeparator(),
_moveFirstMenu, _movePreviousMenu, _moveNextMenu, _moveLastMenu, new ToolStripSeparator(),
_addButtonMenu, _addColorButtonMenu, new ToolStripSeparator(),
_clearItemsMenu, new ToolStripSeparator(),
_deleteClusterMenu });
// Ensure add images have correct transparent background
_addButtonMenu.ImageTransparentColor = Color.Magenta;
_addColorButtonMenu.ImageTransparentColor = Color.Magenta;
}
// Update verbs to work out correct enable states
UpdateVerbStatus();
// Update menu items state from versb
_toggleHelpersMenu.Checked = _ribbonCluster.Ribbon.InDesignHelperMode;
_visibleMenu.Checked = _ribbonCluster.Visible;
_moveFirstMenu.Enabled = _moveFirstVerb.Enabled;
_movePreviousMenu.Enabled = _movePrevVerb.Enabled;
_moveNextMenu.Enabled = _moveNextVerb.Enabled;
_moveLastMenu.Enabled = _moveLastVerb.Enabled;
_clearItemsMenu.Enabled = _clearItemsVerb.Enabled;
// Show the context menu
if (CommonHelper.ValidContextMenuStrip(_cms))
{
Point screenPt = _ribbonCluster.Ribbon.ViewRectangleToPoint(_ribbonCluster.ClusterView);
VisualPopupManager.Singleton.ShowContextMenuStrip(_cms, screenPt);
}
}
}