Ejemplo n.º 1
0
        private void OnDoubleClick(object sender, EventArgs e)
        {
            try
            {
                TaskNode tn = this.SelectedNode as TaskNode;
                if (tn != null)
                {
                    TaskEventArgs te = new TaskEventArgs();
                    te.Task = tn.Task;
                    OnOpenTaskEditor(te);
                    return;
                }

                OperationNode on = this.SelectedNode as OperationNode;
                if (on != null)
                {
                    AccountEventArgs te = new AccountEventArgs();
                    tn         = on.Parent as TaskNode;
                    te.Group   = tn.Task.GroupName;
                    te.Account = on.Operation.Account;
                    OnOpenAccount(te);
                }
            }
            catch (Exception ex)
            {
                ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
            }
        }
Ejemplo n.º 2
0
        private void OnDeleteClick(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("确认要删除么?", Constants.MESSAGEBOX_CAPTION, MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                {
                    TaskNode tn   = this.SelectedNode as TaskNode;
                    TaskInfo task = null;
                    if (tn != null)
                    {
                        task = tn.Task;
                    }
                    if (task != null)
                    {
                        string ret = ConfigCtrl.DeleteTask(task);
                        if (ret != Constants.STATUS_SUCCESS)
                        {
                            MessageBox.Show(ret, Constants.MESSAGEBOX_CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }

                        BaseNode bn = (BaseNode)tn.Parent;
                        bn.Nodes.Remove(tn);
                    }
                }
            }
            catch (Exception ex)
            {
                ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
            }
        }
Ejemplo n.º 3
0
        private void OnStopAllTasksClick(object sender, EventArgs e)
        {
            try
            {
                BaseNode bn = this.SelectedNode as BaseNode;
                if (bn != null)
                {
                    foreach (TreeNode node in bn.Nodes)
                    {
                        TaskNode tn = node as TaskNode;
                        if (tn != null)
                        {
                            if (_executingTaskIdList.Contains(tn.Task.TaskId))
                            {
                                //icon
                                tn.ImageIndex         = DataConvert.GetInt32(IconType.Task);
                                tn.SelectedImageIndex = DataConvert.GetInt32(IconType.Task);

                                TaskEventArgs te = new TaskEventArgs();
                                te.Task = tn.Task;
                                OnStopTask(te);
                                _executingTaskIdList.Remove(tn.Task.TaskId);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
            }
        }
Ejemplo n.º 4
0
        public void InitialNodes()
        {
            //set images
            imageListIcon.ColorDepth = ColorDepth.Depth32Bit;//不然图片会失真,周围会有黑线
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_TASKS));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_TASK));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_ADDTASK));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_START));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_PAUSE));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_STOP));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_DELETE));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_OPERATION));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_TASKSTART));
            imageListIcon.Images.Add(ImageCtrl.GetIconFromResx(TaskConstants.IMAGE_REFRESH));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_USER));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_XML));

            this.ImageList = imageListIcon;

            //set nodes
            base.Nodes.Clear();

            //build Root node
            BaseNode Root = new BaseNode("所有任务");

            base.Nodes.Add(Root);

            //build Task node
            Collection <TaskInfo> tasks = ConfigCtrl.GetTasks();

            foreach (TaskInfo task in tasks)
            {
                if (task != null)
                {
                    TaskNode tn = new TaskNode(task);
                    Root.Nodes.Add(tn);
                    foreach (AccountInfo account in task.Accounts)
                    {
                        OperationInfo operation = ConfigCtrl.GetOperation(task.GroupName, account);
                        OperationNode on        = new OperationNode(operation);
                        tn.Nodes.Add(on);
                    }
                    //如果正在执行,保持箭头图标
                    if (_executingTaskIdList.Contains(task.TaskId))
                    {
                        tn.ImageIndex         = DataConvert.GetInt32(IconType.TaskStart);
                        tn.SelectedImageIndex = DataConvert.GetInt32(IconType.TaskStart);
                    }
                }
            }

            if (Root.Nodes.Count > 0)
            {
                Root.Expand();
            }
        }
Ejemplo n.º 5
0
 private void OnOpenTaskConfigFileClick(object sender, EventArgs e)
 {
     try
     {
         TaskNode tn = this.SelectedNode as TaskNode;
         if (tn != null)
         {
             TaskEventArgs te = new TaskEventArgs();
             te.Task = tn.Task;
             OnOpenTaskConfigFile(te);
         }
     }
     catch (Exception ex)
     {
         ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
     }
 }
Ejemplo n.º 6
0
 private void OnRenameTaskClick(object sender, EventArgs e)
 {
     try
     {
         TaskNode tn = this.SelectedNode as TaskNode;
         if (tn != null)
         {
             DlgAddTask adu = new DlgAddTask();
             adu.Task = tn.Task;
             if (adu.ShowDialog() == DialogResult.OK)
             {
                 tn.Text = adu.Task.TaskName;
             }
         }
     }
     catch (Exception ex)
     {
         ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
     }
 }
Ejemplo n.º 7
0
        private void OnTaskStartClick(object sender, EventArgs e)
        {
            try
            {
                TaskNode tn = this.SelectedNode as TaskNode;
                if (tn != null)
                {
                    //icon
                    tn.ImageIndex         = DataConvert.GetInt32(IconType.TaskStart);
                    tn.SelectedImageIndex = DataConvert.GetInt32(IconType.TaskStart);

                    TaskEventArgs te = new TaskEventArgs();
                    te.Task = tn.Task;
                    OnStartTask(te);
                    _executingTaskIdList.Add(tn.Task.TaskId);
                }
            }
            catch (Exception ex)
            {
                ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
            }
        }
Ejemplo n.º 8
0
 private void OnRefreshOperationsClick(object sender, EventArgs e)
 {
     try
     {
         TaskNode tn = this.SelectedNode as TaskNode;
         if (tn != null)
         {
             tn.Nodes.Clear();
             TaskInfo task = ConfigCtrl.GetTask(tn.Task.TaskId, tn.Task.TaskName, false);
             foreach (AccountInfo account in task.Accounts)
             {
                 OperationInfo operation = ConfigCtrl.GetOperation(task.GroupName, account);
                 OperationNode an        = new OperationNode(operation);
                 tn.Nodes.Add(an);
             }
         }
     }
     catch (Exception ex)
     {
         ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
     }
 }
Ejemplo n.º 9
0
 private void TaskTree_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
 {
     try
     {
         if (e.Node is TaskNode)
         {
             TaskNode tn = e.Node as TaskNode;
             if (tn != null)
             {
                 _task = tn.Task;
             }
         }
         else
         {
             e.CancelEdit = true;
         }
     }
     catch (Exception ex)
     {
         ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
     }
 }
Ejemplo n.º 10
0
        private void OnAddTaskClick(object sender, EventArgs e)
        {
            try
            {
                DlgAddTask adt = new DlgAddTask();
                if (adt.ShowDialog() == DialogResult.OK)
                {
                    BaseNode bn = (BaseNode)this.SelectedNode;
                    TaskNode tn = new TaskNode(adt.Task);
                    bn.Nodes.Add(tn);
                    if (bn.Parent != null && bn.Parent.Nodes.Count > 0)
                    {
                        bn.Parent.Expand();
                    }
                }

                if (this.SelectedNode is BaseNode)
                {
                    BaseNode bn = this.SelectedNode as BaseNode;
                    if (bn != null)
                    {
                        RootNodeEventArgs re = new RootNodeEventArgs();
                        re.Tasks = new Collection <TaskInfo>();
                        foreach (TaskNode tasknode in bn.Nodes)
                        {
                            re.Tasks.Add(tasknode.Task);
                        }
                        OnRootNodeSelected(re);
                    }
                }
            }
            catch (Exception ex)
            {
                ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
            }
        }
Ejemplo n.º 11
0
        private void TaskTree_AfterSelect(object sender, TreeViewEventArgs e)
        {
            try
            {
                if (e.Node is TaskNode)
                {
                    TaskNode      tn = e.Node as TaskNode;
                    TaskEventArgs te = new TaskEventArgs();
                    if (tn != null)
                    {
                        te.Task = ConfigCtrl.GetTask(tn.Task.TaskId, tn.Task.TaskName, false);

                        te.Operations = new Collection <OperationInfo>();
                        foreach (AccountInfo account in te.Task.Accounts)
                        {
                            te.Operations.Add(ConfigCtrl.GetOperation(te.Task.GroupName, account));
                        }

                        //te.Task = tn.Task;
                        //te.Operations = new Collection<OperationInfo>();
                        //foreach (OperationNode on in tn.Nodes)
                        //{
                        //    te.Operations.Add(on.Operation);
                        //}
                    }
                    else
                    {
                        te.Task = null;
                    }
                    OnTaskNodeSelected(te);
                }
                else if (this.SelectedNode is TaskNode)
                {
                    TaskNode      tn = this.SelectedNode as TaskNode;
                    TaskEventArgs te = new TaskEventArgs();
                    if (tn != null)
                    {
                        te.Task       = tn.Task;
                        te.Operations = new Collection <OperationInfo>();
                        foreach (OperationNode on in tn.Nodes)
                        {
                            te.Operations.Add(on.Operation);
                        }
                    }
                    else
                    {
                        te.Task = null;
                    }
                    OnTaskNodeSelected(te);
                }
                else if (this.SelectedNode is OperationNode)
                {
                    OperationNode      on = this.SelectedNode as OperationNode;
                    OperationEventArgs oe = new OperationEventArgs();
                    if (on != null)
                    {
                        oe.Operation = on.Operation;
                    }
                    else
                    {
                        oe.Operation = null;
                    }
                    OnOperationNodeSelected(oe);
                }
                else if (this.SelectedNode is BaseNode)
                {
                    BaseNode bn = this.SelectedNode as BaseNode;
                    if (bn != null)
                    {
                        RootNodeEventArgs re = new RootNodeEventArgs();
                        re.Tasks = new Collection <TaskInfo>();
                        foreach (TaskNode tasknode in bn.Nodes)
                        {
                            re.Tasks.Add(tasknode.Task);
                        }
                        OnRootNodeSelected(re);
                    }
                }
            }
            catch (Exception ex)
            {
                ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
            }
        }
Ejemplo n.º 12
0
        private void OnMouseDown(object sender, MouseEventArgs e)
        {
            try
            {
                if (e.Button == System.Windows.Forms.MouseButtons.Right)
                {
                    contextmenustrip.Items.Clear();

                    //onfocus when right click on the node
                    BaseNode bn = (BaseNode)this.GetNodeAt(e.X, e.Y);
                    if (bn == null)
                    {
                        return;
                    }
                    else
                    {
                        this.SelectedNode = bn;
                    }

                    switch (bn.nodeType)
                    {
                    //BaseNode
                    case NodeType.Base:
                        contextmenustrip.Items.Add("添加任务");
                        contextmenustrip.Items.Add("刷新");
                        contextmenustrip.Items.Add(new ToolStripSeparator());
                        contextmenustrip.Items.Add("全部开始");
                        contextmenustrip.Items.Add("全部停止");
                        contextmenustrip.Items[0].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.AddTask)];
                        contextmenustrip.Items[0].Click += new EventHandler(OnAddTaskClick);
                        contextmenustrip.Items[1].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.Refresh)];
                        contextmenustrip.Items[1].Click += new EventHandler(OnRefreshTasksClick);
                        contextmenustrip.Items[3].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.Start)];
                        contextmenustrip.Items[3].Click += new EventHandler(OnStartAllTasksClick);
                        contextmenustrip.Items[4].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.Stop)];
                        contextmenustrip.Items[4].Click += new EventHandler(OnStopAllTasksClick);
                        if (_executingTaskIdList != null && _executingTaskIdList.Count == bn.Nodes.Count)
                        {
                            contextmenustrip.Items[3].Enabled = false;
                        }
                        else
                        {
                            contextmenustrip.Items[3].Enabled = true;
                        }
                        if (_executingTaskIdList == null || _executingTaskIdList.Count == 0)
                        {
                            contextmenustrip.Items[4].Enabled = false;
                        }
                        else
                        {
                            contextmenustrip.Items[4].Enabled = true;
                        }
                        break;

                    //TaskNode
                    case NodeType.Task:
                        contextmenustrip.Items.Add("编辑任务");
                        contextmenustrip.Items.Add("打开配置文件");
                        contextmenustrip.Items.Add(new ToolStripSeparator());
                        contextmenustrip.Items.Add("刷新");
                        contextmenustrip.Items.Add("重命名");
                        contextmenustrip.Items.Add("删除");
                        contextmenustrip.Items.Add(new ToolStripSeparator());
                        contextmenustrip.Items.Add("开始");
                        contextmenustrip.Items.Add("停止");

                        contextmenustrip.Items[0].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.AddTask)];
                        contextmenustrip.Items[0].Click += new EventHandler(OnOpenTaskEditorClick);
                        contextmenustrip.Items[1].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.Xml)];
                        contextmenustrip.Items[1].Click += new EventHandler(OnOpenTaskConfigFileClick);
                        contextmenustrip.Items[3].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.Refresh)];
                        contextmenustrip.Items[3].Click += new EventHandler(OnRefreshOperationsClick);
                        contextmenustrip.Items[4].Click += new EventHandler(OnRenameTaskClick);
                        contextmenustrip.Items[5].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.Delete)];
                        contextmenustrip.Items[5].Click += new EventHandler(OnDeleteClick);
                        contextmenustrip.Items[7].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.Start)];
                        contextmenustrip.Items[7].Click += new EventHandler(OnTaskStartClick);
                        contextmenustrip.Items[8].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.Stop)];
                        contextmenustrip.Items[8].Click += new EventHandler(OnTaskStopClick);
                        TaskNode tn = bn as TaskNode;
                        if (_executingTaskIdList.Contains(tn.Task.TaskId))
                        {
                            contextmenustrip.Items[7].Enabled = false;
                        }
                        else
                        {
                            contextmenustrip.Items[8].Enabled = false;
                        }
                        break;

                    //OperationNode
                    case NodeType.Operation:
                        contextmenustrip.Items.Add("配置");
                        contextmenustrip.Items[0].Image  = imageListIcon.Images[DataConvert.GetInt32(IconType.Operation)];
                        contextmenustrip.Items[0].Click += new EventHandler(OnOpenUserClick);
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
            }
        }
Ejemplo n.º 13
0
        private void OnAddTaskClick(object sender, EventArgs e)
        {
            try
            {
                DlgAddTask adt = new DlgAddTask();
                if (adt.ShowDialog() == DialogResult.OK)
                {
                    BaseNode bn = (BaseNode)this.SelectedNode;
                    TaskNode tn = new TaskNode(adt.Task);
                    bn.Nodes.Add(tn);
                    if (bn.Parent != null && bn.Parent.Nodes.Count > 0)
                    {
                        bn.Parent.Expand();
                    }
                }

                if (this.SelectedNode is BaseNode)
                {
                    BaseNode bn = this.SelectedNode as BaseNode;
                    if (bn != null)
                    {
                        RootNodeEventArgs re = new RootNodeEventArgs();
                        re.Tasks = new Collection<TaskInfo>();
                        foreach (TaskNode tasknode in bn.Nodes)
                        {
                            re.Tasks.Add(tasknode.Task);
                        }
                        OnRootNodeSelected(re);
                    }
                }
            }
            catch (Exception ex)
            {
                ErrorHandler.ShowMessageBox(TaskConstants.EXCEPTION_MODULE, ex);
            }            
        }
Ejemplo n.º 14
0
        public void InitialNodes()
        {
            //set images
            imageListIcon.ColorDepth = ColorDepth.Depth32Bit;//不然图片会失真,周围会有黑线
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_TASKS));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_TASK));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_ADDTASK));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_START));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_PAUSE));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_STOP));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_DELETE));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_OPERATION));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_TASKSTART));
            imageListIcon.Images.Add(ImageCtrl.GetIconFromResx(TaskConstants.IMAGE_REFRESH));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_USER));
            imageListIcon.Images.Add(IconCtrl.GetIconFromResx(TaskConstants.ICON_XML));

            this.ImageList = imageListIcon;  

            //set nodes
            base.Nodes.Clear();

            //build Root node
            BaseNode Root = new BaseNode("所有任务");
            base.Nodes.Add(Root);

            //build Task node
            Collection<TaskInfo> tasks = ConfigCtrl.GetTasks();
            foreach (TaskInfo task in tasks)
            {
                if (task != null)
                {
                    TaskNode tn = new TaskNode(task);
                    Root.Nodes.Add(tn);
                    foreach (AccountInfo account in task.Accounts)
                    {
                        OperationInfo operation = ConfigCtrl.GetOperation(task.GroupName, account);
                        OperationNode on = new OperationNode(operation);
                        tn.Nodes.Add(on);
                    }
                    //如果正在执行,保持箭头图标
                    if (_executingTaskIdList.Contains(task.TaskId))
                    {
                        tn.ImageIndex = DataConvert.GetInt32(IconType.TaskStart);
                        tn.SelectedImageIndex = DataConvert.GetInt32(IconType.TaskStart);
                    }                    
                }
            }

            if (Root.Nodes.Count > 0)
            {
                Root.Expand();
            }            
        }