/// <summary> /// When a link is clicked, opens the webpage if it's a Web link, or displays /// the resource in context if it's a resource link. /// </summary> private static void HandleLinkLabelClick(ResourceLinkLabel lbl) { if (lbl.Resource.IsDeleted) { return; } if (lbl.Resource.Type == "Weblink") { Core.UIManager.OpenInNewBrowserWindow(lbl.Resource.GetStringProp("URL")); } else { IResource shortcut = (IResource)lbl.Tag; IUIManager uiManager = Core.UIManager; uiManager.BeginUpdateSidebar(); if (shortcut.HasProp(ShortcutProps.Workspace)) { Core.WorkspaceManager.ActiveWorkspace = shortcut.GetLinkProp(ShortcutProps.Workspace); } else { Core.WorkspaceManager.ActiveWorkspace = null; } if (shortcut.HasProp(ShortcutProps.TabID)) { Core.TabManager.CurrentTabId = shortcut.GetStringProp(ShortcutProps.TabID); } uiManager.EndUpdateSidebar(); ActionContext context = new ActionContext(ActionContextKind.Other, null, lbl.Resource.ToResourceList()); if (!Core.ActionManager.ExecuteLinkClickAction(context)) { uiManager.DisplayResourceInContext(lbl.Resource); } } }