packages feed

itemfield-1.2.4.1: itemfield.cabal

name:                itemfield
version:             1.2.4.1
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
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.org

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