pythonaddins モジュール

pythonaddins モジュールには、Python アドインをサポートする関数が用意されています。

注意注意:

pythonaddins モジュールは Python アドイン内だけで使用できます。スタンドアロン スクリプトやジオプロセシング スクリプト ツールでは使用できません。

関数

説明

OpenDialog({title}, {multiple_selection}, {starting_location}, {button_caption})

1 つまたは複数の GIS データセットを選択するダイアログ ボックスを開きます。この関数は選択したデータセットのフル パスを返します。複数のデータセットを選択した場合は、フル パスのリストが返されます。入力データセットに対するフィルタ処理(たとえば、ポイント フィーチャクラスのみのフィルタ処理)は行われません。

  • {title} - ダイアログ ボックスのタイトル。
  • {multiple_selection} - 複数アイテムの選択を許可するかどうかを指定します。デフォルトは False です。
  • {starting_location} - 起点となる場所のパス。
  • {button_caption} - [開く] ボタンで使用するキャプション。

SaveDialog({title}, {name_text}, {starting_location})

データを保存するダイアログ ボックスを開きます。この関数は保存するデータセットのフル パスを返します。

  • {title} - ダイアログ ボックスのタイトル。
  • {name_text} - ダイアログ ボックスで名前のテキスト ボックスに表示されるデータセット名。
  • {starting_location} - データを保存する場所の起点のパス。

GPToolDialog(toolbox, tool_name)

ジオプロセシング ツール ダイアログ ボックスを開きます。

  • toolbox - ツールボックスの場所。
  • tool_name - ツール名。

MessageBox(message, title, {mb_type})

メッセージ ボックスを表示します。この関数は、押されたメッセージ ボタンを表す文字列値を返します。

  • message - 表示するメッセージ。
  • title - メッセージ ボックスのタイトル。
  • {mb_type} - 表示するメッセージ ボックスのタイプ。デフォルトのオプションは 0(OK のメッセージ)です。{mb_type} のコードについては、以下の表をご参照ください。

GetSelectedTOCLayerOrDataFrame()

コンテンツ ウィンドウで選択されているレイヤまたはデータ フレームを返します。

mb_type コード

メッセージ ボックスのタイプ

0

OK のみ

1

OK/キャンセル

2

停止/再試行/無視

3

はい/いいえ/キャンセル

4

はい/いいえ

5

再試行/キャンセル

6

キャンセル/再試行/継続

{mb_type} コード

次のアドイン ボタンは、OpenDialog() を使用してレイヤ ファイルのセットを選択し、各レイヤを選択したデータ フレームに追加します。

import arcpy
import pythonaddins

class AddLayers(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        layer_files = pythonaddins.OpenDialog('Select Layers', True, r'C:\GISData', 'Add')
        mxd = arcpy.mapping.MapDocument('current')
        df = pythonaddins.GetSelectedTOCLayerOrDataFrame()
        if not isinstance(df, arcpy.mapping.Layer):
            for layer_file in layer_files:
                layer = arcpy.mapping.Layer(layer_file)
                arcpy.mapping.AddLayer(df, layer)
        else:
            pythonaddins.MessageBox('Select a data frame', 'INFO', 0)

次のアドイン ボタンは、ジオプロセシング ツールを開きます。

import arcpy
import pythonaddins

class OpenGPTool(object):
    def __init__(self):
        self.enabled = True
        self.checked = False
    def onClick(self):
        pythonaddins.GPToolDialog(r'C:\MyTools\WaterStudy.tbx', 'GroundWaterYield')

9/14/2013