(define (script-fu-hide-all-layers image)
  (let*
    (
      (ct (- (car (gimp-image-get-layers image) ) 1) )
      (lst (cdr (gimp-image-get-layers image) ) )
      (array (car lst))
     )
     
     
  (while (> ct -1)
    (gimp-drawable-set-visible (aref array ct) 0)
    (set! ct (- ct 1))
  )
  (gimp-displays-flush)
 )
)



(define (script-fu-layers-hide-all-layers image layer)
  (script-fu-hide-all-layers image)
)



(define (script-fu-hide-all-but-active-layer image)
  (script-fu-hide-all-layers image)
  (gimp-drawable-set-visible (car(gimp-image-get-active-layer image)) 1)
  (gimp-displays-flush)
)



(define (script-fu-layers-hide-all-but-active-layer image layer)
  (script-fu-hide-all-but-active-layer image)
)



(define (script-fu-hide-no-layers image)
  (let*
    (
      (ct (- (car (gimp-image-get-layers image) ) 1) )
      (lst (cdr (gimp-image-get-layers image) ) )
      (array (car lst))
     )
     
     
  (while (> ct -1)
    (gimp-drawable-set-visible (aref array ct) 1)
    (set! ct (- ct 1))
  )
  (gimp-displays-flush)
 )
)



(define (script-fu-layers-hide-no-layers image layer)
  (script-fu-hide-no-layers image)
)


(script-fu-register "script-fu-hide-all-layers"
                    "<Image>/Layer/Hide/All"
                    "Set all layers to non-visible."
                    "Jazzon"
                    "Jazzon"
                    "Aug 2015"
                    ""
                    SF-IMAGE      "image"      0
)

(script-fu-register "script-fu-layers-hide-all-layers"
                    "<Layers>/Hide/All"
                    "Set all layers to non-visible."
                    "Jazzon"
                    "Jazzon"
                    "Aug 2015"
                    ""
                    SF-IMAGE      "image"      0
                    SF-LAYER      "layer"      0
)

(script-fu-register "script-fu-hide-all-but-active-layer"
                    "<Image>/Layer/Hide/All But Active"
                    "Set all layers to non-visible, except the active layer."
                    "Jazzon"
                    "Jazzon"
                    "Aug 2015"
                    ""
                    SF-IMAGE      "image"      0
)

(script-fu-register "script-fu-layers-hide-all-but-active-layer"
                    "<Layers>/Hide/All But Active"
                    "Set all layers to non-visible, except the active layer."
                    "Jazzon"
                    "Jazzon"
                    "Aug 2015"
                    ""
                    SF-IMAGE      "image"      0
                    SF-LAYER      "layer"      0
)

(script-fu-register "script-fu-hide-no-layers"
                    "<Image>/Layer/Hide/None"
                    "Set all layers to visible."
                    "Jazzon"
                    "Jazzon"
                    "Aug 2015"
                    ""
                    SF-IMAGE      "image"      0
)

(script-fu-register "script-fu-layers-hide-no-layers"
                    "<Layers>/Hide/None"
                    "Set all layers to visible."
                    "Jazzon"
                    "Jazzon"
                    "Aug 2015"
                    ""
                    SF-IMAGE      "image"      0
                    SF-LAYER      "layer"      0
)
