示例#1
0
 /**
  * 该操作将从Factory彻底移除Graph,如需再次加入需要通过IOC配置重新导入数据
  */
 public void destroyFactory(SABaseGraphWorker graph)
 {
     removeGraphicsWorker(graph.getName());   //移除工厂关联
     repeatObjects.Remove(graph.DisplayName); //从视图源删除
     graphWorkers.Remove(graph);              //从视图工人删除
     graph.destroyDisplay();                  //结束生命周期
 }
示例#2
0
        /**
         * 注册一个图形工人到当前工厂。
         * @param worker 要注册到当前工厂的图形工人实例。
         * @return 注册成功则返回true,否则返回false。
         */
        public void registerGraphicsWorker(SABaseGraphWorker worker)
        {
            SAWorkers workers;

            if (!workersTreeList.ContainsKey(GRAPH_WORKER))
            {
                workers = new SAWorkers(GRAPH_WORKER, this);
                workersTreeList.Add(GRAPH_WORKER, workers);
            }
            workers = workersTreeList[GRAPH_WORKER];
            workers.registerWorker(worker);//添加图形工人到图形工人组
            //worker.initialize(this);
            worker.onSrart(args);

            Dictionary <string, string> .Enumerator en = worker.handleActions.GetEnumerator();
            while (en.MoveNext())
            {
                addEventDispatcher(en.Current.Key, worker, "handleAction");
                //addEventDispatcher(en.Current.Key, worker, en.Current.Value);
            }
        }
示例#3
0
 /**
  * 移除一个图形工人从当前工厂。
  * @param worker 要从当前工厂移除的图形工人名称。
  * @return 移除成功则返回true,否则返回false。
  */
 public bool removeGraphicsWorker(string workerName)
 {
     if (workersTreeList.ContainsKey(GRAPH_WORKER))
     {
         SAWorkers         workers = workersTreeList[GRAPH_WORKER];
         SABaseGraphWorker worker  = workers.removeWorker(workerName) as SABaseGraphWorker;//得到画板工人组
         if (worker != null)
         {
             Dictionary <string, string> .Enumerator en = worker.handleActions.GetEnumerator();
             while (en.MoveNext())
             {
                 removeEventDispatcher(en.Current.Key, worker, "handleAction");
                 //removeEventDispatcher(en.Current.Key, worker, en.Current.Value);
             }
             worker.onRemove();
             worker.onDispose();
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }