;;
;; $Id: quil.el,v 1.1 1993/02/12 21:06:43 ejb Exp $
;; $Source: /home/ejb/elisp/q/RCS/quil.el,v $
;; $Author: ejb $
;;
;; This file contains routines for use with uil files
;;

(provide 'quil)

(defun uil-control-to-option ()
  "Convert uil control declaration to option declaration.  Control
is of the form

	XmTypename object_name;

This code converts that to

object object_name : XmTypename {
    arguments {
    };
    controls {
    };
    callbacks {
    };
};
"
  (interactive)
  (let (start-pt end-pt obj-type)
    (beginning-of-line)
    (delete-horizontal-space)
    (setq start-pt (point))
    (re-search-forward "\\s-")
    (delete-horizontal-space)
    (setq end-pt (point))
    (setq obj-type (buffer-substring start-pt end-pt))
    (delete-region start-pt end-pt)
    (insert "object ")
    (search-forward ";")
    (backward-delete-char 1)
    (insert " : ")
    (insert obj-type)
    (insert " {\n")
    (insert "arguments {")
    (indent-according-to-mode)
    (insert "\n};")
    (indent-according-to-mode)
    (insert "\ncontrols {")
    (indent-according-to-mode)
    (insert "\n};")
    (indent-according-to-mode)
    (insert "\ncallbacks {")
    (indent-according-to-mode)
    (insert "\n};")
    (indent-according-to-mode)
    (insert "\n};")
    (indent-according-to-mode)
    (insert "\n\n")
    (forward-line 1)))
