예제 #1
0
        private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            showSelectedStateInfo();
            tbxFile.Text = openFileDialog1.FileName;
            //myParser.loadXML(openFileDialog1.FileName);
            //drawDiagram();

            cbxDraw.Enabled = true;
            btnReset.Enabled = true;
            g = pbxDraw.CreateGraphics();
            btnRun.Enabled = true;
            g.Clear(Color.White);
            myParser = new Parser();
            myAutomaton = new Automaton();

            string inputFile = tbxFile.Text;
            //myParser.loadXML("../../SampleFormat.xml");
            if (cbxRegEx.Checked)
            {
                myParser.loadRegEx(inputFile);
                myParser.stateList = new List<State>(myParser.buildFromRegEx(myParser.stateList, 0, myParser.regex));
            }
            else
            {
                myParser.loadXML(inputFile);
            }
            newState = new List<State>(myParser.stateList);

            myAutomaton.build(myParser.stateList);
            c = myAutomaton.stateList.Count;
            wid = (pbxDraw.Width - 170) / (c) + 10;
            setStatePoints();
            drawDiagram();
            setComboBox();
        }
예제 #2
0
        private void tbxRegEx_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                myParser = new Parser();
                myParser.regex = tbxRegEx.Text;
                myParser.stateList = new List<State>(myParser.buildFromRegEx(myParser.stateList, 0, myParser.regex));
                myAutomaton = new Automaton();
                myAutomaton.stateList = new List<State>();
                myAutomaton.build(myParser.stateList);

                cbxDraw.Enabled = true;
                btnReset.Enabled = true;
                g = pbxDraw.CreateGraphics();
                btnRun.Enabled = true;
                g.Clear(Color.White);

                newState = new List<State>(myParser.stateList);

                //myAutomaton.build(myParser.stateList);
                c = myParser.stateList.Count;
                wid = (pbxDraw.Width - 170) / (c+1) + 10;
                statePoints = new List<Point>(myParser.stateList.Count);
                setStatePoints();
                drawDiagram();
            }
        }