Commit Graph

409 Commits

Author SHA1 Message Date
Robbie Gleichman
8eaf861016 Update todo. 2020-09-19 20:08:11 -07:00
Robbie Gleichman
e55a2688ee Minor changes in gui/Main.hs. 2020-09-15 23:16:44 -07:00
Robbie Gleichman
5ed0c88e78 Use Gdk.EVENT_STOP instead of True. 2020-09-13 22:22:43 -07:00
Robbie Gleichman
9196bc6224 Modify stateRef once instead of twice in timeoutCallback. 2020-09-13 21:41:38 -07:00
Robbie Gleichman
98e5133e85 Make function to add an event to the event queue, and remove mouse button from ClickOnNode. 2020-09-13 21:17:53 -07:00
Robbie Gleichman
007ea43f03 Use elementwiseOp and Data.Tuple.Extra.both in updateState. 2020-09-13 21:03:51 -07:00
Robbie Gleichman
08dde11840 Refactor mouse events. 2020-09-13 04:54:17 -07:00
Robbie Gleichman
b31e721b3f Fix crash from unknown mouse buttons. 2020-09-13 04:00:23 -07:00
Robbie Gleichman
a360b54cba Refoctor gui/Main.hs. 2020-09-06 20:31:07 -07:00
Robbie Gleichman
0dbbab316a Use an Enum for the mouse buttons. 2020-09-04 22:49:03 -07:00
Robbie Gleichman
276d445f97 Update todo.md. 2020-09-04 22:04:37 -07:00
Robbie Gleichman
2aacd40cac Remove commented out line. 2020-09-04 21:40:43 -07:00
Robbie Gleichman
bf9434f5e0 Minor refactors and fix use of deprecated functions in gui/Main.hs. 2020-08-31 21:51:00 -07:00
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