private void OnContextMenu(object sender, MouseEventArgs e)
{
if ((_ribbonTriple != null) &&
(_ribbonTriple.Ribbon != null) &&
_ribbonTriple.RibbonGroup.Items.Contains(_ribbonTriple))
{
// 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 Triple First", ComponentFactory.Krypton.Design.Properties.Resources.MoveFirst, new EventHandler(OnMoveFirst));
_movePreviousMenu = new ToolStripMenuItem("Move Triple Previous", ComponentFactory.Krypton.Design.Properties.Resources.MovePrevious, new EventHandler(OnMovePrevious));
_moveNextMenu = new ToolStripMenuItem("Move Triple Next", ComponentFactory.Krypton.Design.Properties.Resources.MoveNext, new EventHandler(OnMoveNext));
_moveLastMenu = new ToolStripMenuItem("Move Triple Last", ComponentFactory.Krypton.Design.Properties.Resources.MoveLast, new EventHandler(OnMoveLast));
_moveToGroupMenu = new ToolStripMenuItem("Move Triple 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));
_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));
_deleteTripleMenu = new ToolStripMenuItem("Delete Triple", ComponentFactory.Krypton.Design.Properties.Resources.delete2, new EventHandler(OnDeleteTriple));
_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, _addComboBoxMenu, _addCustomControlMenu, _addDateTimePickerMenu, _addDomainUpDownMenu, _addLabelMenu, _addNumericUpDownMenu, _addRadioButtonMenu, _addRichTextBoxMenu, _addTextBoxMenu, _addTrackBarMenu, _addMaskedTextBoxMenu, new ToolStripSeparator(),
_clearItemsMenu, new ToolStripSeparator(),
_deleteTripleMenu});
// 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;
_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 = _ribbonTriple.Ribbon.InDesignHelperMode;
_visibleMenu.Checked = _ribbonTriple.Visible;
_maximumLMenu.Checked = (_ribbonTriple.MaximumSize == GroupItemSize.Large);
_maximumMMenu.Checked = (_ribbonTriple.MaximumSize == GroupItemSize.Medium);
_maximumSMenu.Checked = (_ribbonTriple.MaximumSize == GroupItemSize.Small);
_minimumLMenu.Checked = (_ribbonTriple.MinimumSize == GroupItemSize.Large);
_minimumMMenu.Checked = (_ribbonTriple.MinimumSize == GroupItemSize.Medium);
_minimumSMenu.Checked = (_ribbonTriple.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);
_addButtonMenu.Enabled = _addButtonVerb.Enabled;
_addColorButtonMenu.Enabled = _addColorButtonVerb.Enabled;
_addCheckBoxMenu.Enabled = _addCheckBoxVerb.Enabled;
_addRadioButtonMenu.Enabled = _addRadioButtonVerb.Enabled;
_addLabelMenu.Enabled = _addLabelVerb.Enabled;
_addCustomControlMenu.Enabled = _addCustomControlVerb.Enabled;
_addTextBoxMenu.Enabled = _addTextBoxVerb.Enabled;
_addMaskedTextBoxMenu.Enabled = _addMaskedTextBoxVerb.Enabled;
_addRichTextBoxMenu.Enabled = _addRichTextBoxVerb.Enabled;
_addComboBoxMenu.Enabled = _addComboBoxVerb.Enabled;
_addNumericUpDownMenu.Enabled = _addNumericUpDownVerb.Enabled;
_addDomainUpDownMenu.Enabled = _addDomainUpDownVerb.Enabled;
_addDateTimePickerMenu.Enabled = _addDateTimePickerVerb.Enabled;
_addTrackBarMenu.Enabled = _addTrackBarVerb.Enabled;
_clearItemsMenu.Enabled = _clearItemsVerb.Enabled;
// Show the context menu
if (CommonHelper.ValidContextMenuStrip(_cms))
{
Point screenPt = _ribbonTriple.Ribbon.ViewRectangleToPoint(_ribbonTriple.TripleView);
VisualPopupManager.Singleton.ShowContextMenuStrip(_cms, screenPt);
}
}
}