private void OnContextMenu(object sender, MouseEventArgs e)
{
if ((_ribbonLines != null) &&
(_ribbonLines.Ribbon != null) &&
_ribbonLines.RibbonGroup.Items.Contains(_ribbonLines))
{
// 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));
_maximumLMenu = new ToolStripMenuItem("Large", null, new EventHandler(OnMaxLarge));
_maximumMMenu = new ToolStripMenuItem("Medium", null, new EventHandler(OnMaxMedium));
_maximumSMenu = new ToolStripMenuItem("Small", null, new EventHandler(OnMaxSmall));
_maximumSizeMenu = new ToolStripMenuItem("Maximum Size");
_maximumSizeMenu.DropDownItems.AddRange(new ToolStripItem[] { _maximumLMenu, _maximumMMenu, _maximumSMenu });
_minimumLMenu = new ToolStripMenuItem("Large", null, new EventHandler(OnMinLarge));
_minimumMMenu = new ToolStripMenuItem("Medium", null, new EventHandler(OnMinMedium));
_minimumSMenu = new ToolStripMenuItem("Small", null, new EventHandler(OnMinSmall));
_minimumSizeMenu = new ToolStripMenuItem("Minimum Size");
_minimumSizeMenu.DropDownItems.AddRange(new ToolStripItem[] { _minimumLMenu, _minimumMMenu, _minimumSMenu });
_moveFirstMenu = new ToolStripMenuItem("Move Lines First", ComponentFactory.Krypton.Design.Properties.Resources.MoveFirst, new EventHandler(OnMoveFirst));
_movePreviousMenu = new ToolStripMenuItem("Move Lines Previous", ComponentFactory.Krypton.Design.Properties.Resources.MovePrevious, new EventHandler(OnMovePrevious));
_moveNextMenu = new ToolStripMenuItem("Move Lines Next", ComponentFactory.Krypton.Design.Properties.Resources.MoveNext, new EventHandler(OnMoveNext));
_moveLastMenu = new ToolStripMenuItem("Move Lines Last", ComponentFactory.Krypton.Design.Properties.Resources.MoveLast, new EventHandler(OnMoveLast));
_moveToGroupMenu = new ToolStripMenuItem("Move Lines To Group");
_addButtonMenu = new ToolStripMenuItem("Add Button", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupButton, new EventHandler(OnAddButton));
_addColorButtonMenu = new ToolStripMenuItem("Add Color Button", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupColorButton, new EventHandler(OnAddColorButton));
_addCheckBoxMenu = new ToolStripMenuItem("Add CheckBox", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupCheckBox, new EventHandler(OnAddCheckBox));
_addRadioButtonMenu = new ToolStripMenuItem("Add RadioButton", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupRadioButton, new EventHandler(OnAddRadioButton));
_addLabelMenu = new ToolStripMenuItem("Add Label", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupLabel, new EventHandler(OnAddLabel));
_addCustomControlMenu = new ToolStripMenuItem("Add Custom Control", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupCustomControl, new EventHandler(OnAddCustomControl));
_addClusterMenu = new ToolStripMenuItem("Add Cluster", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupCluster, new EventHandler(OnAddCluster));
_addTextBoxMenu = new ToolStripMenuItem("Add TextBox", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupTextBox, new EventHandler(OnAddTextBox));
_addMaskedTextBoxMenu = new ToolStripMenuItem("Add MaskedTextBox", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupMaskedTextBox, new EventHandler(OnAddMaskedTextBox));
_addRichTextBoxMenu = new ToolStripMenuItem("Add RichTextBox", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupRichTextBox, new EventHandler(OnAddRichTextBox));
_addComboBoxMenu = new ToolStripMenuItem("Add ComboBox", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupComboBox, new EventHandler(OnAddComboBox));
_addNumericUpDownMenu = new ToolStripMenuItem("Add NumericUpDown", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupNumericUpDown, new EventHandler(OnAddNumericUpDown));
_addDomainUpDownMenu = new ToolStripMenuItem("Add DomainUpDown", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupDomainUpDown, new EventHandler(OnAddDomainUpDown));
_addDateTimePickerMenu = new ToolStripMenuItem("Add DateTimePicker", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupDateTimePicker, new EventHandler(OnAddDateTimePicker));
_addTrackBarMenu = new ToolStripMenuItem("Add TrackBar", ComponentFactory.Krypton.Design.Properties.Resources.KryptonRibbonGroupTrackBar, new EventHandler(OnAddTrackBar));
_clearItemsMenu = new ToolStripMenuItem("Clear Items", null, new EventHandler(OnClearItems));
_deleteLinesMenu = new ToolStripMenuItem("Delete Lines", ComponentFactory.Krypton.Design.Properties.Resources.delete2, new EventHandler(OnDeleteLines));
_cms.Items.AddRange(new ToolStripItem[] { _toggleHelpersMenu, new ToolStripSeparator(),
_visibleMenu, _maximumSizeMenu, _minimumSizeMenu, new ToolStripSeparator(),
_moveFirstMenu, _movePreviousMenu, _moveNextMenu, _moveLastMenu, new ToolStripSeparator(),
_moveToGroupMenu, new ToolStripSeparator(),
_addButtonMenu, _addColorButtonMenu, _addCheckBoxMenu, _addClusterMenu, _addComboBoxMenu, _addCustomControlMenu, _addDateTimePickerMenu, _addDomainUpDownMenu, _addLabelMenu, _addNumericUpDownMenu, _addRadioButtonMenu, _addRichTextBoxMenu, _addTextBoxMenu, _addTrackBarMenu, _addMaskedTextBoxMenu, new ToolStripSeparator(),
_clearItemsMenu, new ToolStripSeparator(),
_deleteLinesMenu });
// Ensure add images have correct transparent background
_addButtonMenu.ImageTransparentColor = Color.Magenta;
_addColorButtonMenu.ImageTransparentColor = Color.Magenta;
_addCheckBoxMenu.ImageTransparentColor = Color.Magenta;
_addRadioButtonMenu.ImageTransparentColor = Color.Magenta;
_addLabelMenu.ImageTransparentColor = Color.Magenta;
_addCustomControlMenu.ImageTransparentColor = Color.Magenta;
_addClusterMenu.ImageTransparentColor = Color.Magenta;
_addTextBoxMenu.ImageTransparentColor = Color.Magenta;
_addMaskedTextBoxMenu.ImageTransparentColor = Color.Magenta;
_addRichTextBoxMenu.ImageTransparentColor = Color.Magenta;
_addComboBoxMenu.ImageTransparentColor = Color.Magenta;
_addNumericUpDownMenu.ImageTransparentColor = Color.Magenta;
_addDomainUpDownMenu.ImageTransparentColor = Color.Magenta;
_addDateTimePickerMenu.ImageTransparentColor = Color.Magenta;
_addTrackBarMenu.ImageTransparentColor = Color.Magenta;
}
// Update verbs to work out correct enable states
UpdateVerbStatus();
// Update sub menu options available for the 'Move To Group'
UpdateMoveToGroup();
// Update menu items state from versb
_toggleHelpersMenu.Checked = _ribbonLines.Ribbon.InDesignHelperMode;
_visibleMenu.Checked = _ribbonLines.Visible;
_maximumLMenu.Checked = (_ribbonLines.MaximumSize == GroupItemSize.Large);
_maximumMMenu.Checked = (_ribbonLines.MaximumSize == GroupItemSize.Medium);
_maximumSMenu.Checked = (_ribbonLines.MaximumSize == GroupItemSize.Small);
_minimumLMenu.Checked = (_ribbonLines.MinimumSize == GroupItemSize.Large);
_minimumMMenu.Checked = (_ribbonLines.MinimumSize == GroupItemSize.Medium);
_minimumSMenu.Checked = (_ribbonLines.MinimumSize == GroupItemSize.Small);
_moveFirstMenu.Enabled = _moveFirstVerb.Enabled;
_movePreviousMenu.Enabled = _movePrevVerb.Enabled;
_moveNextMenu.Enabled = _moveNextVerb.Enabled;
_moveLastMenu.Enabled = _moveLastVerb.Enabled;
_moveToGroupMenu.Enabled = (_moveToGroupMenu.DropDownItems.Count > 0);
_clearItemsMenu.Enabled = _clearItemsVerb.Enabled;
// Show the context menu
if (CommonHelper.ValidContextMenuStrip(_cms))
{
Point screenPt = _ribbonLines.Ribbon.ViewRectangleToPoint(_ribbonLines.LinesView);
VisualPopupManager.Singleton.ShowContextMenuStrip(_cms, screenPt);
}
}
}