# 2.8 `EasyDialogs` -- 基本的なMacintoshダイアログ

利用可能な条件: Macintosh.

`EasyDialogs`モジュールはMacintoshの単純なダイアログを含んでいま す。 全てのルーチンは省略可能なリソースIDのパラメータidをとり、対応する ダイアログアイテム（タイプとアイテム番号）があれば、このidによっ てダイアログ用の`DLOG`リソースを上書きできます。詳細については ソースを参照してください。

`EasyDialogs`モジュールには以下の関数が定義されています。

`Message`( | str[, id[, ok=None]])

  メッセージテキストstr付きのモーダルダイアログを表示します。テキス トの長さは最大255文字です。 ボタンのテキストはデフォルトでは``OK''ですが、文字列の引数okが与え られると、その文字列に設定できます。 ユーザが``OK''ボタンをクリックすると、ユーザにコントロールが渡されます。

`AskString`( | prompt[, default[, id[, ok[, cancel]]]])

  ユーザに文字列値を入力するよう要求するモーダルダイアログ表示します。 promptはプロンプトメッセージで、省略可能なdefault引数は入力 文字列の初期値です（指定されないなら`""`が使われます）。 ``OK''と``Cancel''ボタンの文字列はokとcancelの引数で変える ことができます。 文字列の長さは全て最大255文字です。 `AskString()`は入力された文字列を返し、ユーザがキャンセルした 場合は`None`を返します。

`AskPassword`( | prompt[, default[, id[, ok[, cancel]]]])

  ユーザに文字列を入力するように要求するモーダルダイアログを表示します。 `AskString()`に似ていますが、テキストは点で表示されます。 引数は`AskString()`のものと同じ意味です。

`AskYesNoCancel`( | question[, default[, yes[, no[, cancel[, id]]]]])

  プロンプトquestionと``Yes''、``No''、``Cancel''というラベルの3つ ボタンが付いたダイアログを表示します。 ``Yes''を押したら`1`、``No''なら`0`、``Cancel''なら`-1` を返します。 `RETURN`キーを押した場合はdefaultの値（defaultが設定さ れていないなら`0`）を返します。 ボタンのテキストはyes、no、cancelの引数で変更できます 。ボタンを表示させないためにはその引数に`""`を与えます。

`ProgressBar`( | [title[, maxval[, label[, id]]]])

  プログレスバー付きのモードレスダイアログを表示します。 これは後述の`ProgressBar`クラスのためのコンストラクタです。 titleは表示されるテキスト文字列（デフォルトは``Working...''）で、 maxvalは進行が完了するときの値（デフォルトは`0`で、不定量の 作業が残っていることを示します）、labelはプログレスバーの上に表示 されるテキストです。

`GetArgv`( | [optionlist[ commandlist[, addoldfile[, addnewfile[, addfolder[, id]]]]]])

  コマンドライン引数のリストを作るのを補助するダイアログを表示します。 引数を`getopt.getopt()`に渡すのに適した`sys.argv`のフォー マットのリストを返します。 addoldfile、addnewfile、addfolderの引数はブーリアン型 の引数です。 これらが非ゼロなら、存在するファイル、まだ（おそらく）存在しないファイ ル、フォルダをコマンドラインのパスとしてそれぞれ設定できます。 （注意：`getopt.getopt()`で認識されるために、オブションの引数は コマンドラインの中でファイルとフォルダの引数の前に示されなければなりませ ん。） 空白を含む引数は、空白をシングルクォートあるいはダブルクォートで囲んで 指定できます。

  ユーザが``Cancel''ボタンを押したら`SystemExit`例外が発生しま す。

  optionlistはポップアップメニューを示すリストで、ユーザはその中から 選択できます。 ポップアップメニューのアイテムは次の2つの形のうちの1つです。optstr あるいは`(optstr, descr)`。 descrは短い説明の文字列で、これがあるとポップアップメニューから選 択されている間、ダイアログに表示されます。 optstrとコマンドライン引数の対応は以下の通りです。

  optstr format | Command-line format
  --- | ---
  `x` | -x （短いオプション）
  `x:`あるいは`x=` | -x （値を持つ短いオプション）
  `xyz` | --xyz （長いオプション）
  `xyz:`あるいは`xyz=` | --xyz （値を持つ長いオプション）

  commandlistはcmdstrあるいは`(cmdstr, descr)`の形のアイテムからなるリストで、descrは前述のよ うに働きます。cmdstrはポップアップメニューに表示されます。選択さ れるとcmdstrがコマンドラインに追加されますが、それに続く "`:`"あるいは"`=`"は（もし存在するなら）取り除かれます。

  バージョン2.0 以降で新規追加された 仕様です。

`AskFileForOpen`( | [message][, typeList][, defaultLocation][, defaultOptionFlags][, location][, clientName][, windowTitle][, actionButtonLabel][, cancelButtonLabel][, preferenceKey][, popupExtension][, eventProc][, previewProc][, filterProc][, wanted])

  開くファイルをユーザに尋ねるダイアログを表示して、選択されたファイ ルあるいはユーザがキャンセルしたらNoneを返します。 messageは表示するテキストメッセージで、typeListは選択 可能にする4文字のファイルタイプのリスト、defaultLocationは最 初に表示すルフォルダのパスネームでFSSpecあるいはFSRefで指定します。 locationはダイアログを表示するスクリーン上の位置の`(x, y)`で、 actionButtonLabelはOKボタンの位置に``Open''の代わり に表示する文字列、cancelButtonLabelは``Cancel''ボタンの位置 に``Cancel''の代わりに表示する文字列、wantedは返したい値のタ イプで`string`、`unicode`、A`FSSpec`、 `FSRef`とそれらのサブタイプを指定できます。

  その他の引数の説明についてはApple Navigation Servicesのドキュメントと EasyDialogsのソースコードを参照してください。

`AskFileForSave`( | [message][, savedFileName][, defaultLocation][, defaultOptionFlags][, location][, clientName][, windowTitle][, actionButtonLabel][, cancelButtonLabel][, preferenceKey][, popupExtension][, fileType][, fileCreator][, eventProc][, wanted])

  保存するファイルをユーザに尋ねるダイアログを表示して、選択されたファイ ルあるいはユーザがキャンセルしたらNoneを返します。 savedFileNameは保存するファイルのデフォルトの名前（であり、返され る値）です。 その他の引数の説明についてはAskFileForOpenを参照してください。

`AskFolder`( | [message][, defaultLocation][, defaultOptionFlags][, location][, clientName][, windowTitle][, actionButtonLabel][, cancelButtonLabel][, preferenceKey][, popupExtension][, eventProc][, filterProc][, wanted])

  選択するフォルダをユーザに尋ねるダイアログを表示して、選択されたフォルダ あるいはユーザがキャンセルしたらNoneを返します。 引数についての説明はAskFileForOpenを参照してください。