mirror of
https://github.com/rgleichman/glance.git
synced 2024-11-23 08:27:18 +03:00
Add GUI skeleton based on gi-gtk-declarative.
This commit is contained in:
parent
9817343f35
commit
2c5796cb19
@ -17,7 +17,7 @@ sudo apt install graphviz
|
||||
|
||||
Then build and execute glance:
|
||||
```
|
||||
stack build
|
||||
stack build :glance-exe
|
||||
stack exec glance-exe -- examples/fact.hs images/fact.svg 500
|
||||
```
|
||||
To see the command line options run
|
||||
|
20
glance.cabal
20
glance.cabal
@ -7,7 +7,7 @@ license: Apache-2.0
|
||||
license-file: LICENSE
|
||||
author: Robbie Gleichman
|
||||
maintainer: rgleichman@gmail.com
|
||||
copyright: 2018 Robbie Gleichman
|
||||
copyright: 2020 Robbie Gleichman
|
||||
category: Visual Programming
|
||||
build-type: Simple
|
||||
-- extra-source-files:
|
||||
@ -57,6 +57,24 @@ executable glance-exe
|
||||
, SimplifySyntax
|
||||
, Constants
|
||||
|
||||
executable glance-gui
|
||||
hs-source-dirs: gui
|
||||
main-is: Main.hs
|
||||
ghc-options: -threaded -rtsopts -with-rtsopts=-N
|
||||
-Wall
|
||||
-Wincomplete-record-updates
|
||||
-Wmissing-export-lists
|
||||
-Widentities
|
||||
-Wpartial-fields
|
||||
build-depends: base
|
||||
, gi-gtk
|
||||
, gi-gtk-declarative
|
||||
, gi-gtk-declarative-app-simple
|
||||
, text
|
||||
, pipes
|
||||
, pipes-extras
|
||||
default-language: Haskell2010
|
||||
|
||||
test-suite glance-test
|
||||
type: exitcode-stdio-1.0
|
||||
hs-source-dirs: test, app
|
||||
|
4
gui/Main.hs
Normal file
4
gui/Main.hs
Normal file
@ -0,0 +1,4 @@
|
||||
module Main (main) where
|
||||
|
||||
main :: IO ()
|
||||
main = putStrLn "Glance GUI!"
|
@ -24,3 +24,8 @@ stack haddock --open <package-name>
|
||||
|
||||
To build and run in a loop
|
||||
watch -n2 stack build --exec \"glance-exe examples/fact.hs examples/fact.svg 500\"
|
||||
|
||||
|
||||
GUI:
|
||||
To build the GUI, first install the system dependencies (follow the directions
|
||||
here: https://github.com/haskell-gi/haskell-gi#installation)
|
||||
|
@ -10,6 +10,8 @@ packages:
|
||||
# Packages to be pulled from upstream that are not in the resolver (e.g., acme-missiles-0.3)
|
||||
extra-deps: [
|
||||
"diagrams-graphviz-1.4.1.1"
|
||||
, "gi-gtk-declarative-0.6.3"
|
||||
, "gi-gtk-declarative-app-simple-0.6.3"
|
||||
]
|
||||
|
||||
# Override default flag values for local packages and extra-deps
|
||||
|
3
todo.md
3
todo.md
@ -1,6 +1,9 @@
|
||||
# Todo
|
||||
|
||||
## Todo Now
|
||||
* Make a GUI. One approach is to render individual icons with diagrams using the
|
||||
Cairo or GTK backend. The rendering would be in a separate process so that
|
||||
interacting and dragging nodes is not slowed down by rendering.
|
||||
* Redesign case icon to avoid non-locality.
|
||||
* Move @ pattern circles so that they are on the same side as the variables.
|
||||
* Add command line flags for color style, embedding, and whether to draw arrowheads.
|
||||
|
Loading…
Reference in New Issue
Block a user