;;; packages.lisp
;;;
;;; Copyright (C) 2008-2009 Alessio Stalla
;;;
;;; This program is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU General Public License
;;; as published by the Free Software Foundation; either version 2
;;; of the License, or (at your option) any later version.
;;;
;;; This program is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with this program; if not, write to the Free Software
;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
;;;
;;; As a special exception, the copyright holders of this library give you
;;; permission to link this library with independent modules to produce an
;;; executable, regardless of the license terms of these independent
;;; modules, and to copy and distribute the resulting executable under
;;; terms of your choice, provided that you also meet, for each linked
;;; independent module, the terms and conditions of the license of that
;;; module.  An independent module is a module which is not derived from
;;; or based on this library.  If you modify this library, you may extend
;;; this exception to your version of the library, but you are not
;;; obligated to do so.  If you do not wish to do so, delete this
;;; exception statement from your version.


(defpackage :snow
  (:use :common-lisp :java :cl-utilities :named-readtables :cells)
  (:shadow #:dbg #:self)
  (:export
    ;;Widgets
    #:button
    #:check-box
    #:progress-bar
    #:dialog
    #:frame
    #:label
    #:list-widget
    #:menu
    #:menu-bar
    #:menu-item
    #:panel
    #:scroll
    #:split
    #:tab
    #:tabs
    #:text-area
    #:text-field
    #:tree
    ;;Models
    #:make-list-model
    #:make-tree-model
    ;;Event Listeners
    #:make-action-listener
    ;;Common operations on widgets
    #:add-child
    #:child
    #:dispose
    #:dont-add
    #:hide
    #:pack
    #:scroll-panel-view
    #:set-widget-properties
    #:show
    #:widget-background
    #:widget-border
    #:widget-enabled-p
    #:widget-font
    #:widget-foreground
    #:widget-location
    #:widget-property
    #:widget-size
    #:widget-text
    #:widget-visible-p
    ;;Data binding
    #:make-var
    #:make-bean-data-binding
    #:make-cell-data-binding
    #:make-simple-data-binding
    #:make-slot-data-binding
    #:bean
    #:cell  
    #:slot
    #:var
    #:*presentation-model*
    #:simple-data-binding
    #:with-presentation-model
    ;;Various
    #:*backing-bean*
    #:call-in-gui-thread
    #:color
    #:&common-widget-args
    #:defimplementation
    #:definterface
    #:*event*
    #:font
    #:jbool
    #:layout-manager
    #:make-dialog-prompt-stream
    #:make-layout-manager
    #:install-graphical-debugger
    #:*parent*
    #:self
    #:str
    #:syntax
    #:with-gui
    #:with-widget
    ;;Java
    #:invoke
    #:new))
    
(defpackage :snow-user
  (:use :common-lisp :snow :java :ext :named-readtables :cells)
  (:shadowing-import-from :snow
			  #:make-dialog-prompt-stream #:self))