Exemple #1
0
    public static Behavior GetImportModulesBehavior(string filePath, List <Module> modules)
    {
        string previousFilePath = GlobalData.CurrentFilePath;

        return(new Behavior(isRedo => {
            int count = modules.Count;
            for (int idx = 0; idx < count; ++idx)
            {
                Module module = modules[idx];
                ModuleUtil.CreateModuleBehavior(module.Name,
                                                module.Elements,
                                                false,
                                                isRedo);
            }

            GlobalData.CurrentFilePath = filePath;
        },
                            isReUndo => {
            int count = modules.Count;
            for (int idx = 0; idx < count; ++idx)
            {
                Module module = modules[idx];
                ModuleUtil.RemoveModuleBehavior(module.Name);
            }

            GlobalData.CurrentFilePath = previousFilePath;
        },
                            BehaviorType.ImportModules,
                            false));
    }
Exemple #2
0
    public static Behavior GetCreateModuleBehavior(string moduleName)
    {
        string currentModule = GlobalData.CurrentModule;

        return(new Behavior(isReDo => ModuleUtil.CreateModuleBehavior(moduleName),
                            isReUndo => ModuleUtil.RemoveModuleBehavior(moduleName, currentModule),
                            BehaviorType.CreateModule));
    }
Exemple #3
0
 public static Behavior GetRemoveAllModuleBehavior(List <string> modules, bool combineWithNextBehavior = false)
 {
     return(new Behavior(isRedo => {
         int count = modules.Count;
         for (int idx = 0; idx < count; ++idx)
         {
             ModuleUtil.RemoveModuleBehavior(modules[idx]);
         }
     },
                         isReUndo => {
         int count = modules.Count;
         for (int idx = 0; idx < count; ++idx)
         {
             ModuleUtil.CreateModuleBehavior(modules[idx], null, false, true);
         }
     },
                         BehaviorType.RemoveAllModule,
                         combineWithNextBehavior));
 }
Exemple #4
0
 public static Behavior GetRemoveModuleBehavior(string moduleName)
 {
     return(new Behavior(isReDo => ModuleUtil.RemoveModuleBehavior(moduleName),
                         isReUndo => ModuleUtil.CreateModuleBehavior(moduleName, null, true, true),
                         BehaviorType.RemoveModule));
 }