Mercurial > hg > xemacs-beta
diff lisp/utils/toolbar-utils.el @ 173:8eaf7971accc r20-3b13
Import from CVS: tag r20-3b13
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:49:09 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/utils/toolbar-utils.el Mon Aug 13 09:49:09 2007 +0200 @@ -0,0 +1,90 @@ +;;; toolbar-utils.el --- Toolbar utility functions for XEmacs + +;; Copyright (C) 1997 by Free Software Foundation, Inc. + +;; Author: Jeff Miller <jmiller@smart.net> +;; Keywords: extensions + +;; This file is part of XEmacs. + +;; XEmacs 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, or (at your option) +;; any later version. + +;; XEmacs 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 XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Synched up with: Not in FSF + +;;; Commentary: + +;; Based largely on edit-toolbar.el by Peter D. Pezaris <pez@dwwc.com> + +;;; Code: + +;;;###autoload +(defun restore-initial-toolbar () + "Restores the default toolbar defined by initial-toolbar-spec." + (interactive) + (set-specifier default-toolbar initial-toolbar-spec) + ) + +;;;###autoload +(defun toolbar-add-item (item &optional index &optional toolbar-spec) + "Add a toolbar item ITEM at the first location of the toolbar specifier. +Optionally, can specify an INDEX position to insert the ITEM. The default is +to use default-toolbar, but a different specifier can by specified with +TOOLBAR-SPEC." + (if (eq toolbar-spec nil ) + (setq toolbar-spec default-toolbar)) + (let* ((toolbar (specifier-instance toolbar-spec))) + (if(or (eq index nil) (eq index 0)) + (setq toolbar (cons item toolbar)) + (setcdr (nthcdr (- index 1) toolbar) + (cons item (nthcdr index toolbar)))) + (set-specifier toolbar-spec toolbar) + )) + + +;;;###autoload +(defun toolbar-kill-item-pos ( index &optional toolbar-spec) + "Remove a toolbar item ITEM at the first location of the toolbar specifier. +Optionally, can specify an INDEX position where to remove the ITEM. The +default is to use default-toolbar, but a different specifier can by +specified with TOOLBAR-SPEC." + (if (eq toolbar-spec nil ) + (setq toolbar-spec default-toolbar)) + (let* ((toolbar (specifier-instance toolbar-spec)) + (item (nth index toolbar))) + (if (eq index 0) + (setq toolbar(cdr toolbar)) + (setcdr (nthcdr (1- index) toolbar) + (nthcdr (1+ index) toolbar))) + (set-specifier toolbar-spec toolbar) + )) + +;;;###autoload +(defun toolbar-kill-item ( item &optional toolbar-spec) + "Remove a toolbar item ITEM at the first location of the toolbar specifier. +Optionally, can specify an ITEM to remove. The ITEM must be in form of a +vector. The default is to use default-toolbar, but a different specifier +can by specified with TOOLBAR-SPEC." + (if (eq toolbar-spec nil ) + (setq toolbar-spec default-toolbar)) + (let* ((toolbar (specifier-instance toolbar-spec)) ) + (eval item) + (set-specifier toolbar-spec (delete item toolbar)) + )) + + +(provide 'toolbar-utils) + +;;; toolbar-utils.el ends here