private void SetEnabledIfRuleAppIsLoaded(VisualDelegateCommand command) { if (command != null) { command.IsEnabled = RuleApplicationService.RuleApplicationDef != null; } }
private void AddHomeTabButtons() { var ribbonTab = IrAuthorShell.HomeTab; if (ribbonTab != null) { _analyzeGroup = ribbonTab.AddGroup("App Analysis", null, ""); _manageUnusedFields = new VisualDelegateCommand(this.ManageUnusedFields, "Manage Unused Fields", ImageFactory.GetImageAuthoringAssembly(@"/Images/Trace16.png"), ImageFactory.GetImageAuthoringAssembly(@"/Images/Trace32.png"), true); _analyzeGroup.AddButton(_manageUnusedFields); _showFieldUsageCommand = new VisualDelegateCommand(this.ShowFieldUsage, "Field Usage Summary", ImageFactory.GetImageAuthoringAssembly(@"/Images/Trace16.png"), ImageFactory.GetImageAuthoringAssembly(@"/Images/Trace32.png"), true); _analyzeGroup.AddButton(_showFieldUsageCommand); _showDefCountsCommand = new VisualDelegateCommand(this.ShowDefTypeCounts, "Def Types", ImageFactory.GetImageAuthoringAssembly(@"/Images/CollapseAll16.png"), ImageFactory.GetImageAuthoringAssembly(@"/Images/CollapseAll32.png"), true); _analyzeGroup.AddButton(_showDefCountsCommand); } }
public override void Enable() { var group = IrAuthorShell.HomeTab.GetGroup("Reports"); var existingButton = group.GetControl("Schema Diagram"); if (existingButton != null) { group.RemoveItem(existingButton); } _loadCommand = new VisualDelegateCommand(LoadDiagram, "Schema Diagram", "/Images/flow32.png", "/Images/flow32.png", false); _loadCommand.IsEnabled = RuleApplicationService.RuleApplicationDef != null; _localCommand = new VisualDelegateCommand(LoadDiagram, "Open in Local Navigator", "/Images/flow16.png", "/Images/flow32.png"); _localCommand.IsEnabled = RuleApplicationService.RuleApplicationDef != null; _ffCommand = new VisualDelegateCommand(OpenInFF, "Launch in Firefox", "/Images/flow16.png", "/Images/flow32.png"); _ffCommand.IsEnabled = IsFirefoxInstalled() && RuleApplicationService.RuleApplicationDef != null; _browserCommand = new VisualDelegateCommand(OpenInBrowser, "Launch in Default Browser", "/Images/flow16.png", "/Images/flow32.png"); _browserCommand.IsEnabled = RuleApplicationService.RuleApplicationDef != null; IRibbonMenuButton diagramButton = group.AddSplitMenuButton(_loadCommand); diagramButton.AddMenuItem(_localCommand); diagramButton.AddMenuItem(_ffCommand); diagramButton.AddMenuItem(_browserCommand); RuleApplicationService.Opened += WhenRuleApplicationChanged; RuleApplicationService.Closed += WhenRuleApplicationChanged; }
/// <summary> /// /// </summary> public override void Enable() { undoCommand = new VisualDelegateCommand(Undo, "Undo", ImageFactory.GetImageThisAssembly("Images/arrow-undo-16.png"), ImageFactory.GetImageThisAssembly("Images/arrow-undo-32.png"), false); redoCommand = new VisualDelegateCommand(Redo, "Redo", ImageFactory.GetImageThisAssembly("Images/arrow-redo-16.png"), ImageFactory.GetImageThisAssembly("Images/arrow-redo-32.png"), false); var group = IrAuthorShell.HomeTab.GetGroup("Clipboard"); group.AddButton(undoCommand); group.AddButton(redoCommand); var deleteStream = Observable.FromEventPattern <CancelEventArgs <RuleRepositoryDefBase> >( x => RuleApplicationService.Controller.RemovingDef += x, x => RuleApplicationService.Controller.RemovingDef -= x) .Select(x => x.EventArgs.Item) .Select(x => PopulateUndoHistoryItem(x, UndoDefRemoved)); var insertStream = Observable.FromEventPattern <EventArgs <RuleRepositoryDefBase> >( x => RuleApplicationService.Controller.DefAdded += x, x => RuleApplicationService.Controller.DefAdded -= x) .Select(x => x.EventArgs.Item) .Select(x => PopulateUndoHistoryItem(x, UndoDefInserted)); // add operations to the undo stack, as long as there isn't an undo currently in progress var operationStream = deleteStream.Merge(insertStream); var undoStream = operationStream.Where(x => !undoInProgress.Value).Do(item => LogEvent("UndoStream: {0}", item.DefToUndo.Name)); var redoStream = operationStream.Where(x => undoInProgress.Value).Do(item => LogEvent("RedoStream: {0}", item.DefToUndo.Name)); subscriptionsDisposable.Add(undoStream.Subscribe(x => undoBuffer.Push(x))); subscriptionsDisposable.Add(redoStream.Subscribe(x => redoBuffer.Push(x))); subscriptionsDisposable.Add(redoBuffer.ItemCount.Subscribe(x => redoCommand.IsEnabled = x > 0)); var undoActionStream = UndoClicked.Where(x => undoBuffer.Any()); subscriptionsDisposable.Add(undoActionStream.Subscribe(x => { var item = undoBuffer.Pop(); PerformUndo(item); }, exception => LogEvent(exception.ToString()))); var redoActionStream = redoSubject.Where(x => redoBuffer.Any()); subscriptionsDisposable.Add(redoActionStream.Subscribe(x => { var item = redoBuffer.Pop(); item.UndoAction(item); })); subscriptionsDisposable.Add(undoBuffer.ItemCount.Subscribe(x => undoCommand.IsEnabled = x > 0)); subscriptionsDisposable.Add(undoInProgress.Subscribe(x => LogEvent("UndoInProgress: {0}", x))); }
public override void Enable() { var group = IrAuthorShell.HomeTab.AddGroup(ExtensionRibbonGroup, ImageFactory.GetImageAuthoringAssembly(ExtensionImageSource16)); __ExtensionCommand = new VisualDelegateCommand(ButtonWasPressed, ExtensionButtonText, ImageFactory.GetImageAuthoringAssembly(ExtensionImageSource16), ImageFactory.GetImageAuthoringAssembly(ExtensionImageSource32), false); group.AddButton(__ExtensionCommand); RuleApplicationService.Opened += SetEnabled; RuleApplicationService.Closed += SetEnabled; SelectionManager.SelectedItemChanged += SetEnabled; }
public override void Enable() { _updateRulesCommand = new VisualDelegateCommand(UpdateRules, "Update Rules", "/Images/Amazon.png", "/Images/Amazon.png", false); var group = IrAuthorShell.HomeTab.AddGroup("AWS", null, ""); group.AddButton(_updateRulesCommand); RuleApplicationService.Opened += EnableButton; RuleApplicationService.Closed += EnableButton; }
public override void Enable() { _group = IrAuthorShell.HomeTab.AddGroup("Import", null, ""); _importCommand = new VisualDelegateCommand(Import, "Import", ImageFactory.GetImageThisAssembly(@"/import.png"), ImageFactory.GetImageThisAssembly(@"/import.png"), false); _button = _group.AddButton(_importCommand, "Import Decision Table"); RuleApplicationService.Opened += EnableButton; RuleApplicationService.Closed += EnableButton; SelectionManager.SelectedItemChanged += EnableButton; }
public override void Enable() { ViewGalleryCommand = new VisualDelegateCommand(ViewGallery, "Extensions Manager", ImageFactory.GetImage("irAuthor", "Images/Extension32.png"), ImageFactory.GetImage("irAuthor", "Images/Extension32.png"), true); var homeTab = IrAuthorShell.HomeTab; var group = homeTab.AddGroup("Extension Gallery", ImageFactory.GetImage("irAuthor", "Images/SmileFace16.png")); _ = group.AddButton(ViewGalleryCommand); }
public override void Enable() { //Icon from https://freeicon.org/icon/15015/magnifying-glass OpenSearchCommand = new VisualDelegateCommand(OpenSearch, "Search Catalog", ImageFactory.GetImageThisAssembly("images/magnifyingglass.png"), ImageFactory.GetImageThisAssembly("images/magnifyingglass.png"), RuleApplicationService.Connection != null); RuleApplicationService.HasConnectionChanged += RuleApplicationService_HasConnectionChanged; var catalogTab = IrAuthorShell.Ribbon.GetTab("Catalog"); var group = catalogTab.GetGroup("General"); var button = group.AddButton(OpenSearchCommand); }
private void WhenContentControlChanged(object sender, EventArgs e) { if (SelectionManager.SelectedItem is DecisionTableDef) { decisionTableTabGroup = IrAuthorShell.Ribbon.GetContextualTabGroup("Decision Table"); if (decisionTableTabGroup != null) { settingsTab = decisionTableTabGroup.GetTab("Settings"); toolsGroup = settingsTab.GetGroup("Tools"); exportCommand = new VisualDelegateCommand(ExportTable, "Export to csv", ImageFactory.GetImageThisAssembly(@"Images/csv32.png"), ImageFactory.GetImageThisAssembly(@"Images/csv48.png"), false); exportCommand.IsEnabled = true; toolsGroup.AddButton(exportCommand); } } }
public override void Enable() { var group = IrAuthorShell.HomeTab.GetGroup("Reports"); //var group = IrAuthorShell.HomeTab.AddGroup("Flow Visualizer", ImageFactory.GetImageThisAssembly("/Images/flow32.png")); var button = group.GetControl("Execution Flow"); if (button != null) { group.RemoveItem(button); } _submitCommand = new VisualDelegateCommand(Submit, "Execution Flow", "/Images/flow32.png", "/Images/flow32.png", false); group.AddButton(_submitCommand); _submitCommand.IsEnabled = RuleApplicationService.RuleApplicationDef != null; //_submitCommand.IsEnabled = false; RuleApplicationService.Opened += WhenRuleApplicationChanged; RuleApplicationService.Closed += WhenRuleApplicationChanged; }
public override void Enable() { _group = IrAuthorShell.HomeTab.GetGroup("General"); if (_group == null) { _group = IrAuthorShell.HomeTab.AddGroup("General", null); } else { _groupExisted = true; } _command = new VisualDelegateCommand(Execute, "Export Table", ImageFactory.GetImageThisAssembly("Images/Image16.png"), ImageFactory.GetImageThisAssembly("Images/Image32.png")); _command.IsEnabled = false; _button = _group.AddButton(_command); SelectionManager.SelectedItemChanged += WhenSelectedItemChanged; }
public Extension() : base("RefreshTemplateEngine", "Refreshes the template engine", new Guid("{D9DA19AA-2C3E-4510-921B-C87F4FA60BCE}")) { _refreshTemplateEngineCommand = new VisualDelegateCommand(RefreshTemplateEngine, "Refresh Template Engine", ImageFactory.GetImageAuthoringAssembly("/Images/Refresh32.png"), null, false); }