Commit Graph

377 Commits

Author SHA1 Message Date
Robbie Gleichman
f58cebe4cd Add comment that z is unused and fix warning. 2020-08-09 15:49:26 -07:00
Daniel Garcia
ed36330f5c Print elementId when left clicked (#7)
Co-authored-by: Robbie Gleichman <rgleichman@gmail.com>

Co-authored-by: Robbie Gleichman <rgleichman@gmail.com>
2020-08-09 15:49:26 -07:00
Robbie Gleichman
00309dcc9c Add FPS counter. 2020-08-09 15:49:26 -07:00
Daniel Garcia
373e913119 Draw node with Cairo (#6)
* Add ListBox of InBtn, MoveBtn & OutBtn

* Delete Drag.hs

* Create nodes with cairo. Get mouse position with gdk
2020-08-09 15:49:26 -07:00
Robbie Gleichman
7f55169766 Put code in gui/Main.hs. Use Cairo for graphics. 2020-08-09 15:49:26 -07:00
Daniel Garcia
42eafa4ba6 Add ListBox of InBtn, MoveBtn & OutBtn 2020-08-09 15:49:26 -07:00
Robbie Gleichman
187e9b6f4e Add Cairo drawing to Drag.hs. Make GtkPerfTest to demonstrate Gtk performance issues. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
3d9941bf98 Add Cairo example from haskell-gi. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
41ffa180f0 In the GUI, Nodes are created by right clicking. Nodes can can be moved by left clicking on them. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
bef1635245 Use motionNotifyEvent on the Layout for Drag.hs. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
121004d73e Add Drag.hs. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
9e56476112 GUI mouse experiment. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
501eb8a360 Revert "Update stackage and add diagrams-gtk dependency."
This reverts commit d0a1a5944f.
2020-08-09 15:49:26 -07:00
Robbie Gleichman
369df60e77 Update stackage and add diagrams-gtk dependency. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
37340ed4fe Add GUI skeleton based on gi-gtk-declarative. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
9817343f35 Switch to Apache-2.0 license. 2020-06-13 15:55:40 -07:00
Robbie Gleichman
033e65fc10 Update Stackage release and diagrams-graphviz version. 2020-05-16 16:57:22 -07:00
Robbie Gleichman
d7818db9cb Add note about running in a loop. 2020-05-16 16:21:38 -07:00
Robbie Gleichman
2460a3f472 Embed lambdas as arguments. Make apply and lambda argumenet/parameter boxes transparent to make line crossings look better. 2019-08-06 02:33:01 -07:00
Robbie Gleichman
ff761f8db8 Make the embedMap a Map. 2019-07-31 12:01:37 -07:00
Robbie Gleichman
aa63e6107a Use a Set instead of a list for lambda enclosed nodes. 2019-07-25 23:52:14 -07:00
Robbie Gleichman
164d837a10 Change emEmbedded in Embedder from a list to a Set. 2019-07-25 00:45:20 -07:00
Robbie Gleichman
91b4a6545a Change addChildrenToNodeLabel to addChildToNodeLabel. 2019-07-25 00:25:39 -07:00
Robbie Gleichman
ae81f02448 Update todo 2019-07-19 00:39:47 -07:00
Robbie Gleichman
6e04814723 Use Embedder for case and multi-if. 2019-07-19 00:35:31 -07:00
Robbie Gleichman
b1fad71a0c Wrap all SyntaxNodes in an Embedder type which has the names of that node's embedded nodes. 2019-07-18 02:40:09 -07:00
Robbie Gleichman
794117abd0 Update todo. 2019-06-29 16:13:17 -07:00
Robbie Gleichman
e2fbf955db Fix GraphAlgorithms to enable lambdas to embed. 2019-06-29 16:04:44 -07:00
Robbie Gleichman
b63cdef55e Replace NamedIcons with NodeNames in some Icon constructors. 2019-06-28 23:10:20 -07:00
Robbie Gleichman
c1e1682b1d Undo embed literal lambda bodies since collapseAnnotatedGraph is buggy. 2019-06-16 13:02:42 -07:00
Robbie Gleichman
11fbdfebd8 Embed literal lambda bodies. 2019-05-10 23:10:57 -07:00
Robbie Gleichman
ec6837165a Add Constants.hs. 2019-04-02 01:49:48 -07:00
Robbie Gleichman
2ddb5c8a09 Make constants for input and result port numbers. 2019-03-28 23:50:07 -07:00
Robbie Gleichman
04ddca3c1b Update todo 2019-03-25 01:12:43 -07:00
Robbie Gleichman
2d74cb2fd1 Embed lambda nodes in apply parents. 2019-03-12 22:43:58 -07:00
Robbie Gleichman
96aaaa2319 Update todo.md. 2019-02-25 01:49:42 -08:00
Robbie Gleichman
96be8aa835 Simplify and rename SyntaxNodes. 2019-02-25 01:48:17 -08:00
Robbie Gleichman
21e0091743 Refactor GraphAlgorithms.hs. 2019-02-19 03:21:13 -08:00
Robbie Gleichman
b21ff534e8 Give lines a shadow effect. 2019-01-19 11:41:54 -08:00
Robbie Gleichman
54ed0dda18 Rename guard to multiIf. 2019-01-12 00:55:13 -08:00
Robbie Gleichman
7d3ec604e3 Add functions to convert from Simple Syntax back to Haskell AST. 2019-01-12 00:39:08 -08:00
Robbie Gleichman
b82e5f3b93 Support MultiWayIf. 2019-01-08 21:29:51 -08:00
Robbie Gleichman
34e054133f Refactor matchesToFunBind. 2019-01-04 18:00:06 -08:00
Robbie Gleichman
10fe364e76 Support data declarations. 2019-01-04 15:34:03 -08:00
Robbie Gleichman
e18b2a1bd8 Small refactors in SimplifySyntax. 2019-01-03 17:47:00 -08:00
Robbie Gleichman
e2f6f472cb Cleanup VisualTranslateTests. 2019-01-03 15:51:27 -08:00
Robbie Gleichman
3523e44399
Rewrite Translate.hs to use SimplifySyntax (#4)
* Create branch for in-progress SimplifySyntax work.

* Translate more simple syntax. Improve flat lambda icon. Remove function binds from simple syntax.

* Translate SeApp.

* Fix simplifyExp.

* Translate SpApp and SeCase.

* Translate SeGuard.

* Translate @ patterns and pattern wild cards.

* Transtlate list and tuple patterns.

* Translate tuple and list expressions.

* Translate left sections.

* Translate Do notation.

* Cleanup Translate.hs.

* Translate type signatures.

* More cleanup of Translate.hs.

* Translate negate function application and enum syntax.

* Rename functions in Translate.hs.
2019-01-03 15:41:34 -08:00
Robbie Gleichman
d39e00e7a1 Move helper functions from Translate to SimplifySyntax. 2018-12-09 21:04:58 -08:00
Robbie Gleichman
b539c18c4e Add more to SimplifySyntax. 2018-12-09 20:02:35 -08:00
Robbie Gleichman
ee53213252 Remove state from matchesToCase. 2018-12-08 16:03:29 -08:00