Ejemplo n.º 1
0
        void AddBindingChildNodes(
            TaskRunnerInformation task,
            TaskRunnerBindingInformation binding,
            TreeNavigator navigator,
            TaskBindingTreeNode node)
        {
            foreach (TaskBindingTreeNode childNode in node.CreateChildNodes(task, binding))
            {
                TreeNavigator childNavigator = navigator.AddChild();

                if (!childNode.Icon.IsNull)
                {
                    childNavigator.SetValue(bindingNodeIconField, ImageService.GetIcon(childNode.Icon, Gtk.IconSize.Menu));
                }
                childNavigator.SetValue(bindingNodeNameField, childNode.Name);
                childNavigator.SetValue(bindingNodeField, childNode);

                AddBindingChildNodes(task, binding, childNavigator, childNode);
                navigator.MoveToParent();
            }

            if (node.IsRootNode)
            {
                RefreshBindingNodeName(node, navigator);
            }
        }
Ejemplo n.º 2
0
 void AddBindingNodes(TaskRunnerInformation task)
 {
     foreach (TaskRunnerBindingInformation binding in task.Bindings)
     {
         AddBindingNodes(task, binding);
     }
 }
Ejemplo n.º 3
0
        void AddOptionsButton(TaskRunnerInformation task)
        {
            if (task?.Options == null || !task.Options.Any())
            {
                return;
            }

            separator = new HSeparator();
            optionsToolbar.Add(separator);

            foreach (ITaskRunnerOption option in task.Options)
            {
                var button = new ToggleButton();
                button.Name        = option.Name;
                button.TooltipText = option.GetTooltipText();
                button.Active      = option.Checked;
                AddIcon(button, option.Icon);
                button.Data ["option"] = option;
                button.Clicked        += OptionButtonClicked;

                optionButtons.Add(button);
                optionsToolbar.Add(button);
            }

            optionsToolbar.ShowAll();
        }
Ejemplo n.º 4
0
 void ToggleBinding(TaskRunnerInformation taskRunnerInfo, ITaskRunnerNode node, TaskRunnerBindEvent bindEvent)
 {
     try {
         taskRunnerInfo.ToggleBinding(bindEvent, node);
     } catch (Exception ex) {
         LoggingService.LogError("Toggle binding failed.", ex);
         MessageService.ShowError(GettextCatalog.GetString("Unable to change binding."), ex);
     }
 }
Ejemplo n.º 5
0
        TaskBindingTreeNode(TaskRunnerInformation task, TaskRunnerBindingInformation binding, string taskName)
        {
            this.task    = task;
            this.binding = binding;

            BindEvent      = binding.BindEvent;
            Name           = taskName;
            hasChildren    = false;
            IsTaskNameNode = true;
        }
Ejemplo n.º 6
0
        TaskBindingTreeNode(TaskRunnerInformation task, TaskRunnerBindingInformation binding)
        {
            this.task    = task;
            this.binding = binding;

            BindEvent   = binding.BindEvent;
            Name        = task.Name;
            Icon        = task.Icon;
            hasChildren = true;
        }
Ejemplo n.º 7
0
        public TaskRunnerTreeNode(TaskRunnerInformation task, ITaskRunnerNode node, bool bold)
        {
            taskRunnerInfo = task;
            taskRunnerNode = node;

            Name = taskRunnerNode.Name ?? string.Empty;
            Icon = task.Icon;

            if (bold)
            {
                Name = Name.ToBoldMarkup();
            }
        }
Ejemplo n.º 8
0
        void AddTaskNodes(TaskRunnerInformation task)
        {
            var rootNode = new TaskRunnerTreeNode(task);

            TreeNavigator navigator = tasksTreeStore.AddNode();
            IconId        icon      = rootNode.Icon;

            if (!icon.IsNull)
            {
                navigator.SetValue(taskRunnerNodeIconField, ImageService.GetIcon(icon, Gtk.IconSize.Menu));
            }
            navigator.SetValue(taskRunnerNodeNameField, rootNode.Name);
            navigator.SetValue(taskRunnerField, rootNode);

            AddTaskChildNodes(navigator, rootNode);
        }
Ejemplo n.º 9
0
 public IEnumerable <TaskBindingTreeNode> CreateChildNodes(
     TaskRunnerInformation task,
     TaskRunnerBindingInformation binding)
 {
     if (IsRootNode)
     {
         tasks.Add(task);
         yield return(new TaskBindingTreeNode(task, binding));
     }
     else if (hasChildren)
     {
         foreach (string taskName in binding.GetTasks())
         {
             yield return(new TaskBindingTreeNode(task, binding, taskName));
         }
     }
 }
Ejemplo n.º 10
0
        void AddBindingNodes(TaskRunnerInformation task, TaskRunnerBindingInformation binding)
        {
            TaskBindingTreeNode parentNode = GetBindingTreeNode(binding.BindEvent);

            if (parentNode == null)
            {
                return;
            }

            TreeNavigator navigator = GetNavigator(parentNode);

            if (navigator == null)
            {
                return;
            }

            AddBindingChildNodes(task, binding, navigator, parentNode);
        }
Ejemplo n.º 11
0
        protected override Task <IEnumerable <TaskRunnerInformationBase> > GetTaskRunnerInformation(CancellationToken ct)
        {
            IEnumerable <TaskRunnerInformationBase> output = _connectors.Values.Where(x => x.Status == ConnectorConfigStatus.Enabled).Select(x =>
            {
                var notificationTask        = NotificationTaskFactory();
                var notificationInformation = new TaskRunnerInformation <NotificationTask>(
                    x.TenantIdAsGuid,
                    x.IdAsGuid,
                    null, // We'll populate the function once we have the logprefix from the TaskRunnerInformation
                    ExceptionHandlerFunction,
                    RepeatedTaskFailureTimeFunction,
                    notificationTask,
                    ct
                    );
                notificationInformation.Function = () => notificationTask.RunAsync(x, notificationInformation.LogPrefix, ct);

                return(notificationInformation);
            });

            return(Task.FromResult(output));
        }
Ejemplo n.º 12
0
 public TaskRunnerTreeNode(TaskRunnerInformation task)
 {
     taskRunnerInfo = task;
     Name           = task.Name;
     Icon           = task.Icon;
 }
Ejemplo n.º 13
0
 void TaskRunnerSelected(TaskRunnerInformation task)
 {
     RemoveExistingOptionButtons();
     AddOptionsButton(task);
 }