private void UpdateMode(Document doc) { // Wrap in try/catch in case event throws an exception so we dont loose handles // TODO: Consider moving to attribute try { _mode = ContextualMode.None; if (IsInModel() || IsInLayoutViewport()) { _mode = _mode | ContextualMode.ModelSpace; } if (IsInLayoutPaper()) { _mode = _mode | ContextualMode.PaperSpace; } if (IsInBlockEdit()) { _mode = _mode | ContextualMode.BlockEdit; } UpdateTabs(); } catch (Exception e) { _logger.Entry($"Unexpected error caught in update contextual mode event: {e.Message}", Severity.Error); } }
private void UpdateMode(Document doc) { // Wrap in try/catch in case event throws an exception so we dont loose handles // TODO: Consider moving to attribute try { if (Application.DocumentManager.MdiActiveDocument == null) { return; } _mode = ContextualMode.None; if (IsInModel() || IsInLayoutViewport()) { _mode = _mode | ContextualMode.ModelSpace; } if (IsInLayoutPaper()) { _mode = _mode | ContextualMode.PaperSpace; } if (IsInBlockEdit()) { _mode = _mode | ContextualMode.BlockEdit; } UpdateTabs(); } catch (Exception e) { _logger.LogError(e, $"Unexpected error caught in update contextual mode event: {e.Message}"); } }
/// <summary> /// Add a contextual tab with activation delegate. No properties specific to being contextual need to be set /// </summary> /// <param name="contextualTab">Reference to contextual tab</param> /// <param name="filter">Boolean delegate that controls when tab is set active. Called whenever selection changes.</param> public void RegisterConceptTab(RibbonTab contextualTab, Func <bool> filter, ContextualMode mode = ContextualMode.All) { _contextTabs.Add(new ContextualTab() { Tab = contextualTab, Filter = filter, Mode = mode }); contextualTab.IsVisible = false; contextualTab.IsContextualTab = true; ComponentManager.Ribbon.Tabs.Add(contextualTab); }
/// <summary> /// Add a contextual tab with activation delegate. No properties specific to being contextual need to be set /// </summary> /// <param name="contextualTab">Reference to contextual tab</param> /// <param name="filter">Boolean delegate that controls when tab is set active. Called whenever selection changes.</param> /// /// <param name="mode">Enum flags indicating when this tab is valid to be shown</param> public void RegisterConceptTab(RibbonTab contextualTab, Func <bool> filter, ContextualMode mode) { _contextualTabManager.RegisterConceptTab(contextualTab, filter, mode); }