예제 #1
0
        private void render(StepsType type)
        {
            switch (type)
            {
            case StepsType.Gen: {
                render(manager.StepGen);
                return;
            }

            case StepsType.Struct: {
                render(manager.StepStruct);
                return;
            }

            case StepsType.DirectRepl: {
                render(manager.StepRepl);
                return;
            }

            case StepsType.CfgData: {
                render(manager.StepCfgData);
                return;
            }

            case StepsType.Fields: {
                render(manager.StepFields);
                return;
            }

            case StepsType.Final: {
                render(manager.StepFinal);
                return;
            }
            }
        }
예제 #2
0
        private void nextStep(StepsType type, bool saving = true)
        {
            if (saving)
            {
                save(type);
            }

            if (type == StepsType.Gen)
            {
                btnPrevStep.Visible = true;
                if (radioGenDirect.Checked)
                {
                    tabControlMain.SelectedTab = tabPageRepl;
                    render(StepsType.DirectRepl);
                }
                else if (radioGenCppDefine.Checked)
                {
                    tabControlMain.SelectedTab = tabPageCfgData;
                    render(StepsType.CfgData);
                }
                else
                {
                    tabControlMain.SelectedTab = tabPageStruct;
                    render(StepsType.Struct);
                }
            }
            else if (type == StepsType.Struct || type == StepsType.DirectRepl)
            {
                tabControlMain.SelectedTab = tabPageCfgData;
                render(StepsType.CfgData);
            }
            else if (type == StepsType.CfgData)
            {
                if (manager.StepGen.gtype == GenType.Direct)
                {
                    nextStep(StepsType.Fields, false);
                    return;
                }
                tabControlMain.SelectedTab = tabPageFields;
                render(StepsType.Fields);
            }
            else if (type == StepsType.Fields)
            {
                render(StepsType.Final);
                tabControlMain.SelectedTab = tabPageFinal;
                btnNextStep.Visible        = false;
            }
        }
예제 #3
0
        /// <param name="type">The type of step.</param>
        /// <returns></returns>
        protected IStep getStep(StepsType type)
        {
            if (steps.ContainsKey(type))
            {
                return(steps[type]);
            }

            switch (type)
            {
            case StepsType.Gen: {
                steps[type] = new StepGen();
                return(steps[type]);
            }

            case StepsType.Struct: {
                steps[type] = new StepStruct(new MSBuild.Parser(env))
                {
                    fnumber = StepStruct.NumberType.NativeStruct
                };
                return(steps[type]);
            }

            case StepsType.DirectRepl: {
                steps[type] = new StepRepl();
                return(steps[type]);
            }

            case StepsType.CfgData: {
                steps[type] = new StepCfgData();
                return(steps[type]);
            }

            case StepsType.Fields: {
                steps[type] = new StepFields();
                return(steps[type]);
            }

            case StepsType.Final:
            {
                steps[type] = new StepFinal(this);
                return(steps[type]);
            }
            }
            throw new NotFoundException("getStep: the type - `{0}` is not found.", type);
        }
예제 #4
0
 private void prevStep(StepsType type)
 {
     if (type == StepsType.Struct || type == StepsType.DirectRepl)
     {
         tabControlMain.SelectedTab = tabPageGen;
         btnPrevStep.Visible        = false;
     }
     else if (type == StepsType.CfgData)
     {
         if (radioGenDirect.Checked)
         {
             tabControlMain.SelectedTab = tabPageRepl;
         }
         else if (radioGenCppDefine.Checked)
         {
             tabControlMain.SelectedTab = tabPageGen;
         }
         else
         {
             tabControlMain.SelectedTab = tabPageStruct;
         }
     }
     else if (type == StepsType.Fields)
     {
         tabControlMain.SelectedTab = tabPageCfgData;
     }
     else if (type == StepsType.Final)
     {
         btnNextStep.Visible = true;
         if (manager.StepGen.gtype == GenType.Direct)
         {
             prevStep(StepsType.Fields);
             return;
         }
         tabControlMain.SelectedTab = tabPageFields;
     }
 }
예제 #5
0
        /// <param name="type">The type of step.</param>
        /// <returns></returns>
        protected IStep getStep(StepsType type)
        {
            if(steps.ContainsKey(type)) {
                return steps[type];
            }

            switch(type)
            {
                case StepsType.Gen: {
                    steps[type] = new StepGen();
                    return steps[type];
                }
                case StepsType.Struct: {
                    steps[type] = new StepStruct(new MSBuild.Parser(env)) {
                        fnumber = StepStruct.NumberType.NativeStruct
                    };
                    return steps[type];
                }
                case StepsType.DirectRepl: {
                    steps[type] = new StepRepl();
                    return steps[type];
                }
                case StepsType.CfgData: {
                    steps[type] = new StepCfgData();
                    return steps[type];
                }
                case StepsType.Fields: {
                    steps[type] = new StepFields();
                    return steps[type];
                }
                case StepsType.Final:
                {
                    steps[type] = new StepFinal(this);
                    return steps[type];
                }
            }
            throw new NotFoundException("getStep: the type - `{0}` is not found.", type);
        }
예제 #6
0
 private void save(StepsType type)
 {
     switch(type)
     {
         case StepsType.Gen: {
             save(manager.StepGen);
             return;
         }
         case StepsType.Struct: {
             save(manager.StepStruct);
             return;
         }
         case StepsType.DirectRepl: {
             save(manager.StepRepl);
             return;
         }
         case StepsType.CfgData: {
             save(manager.StepCfgData);
             return;
         }
         case StepsType.Fields: {
             save(manager.StepFields);
             return;
         }
     }
 }
예제 #7
0
 private void prevStep(StepsType type)
 {
     if(type == StepsType.Struct || type == StepsType.DirectRepl)
     {
         tabControlMain.SelectedTab  = tabPageGen;
         btnPrevStep.Visible         = false;
     }
     else if(type == StepsType.CfgData)
     {
         if(radioGenDirect.Checked) {
             tabControlMain.SelectedTab = tabPageRepl;
         }
         else if(radioGenCppDefine.Checked) {
             tabControlMain.SelectedTab = tabPageGen;
         }
         else {
             tabControlMain.SelectedTab = tabPageStruct;
         }
     }
     else if(type == StepsType.Fields)
     {
         tabControlMain.SelectedTab = tabPageCfgData;
     }
     else if(type == StepsType.Final)
     {
         btnNextStep.Visible = true;
         if(manager.StepGen.gtype == GenType.Direct) {
             prevStep(StepsType.Fields);
             return;
         }
         tabControlMain.SelectedTab = tabPageFields;
     }
 }
예제 #8
0
        private void nextStep(StepsType type, bool saving = true)
        {
            if(saving) {
                save(type);
            }

            if(type == StepsType.Gen)
            {
                btnPrevStep.Visible = true;
                if(radioGenDirect.Checked) {
                    tabControlMain.SelectedTab = tabPageRepl;
                    render(StepsType.DirectRepl);
                }
                else if(radioGenCppDefine.Checked) {
                    tabControlMain.SelectedTab = tabPageCfgData;
                    render(StepsType.CfgData);
                }
                else {
                    tabControlMain.SelectedTab = tabPageStruct;
                    render(StepsType.Struct);
                }
            }
            else if(type == StepsType.Struct || type == StepsType.DirectRepl)
            {
                tabControlMain.SelectedTab = tabPageCfgData;
                render(StepsType.CfgData);
            }
            else if(type == StepsType.CfgData)
            {
                if(manager.StepGen.gtype == GenType.Direct) {
                    nextStep(StepsType.Fields, false);
                    return;
                }
                tabControlMain.SelectedTab = tabPageFields;
                render(StepsType.Fields);
            }
            else if(type == StepsType.Fields)
            {
                render(StepsType.Final);
                tabControlMain.SelectedTab  = tabPageFinal;
                btnNextStep.Visible         = false;
            }
        }
예제 #9
0
        private void prevStep()
        {
            StepsType type = getStepTypeBy(tabControlMain.SelectedTab);

            prevStep(type);
        }