ImageGear for .NET User Guide > Using ImageGear for .NET > Using ImageGear.Web.UI Namespace > Context Menu Customization > Adding a Context Menu Item to Any Level of Context Menu |
Context menu items can also be added to any level of a context menu. The following example shows how to add items to the second level of a context menu.
For Ajax server users, please comment out the first portion of the code below and uncomment the second. |
Example |
Copy Code |
---|---|
// get PageView control with "pluginPageView" identifier from the HTML page in jQuery plugin var pageView = $("#pluginPageView").ImGearPageViewPlugin(); // get PageView control with "pluginPageView" identifier from the HTML page for Ajax server //var pageView = $.find("pluginPageView"); // get context menu for image and HandPan mouse tool var contextMenu = pageView.getContextMenu(null, ImageGear.Web.UI.MouseTool.HandPan); // get second level menu var popupMenu = contextMenu.get(4).contextMenu; // add separator to the end of list popupMenu.insert(popupMenu.get_size(), new ImageGear.Web.UI.ContextMenuItem(ImageGear.Web.UI.ContextMenuItemType.Separator)); // create the handler of menu item for all mark types var commonClickHandler = function (pageView, mark) { if (mark) { var markType = mark.get_type(); switch (markType) { case ImageGear.Web.UI.MarkType.Line: alert('Line mark is clicked'); break; case ImageGear.Web.UI.MarkType.Polyline: alert('Polyline mark is clicked'); break; case ImageGear.Web.UI.MarkType.Rectangle: alert('Rectangle mark is clicked'); break; case ImageGear.Web.UI.MarkType.Ellipse: alert('Ellipse mark is clicked'); break; case ImageGear.Web.UI.MarkType.Polygon: alert('Polygon mark is clicked'); break; case ImageGear.Web.UI.MarkType.Text: alert('Text mark is clicked'); break; } } else { alert('No mark is clicked.'); } }; // create new context menu item var alertMenu = new ImageGear.Web.UI.ContextMenuItem (ImageGear.Web.UI.ContextMenuItemType.UserMenuItem, 'Mark Checker', undefined, commonClickHandler ); // add alert context menu item after the separator popupMenu.insert(popupMenu.get_size(), alertMenu); // set the renew context menu for HandPan mouse tool pageView.setContextMenuForTool (contextMenu, ImageGear.Web.UI.MarkType.Line, ImageGear.Web.UI.MouseTool.HandPan); pageView.setContextMenuForTool (contextMenu, ImageGear.Web.UI.MarkType.Polyline, ImageGear.Web.UI.MouseTool.HandPan); pageView.setContextMenuForTool (contextMenu, ImageGear.Web.UI.MarkType.Rectangle, ImageGear.Web.UI.MouseTool.HandPan); pageView.setContextMenuForTool (contextMenu, ImageGear.Web.UI.MarkType.Ellipse, ImageGear.Web.UI.MouseTool.HandPan); pageView.setContextMenuForTool (contextMenu, ImageGear.Web.UI.MarkType.Polygon, ImageGear.Web.UI.MouseTool.HandPan); pageView.setContextMenuForTool (contextMenu, ImageGear.Web.UI.MarkType.Text, ImageGear.Web.UI.MouseTool.HandPan); pageView.setContextMenuForTool (contextMenu, null, ImageGear.Web.UI.MouseTool.HandPan); |