packages feed

itemfield-1.2.4.2: itemfield.cabal

name:                itemfield
version:             1.2.4.2
synopsis:            A brick Widget for selectable summary of many elements on a terminal
description:         

  This module provides a brick Widget that can be used with the brick
  package to handle situations where there are lots of items to
  represent to the user along with a corresponding state for each
  item.  One example of where the itemfield would be used is if there
  are too many elements to reasonably show in a List widget, if those
  elements are divided into groups, and if some status needs to be
  shown for each element.
  .
  In addition, the user can use the cursor keys and space bar to mark
  one or more items (presumably so other code can get the list of
  marked elements and perform a state-changing operation).
  .
  There are two example programs built when the examples flag is True
  (the default): bookcase and workreport.  Running these applications
  should give a better idea of what the itemfield widget is and how it
  can be used.

license:             BSD3
license-file:        LICENSE
author:              Kevin Quick <quick@sparq.org>
maintainer:          quick@sparq.org
copyright:           Kevin Quick, 2013-2017
category:            Graphics, Console
build-type:          Simple
stability:           stable
cabal-version:       >=1.8

extra-source-files: compat/brick_015plus/TextUI/ItemField/BrickHelper.hs
                    compat/brick_pre015/TextUI/ItemField/BrickHelper.hs
                    compat/brick_016/TextUI/ItemField/BrickHelper.hs
                    compat/base_pre48/Compat.hs
                    compat/base48/Compat.hs

data-files: CHANGELOG.md

library
  hs-source-dirs:    src
  exposed-modules:     TextUI.ItemField
  other-modules:       TextUI.ItemField.Types
                     , TextUI.ItemField.Attrs
                     , TextUI.ItemField.Operations
                     , TextUI.ItemField.Layout
                     , TextUI.ItemField.BrickHelper
                     , Compat
  build-depends:       vty
                     , text < 1.3
                     , microlens < 0.5
                     , data-default
  if flag(base48)
    build-depends:   base >= 4.8 && < 5.0
    hs-source-dirs:  compat/base48
  else
    build-depends:   base < 4.8
    hs-source-dirs:  compat/base_pre48
  if flag(brick017)
    build-depends:   brick >= 0.17
    hs-source-dirs:  compat/brick_017
  else
    if flag(brick016)
      build-depends:   brick == 0.16
      hs-source-dirs:  compat/brick_016
    else
      if flag(brick015)
        build-depends:   brick >= 0.15 && < 0.16
        hs-source-dirs:  compat/brick_015plus
      else
        build-depends:   brick >= 0.13 && < 0.15
        hs-source-dirs:  compat/brick_pre015
  ghc-options:       -Wall -fno-warn-unused-do-bind -O3


Flag examples
     Description: Build example programs
     Default:     True

Flag brick017
     Description: true for Brick version 0.17 or later
     Default: True

Flag brick016
     Description: true for Brick version 0.16 or later
     Default: True

Flag brick015
     Description: true for Brick version 0.15.x
     Default: True

Flag base48
     Description: base 4.8 or later
     Default: True

Flag base49
     Description: base 4.8 or later
     Default: True


executable bookcase
           if !flag(examples)
              Buildable: False
           hs-source-dirs: examples
           if flag(base48)
             build-depends:   base >= 4.8 && < 5.0
             hs-source-dirs:  compat/base48
           else
             build-depends:   base < 4.8
             hs-source-dirs:  compat/base_pre48
           if flag(brick017)
             build-depends:   brick >= 0.17
             hs-source-dirs:  compat/brick_017
           else
             if flag(brick016)
               build-depends:   brick == 0.16
               hs-source-dirs:  compat/brick_016
             else
               if flag(brick015)
                 build-depends:   brick >= 0.15 && < 0.16
                 hs-source-dirs:  compat/brick_015plus
               else
                 build-depends:   brick >= 0.13 && < 0.15
                 hs-source-dirs:  compat/brick_pre015
           ghc-options:  -threaded -Wall -fno-warn-unused-do-bind -O3
           -- default-language: Haskell2010
           main-is: bookcase.hs
           build-depends: vty, text, microlens, microlens-th
                        , itemfield, data-default


executable workreport
           if !flag(examples)
              Buildable: False
           hs-source-dirs: examples
           if flag(base49)
             build-depends:   base >= 4.9 && < 5.0
             hs-source-dirs:  compat/base48
           else
             if flag(base48)
               build-depends:   base >= 4.8 && < 5.0, transformers
               hs-source-dirs:  compat/base48
             else
               build-depends:   base < 4.8, transformers
               hs-source-dirs:  compat/base_pre48
           if flag(brick017)
             build-depends:   brick >= 0.17
             hs-source-dirs:  compat/brick_017
           else
             if flag(brick016)
               build-depends:   brick == 0.16
               hs-source-dirs:  compat/brick_016
             else
               if flag(brick015)
                 build-depends:   brick >= 0.15 && < 0.16
                 hs-source-dirs:  compat/brick_015plus
               else
                 build-depends:   brick >= 0.13 && < 0.15
                 hs-source-dirs:  compat/brick_pre015
           ghc-options:  -threaded -Wall -fno-warn-unused-do-bind -O3
           -- default-language: Haskell2010
           main-is: workreport.hs
           other-modules: TextUI.ItemField.BrickHelper
                        , Compat
           build-depends: vty, text, microlens, microlens-th
                        , itemfield, data-default, random


test-suite test_itemfield
           type: exitcode-stdio-1.0
           main-is: test_itemfield.hs
           hs-source-dirs: test, src
           if flag(base48)
             build-depends:   base >= 4.8 && < 5.0
             hs-source-dirs:  compat/base48
           else
             build-depends:   base < 4.8
             hs-source-dirs:  compat/base_pre48
           if flag(brick017)
             build-depends:   brick >= 0.17
             hs-source-dirs:  compat/brick_017
           else
             if flag(brick016)
               build-depends:   brick == 0.16
               hs-source-dirs:  compat/brick_016
             else
               if flag(brick015)
                 build-depends:   brick >= 0.15 && < 0.16
                 hs-source-dirs:  compat/brick_015plus
               else
                 build-depends:   brick >= 0.13 && < 0.15
                 hs-source-dirs:  compat/brick_pre015
           ghc-options:  -threaded -O0
           other-modules: TextUI.ItemField.Types
                        , TextUI.ItemField.Attrs
                        , TextUI.ItemField.Operations
                        , TextUI.ItemField.Layout
                        , TextUI.ItemField.BrickHelper
                        , TextUI.ItemField
                        , Compat
                        , TestDataGen
           build-depends: HUnit, QuickCheck
                        , test-framework, test-framework-hunit
                        , test-framework-quickcheck2
                        , brick >= 0.13 && < 1.0
                        , vty, text, microlens, microlens-th
                        , data-default

test-suite test_layout
           type: exitcode-stdio-1.0
           main-is: test_layout.hs
           hs-source-dirs: test, src
           if flag(base48)
             build-depends:   base >= 4.8 && < 5.0
             hs-source-dirs:  compat/base48
           else
             build-depends:   base < 4.8
             hs-source-dirs:  compat/base_pre48
           if flag(brick017)
             build-depends:   brick >= 0.17
             hs-source-dirs:  compat/brick_017
           else
             if flag(brick016)
               build-depends:   brick == 0.16
               hs-source-dirs:  compat/brick_016
             else
               if flag(brick015)
                 build-depends:   brick >= 0.15 && < 0.16
                 hs-source-dirs:  compat/brick_015plus
               else
                 build-depends:   brick >= 0.13 && < 0.15
                 hs-source-dirs:  compat/brick_pre015
           ghc-options:  -threaded -O0
           other-modules: TextUI.ItemField.Types
                        , TextUI.ItemField.Attrs
                        , TextUI.ItemField.Operations
                        , TextUI.ItemField.Layout
                        , TextUI.ItemField.BrickHelper
                        , TextUI.ItemField
                        , Compat
                        , TestDataGen
           cpp-options: -DTEST
           build-depends: HUnit, QuickCheck
                        , test-framework, test-framework-hunit
                        , test-framework-quickcheck2
                        , brick >= 0.13 && < 1.0
                        , vty, text, microlens, microlens-th
                        , data-default

source-repository head
  type: darcs
  location: http://hub.darcs.net/kquick/itemfield