packageFields :: FilePath -> FieldDescription NewPackage
packageFields workspaceDir = VFD emptyParams [
        mkField
            (paraName <<<- ParaName ((__ "New package name"))
                    $ emptyParams)
            newPackageName
            (\ a b -> b{newPackageName = a})
            (textEditor (const True) True),
        mkField
            (paraName <<<- ParaName ((__ "Parent directory"))
                $ paraMinSize <<<- ParaMinSize (-1, 120)
                    $ emptyParams)
            (\a -> newPackageParentDir a)
            (\ a b -> b{newPackageParentDir = a})
            (fileEditor (Just workspaceDir) FileChooserActionSelectFolder "Select"),
        mkField
            (paraName <<<- ParaName ((__ "Copy existing package"))
                    $ emptyParams)
            templatePackage
            (\ a b -> b{templatePackage = a})
            (maybeEditor (comboEntryEditor examplePackages, emptyParams) True "")]
packageFields :: FilePath -> FieldDescription NewPackage
packageFields workspaceDir = VFD emptyParams [
        mkField
            (paraName <<<- ParaName ((__ "New package name"))
                    $ emptyParams)
            newPackageName
            (\ a b -> b{newPackageName = a})
            (textEditor (const True) True),
        mkField
            (paraName <<<- ParaName ((__ "Parent directory"))
                $ paraMinSize <<<- ParaMinSize (-1, 120)
                    $ emptyParams)
            (\a -> newPackageParentDir a)
            (\ a b -> b{newPackageParentDir = a})
            (fileEditor (Just workspaceDir) FileChooserActionSelectFolder "Select"),
        mkField
            (paraName <<<- ParaName ((__ "Copy existing package"))
                    $ emptyParams)
            templatePackage
            (\ a b -> b{templatePackage = a})
            (maybeEditor (comboEntryEditor examplePackages, emptyParams) True "")]
packageFields workspaceDir = VFD emptyParams [
        mkField
            (paraName <<<- ParaName ((__ "New package name"))
                    $ emptyParams)
            newPackageName
            (\ a b -> b{newPackageName = a})
            (textEditor (const True) True),
        mkField
            (paraName <<<- ParaName ((__ "Parent directory"))
                $ paraMinSize <<<- ParaMinSize (-1, 120)
                    $ emptyParams)
            (\a -> newPackageParentDir a)
            (\ a b -> b{newPackageParentDir = a})
            (fileEditor (Just workspaceDir) FileChooserActionSelectFolder "Select"),
        mkField
            (paraName <<<- ParaName ((__ "Copy existing package"))
                    $ emptyParams)
            templatePackage
            (\ a b -> b{templatePackage = a})
            (maybeEditor (comboEntryEditor examplePackages, emptyParams) True "")]