CommandSet クラス
ドメイン固有言語のメニューで使用できるコマンドのサブセットを表します。 これらのコマンドの処理方法を変更する YourLanguageCommandSet のメソッドをオーバーライドします。
この API は、CLS に準拠していません。
継承階層
System.Object
System.MarshalByRefObject
Microsoft.VisualStudio.Modeling.Shell.CommandSetLibrary
Microsoft.VisualStudio.Modeling.Shell.CommandSet
名前空間: Microsoft.VisualStudio.Modeling.Shell
アセンブリ: Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll 内)
構文
'宣言
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary
CommandSet 型で公開されるメンバーは以下のとおりです。
コンストラクター
名前 | 説明 | |
---|---|---|
CommandSet | CommandSet クラスの新しいインスタンスを初期化します。 |
このページのトップへ
プロパティ
名前 | 説明 | |
---|---|---|
CurrentDocData | (CommandSetLibrary から継承されます。) | |
CurrentDocumentSelection | (CommandSetLibrary から継承されます。) | |
CurrentDocView | アクティブなドキュメント ウィンドウのビューを取得します。 | |
CurrentModelingDocView | (CommandSetLibrary から継承されます。) | |
CurrentSelection | (CommandSetLibrary から継承されます。) | |
MenuService | (CommandSetLibrary から継承されます。) | |
MonitorSelection | (CommandSetLibrary から継承されます。) | |
ServiceProvider | (CommandSetLibrary から継承されます。) | |
SingleDocumentSelection | (CommandSetLibrary から継承されます。) | |
SingleSelection | (CommandSetLibrary から継承されます。) |
このページのトップへ
メソッド
名前 | 説明 | |
---|---|---|
CanDeleteSelectedItems | 選択した項目を削除できる場合は true を返します。 (CommandSetLibrary から継承されます。) | |
CreateObjRef | セキュリティ クリティカル。リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (MarshalByRefObject から継承されます。) | |
DeleteSelectedItems | 選択した項目を削除します。 (CommandSetLibrary から継承されます。) | |
Equals | 指定のオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。) | |
Finalize | オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
GetHashCode | 既定のハッシュ関数として機能します。 (Object から継承されます。) | |
GetLifetimeService | セキュリティ クリティカル。対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。) | |
GetMenuCommands | コマンドをショートカット メニューに表示します。 (CommandSetLibrary.GetMenuCommands() をオーバーライドします。) | |
GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) | |
Initialize | コマンド セットを初期化します。GetMenuCommands を呼び出して結果をキャッシュします。 (CommandSetLibrary から継承されます。) | |
InitializeLifetimeService | セキュリティ クリティカル。対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。) | |
IsAnyDocumentSelectionCompartment | 選択リストのいずれかの項目がコンパートメントである場合は true。 (CommandSetLibrary から継承されます。) | |
IsAnyDocumentSelectionMoveableHostShape | 選択リストのいずれかの項目が、削除できない移動可能なホスト図形である場合は true。 (CommandSetLibrary から継承されます。) | |
IsAnyDocumentSelectionUndeletable | 選択リストの図形項目のいずれかが削除できない場合は true。 (CommandSetLibrary から継承されます。) | |
IsCurrentDiagramEmpty | 図に子がない場合は true。 (CommandSetLibrary から継承されます。) | |
IsDiagramSelected | 図が選択される場合は true。 (CommandSetLibrary から継承されます。) | |
IsExpandableShape | ユーザーが図形を展開して、ドメイン プロパティを表示できるかどうかを確認します。 | |
IsSingleDocumentSelection | アクティブなドキュメントで選択されている項目が 1 つしかない場合は True。 (CommandSetLibrary から継承されます。) | |
IsSingleSelection | アクティブなドキュメント ウィンドウまたはツール ウィンドウで選択されている項目が 1 つしかない場合は True。 (CommandSetLibrary から継承されます。) | |
MemberwiseClone() | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) | |
MemberwiseClone(Boolean) | 現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。 (MarshalByRefObject から継承されます。) | |
ProcessOnMenuDeleteCommand | ユーザーが [削除] コマンドをクリックするか、Del キーを押すと呼び出されます。項目を削除します。この動作を変更するには、このメソッドをオーバーライドします。 | |
ProcessOnMenuEditCompartmentItemCommand | ユーザーがコンパートメント図形の項目で [編集] メニュー コマンドをクリックすると呼び出されます。テキスト編集状態に移行します。この動作を変更するには、このメソッドをオーバーライドします。 | |
ProcessOnMenuExpandCollapseCommand | ユーザーが図形に割り当てられているプロパティの一覧の展開または折りたたみを行うときに呼び出されます。 | |
ProcessOnMenuPageSetupCommand | ページ設定ダイアログ ボックスを開きます。この動作を変更するには、このメソッドをオーバーライドします。 | |
ProcessOnMenuPrintCommand | [印刷] ダイアログ ボックスを開きます。この動作を変更するには、このメソッドをオーバーライドします。 | |
ProcessOnMenuPrintPreviewCommand | 印刷プレビュー ウィンドウを開きます。この動作を変更するには、このメソッドをオーバーライドします。 | |
ProcessOnMenuRerouteLineCommand | 2 つの図形間のコネクタの既定の位置を復元します。この動作を変更するには、このメソッドをオーバーライドします。 | |
ProcessOnMenuResetDecoratorLocationCommand | [デコレーターの場所のリセット] メニュー コマンドを処理するには、このメソッドをオーバーライドします。 | |
ProcessOnMenuResetDecoratorSizeCommand | [デコレーターのサイズのリセット] メニュー コマンドを処理するには、このメソッドをオーバーライドします。 | |
ProcessOnMenuSelectAllCommand | ユーザーが [編集] メニューの [すべて選択] コマンドをクリックすると、または Ctrl キーを押しながら A キーを押すと呼び出されます。図のすべての図形を選択します。この動作を変更するには、そのメソッドをオーバーライドします。 | |
ProcessOnStatusDeleteCommand | [削除] コマンドをコンテキスト メニューに表示するかどうかを決定します。ユーザーが図を右クリックしたときに呼び出されます。 | |
ProcessOnStatusEditCompartmentItemCommand | [編集] コマンドをコンテキスト メニューに表示するかどうかを決定します。 | |
ProcessOnStatusExpandCollapseCommand | [展開] コマンドまたは [折りたたみ] コマンドをコンテキスト メニューに表示するかどうかを決定します。ユーザーが図を右クリックしたときに呼び出されます。 | |
ProcessOnStatusPageSetupCommand | [ページ設定] コマンドを [ファイル] メニューに表示するかどうかを決定します。ダイアグラムがアクティブな場合にユーザーが [ファイル] メニューをクリックすると呼び出されます。 | |
ProcessOnStatusPrintCommand | [印刷] コマンドを [ファイル] メニューに表示するかどうかを決定します。ダイアグラムがアクティブな場合にユーザーが [ファイル] メニューをクリックすると呼び出されます。 | |
ProcessOnStatusPrintPreviewCommand | [印刷プレビュー] コマンドを [ファイル] メニューに表示するかどうかを決定します。ダイアグラムがアクティブな場合にユーザーが [ファイル] メニューをクリックすると呼び出されます。 | |
ProcessOnStatusRerouteLineCommand | [再接続] コマンドをコンテキスト メニューに表示するかどうかを決定します。ユーザーが図を右クリックしたときに呼び出されます。 | |
ProcessOnStatusResetDecoratorLocationCommand | [デコレータの位置のリセット] コマンドをコンテキスト メニューに表示するかどうかを決定します。ユーザーが図を右クリックしたときに呼び出されます。 | |
ProcessOnStatusResetDecoratorSizeCommand | [デコレータのサイズのリセット] コマンドをコンテキスト メニューに表示するかどうかを決定します。ユーザーが図を右クリックしたときに呼び出されます。 | |
ProcessOnStatusSelectAllCommand | [すべて選択] コマンドを [ファイル] メニューに表示するかどうかを決定します。ダイアグラムがアクティブな場合にユーザーが [編集] メニューをクリックすると呼び出されます。 | |
ToString | 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。) |
このページのトップへ
解説
DSL を持つメニュー コマンドにどのように応答するかを変更できます。 変更できるコマンドがショートカット メニュー コマンド、およびファイルの一部のコマンドが含まれ、メニューの編集をクリックします。
DslPackage のプロジェクトでは、生成されたファイルは、部分クラスの宣言を含む CommandSet.cs と呼ばれる <YourLanguageName>CommandSet 検索します。標準メニュー コマンドの動作を変更するには、同じクラスの部分定義を含む別のファイルを追加します。
このクラスでは、基本クラスで定義されているメソッドをオーバーライドできます。
注意
新しいファイルの名前空間が生成された CommandSet.cs の名前空間と同じであることを確認します。新しいファイルにクラス宣言内の「オーバーライド」を入力すると、オーバーライドできるメソッドのリストを参照する必要があります。
各コマンドに ProcessOnStatus…メソッドと ProcessOnMenu…メソッドがあります。 ProcessOnStatus…メソッドは、コマンドが右クリック メニューに表示するかどうかを判定します。 コマンドが表示され、メニュー項目を有効にするか、灰色かどうかを判断するために固有のプロパティを設定するようにコマンド ライン パラメーターのプロパティを表示するかどうかを設定します。
ProcessOnMenu…メソッドは、ユーザーがメニュー項目をクリックすると、コマンドを実行します。
注意
Commands.vsct ファイルの追加コマンドを定義できます。
詳細については、「方法: ショートカット メニューにコマンドを追加する」を参照してください。
例
このファイルは DslPackage のプロジェクトに追加されます。 これは、DSL のユーザーが複数の要素を一度に削除することはできません。
// In the DslPackage project.
namespace Company.Language1 // Check this is correct after creating the file.
{
internal partial class Language1CommandSet // Same class as the generated class.
{
/// <summary>
/// Called when user right-clicks on the diagram or clicks the Edit menu.
/// </summary>
/// <param name="command"></param>
protected override void ProcessOnStatusDeleteCommand(System.ComponentModel.Design.MenuCommand command)
{
if (this.CurrentSelection.Count > 1)
{
// If user has selected more than one item, Delete is greyed out.
command.Enabled = false;
}
else
{
// Otherwise, default behavior.
base.ProcessOnStatusDeleteCommand(command);
}
}
/// <summary>
/// Called when user presses Delete key or clicks the Delete command on a menu.
/// </summary>
protected override void ProcessOnMenuDeleteCommand()
{
// Allow users to delete only one thing at a time.
if (this.CurrentSelection.Count <= 1)
{
base.ProcessOnMenuDeleteCommand();
}
}
}
}
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
参照
関連項目
Microsoft.VisualStudio.Modeling.Shell 名前空間