メニュー


*buffer-menu-mode-hook*

type: Variable
package: editor
file: buf-menu.l
buffer-menuの起動時に実行されます。

参考:
  (run-hooks '*buffer-menu-mode-hook*)

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

*init-app-menus-hook*

type: Variable
package: editor
file: app-menu.l
xyzzy実行後に実行されます。*app-menu*を直接変更する用途で用いら
れます。

使用例:
  (add-hook '*init-app-menus-hook*
            #'(lambda ()
                (add-menu-item *app-menu* 'close-box :close-box
                               #'kill-selected-buffer)))

seealso: 起動時処理フロー
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

add-menu-item

type: Function
arguments: add-menu-item MENU TAG NAME &optional COMMAND INIT
package: editor
file: builtin.l
新たに作成したメニュー項目をメニューの末尾に追加します。

  MENU    : 追加先のメニューを指定します。
  TAG     : 識別用のタグを指定します。
  NAME    : メニューに表示される名前を指定します。
  COMMAND : メニューの項目が選択されたときに実行するコマンドを指定します。
  INIT    : メニューが開く直前に評価し返される値によってメニューの状態を
            設定します。任意のS式が指定できますが、あまり無茶なことはしな
            いでください。式の値として意味のある値には以下のものがあります。

        :modified     カレントバッファが変更されていなければ灰色表示。
        :undo         undo不可能であれば灰色表示。
        :redo         redo不可能であれば灰色表示。
        :selection    カレントバッファのテキストが未選択であるか矩形選択
                      であれば灰色表示。
        :rectangle    カレントバッファのテキストが未選択であるか矩形以外
                      の選択であれば灰色表示。
        :clipboard    クリップボードが空であれば灰色表示。
        :check        チェック。
        :disable      灰色表示。
        その他        使用可能。

seealso: insert-menu-item
seealso: get-menu
seealso: create-menu
seealso: define-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

add-menu-separator

type: Function
arguments: add-menu-separator MENU &optional TAG
package: editor
file: builtin.l
セパレータをメニューの末尾に追加します。

  MENU : 追加先のメニューを指定します。
  TAG  : 識別用のタグを指定します。

seealso: insert-menu-separator
seealso: define-menu
seealso: define-popup-menu
seealso: get-menu
seealso: get-menu-position
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

add-popup-menu

type: Function
arguments: add-popup-menu MENU POPUP-MENU NAME
package: editor
file: builtin.l
ポップアップメニューをメニューの末尾に追加します。

  MENU       : 追加先のメニューを指定します。
  POPUP-MENU : 追加するポップアップメニューを指定します。
  NAME       : メニューに表示される名前を指定します。

使用例:
  ;;; 右クリックメニューを標準のメニューに追加してみる。
  (add-popup-menu *app-menu* *app-popup-menu* "編集2(&E)")
  => #<menu 48701736>

seealso: insert-popup-menu
seealso: define-popup-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

apps-popup

type: Function
arguments: apps-popup
package: editor
file: mouse.l
ポップアップメニューを表示します。[Apps]

メニューは、*app-popup-menu* に定義されたものが使用されます。

seealso: mouse-menu-popup
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

call-menu

type: Function
arguments: call-menu N
package: editor
file: builtin.l
「ファイル(F)」「編集(E)」といったメニューの N 番目の項目を開きます。
N には 0 オリジンで位置を指定します。
すなわち 0 を指定したときは通常「ファイル(F)」のメニューを開きます。

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

copy-menu-items

type: Function
arguments: copy-menu-items OLD-MENU NEW-MENU
package: editor
file: builtin.l
old-menuの構造をnew-menuにトップレベルでコピーします。

亀井さん談:
  ちなみにバグってます。old-menuとnew-menuが同じ場合のことを何も考えていません。

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

create-menu

type: Function
arguments: create-menu &optional TAG
package: editor
file: builtin.l
新たに作成した空のメニューを返します。

  TAG : 識別用のタグを指定します。

メニューの中身は空なので、以下の関数で登録必要があります。
中身を動的に作る必要が無ければ、 define-menu を使用した方が良いです。

  add-menu-item         : 項目を追加します。
  add-menu-separator    : セパレータを追加します。
  add-popup-menu        : ポップアップメニューを追加します。
  insert-menu-item      : 項目を挿入します。
  insert-menu-separator : セパレータを挿入します。
  insert-popup-menu     : ポップアップメニューを挿入します。

作成したメニューは以下の関数で使います。

  set-menu       : 標準のメニューとして設定します。
  use-local-menu : バッファにローカルなメニューとして設定します。

seealso: create-popup-menu
seealso: define-menu
seealso: set-menu
seealso: use-local-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

create-popup-menu

type: Function
arguments: create-popup-menu &optional TAG
package: editor
file: builtin.l
新たに作成したポップアップメニューを返します。ポップアップメニューとして
使えることを除けば、create-menuで作成されたメニューを同じです。

  TAG : 識別用のタグを指定します。

メニューの中身は空なので、create-menuと同じように登録する必要があります。
中身を動的に作る必要が無ければ、define-popup-menuを使用した方が良いです。

作成したポップアップメニューは以下の関数で使います。

  insert-popup-menu  : 既存のメニューにポップアップメニューを追加します。
  track-popup-menu   : ポップアップメニューをその場で表示します。

seealso: define-popup-menu
seealso: track-popup-menu
seealso: create-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

create-tab-bar

type: Function
arguments: create-tab-bar BAR CALLBACK
package: editor
file: builtin.l
タブバーの識別子BARと、タブが選択されたとき実行するコールバック関数
CALLBACKを指定して、タブバーを作成します。CALLBACKは、各タブの作成時に設
定したシンボルが渡されます。

使用例:
  (progn
    (defun a-func (a) (msgbox "~A ~A" a (type-of a)))
    (define-command-bar 'a-bar "a bar")
    (create-tab-bar 'a-bar 'a-func)
    (show-command-bar 'a-bar)
    (tab-bar-add-item 'a-bar '1st "- 1st -" "1st item")
    (tab-bar-add-item 'a-bar '2nd "- 2nd -" "2nd item"))
  => t  
  (progn
    (tab-bar-delete-item 'a-bar '1st)
    (tab-bar-delete-item 'a-bar '2nd)
    (delete-tool-bar 'a-bar)
    (delete-command-bar 'a-bar))
  => t

seealso: tab-bar-add-item
seealso: tab-bar-list-items
seealso: tab-bar-modify-item
seealso: tab-bar-select-item
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

create-tool-bar

type: Function
arguments: create-tool-bar NAME BITMAP ITEMS
package: editor
file: builtin.l
ツールバーNAMEを作成します。ツールバーに表示するビットマップファイルのフ
ルパスBITMAPと、ツールバーの項目ITEMSを指定します。ITEMSは以下の形式で記
述します。項目の替わりに:sepを指定するとセパレータを表示できます。

形式:
  ((ツールチップ1 アイコンの番号1 実行する関数1 状態制御用1)
   (ツールチップ2 アイコンの番号2 実行する関数2 状態制御用2)
    ...
   (ツールチップN アイコンの番号N 実行する関数N 状態制御用N))

補足:
  アイコンの番号:
        16x16の領域をひとつのアイコンとみなして、ビットマップファイルの
        左から0ベースの番号で指定します。
  状態制御用:
        ボタンの状態が何に依存して変更するかを指定します。
        :modified              編集されていたら 
        :selection             行モード選択、文字モード選択をしていたら
        :modify-selection      編集可能なバッファで行モード選択
                               文字モード選択をしていたら
        :rectangle             矩形選択していたら
        :modify-rectangle      編集可能なバッファで矩形選択をしていたら
        :any-selection         選択していたら
        :modify-any-selection  編集可能なバッファで選択していたら
        :clipboard             編集可能なバッファでクリップボードに値が入っていたら
        :undo                  UNDOできる状態なら
        :redo                  リドゥできる状態なら
        関数 (function)        関数が返す値による
            :disable           ボタンを押せない状態 
            :check             ボタンを押してへこんだ状態 
            上記以外           普通の押せる状態 
        上記以外               指定しないとの同じで無条件に押せる状態 
        ※OHKUBO Hiroshiさんのサイトより
          http://ohkubo.s53.xrea.com/xyzzy/memo.html

使用例:
(create-tool-bar 'abc-tool-bar
 (merge-pathnames "toolbar.bmp" (etc-path))
 '(("line-number" 0 toggle-line-number)
   ("vscroll-bar" 1 toggle-vscroll-bar)
   ("mode-line" 2 toggle-mode-line)
   :sep
   ("function-bar" 3 toggle-function-bar)
   ("fold-line" 4 toggle-fold-line)
   ("read-only" 5 toggle-read-only)))

seealso: define-command-bar
seealso: create-tab-bar
Link: lisp/cmdbar.l
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

current-menu

type: Function
arguments: current-menu &optional BUFFER
package: editor
file: builtin.l
現在表示されているメニューを返します。use-local-menuを使用してい
るバッファは*app-menu*とは違うものが取得されます。

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

define-command-bar

type: Function
arguments: define-command-bar SYM NAME &optional EDGE X Y W
package: editor
file: cmdbar.l
※以下は私見です。

ツールバーやタブバーを総称してツールバーと呼ぶようです。作成するときやツ
ールバーのリストを操作するときは全てtool-bar系の関数を使います。単に表示
するだけならば、show-tool-barを使えば可能です。

ただし、メニューの[表示]-[ツールバー]の一覧に追加する場合には、
command-bar系の関数を使います。define-command-barで登録したツールバーは、
[表示]-[ツールバー]から表示を制御することが可能です。予め、
define-command-barで定義したSYMに対応する、ツールバー・タブバーを作って
おく必要があります。

以下はタブバーを操作する場合の例です。

  (progn
    (defun a-func (a) (msgbox "~A ~A" a (type-of a)))
    (define-command-bar 'a-bar "a bar")
    (create-tab-bar 'a-bar 'a-func)
    (show-command-bar 'a-bar)
    (tab-bar-add-item 'a-bar '1st "- 1st -" "1st item")
    (tab-bar-add-item 'a-bar '2nd "- 2nd -" "2nd item"))

  (progn
    (tab-bar-delete-item 'a-bar '1st)
    (tab-bar-delete-item 'a-bar '2nd)
    (delete-tool-bar 'a-bar)
    (delete-command-bar 'a-bar))

また、ユーザのツールバーなどを作成する場合には、delete-command-barで削除
する手順を考慮することをおすすめします。コマンドバーは(シンボル名だけ)
ヒストリ変数に格納されます。その実体(ツールバーやタブバー)がなくとも、
ずっと[表示]-[ツールバー]に残ってしまいます。そのようなときは、手動で削
除する必要があります。

似たような話で、コマンドバーには関数名だけを指定しておいて、後から本体を
読み込みたい場合には、autoloadで出来ます。本体の初期化に時間が掛かる場合
には、このように分離するほうが良いと思います。

使用例:
  ------------------------------------------------
  ;;; .xyzzy
  (progn
    (define-command-bar 'a-bar "a bar")
    (autoload 'a-bar "a-bar.l"))
  ------------------------------------------------

  ------------------------------------------------
  ;;; a-bar.l
  (progn
    (create-tab-bar 'a-bar 'a-func)
    (show-command-bar 'a-bar)
    (tab-bar-add-item 'a-bar '1st "- 1st -" "1st item")
    (tab-bar-add-item 'a-bar '2nd "- 2nd -" "2nd item"))
  ------------------------------------------------

seealso: delete-command-bar
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

define-menu

type: Macro
arguments: define-menu &body BODY
package: editor
file: menu.l
固定的なメニューを定義します。
定義方法は define-popup-menu を参照して下さい。動的にメニューを生成した場
合には create-menu を参照して下さい。 define-menu で生成したメニューも
add-menu-item や insert-menu-item などで項目を追加することも可能です。

seealso: create-menu
seealso: add-menu-item
seealso: insert-menu-item
seealso: add-menu-separator
seealso: insert-menu-separator
seealso: copy-menu-items
seealso: delete-menu
seealso: get-menu
seealso: set-menu
seealso: use-local-menu
seealso: define-popup-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

define-popup-menu

type: Macro
arguments: define-popup-menu &body BODY
package: editor
file: menu.l
固定的なポップアップメニューを定義します。

  BODY : メニューの定義を記述します。

BODYをインチキなBNFで書くと以下の様になります。

  POPUP-DEF : {MENU-ITEM}*

  MENU-ITEM : :sep
            : (:sep [TAG])
            | (:separator [TAG])
            | (:popup tag name {POPUP-DEF}*)
            | (:item tag name [COMMAND [INIT]])

  TAG       : メニュー項目を識別する任意のオブジェクトです。
              タグ同士はeqで比較されます

  COMMAND   : メニュー項目が選択されたときに実行されるコマンドです。

  INIT      : メニューが開く直前に評価され、返される値によってメニューの
              状態が設定されます。任意のS式が指定できますが、あまり無茶
              なことはしないでください。式の値として意味のある値には以下
              のものがあります。

        :modified     カレントバッファが変更されていなければ灰色表示
        :undo         undo不可能であれば灰色表示
        :redo         redo不可能であれば灰色表示
        :selection    カレントバッファのテキストが未選択であるか矩形選択
                      であれば灰色表示
        :rectangle    カレントバッファのテキストが未選択であるか矩形以外
                      の選択であれば灰色表示
        :clipboard    クリップボードが空であれば灰色表示
        :check        チェック
        :disable      灰色表示
        その他        使用可能

使用例:
  ;;; niftylog.l
  (define-popup-menu
    (:item nil "メッセージを読んだことにする(&R)"
     'log-read-article)
    (:item nil "メッセージを読んでないことにする(&N)"
     'log-unread-article)
    (:item nil "スレッドを読んだことにする(&T)"
     'log-read-thread)
    (:item nil "スレッドを読んでないことにする(&H)"
     'log-unread-thread)
    (:item nil "ニュースグループを読んだことにする(&G)")
    (:item nil "ニュースグループを読んでないことにする(&P)"))
  => #<menu 48698340>

seealso: create-popup-menu
seealso: track-popup-menu
seealso: add-popup-menu
seealso: insert-popup-menu
seealso: define-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

delete-command-bar

type: Function
arguments: delete-command-bar SYM
package: editor
file: cmdbar.l
ツールバーを削除します。

seealso: define-command-bar
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

delete-menu

type: Function
arguments: delete-menu MENU TAG-OR-POSITION &optional TAG-OR-POSITION-P
package: editor
file: builtin.l
メニューから項目等を削除します。

  MENU              : 削除するメニューを指定します。
  TAG-OR-POSITION   : タグもしくは位置を指定します。
  TAG-OR-POSITION-P : TAG-OR-POSITIONの引数をタグとして解釈するか位置と
                      して解釈するかを決めます。
           nil     TAG-OR-POSITIONはタグを表すシンボル
           non-nil TAG-OR-POSITIONは位置を表す整数値
  
タグを指定した場合にはメニューを再帰的に検索し最初に見つかった項目を削除
します。 タグが存在しない場合やメニュー項目数以上の位置を指定した場合に
は、削除に失敗します。

戻り値は以下のとおりです。

  t   削除に成功した。
  nil 削除に失敗した。

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

delete-tool-bar

type: Function
arguments: delete-tool-bar NAME
package: editor
file: builtin.l
ツールバーNAMEを削除します。
コマンドバーとして登録していた場合には、[表示]-[ツールバー]に残骸が残っ
てしまいますので、delete-command-barで削除する必要があります。

seealso: create-tool-bar
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

focus-tool-bar

type: Function
arguments: focus-tool-bar
package: editor
file: builtin.l
タブバーにフォーカスを移します。タブバーからはTABを押すことで元のバッフ
ァに戻ることが出来ます。タブバーが存在しないときは、フォーカスは元のバッ
ファのままです。

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

get-menu

type: Function
arguments: get-menu MENU TAG-OR-POSITION &optional TAG-OR-POSITION-P
package: editor
file: builtin.l
指定されたメニューから、タグ名または位置で検索したメニューを取得します。

  TAG-OR-POSITION   : タグもしくは位置を指定します。
  TAG-OR-POSITION-P : TAG-OR-POSITIONの引数をタグとして解釈するか位置と
                      して解釈するかを決めます。
           nil     TAG-OR-POSITIONはタグを表すシンボル
           non-nil TAG-OR-POSITIONは位置を表す整数値
使用例:
  (get-menu *app-menu* 3 t)

seealso: current-menu
seealso: get-menu-position
seealso: define-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

get-menu-position

type: Function
arguments: get-menu-position MENU TAG
package: editor
file: builtin.l
メニューの中からタグの位置を検索して返します。

  MENU : 検索するメニューを指定します。
  TAG  : 検索するタグを指定します。

見つからなかった場合にはnilが返されます。
見つかった場合にはその位置とそれを含むメニューを返します。

seealso: get-menu
seealso: define-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

hide-command-bar

type: Function
arguments: hide-command-bar SYM
package: editor
file: cmdbar.l
define-command-barで定義したコマンドバーを非表示にします。

seealso: show-command-bar
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

hide-tool-bar

type: Function
arguments: hide-tool-bar NAME
package: editor
file: builtin.l
ツールバーNAMEを非表示にします。

seealso: show-tool-bar
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

insert-menu-item

type: Function
arguments: insert-menu-item MENU POSITION TAG ITEM &optional COMMAND INIT
package: editor
file: builtin.l
メニュー項目を作成しメニューの所定の位置に挿入します。

  MENU     : 追加先のメニューを指定します。
  POSITION : 挿入する位置を指定します。
  TAG      : 識別するタグを指定します。必要なければnilを指定します。
  ITEM     : メニューに表示される名前を指定します。
  COMMAND  : メニューの項目が選択されたときに実行するコマンドを指定します。
  INIT     : メニューが開く直前に評価し返される値によってメニューの状態
             を設定します。詳細はadd-menu-itemを参照して下さい。

seealso: add-menu-item
seealso: get-menu
seealso: define-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

insert-menu-separator

type: Function
arguments: insert-menu-separator MENU POSITION &optional TAG
package: editor
file: builtin.l
セパレータをメニューの所定の位置に挿入します。

  MENU     : 追加先のメニューを指定します。
  POSITION : 挿入する位置を指定します。
  TAG      : 識別するタグを指定します。

seealso: add-menu-separator
seealso: define-menu
seealso: define-popup-menu
seealso: get-menu
seealso: get-menu-position
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

insert-popup-menu

type: Function
arguments: insert-popup-menu MENU POSITION POPUP-MENU MENU-NAME
package: editor
file: builtin.l
ポップアップメニューをメニューの所定の位置に挿入します。

  MENU       : 追加先のメニューを指定します。
  POSITION   : 挿入する位置を指定します。
  POPUP-MENU : 追加するポップアップメニューを指定します。
  NAME       : メニューに表示される名前を指定します。

使用例:
  ;;; 右クリックメニューを標準のメニューに追加してみる。
  (insert-popup-menu *app-menu* 2 *app-popup-menu* "編集2(&E)")
  => #<menu 48701736>

seealso: add-popup-menu
seealso: define-popup-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

list-tool-bars

type: Function
arguments: list-tool-bars
package: editor
file: builtin.l
ツールバーの状態を取得します。状態は以下の形式で返されます。

形式:
  (((左側のツールバー1 横位置1 縦位置1 横幅1)
    (左側のツールバー2 横位置2 縦位置2 横幅2)
    (左側のツールバー3 横位置3 縦位置3 横幅3) ... )
   ((上側のツールバー1 横位置1 縦位置1 横幅1) ... )
   ((右側のツールバー1 横位置1 縦位置1 横幅1) ... )
   ((下側のツールバー1 横位置1 縦位置1 横幅1) ... )
   (非表示のツールバー1 非表示のツールバー2 ... ))

タブバーの場合だけ横幅に数字が返されます。ツールバーの場合には、必ずnil
が返されます。

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

menup

type: Function
arguments: menup OBJECT
package: editor
file: builtin.l
オブジェクトがメニューかどうかを返します。

  OBJECT : 判定するオブジェクト

  t   オブジェクトはメニュー
  nil オブジェクトはメニューではない

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

mouse-menu-popup

type: Function
arguments: mouse-menu-popup &optional APPS
package: editor
file: mouse.l
ポップアップメニューを表示します。[RBtnUp]

  APPS  : メニューの表示位置を指定します。
     nil      マウスカーソル位置
     non-nil  カーソル位置

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

refresh-tool-bars

type: Function
arguments: refresh-tool-bars
package: editor
file: builtin.l
ツールバーをリフレッシュします。
lisp/optprop.lの中から共通設定の変更内容を、ツールバーに反映するために用
いられています。

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

set-menu

type: Function
arguments: set-menu MENU
package: editor
file: builtin.l
指定されたメニューをデフォルトのメニューにします。xyzzy上部に常時表示さ
れるようになります。

  MENU : 設定するメニューを指定します。
         メニューが不要ならばnilを指定します。

seealso: use-local-menu
seealso: define-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

show-command-bar

type: Function
arguments: show-command-bar SYM
package: editor
file: cmdbar.l
define-command-barで定義したコマンドバーを表示します。

seealso: hide-command-bar
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

show-tool-bar

type: Function
arguments: show-tool-bar NAME &optional EDGE X Y W
package: editor
file: builtin.l
ツールバーNAMEを表示します。EDGE X Y Wを指定することで任意の位置に表示さ
せることが可能です。

  EDGE  :top    上側に表示
        :left   左側に表示
        :right  右側に表示
        :bottom 下側に表示
        nil     非表示
  X     横の位置
  Y     縦の位置
  W     タブバーの場合に左右に表示した場合の横幅を与える。
        ツールバーの場合はnilを与える。

[表示]-[ツールバー]に登録したいのならば、show-tool-barではなく、
define-command-bar/show-command-barを使います。

seealso: hide-tool-bar
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

tab-bar-add-item

type: Function
arguments: tab-bar-add-item BAR ITEM STRING &optional TOOLTIP MENU &key :first :last :before :after
package: editor
file: builtin.l
create-tab-barで作成したタブバーBARにタブを追加します。タブを識別するた
めのITEMとタブの文字列STRINGを指定します。個別のツールチップTOOLTIPと、
メニューMENUを指定可能です。

seealso: tab-bar-delete-item
seealso: tab-bar-find-item
seealso: tab-bar-current-item
seealso: create-tab-bar
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

tab-bar-current-item

type: Function
arguments: tab-bar-current-item BAR
package: editor
file: builtin.l
選択中のタブの情報が返されます。タブがひとつも無い場合には、nilが返され
ます。必ず、タブを識別するためのシンボル、タブの文字列、ツールチップのリ
ストで返されます。ツールチップが設定されていない場合には、nilが返されま
す。

使用例:
  (progn
    (defun a-func (a) (msgbox "~A ~A" a (type-of a)))
    (define-command-bar 'a-bar "a bar")
    (create-tab-bar 'a-bar 'a-func)
    (show-command-bar 'a-bar)
    (tab-bar-add-item 'a-bar '1st "- 1st -" "1st item")
    (tab-bar-add-item 'a-bar '2nd "- 2nd -" "2nd item"))
  => t
  (tab-bar-current-item 'a-bar)
  => (1st "- 1st -" "1st item")
  (progn
    (tab-bar-delete-item 'a-bar '1st)
    (tab-bar-delete-item 'a-bar '2nd)
    (delete-tool-bar 'a-bar)
    (delete-command-bar 'a-bar))
  => t

seealso: tab-bar-delete-item
seealso: tab-bar-add-item
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

tab-bar-delete-item

type: Function
arguments: tab-bar-delete-item BAR ITEM
package: editor
file: builtin.l
create-tab-barで作成したタブバーBARからタブITEMを削除します。削除するタ
ブが選択状態であれば、次のタブが選択されて同時にCALLBACKが実行されます。

seealso: tab-bar-add-item
seealso: create-tab-bar
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

tab-bar-find-item

type: Function
arguments: tab-bar-find-item BAR ITEM
package: editor
file: builtin.l
指定されたタブバーBARからタブITEMが存在するか否かを返します。

  t    存在する。
  nil  存在しない。

使用例:
  (tab-bar-find-item 'a-bar '1st)
  => t
  (tab-bar-find-item 'a-bar '3rd)
  => nil

seealso: create-tab-bar
seealso: tab-bar-list-items
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

tab-bar-list-items

type: Function
arguments: tab-bar-list-items BAR
package: editor
file: builtin.l
指定されたタブバーBARのタブのシンボルのリストを返します。

使用例:
  (tab-bar-list-items 'a-bar)
  => (1st 2nd)

seealso: tab-bar-find-item
seealso: create-tab-bar
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

tab-bar-modify-item

type: Function
arguments: tab-bar-modify-item BAR ITEM &optional STRING TOOLTIP MENU
package: editor
file: builtin.l
指定されたタブバーBARのタブITEMの設定を変更します。

使用例:
  (tab-bar-modify-item 'a-bar '1st "- first -")
  => t

seealso: tab-bar-add-item
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

tab-bar-select-item

type: Function
arguments: tab-bar-select-item BAR ITEM
package: editor
file: builtin.l
指定されたタブバーBARのタブITEMを選択状態にします。同時にタブバーに設定
されたCALLBACKが実行されます。

seealso: tab-bar-current-item
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

tool-bar-exist-p

type: Function
arguments: tool-bar-exist-p NAME
package: editor
file: builtin.l
指定されたツールバーNAMEが存在するか否かを返します。

  t    ツールバーが存在する。
  nil  ツールバー存在しない。

[ Intro | 目次 | 索引 | 目的別 | メニュー ]

tool-bar-info

type: Function
arguments: tool-bar-info NAME
package: editor
file: builtin.l
指定したツールバーNAMEの情報を多値で返します。

形式:
  表示位置  :top        上側に表示
            :left       左側に表示
            :right      右側に表示
            :bottom     下側に表示
            nil         非表示
  横位置    横の位置を返す。
  縦位置    縦の位置を返す。
  横幅      タブバーの場合に左右に表示した場合の横幅を返す。
            ツールバーの場合はnilを返す。

seealso: list-tool-bars
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

track-popup-menu

type: Function
arguments: track-popup-menu MENU &optional ANY
package: editor
file: builtin.l
フローティングポップアップメニューを表示します。選択されたコマン
ドを実行します。マウスボタンが押されていない場合はnilを返します。

  MENU : create-popup-menuもしくはdefine-popup-menuで作成された
         メニューを指定します。
  ANY  : どのようにポップアップするかを指定できます。
        :button1        マウスの位置にポップアップ
        :button2        マウスの位置にポップアップ
        上記以外        カーソルの位置にポップアップ

seealso: create-popup-menu
seealso: define-popup-menu
seealso: popup-string
[ Intro | 目次 | 索引 | 目的別 | メニュー ]

use-local-menu

type: Function
arguments: use-local-menu MENU
package: editor
file: builtin.l
カレントバッファにローカルなメニューを設定します。

  MENU : バッファにローカルなメニューを指定します。nilを設定するとローカ
         ルなメニューは解除され、デフォルトのメニューが使用されます。

seealso: set-menu
seealso: current-menu
seealso: define-menu
[ Intro | 目次 | 索引 | 目的別 | メニュー ]