private void OnUnPathMoveWorkItemContextMenu() { for (int i = 0; i < this.ContextMenuStrip.Items.Count; ++i) { ToolStripItem item = this.ContextMenuStrip.Items[i]; ContextMenuItemTag itemTag = (ContextMenuItemTag)item.Tag; if (!ReferenceEquals(itemTag, null) && itemTag.MenuIdentifer == MoveWorkSpaceItemContextMenuIdentifer) { this.ContextMenuStrip.Items.RemoveAt(i--); } } }
/// <summary> /// Appends item to the context menu. /// </summary> /// <param name="tag"> The tag of context menu item.</param> /// <param name="title"> The title of context menu item.</param> /// <param name="iconPath"> The path of icon to be set on context menu item.</param> /// <param name="enabled"> if true the context menu item is enabled else false.</param> /// <returns>Appended context menu item.</returns> /// <since_tizen> 6 </since_tizen> public ContextMenuItem AppendItem(ContextMenuItemTag tag, string title, string iconPath, bool enabled) { bool ret = false; if (string.IsNullOrEmpty(iconPath)) { ret = Interop.ChromiumEwk.ewk_context_menu_item_append_as_action(_handle, tag, title, enabled); } else { ret = Interop.ChromiumEwk.ewk_context_menu_item_append(_handle, tag, title, iconPath, enabled); } return(ret ? GetItemAtIndex(ItemCount - 1) : null); }
private void OnClick_MoveWorkSpaceItem(object sender, EventArgs e) { ToolStripMenuItem item = (ToolStripMenuItem)sender; ContextMenuItemTag itemTag = (ContextMenuItemTag)item.Tag; if (ReferenceEquals(itemTag.Shell, null)) { return; } itemTag.Shell.MoveTo(this); this.ParentWorkSpaceShell = itemTag.Shell; this.DockHandler.DockState = DockState.Float; OnUnPathMoveWorkItemContextMenu(); OnPathMoveWorkItemContextMenu(); }
private void OnPathMoveWorkItemContextMenu() { if (this.ContextMenuStrip.Items.Count > 0 && (WorkspacesDock.WorkSpaceManager().WorkSpacesCount() > 1)) { ToolStripItem separator = this.ContextMenuStrip.Items.Add("-"); separator.Tag = new ContextMenuItemTag { MenuIdentifer = MoveWorkSpaceItemContextMenuIdentifer, Shell = null }; } ToolStripMenuItem moveMenu = new ToolStripMenuItem("Move to...") { Tag = new ContextMenuItemTag { MenuIdentifer = MoveWorkSpaceItemContextMenuIdentifer, Shell = this.ParentWorkSpaceShell } }; this.ContextMenuStrip.Items.Add(moveMenu); int currentWorkSpaceId = ((WorkSpaceShell)ParentWorkSpaceShell).WorkSpaceId(); foreach (WorkSpaceShell workSpaceShell in WorkspacesDock.WorkSpaceManager()) { if (currentWorkSpaceId == workSpaceShell.WorkSpaceId()) { continue; } ContextMenuItemTag menuTag = new ContextMenuItemTag { MenuIdentifer = MoveWorkSpaceItemContextMenuIdentifer, Shell = workSpaceShell }; ToolStripItem item = new ToolStripMenuItem(workSpaceShell.WorkSpaceName, null, OnClick_MoveWorkSpaceItem) { Tag = menuTag }; moveMenu.DropDownItems.Add(item); } }
private void contextMenuStrip_Opening(object sender, CancelEventArgs e) { if (this.DockHandler.VisibleState == DockState.Float) { if (ReferenceEquals(this.ContextMenuStrip, null)) { return; } bool isMoveMenuEnabled = false; for (int i = 0; i < this.ContextMenuStrip.Items.Count; ++i) { ToolStripItem item = this.ContextMenuStrip.Items[i]; ContextMenuItemTag itemTag = (ContextMenuItemTag)item.Tag; if (!ReferenceEquals(itemTag, null) && itemTag.MenuIdentifer == MoveWorkSpaceItemContextMenuIdentifer) { isMoveMenuEnabled = true; } } if (!isMoveMenuEnabled) { OnPathMoveWorkItemContextMenu(); } } else if (this.DockHandler.VisibleState != DockState.Unknown) { if (ReferenceEquals(this.ContextMenuStrip, null)) { return; } for (int i = 0; i < this.ContextMenuStrip.Items.Count; ++i) { ToolStripItem item = this.ContextMenuStrip.Items[i]; ContextMenuItemTag itemTag = (ContextMenuItemTag)item.Tag; if (!ReferenceEquals(itemTag, null) && itemTag.MenuIdentifer == MoveWorkSpaceItemContextMenuIdentifer) { this.ContextMenuStrip.Items.RemoveAt(i--); } } } }
private void OnPathMoveWorkItemContextMenu() { if (this.ContextMenuStrip.Items.Count > 0 && (WorkspacesDock.WorkSpaceManager().WorkSpacesCount() > 1)) { ToolStripItem separator = this.ContextMenuStrip.Items.Add("-"); separator.Tag = new ContextMenuItemTag {MenuIdentifer = MoveWorkSpaceItemContextMenuIdentifer, Shell = null}; } ToolStripMenuItem moveMenu = new ToolStripMenuItem("Move to...") { Tag = new ContextMenuItemTag { MenuIdentifer = MoveWorkSpaceItemContextMenuIdentifer, Shell = this.ParentWorkSpaceShell } }; this.ContextMenuStrip.Items.Add(moveMenu); int currentWorkSpaceId = ((WorkSpaceShell)ParentWorkSpaceShell).WorkSpaceId(); foreach (WorkSpaceShell workSpaceShell in WorkspacesDock.WorkSpaceManager()) { if (currentWorkSpaceId == workSpaceShell.WorkSpaceId()) continue; ContextMenuItemTag menuTag = new ContextMenuItemTag { MenuIdentifer = MoveWorkSpaceItemContextMenuIdentifer, Shell = workSpaceShell }; ToolStripItem item = new ToolStripMenuItem(workSpaceShell.WorkSpaceName, null, OnClick_MoveWorkSpaceItem) { Tag = menuTag }; moveMenu.DropDownItems.Add(item); } }
internal static extern bool ewk_context_menu_item_append(IntPtr contextMenu, ContextMenuItemTag tag, string title, string iconPath, bool enabled);
internal static extern bool ewk_context_menu_item_append_as_action(IntPtr contextMenu, ContextMenuItemTag tag, string title, bool enabled);