0

GNAT GPS IDE へのpython プラグインを実行しています。

Locations ウィンドウを使用してユーザーにメッセージを表示するため、エラーと同様にファイル行を強調表示します。私はGPS.Locations.parse()そのような情報を追加するために使用します.(ややあいまいな)ドキュメントはこちらです.

その後、ユーザーはコードまたは [場所] ウィンドウから行を選択して、アクションを実行できます。

開いたファイルから行を取得するのは簡単です。しかし、まだわからないことが 1 つあります。それは、ユーザーが [場所] ウィンドウからどの行を選択しているかを知る方法です。GPS.MDI.get("Locations")私は子供のウィンドウオブジェクトの迷路に私を導くことを試みました。迷子になりました。

では、Locations で現在選択されている行からテキストを取得するにはどうすればよいでしょうか?

編集

どうやら私が欲しいものを与えるMessageContextがありますが、ウィンドウにフォーカスがある場合でも、そのようなクラスがないというエラーメッセージが表示されます。したがって、クラスがインスタンス化されていないことがわかりました。

AttributeError: 'module' object has no attribute 'MessageContext'
4

1 に答える 1

0

今このスレだけ見ました。GPS.current_context() を呼び出す必要があります。これは、GPS.Context またはその子クラスの 1 つのインスタンスを返します。この場合、おそらく GPS.current_context().file() を使用できます

あなたが望むのは、[場所] ウィンドウのコンテキスト メニューにエントリを作成することのようです。gps_utils.interactive フックを見てください。Python 関数を GPS アクションにラップします。このアクションは、特定のコンテキスト メニュー、キーバインド、メニュー、ツールバー ボタンなどにバインドできます。フィルターを関連付けることもできます。これにより、アクションが適用されたときにコンテキスト メニューも表示されます (および実装するこのフィルターでは、上記の GPS.current_context().file() を使用します

于 2015-07-17T08:16:41.167 に答える