Exemplo n.º 1
0
        private void DynamicStateEventClick(object sender, EventArgs e)
        {
            Button    button    = sender as Button;
            UserEvent userEvent = (UserEvent)button.Tag;

            textBoxDebug.Text = userEvent.EventDesciption;

            List <UserState> nextState = UserStateParser.GetNextStates(userEvent, Database.AllUserState);

            AddNextState(panelNextState, nextState);
        }
Exemplo n.º 2
0
        private void buttonBrowse_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog folderDlg = new FolderBrowserDialog();

            folderDlg.ShowNewFolderButton = true;
            folderDlg.Description         = "Choose (user_handler) foder";


            if (!string.IsNullOrEmpty(FoderLastSelected))
            {
                if (Directory.Exists(FoderLastSelected))
                {
                    folderDlg.SelectedPath = FoderLastSelected;
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(Setting.FoderUser))
                {
                    FoderLastSelected = Setting.FoderUser;
                    if (Directory.Exists(FoderLastSelected))
                    {
                        folderDlg.SelectedPath = FoderLastSelected;
                    }
                }
            }
            // Show the FolderBrowserDialog.
            DialogResult result = folderDlg.ShowDialog();

            if (result == DialogResult.OK)
            {
                // Parse default implementation
                string fileDefaultaHandler = folderDlg.SelectedPath + "/user_handler_events.c";
                if (!File.Exists(fileDefaultaHandler))
                {
                    fileDefaultaHandler = folderDlg.SelectedPath + "/user_handler_events.cpp";
                }
                if (File.Exists(fileDefaultaHandler))
                {
                    Database.DefaultImplemt = DefaultEventParser.ParseDefaultImplementationEvent(fileDefaultaHandler);
                }
                else
                {
                    MessageBox.Show("Cannot open file user_handler_events");
                }

                // Parse for every state
                textBoxUserHandleFoder.Text = folderDlg.SelectedPath;
                FoderLastSelected           = folderDlg.SelectedPath;

                string[] AllFiles = Directory.GetFiles(folderDlg.SelectedPath, "*", SearchOption.AllDirectories);
                int      numFiles = AllFiles.Length;

                Database.AllUserState.Clear();

                for (int i = 0; i < numFiles; i++)
                {
                    if (AllFiles[i].Contains(".c") || AllFiles[i].Contains(".cpp"))
                    {
                        UserState state = UserStateParser.ParseState(AllFiles[i]);

                        if (state != null)
                        {
                            UserState mergeState = state.MergeWithDefaultHandle(Database.DefaultImplemt);
                            Database.AllUserState.Add(mergeState);
                        }
                    }
                }
                // Assign data to UI of every user_state
                AssignAllState();

                // Save current foder for user
                if (FoderLastSelected != Setting.FoderUser)
                {
                    Setting.WriteSetting(FoderLastSelected);
                }
            }
        }