morazanm / fsm

A DSL for the Automata Theory Classroom
15 stars 6 forks source link

PR for New GUI #31

Closed jschappel closed 1 year ago

jschappel commented 2 years ago

Overview

This PR add a new GUI for dfa's/ndfa's utilizing the Racket GUI Framework. The main reasons for this conversion is to allow for a more interactive experience for the user. By using the GUI framework we get the ability to have real time scrolling on scrollbars, resizable windows and fast rendering.

Things that still need hooked up (the below will be completed soon and added to this PR)

What didnt change/ really minor changes

the below files were copied over from the old GUI 1) inv.rkt 2) draw.rkt 3) everything in structs folder (excluding world.rkt) 4) checkMachine.rkt 5) Globals

What files to look at

All.. but mainly:

Things to look for when reviewing

Coding Goals/ things to look out for

How to test/use

1) checkout this branch new-gui a) use the new FSM function sm-visualize-new (works the same as sm-visualize but only for dfa/ndfa) b) in test/GUI/run.rkt use function parse-input For EX: (parse-input a*)

Reviewers

@morazanm - required @felixisa - optional @josdes - optional @brownlantern - optional