工事中… Under construction ...

名称 NAME
  Widget - 部品の基本的級 The Widget base class

命令 COMMAND
  Widget::addmap class subclass subpath options
  Widget::bwinclude class subclass subpath ?arg...?
  Widget::cget path option
  Widget::configure path options
  Widget::create class path ?rename?
  Widget::declare class optlist
  Widget::define class filename ?class ...?
  Widget::destroy path
  Widget::focusNext w
  Widget::focusOK w
  Widget::focusPrev w
  Widget::generate-doc dir widgetlist
  Widget::generate-widget-doc class iscmd file
  Widget::getoption path option
  Widget::getVariable path varName ?myVarName?
  Widget::hasChanged path option pvalue
  Widget::init class path options
  Widget::setoption path option value
  Widget::subcget path subwidget
  Widget::syncoptions class subclass subpath options
  Widget::tkinclude class tkwidget subpath ?arg...?

説明 DESCRIPTION

部品名前空間は全ての BWidget に関連するデータを取扱い､ BWidgetを容易に定義する命令を提供する｡ BWidget を定義する為に使い得る命令は: tkinclude と bwinclude と declare と addmap と syncoptions である｡これは､ComboBox部品の定義である: The Widget namespace handle data associated to all BWidget and provide commands to easily define BWidget.
For commands can be used to define a BWidget: tkinclude, bwinclude, declare, addmap and syncoptions. Here is the definition of ComboBox widget:

    namespace eval ComboBox {
        # 矢印釦ArrowButton,入力箱Entry,名札枠LabelFrameを使う
        # We're using ArrowButton, Entry and LabelFrame
        ArrowButton::use
        Entry::use
        LabelFrame::use

        # 名札枠LabelFrameの原資を含む
        # Include resources of LabelFrame
        Widget::bwinclude ComboBox LabelFrame .labf \
            rename     {-text -label} \
            remove     {-focus} \
            prefix     {label -justify -width -anchor -height -font} \
            initialize {-relief sunken -borderwidth 2}

        # 入力箱Entryの原資を含む
        # Include resources of Entry
        Widget::bwinclude ComboBox Entry .e \
            remove {-relief -bd -borderwidth -bg -fg} \
            rename {-foreground -entryfg -background -entrybg}

        # 新原資を宣言する
        # Declare new resources
        Widget::declare ComboBox {
            {-height      TkResource 0  0 listbox}
            {-values      String     "" 0}
            {-modifycmd   String     "" 0}
            {-postcommand String     "" 0}
        }

        # 仔部品への原資の対応付け
        # Map resources to subwidget
        Widget::addmap ComboBox "" :cmd {-background {}}
        Widget::addmap ComboBox ArrowButton .a \
            {-foreground {} -background {} -disabledforeground {} -state {}}

        # 仔部品の指示項目の同期付け
        # Synchronize subwidget options
        Widget::syncoptions ComboBox Entry .e {-text {}}
        Widget::syncoptions ComboBox LabelFrame .labf {-label -text -underline {}}

        proc use {} {}
    }

命令 COMMAND

Widget::addmap class subclass subpath options
  この命令は幾つかの原資を仔部品に対応付けする｡対応付けされた原資は部品が構成設定される時に自動的に仔部品を構成設定する｡ This command map some resources to subwidget. Mapped resources automatically configure subwidget when widget is configured.
  - class は新しい部品の級 class is the class of the new BWidget
  - subclass は仔部品の級(BWidget 級､即ち入力 又はTk 部品の為の空白) subclass is the class the subwidget (BWidget class, e.g Entry, or empty for Tk widget)
  - subpath は仔部品の経路 subpath is the path of the subwidget
  - options は仔部品に対応付けする {option realres ...} リスト options is the list {option realres ...} of options to map to subwidget

Widget::bwinclude class subclass subpath ?arg...?
  この命令は新しい BWidget の中に他の BWidget の原資を含む｡引数は: This command includes into a new BWidget the resources of another BWidget. Arguments are:
  - class は新しい部品の級 class class of the new widget
  - subclass は含まれる BWidget の級名 subclass class name of the BWidget to be included
  - subpath は BWidget が構成設定される時に構成設定される経路 subpath path of the widget to configure when BWidget is configured
  - options is:
    - include {option option ...}
      含むべき構成設定のリスト(定義されない時は全部) list of options to include (all if not defined)
    - remove {option option ...}
      分離すべき指示項目のリスト list of options to remove
    - rename {option name option name ...}
      名前変更すべき指示項目のリスト list of options to rename
    - prefix {prefix option option ...}
      prefix が前置される全 option の前置辞 pefix all option by prefix
    - initialize {option value option value ...}
      指示項目の既定値 default value of options
    - readonly {option value option value ...}
      新しい読出し専用印 new readonly flag

Widget::cget path option
  BWidget 経路の 指示項目の値を返す｡cget は存在する指示項目を試験し､仔部品との同期に注意を払う｡cget 命令は典型的には BWidget cget 命令によって呼出される｡ Returns the value of option of BWidget path. cget tests the option existence and takes care of synchronization with subwidget. Typically called by the BWidget cget command.

Widget::configure path options
  定義文書 Description text

Widget::create class path ?rename?
  BWidget を生成する標準手段｡実際の部品経路は $path:cmd に名称変更され､ BWidget 命令を指す経路を置換える為に新しい手続き函数が生成される｡ The standard method for creating a BWidget. The real widget path is renamed to $path:cmd, and a new proc is created to replace the path which points to the BWidget's commands.

  もし rename が偽値であると､経路は名称変更されないが､それでも手続き函数は生成される｡これは､既に部品を名称変更した他の BWidget を階層化する時に便利である｡ If rename is false, the path will not be renamed, but the proc will still be created. This is useful when inheriting another BWidget who will already have renamed the widget.

  本命令は部品経路を返す｡この命令は通常､部品に関する ::create 命令の中で最後に遂行される命令である｡ The command returns the widget path. This command is usually the last command executed in the ::create command for the widget.

Widget::declare class optlist
  この命令は BWidget に関する新しい原資を宣言する｡ This command declare new resources for a BWidget.
  - class は新しい部品の級 class is class of the new widget
  - options は新しい指示項目を記述するリストである｡それぞれの新しい指示項目はリスト {option type value ro ?args?} であり､茲で: options is the list describing new options. Each new option is a list {option type value ro ?args?} where:
    - option は指示項目の名前 option is the name of the option
    - type は指示項目の型 type is the type of the option
    - value は指示項目の既定の値 value is the default value of the option
    - ro は指示項目の読出し専用旗徴 ro is the readonly flag of the option
    - 引数args は型に依存する args depends on type
  可能な型は: type can be:
  TkResource
    指示項目の値は Tk 部品の原資を表示する｡引数は 級 又は {class realoption} でなければならない｡級は Tk 部品の生成命令､譬えば､entry である｡もし Tk 部品内でoptionが同じ名前を持たず realoptionであれば､第二の形式が使われねばならない｡もし value が空文字列の場合､ Tk 部品の既定値に初期化される｡ value of option denotes a resource of a Tk widget. args must be class or {class realoption}. class is the creation command of the Tk widget, e.g. entry. The second form must be used if option has not the same name in Tk widget, but realoption.
    If value is empty, it is initialized to the default value of the Tk widget.
  BwResource
    指示項目の値は BWidget の原資を表示する｡引数は 級 又は {class realoption} でなければならない｡級は BWidget 名前空間の名前､譬えば､ LabelFrame である｡もし BWidget 内でoptionが同じ名前を持たず realoptionであれば､第二の形式が使われねばならない｡もし value が空文字列の場合､ BWidget の既定値に初期化される｡ value of option denotes a resource of a BWidget. args must be class or {class realoption}. class is the name of the namespace of the BWidget, e.g. LabelFrame. The second form must be used if option has not the same name in BWidget, but realoption.
    If value is empty, it is initialized to the default value of the BWidget.
  Int
    指示項目の値は整数である｡引数はその範囲に入る様強制する {?min? ?max?} でも好い｡試験は [expr $option > $min] && [expr $option < $max] であって､従って引数が {0 10} であれば､値は両端を含まない 0 と 10 の間でなければならず､引数が {=0 =10} であれば､ 0 か 10 かその間でなければならない｡ value of option is an integer. args can be {?min? ?max?} to force it to be in a range. The test is [expr $option > $min] && [expr $option < $max] so if args is {0 10}, value must be beetween 0 and 10 exclude, if args is {=0 =10} , value must be beetween 0 and 10 include.
  Boolean
    指示項目の値は論理値である｡真値は 1 か true か yes である｡偽値は､ 0 か false か no である｡Widget::cget は常に 0 か 1 を返す｡ value of option is a boolean. True values can be 1, true or yes. False values can be 0, false or no. Widget::cget always return 0 or 1.
  Enum
    指示項目の値は羅列の要素である｡引数は羅列のリストでなければならない､譬えば､{top left bottom right}｡ value of option is a element of a enumeration. args must be the list of enumeration, e.g. {top left bottom right}.
  Flag
    指示項目の値は文字の組合せの揃いである｡引数は揃いを定義する文字列でなければならない｡ value of option is a combination of a set of chars. args must be a string defining the set.
  String
    指示項目の値はどの様な制御されない文字列でもよい｡ value of option is any uncontrolled string.
  Synonym
    指示項目は指示項目引数の同意語である｡値はここでは効果がない｡ option is a synonym of option args. value has no effect here.

Widget::define class filename ?class ...?

  この命令は新しい BWidget 級を定義する為に使われる｡普通は新しい部品定義の中で最初に実行される命令である｡ This command is used to define a new BWidget class. It is usually the first command executed in a new widget definition.

  - class は新しい部品の級の名前 class is the name of the new widget class.
  - filename はこの級を定義する BWidget 中のファイルの名前(拡張子を除く)｡ filename is the name of the file (without extension) in the BWidget distribution that defines this class.
  - ?-classonly? があると級は設定されない ?-classonly? If present, the class is not setup.
  - ?-namespace ns? 部品の手続き函数がそこにある名前空間; 級名が既定｡ ?-namespace ns? The namespace where the widget's procedures live in; defaults to the class name.

  ファイル名の後に定義されるそれぞれの級はこの部品が依存する級である｡それぞれのこれらの級の為に､新しい部品が定義された後に ::use が呼出される事になる｡ 　 Each class defined after the filename is a class that this widget depends on. The ::use command will be called for each of these classes after the new widget has been defined.

  もし -classonly 指示項目が与えらえられないと､この命令は新しい級を設定する為の幾つかの事を行う｡第一､級の ::create 仔命令が指す級の名前に関する大域名前空間内に別名を生成する｡第二､他の級がこの級を急いで使うことができる為の ::use 仔命令を定義する｡最後に､経路上の Widget::destroy を呼出す級の為の行事; <Destroy> への既定の束縛を生成する｡これは､ BWidget 梱包内の殆ど全ての部品の為の既定の設定である｡ If -classonly option is not given this command does several things to setup the new class. First, it creates an alias in the global namespace for the name of the class that points to the class's ::create subcommand. Second, it defines a ::use subcommand for the class which other classes can use to load this class on the fly. Lastly, it creates a default binding to the <Destroy> event for the class that calls Widget::destroy on the path. This is the default setup for almost all widgets in the BWidget package.

Widget::destroy path
  定義文書 Description text

Widget::focusNext w
  定義文書 Description text

Widget::focusOK w
  定義文書 Description text

Widget::focusPrev w
  定義文書 Description text

Widget::generate-doc dir widgetlist
  定義文書 Description text

Widget::generate-widget-doc class iscmd file
  Description text

Widget::getoption path option
  BWidget 経路の指示項目の値を返す｡この命令は存在する試験を行わなず､且つ同意語を扱わず､且つ仔部品との同期に注意を払わない｡ Returns the value of option of BWidget path. This command does not test option existence, does not handle synonym and does not take care of synchronization with subwidget.

Widget::getVariable path varName ?myVarName?

  現在の手続き函数内で利用できる経路に相対の変数 varName を作成する｡その変数は経路に関する部品名前空間内に生成され､強い部品固有の情報の為に使うことができる｡経路が破壊される時､この方法で利用されるどの変数も一緒に破壊される｡ Make the variable varName relational to path accessible in the current procedure. The variable will be created in the widget namespace for path and can be used for storing widget-specific information. When path is destroyed, any variable accessed in this manner will be destroyed with it.

  もしmyVarName が指定されると､変数はその名前で現在の手続き内から利用できる｡ If myVarName is specified, the variable will be accessible in the current procedure as that name.

Widget::hasChanged path option pvalue
  Description text

Widget::init class path options
  Description text

Widget::setoption path option value
  BWidget 経路の指示項目の値を設定する､追加の試験､仔部品の対応付け､同意語の取扱いはなく､且つ修正旗徴は設定しない｡ Set the value of option of BWidget path without option test, subwidget mapping, synonym handling and does not set the modification flag.

Widget::subcget path subwidget
  subwidget に対応付けされた部品経路の全ての 指示項目/値 のリストを返す｡ Returns the list of all option/value of BWidget path that are mapped to subwidget.

Widget::syncoptions class subclass subpath options
  この命令は仔部品の指示項目値を同期する｡仔部品の指示項目が BWidget の構成設定命令の外で修正される時にこの指示項目が使われる｡ This command synchronize options value of a subwidget. Used when an option of a subwidget is modified out of the BWidget configure command.
  - class は新しい部品の級 class is the class of the new BWidget
  - subclass は仔部品の級(BWidget の級､例えば見出し､又は､ Tk に関する空) subclass is the class the subwidget (BWidget class, e.g Entry, or empty for Tk widget)
  - subpath は仔部品の経路 subpath is the path of the subwidget
  - options は仔部品と同期すべき指示項目 {option realres ...} のリスト options is the list {option realres ...} of options to synchronize with subwidget

Widget::tkinclude class tkwidget subpath ?arg...?
  この命令は Tk 部品の原資を新しい BWidget に含む｡引数は: This command includes into a new BWidget the resources of a Tk widget. Arguments are:
  - class 新しい部品の級 class of the new widget
  - tkwidger 含まれる Tk 部品の命令の名前 command name of the Tk widget to be included
  - subpath BWidget が構成設定される時の構成設定すべき部品の経路名 path of the widget to configure when BWidget is configured
  - 指示項目は: options is:
    - include {option option ...}
      含むべき指示項目のリスト(定義されてなければ全部) list of options to include (all if not defined)
    - remove {option option ...}
      除去すべき指示項目のリスト list of options to remove
    - rename {option name option name ...}
      名前変更すべき指示項目のリスト list of options to rename
    - prefix {prefix option option ...}
      prefixが前置される全optionの前置辞 pefix all option by prefix
    - initialize {option value option value ...}
      指示項目の既定値 default value of options
    - readonly {option value option value ...}
      新しい読出し専用印 new readonly flag