(in-package "KPML")

;;; File: kpml-system-flags.lisp
;;; KPML 0.8; John:IPSI:June95
;;;  addded to 0.9: Oct95.

;;; This file groups together all the flags known to the KPML
;;; system and offers a menu-oriented means of setting them.
;;;
;;; .... well not quite all, that would be overkill...
;;;

;;; (ACL3 version is in ui-aclwin/kpml-system-flags.lsp 
;;;       but is not maintained)

#-acl3.0
(defun KPML-SYSTEM-FLAGS-MENU 
	(&optional 
	 (stream (clim::frame-top-level-sheet clim:*application-frame*)))
  (let ((string-bracketting (not (string= kpml-i::*ol-bracketting* "")))
	(versioning? nil)))
    (clim:accepting-values
	(stream :own-window t :resynchronize-every-pass t
		:scroll-bars :vertical
		:label "KPML System Flags" :exit-boxes 
		'((:exit "Click here to use these values")
		  (:abort "Abandon selection")))

      ;; 4.0 modified a bit for the GUI...
      ;;
      (setf versioning? 	
	    (if (member :resource-patches *loading-saving-profile*)
		T nil))
      (kpml-i::on-or-off versioning?
			 "Resource versioning activated  ..........")
      (setf *patch-status* versioning?)
      (if versioning?
	  (push :resource-patches *loading-saving-profile*)
	(setf *loading-saving-profile*
	  (remove :resource-patches *loading-saving-profile*)))
      ;; ---------------
      
      (kpml-i-terpri stream)
      (kpml-i::on-or-off kpml-i::*display-structures*
			 "Display structure of generated examples .")
      (kpml-i-terpri stream)
      
      (kpml-i::on-or-off string-bracketting
			 "Display generated string constituency .")
      (kpml-i::set-string-bracketting string-bracketting T)

      (kpml-i-terpri stream)
      (setq kpml-i::*example-display-desired-mode*
	(clim:accept `(member ,@ kpml-i::*example-display-options*)
		     #-lispworks :view #-lispworks 'clim:list-pane-view
		     :stream stream
		     :prompt "Example menu shows ......"
		     :default kpml-i::*example-display-desired-mode*))
      (kpml-i-terpri stream)

      (kpml-i::on-or-off *RESTRICT-EXAMPLE-RUNNING-BY-LANGUAGE*
			 "Restrict offered examples by language .")
      (kpml-i-terpri stream)
      (kpml-i::on-or-off *acquire-lexical-items-mode*
			 "Acquire previously unknown lexical items .")
      (kpml-i-terpri stream)

      (setq *example-running-detail-level*
	(clim:accept `(member ,@ *example-running-options*) :stream stream
		     #-lispworks :view #-lispworks 'clim:list-pane-view
		     :prompt "Example runner detail level ...."
		     :default *example-running-detail-level*))
      (kpml-i-terpri stream)
      (setq *pop-ups*
	(clim:accept `(clim:subset-sequence ,*possible-pop-ups*)
		    :stream stream
                    #-lispworks4.0 :view #-lispworks4.0 'clim:list-pane-view
		    #+lispworks :view #+lispworks 'clim:list-pane-view
                    :prompt "Activated pop ups  ...."
                    :default *pop-ups*))
      (kpml-i-terpri stream)
      #+lispworks (kpml-i::dialog-end-spacing)
   ))



;;  Following not supported in 0.9+ 
;;      (setq *PATCH-LOADING-ON-LANGUAGE-SWITCHING*
;;	(clim:accept '(member t nil) :stream stream
;;		     :prompt "Patch loading on language switching  ...."
;;		     :default *PATCH-LOADING-ON-LANGUAGE-SWITCHING*))



;; Following is the list of flags... add to flag menu from time to time!

#|

Following removed since they are internal!!!!

      (setq *show-merging-actions*
	(clim:accept '(member t nil) :stream stream
		     :prompt "Show merging actions         ............"
		     :default *show-merging-actions*))
      (kpml-i-terpri stream)
      (setq *STEP-BY-STEP-MERGING-BEHAVIOR*
	(clim:accept '(member t nil) :stream stream
		     :prompt "Step-by-step merging behavior    ........"
		     :default *STEP-BY-STEP-MERGING-BEHAVIOR*))

*KNOT*, Bound
;; *SHOW-MERGING-ACTIONS*, Bound
*SHOW-GENRE-REALIZATIONS*, Bound
*SHOW-MORPHOLOGY-SELECTION-FLAG*, Bound
*ACTIVE-REGISTER-MOTIVATED-GRAMMAR-DEFAULTS*, Bound
*SHOW-INTERMEDIATE-RESULTS*, Bound
*KPML-VERSION*, Bound
*EXAMPLE-RUNNING-STRINGS-ONLY*, Bound
*PACKAGE-FOR-INQUIRY-IMPLEMENTATIONS*, Bound
*ACTIVATE-WORD-RANK-AND-BELOW*, Bound
*STRUCTURAL-CONJUNCTION*, Bound
*DEMO-MODE*, Bound
*SHOW-LOADING-ACTIONS*, Bound
*UM-TEMPORAL-RELATIONS*, Bound
*FORCE-INQUIRY-IMPLEMENTATION-PACKAGE?*, Bound
*AGREEMENT-TRACE*, Bound
*RESTRICT-EXAMPLE-RUNNING-BY-LANGUAGE*, Bound
*WINDOW-RIGHT-MARGIN*, Bound
*MOUSE-SENSITIVE-CONSTITUENTS*, Bound
*SHOW-REGISTER-PROFILES*, Bound
*GRAMMATICIZE*, Bound
*SPL-RELATIONAL-TYPES*, Bound
*SHOW-REGISTER-REALIZATIONS*, Bound
*WORD-SEPARATOR*, Bound
*VERBOSE-EXAMPLE-RUNNER*, Bound
*DEFAULT-NEGATION-PREFIX*, Bound
*EXAMPLE-RUNNING-WARNINGS-AND-ALL*, Bound
*SHOW-COMPLEXING-DECISIONS*, Bound
*ML-TUNING-FLAG*, Bound
*SHOW-SEMANTIC-INPUT*, Bound
*SPL-DISJUNCTIVE-SET-TYPE*, Bound
*IDENTIFIABILITY-POSSESSOR-TRANSITIVITY*, Bound
*NIGEL-HYBRID-LEXICON*, Bound
*CLAUSE-COMPLEXITY*, Bound
*MOUSE-SENSITIVE-TERMINALS*, Bound

|#

