mirror of
https://github.com/rgleichman/glance.git
synced 2024-11-26 17:14:21 +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:
|
Then build and execute glance:
|
||||||
```
|
```
|
||||||
stack build
|
stack build :glance-exe
|
||||||
stack exec glance-exe -- examples/fact.hs images/fact.svg 500
|
stack exec glance-exe -- examples/fact.hs images/fact.svg 500
|
||||||
```
|
```
|
||||||
To see the command line options run
|
To see the command line options run
|
||||||
|
20
glance.cabal
20
glance.cabal
@ -7,7 +7,7 @@ license: Apache-2.0
|
|||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Robbie Gleichman
|
author: Robbie Gleichman
|
||||||
maintainer: rgleichman@gmail.com
|
maintainer: rgleichman@gmail.com
|
||||||
copyright: 2018 Robbie Gleichman
|
copyright: 2020 Robbie Gleichman
|
||||||
category: Visual Programming
|
category: Visual Programming
|
||||||
build-type: Simple
|
build-type: Simple
|
||||||
-- extra-source-files:
|
-- extra-source-files:
|
||||||
@ -57,6 +57,24 @@ executable glance-exe
|
|||||||
, SimplifySyntax
|
, SimplifySyntax
|
||||||
, Constants
|
, 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
|
test-suite glance-test
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
hs-source-dirs: test, app
|
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
|
To build and run in a loop
|
||||||
watch -n2 stack build --exec \"glance-exe examples/fact.hs examples/fact.svg 500\"
|
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)
|
# Packages to be pulled from upstream that are not in the resolver (e.g., acme-missiles-0.3)
|
||||||
extra-deps: [
|
extra-deps: [
|
||||||
"diagrams-graphviz-1.4.1.1"
|
"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
|
# Override default flag values for local packages and extra-deps
|
||||||
|
3
todo.md
3
todo.md
@ -1,6 +1,9 @@
|
|||||||
# Todo
|
# Todo
|
||||||
|
|
||||||
## Todo Now
|
## 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.
|
* Redesign case icon to avoid non-locality.
|
||||||
* Move @ pattern circles so that they are on the same side as the variables.
|
* 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.
|
* Add command line flags for color style, embedding, and whether to draw arrowheads.
|
||||||
|
Loading…
Reference in New Issue
Block a user