Jacob 操作 MsProject - 建立任务结构
2013-10-30 15:23
190 查看
/** * Create task structure, return the indent of last one * @param task * @param mpOp * @return */ private int addTaskToProject(Task task, MPPFileOperation mpOp, Map<String, ResourceCOM> resourcesMap, boolean isRoot) { int level = 1; if (task == null) { return level; } List<Task> subTasks = task.getSubTasks(); if (subTasks == null || subTasks.isEmpty()) { // create simple task if there is no children level = 0; } else { // multitask if there are sub tasks. level = 1; // DSF int times = -1; for (int i = 0; i < subTasks.size();i++) { Task subTask = subTasks.get(i); Dispatch subTaskDispatch = Dispatch.invoke(mpOp.getTasks(), "Add", Dispatch.Method, new Object[]{subTask.getName()}, new int[]{1}).toDispatch(); // turn it back if finish if (times != -1) { for (int t = 0;t < times;t++) { Dispatch.invoke(subTaskDispatch, "OutlineOutdent", Dispatch.Method, new Object[]{}, new int[]{1}); } times = 0; } TaskCOM subTaskCOM = new TaskCOM(subTaskDispatch, mpOp.getMsProjApp()); renderTask(subTask, subTaskCOM, resourcesMap); // not root & not sub task if (!isRoot && times != 0) { Dispatch.invoke(subTaskDispatch, "OutlineIndent", Dispatch.Method, new Object[]{}, new int[]{1}); } times = addTaskToProject(subTask, mpOp, resourcesMap, false); } // return actual level // if times == 0,表示经过OutlineOutdent过,已经恢复,否则times将带回滚level信息 level+=times; } return level; }
相关文章推荐
- 【程序员面试宝典】数据结构基础二单链表循环链表的操作 建立|插入删除|打印|合并
- 任务一 建立包含1500目录的多级目录结构
- 第十四周实验--任务2--建立专门的链表类处理有关动态链表的操作
- 第十四周实验--任务2--建立专门的链表类处理有关动态链表的操作(升级版)
- 第十四周任务1建立专门的数组类处理有关数组的操作
- 4.第三单元任务三实训:编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现:在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用
- 第九周任务四(建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作。)
- C++第十四周【任务1】 建立专门的数组类处理有关数组的操作
- C++ 数据结构的单链表的建立,插入,删除操作
- 第十五周上机任务项目1-建立专门的数组类处理有关数组的操作
- 数据结构(C语言实现) - 二叉树的基本操作(建立,遍历,结点数,叶子结点数,高度,按树状打印,输出叶子结点等)
- 数据结构——单链表的创建、逆置、插入、有序表的建立、有序单链表合并等基础操作!!
- 第十四周实验--任务1--建立专门的数组类处理有关数组的操作
- C++第十四周【任务2】建立专门的链表类处理有关动态链表的操作
- 《第十四周任务一》建立专门的数组类处理有关数组的操作
- C++二叉树结构的建立与基本操作
- C++中栈结构建立和操作
- C++二叉树结构的建立和操作
- 请教一下 贺老师。 第十四周C++【任务1】建立专门的数组类处理有关数组的操作
- C++第十四周【任务1】 建立专门的数组类处理有关数组的操作(加强版)