;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; LUSH Lisp Universal Shell
;;;   Copyright (C) 2002 Leon Bottou, Yann Le Cun, AT&T Corp, NECI.
;;; Includes parts of TL3:
;;;   Copyright (C) 1987-1999 Leon Bottou and Neuristique.
;;; Includes selected parts of SN3.2:
;;;   Copyright (C) 1991-2001 AT&T Corp.
;;;
;;;
;;; 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., 59 Temple Place, Suite 330, Boston, MA 02111, USA
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(libload "inventor/xt-config")



#? *** xt_sliderset

;; dummy function that adds Inventor header files in C file
(eval `(de |dummy_xt_sliderset| () ,inventorxt-cpheader-cmd ()))

#? * soxtslidersetbase
;;.TYPE CLASS
#? (==> <soxtslidersetbase> setnode <newnode>)
#? (==> <soxtslidersetbase> getnode)
#? (==> <soxtslidersetbase> getlayoutsize <w> <h>)
#? (==> <soxtslidersetbase> show)

#? * soxtsliderset
;;.TYPE CLASS
#? (==> <soxtsliderset> updatelayout)

#? * soxtlightsliderset
;;.TYPE CLASS
#? (new soxtlightsliderset <parent> <name> <buildinsideparent> <neweditnode> <shellflag>>

#? * soxtmaterialsliderset
;;.TYPE CLASS
#? (new soxtmaterialsliderset <parent> <name> <buildinsideparent> <neweditnode> <shellflag>>

#? * soxttransformsliderset
;;.TYPE CLASS
#? (new soxttransformsliderset <parent> <name> <buildinsideparent> <neweditnode> <shellflag>>

#? * (|dummy_xt_sliderset|)

;; ********************************************************


(libload "inventor/xt_components")

;;class SoXtSliderSetBase : public SoXtComponent 
(defclass SoXtSliderSetBase  SoXtComponent)
 
(defmethod  SoXtSliderSetBase  setNode ( newNode )
  
  ((-gptr- "SoNode *") newNode) 
  #{  ((SoXtSliderSetBase *)$p)->setNode( $newNode );  #} 
  ())

(defmethod  SoXtSliderSetBase  getNode (  )
  
  (gptr #{  ((SoXtSliderSetBase *)$p)->getNode()  #} ))  ;; SoNode *  -> gptr

(defmethod  SoXtSliderSetBase  getLayoutSize ( w h )
  
  ((-gptr- "int *") w)     ;; reference -> gptr
  ((-gptr- "int *") h)     ;; reference -> gptr
  #{  ((SoXtSliderSetBase *)$p)->getLayoutSize( *$w  ,*$h );  #} 
  ())

(defmethod  SoXtSliderSetBase  show (  )
  
  #{  ((SoXtSliderSetBase *)$p)->show();  #} 
  ())




;;class SoXtSliderSet : public SoXtSliderSetBase 
(defclass SoXtSliderSet  SoXtSliderSetBase)
 
(defmethod  SoXtSliderSet  updateLayout (  )
  
  #{  ((SoXtSliderSet *)$p)->updateLayout();  #} 
  ())



;;class SoXtLightSliderSet : public SoXtSliderSet 
(defclass SoXtLightSliderSet  SoXtSliderSet)
 
(defmethod  SoXtLightSliderSet  SoXtLightSliderSet ( parent name buildInsideParent newEditNode  shellflag)
  
  ((-bool-) shellflag)
  ((-gptr- "Widget") parent) 
  ((-gptr- "const char *") name) 
  ((-int-) buildInsideParent)          ;; SbBool -> int
  ((-gptr- "SoNode *") newEditNode) 
  #{  if($shellflag == false ) {
            $p = new SoXtLightSliderSet( $parent  ,$name  ,$buildInsideParent  ,$newEditNode );
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())


;;class SoXtMaterialSliderSet : public SoXtSliderSet 
(defclass SoXtMaterialSliderSet  SoXtSliderSet)
 
(defmethod  SoXtMaterialSliderSet  SoXtMaterialSliderSet ( parent name buildInsideParent newEditNode  shellflag)
  
  ((-bool-) shellflag)
  ((-gptr- "Widget") parent) 
  ((-gptr- "const char *") name) 
  ((-int-) buildInsideParent)          ;; SbBool -> int
  ((-gptr- "SoNode *") newEditNode) 
  #{  if($shellflag == false ) {
            $p = new SoXtMaterialSliderSet( $parent  ,$name  ,$buildInsideParent  ,$newEditNode );
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())



;;class SoXtTransformSliderSet : public SoXtSliderSet 
(defclass SoXtTransformSliderSet  SoXtSliderSet)
 
(defmethod  SoXtTransformSliderSet  SoXtTransformSliderSet ( parent name buildInsideParent newEditNode  shellflag)
  
  ((-bool-) shellflag)
  ((-gptr- "Widget") parent) 
  ((-gptr- "const char *") name) 
  ((-int-) buildInsideParent)          ;; SbBool -> int
  ((-gptr- "SoNode *") newEditNode) 
  #{  if($shellflag == false ) {
            $p = new SoXtTransformSliderSet( $parent  ,$name  ,$buildInsideParent  ,$newEditNode );
            $shell_flag = false;
      }
      else
            $shell_flag = true;
  #} 
  ())







;; ********************************************************

(let ((dhc-make-lushflags inventorxt-lushflags))
(dhc-make-with-c++ () ()
  |dummy_xt_sliderset|
  (soxtslidersetbase  show  getlayoutsize  getnode  setnode)
  (soxtsliderset  updatelayout)
  (soxtlightsliderset  soxtlightsliderset)
  (soxtmaterialsliderset  soxtmaterialsliderset)
  (soxttransformsliderset  soxttransformsliderset)
))

