packages feed

keera-hails-reactive-gtk-0.7.0: keera-hails-reactive-gtk.cabal

-- Copyright   : (C) Keera Studios Ltd, 2013
-- License     : All Rights Reserved
-- Maintainer  : support@keera.co.uk
--
cabal-version: >= 1.10
build-type:    Simple

name:          keera-hails-reactive-gtk
version:       0.7.0
author:        Ivan Perez
maintainer:    support@keera.co.uk
homepage:      http://www.keera.co.uk/blog/community/
license:       BSD3
license-file:  LICENSE
copyright:     (C) 2013 Keera Studios Ltd
category:      Development
synopsis:      Haskell on Gtk rails - Reactive Fields for Gtk widgets
description:
  A layer defining RVs for GTK+ fields and actions.
  .
  Reactive Values are an abstraction for reactive programming based on setters
  and getters with change-based propagation.
  .
  They enable easy communication/synchronization rules via Reactive Rules
  (RRs), which can keep two type-compatible RVs in sync directionally or
  bidirectionally.
  .
  This library provides operations to turn GTK+ object properties and
  fields into RVs, so that they can be used to create reactive user
  interfaces with minimal effort.
  .
  For details, please see the paper "Bridging the GUI Gap with Reactive Values
  and Relations", by Ivan Perez and Henrik Nilsson at Haskell Symposium 2015.

source-repository head
  type: git
  location: git://github.com/keera-studios/keera-hails
  subdir: keera-hails-reactive-gtk


-- You can disable the hlint test suite with -f-test-hlint
flag test-hlint
  default: False
  manual:  True

-- You can disable the haddock coverage test suite with -f-test-doc-coverage
flag test-doc-coverage
  default: False
  manual:  True

library

  exposed-modules:
    Graphics.UI.Gtk.Reactive
    Graphics.UI.Gtk.Reactive.Gtk2
    Graphics.UI.Gtk.Reactive.Button
    Graphics.UI.Gtk.Reactive.ColorButton
    Graphics.UI.Gtk.Reactive.CheckMenuItem
    Graphics.UI.Gtk.Reactive.Entry
    Graphics.UI.Gtk.Reactive.Image
    Graphics.UI.Gtk.Reactive.Label
    Graphics.UI.Gtk.Reactive.MenuItem
    Graphics.UI.Gtk.Reactive.Property
    Graphics.UI.Gtk.Reactive.Scale
    Graphics.UI.Gtk.Reactive.SpinButton
    Graphics.UI.Gtk.Reactive.StatusIcon
    Graphics.UI.Gtk.Reactive.TextView
    Graphics.UI.Gtk.Reactive.ToolButton
    Graphics.UI.Gtk.Reactive.ToggleButton
    Graphics.UI.Gtk.Reactive.TreeView
    Graphics.UI.Gtk.Reactive.Widget
    Graphics.UI.Gtk.Reactive.Window

  build-depends:
      base >= 4 && < 5
    , bytestring
    , mtl
    , transformers
    , glib
    , gtk
    , gtk-helpers
    , cairo

    , keera-hails-reactivevalues

  default-language:
    Haskell2010

  hs-source-dirs:
    src/

  ghc-options:
    -Wall -fno-warn-unused-do-bind -O2


test-suite hlint

  type:
    exitcode-stdio-1.0

  main-is:
    HLintMain.hs

  default-language:
    Haskell2010

  hs-source-dirs:
    tests

  if !flag(test-hlint)
    buildable: False
  else
    build-depends:
        base
      , hlint                >= 1.7

-- Verify that the code is thoroughly documented
test-suite haddock-coverage

  type:
    exitcode-stdio-1.0

  main-is:
    HaddockCoverage.hs

  default-language:
    Haskell2010

  hs-source-dirs:
    tests

  ghc-options:
    -Wall

  if !flag(test-doc-coverage)
    buildable: False
  else
    build-depends:
        base                 >= 4        && < 5
      , directory
      , filepath
      , process
      , regex-posix