Commit Graph

396 Commits

Author SHA1 Message Date
Robbie Gleichman
73abde9869 Add comment to gui/Main.hs that it's formatted with Ormolu. 2020-08-31 01:30:06 -07:00
Robbie Gleichman
96d7a367bf Format gui/Main.hs with Ormolu. 2020-08-31 01:27:54 -07:00
Robbie Gleichman
896fa34009 Minor code fixes. 2020-08-23 16:34:13 -07:00
Daniel Garcia
15dc0367af Create InputEvents queue 2020-08-23 16:25:31 -07:00
Daniel Garcia
41a38aff33 Add newtype ElemId 2020-08-23 16:25:31 -07:00
Robbie Gleichman
fe31307995 Split node in half. Add struct for input events. 2020-08-23 15:02:39 -07:00
Robbie Gleichman
e809724dad Fix Inputs struct field names. 2020-08-23 14:57:41 -07:00
Robbie Gleichman
2a05dbee3f Show the node ID. 2020-08-23 14:34:20 -07:00
Robbie Gleichman
6f00d11ccb Add hie.yaml and update Stack to GHC 8.8.3. 2020-08-23 14:10:55 -07:00
Robbie Gleichman
b715173710 Refactor out function for updating FPS.
Co-authored-by: Daniel Garcia <pel_daniel@hotmail.com>
2020-08-09 16:08:09 -07:00
Daniel Garcia
648891aded Extract timeoutCallback function
Co-authored-by: Robbie Gleichman <rgleichman@gmail.com>
2020-08-09 15:49:26 -07:00
Daniel Garcia
a60e1f6507 Extract mousePosition & time from appState
Co-authored-by: Robbie Gleichman <rgleichman@gmail.com>
2020-08-09 15:49:26 -07:00
Daniel Garcia
6fe9c112d4 Toggle _asMovingNode when clicked 2020-08-09 15:49:26 -07:00
Daniel Garcia
6d22e87061 Drag node at the middle 2020-08-09 15:49:26 -07:00
Robbie Gleichman
835e077e23 Fix hlint warnings. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
cbf4f36ee5 Move the _asMovingNode to the mouse position. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
fbbbd52143 Rename state IO ref to stateRef. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
cd183b8ba4 Add dummy updateState function. 2020-08-09 15:49:26 -07:00
Robbie Gleichman
9fd3203c10 Move findElementsByPosition 2020-08-09 15:49:26 -07:00
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