GUIFlitz
statement
GUIFlitz provides automatic graphical user interface representations based on case classes for rapid prototyping
in the Scala programming language. It is released under the
GNU Lesser General Public License v2.1+ and comes with
absolutely no warranties. To contact the author, send an e-mail to contact at sciss.de
.
requirements / installation
This project currently compiles against Scala 2.13, 2.12, 2.11, using sbt.
To use the library in your project:
"de.sciss" %% "guiflitz" % v
The current version v
is "0.7.0"
contributing
Please see the file CONTRIBUTING.md
example
An example application is provided by means of sbt test:run
. The source class is Demo
.
supported types
- primitives:
Int
,Double
,Boolean
,String
,Unit
- sealed traits with known direct subclasses, given that each subclass is supported
- case classes, given that each constructor parameter's type is supported
- singleton objects
immutable.IndexedSeq[A]
, given that typeA
is supportedOption[A]
, given that typeA
is supported
Support for custom types can be added via the addViewFactory
method of the AutoView
's configuration. For details,
see the CustomViewApp
example in the test
directory.
limitations, known issues
- does not work yet with type parameters, e.g.
case class Foo(opt: Either[Int, String])
fails because ofEither
taking type parameters. - titled border doesn't respect
small
config (should adjust font)