nsIDragService
出典: MDC
目次 |
nsIDragService は widget/public/nsIDragService.idl で定義されています。これは scriptable で
非凍結です。 (Mozilla1.9から更新されていません)
継承元: nsISupports
[編集] メソッドの概要
void invokeDragSession(in nsIDOMNode aDOMNode, in nsISupportsArray aTransferables, in nsIScriptableRegion aRegion, in unsigned long aActionType);
|
void invokeDragSessionWithImage(in nsIDOMNode aDOMNode, in nsISupportsArray aTransferableArray, in nsIScriptableRegion aRegion, in unsigned long aActionType,in nsIDOMNode aImage, in long aImageX, in long aImageY, in nsIDOMMouseEvent aDragEvent);
|
void invokeDragSessionWithSelection(in nsISelection aSelection, in nsISupportsArray aTransferableArray, in unsigned long aActionType, in nsIDOMMouseEvent aDragEvent);
|
nsIDragSession getCurrentSession();
|
voidstartDragSession();
|
void endDragSession(in PRBool aDoneDrag);
|
void fireDragEventAtSource(in unsigned long aMsg); Firefox 3 の新機能
|
[編集] 定数
| 定数 | 値 | 説明 |
DRAGDROP_ACTION_NONE
| 0 | LONG データ形式。
|
DRAGDROP_ACTION_COPY
| 1 | LONG データ形式。
|
DRAGDROP_ACTION_MOVE
| 2 | LONG データ形式。
|
DRAGDROP_ACTION_LINK
| 3 | LONG データ形式。
|
[編集] メソッド
[編集] invokeDragSession()
移転可能なオブジェクトの配列を伴った、モーダルなドラッグセッションを開始します。
void invokeDragSession ( in nsIDOMNode aDOMNode, in nsISupportsArray aTransferables, in nsIScriptableRegion aRegion, in unsigned long aActionType );
[編集] 引数
- aDOMNode
- aTransferables
- ドラッグされる移転可能なオブジェクトの配列。
- aRegion
- カーソルフィードバックの矩形を含む範囲。ウィンドウ座標で指定。
- aActionType
- コピー、移動、リンクのうち、いずれが可能かを指定。
[編集] invokeDragSessionWithImage()
画像を利用して、モーダルなドラッグセッションを開始します。最初 4 つの引数は invokeDragSession と同じです。
aImage 引数を使って独自の画像を指定することができます。画像が指定された場合、aImageX と aImageY 引数で、その画像の中でカーソルが位置するオフセットを指定できます。つまり、画像が表示されたときに、指定された量だけ左上に画像がずらされて、画像内のその位置にカーソルが現れます。aImage が null の場合、aImageX と aImageY は使われず、代わりにソースノードである aDOMNode から画像が判別され、オフセットは自動計算されます。このため、画像の初期位置は、要素が位置するのと同じ画面上の位置になります。ノードはドキュメント内になくてはなりません。
今のところ、サポートされている画像はすべて DOM ノードです。これが HTML <image> あるいは <canvas> 要素の場合、ドラッグに付随する画像はその画像データから取得されます。要素がドキュメント上にある場合は、画像は表示されているサイズで表示されます。ドキュメント上にない場合は、実際のサイズで表示されます。他の種類の要素については、現在表示されているのと同じ方法で、画面外のバッファとして表示されます。ドキュメント上の選択範囲はドラッグ中非表示となります。画像の位置を計算するのに、イベントの現在の画面座標が必要となるため、aDragEvent は必ず指定する必要があります。
void invokeDragSessionWithImage(in nsIDOMNode aDOMNode,
in nsISupportsArray aTransferableArray,
in nsIScriptableRegion aRegion,
in unsigned long aActionType,
in nsIDOMNode aImage,
in long aImageX,
in long aImageY,
in nsIDOMMouseEvent aDragEvent
);
[編集] 引数
- aImage
- 画像オブジェクト
- aImageX
- 画像の X 座標
- aImageY
- 画像の Y 座標
- aDragEvent
[編集] invokeDragSessionWithSelection()
選択範囲をドラッグ画像として利用して、モーダルなドラッグセッションを開始します。画像の位置を計算するのに、イベントの現在の画面座標が必要となるため、aDragEvent は必ず指定する必要があります。
void invokeDragSessionWithSelection(
in nsISelection aSelection,
in nsISupportsArray aTransferableArray,
in unsigned long aActionType,
in nsIDOMMouseEvent aDragEvent
);
[編集] 引数
- aSelection
- aTransferableArray
- aActionType
- コピー、移動、リンクのうち、いずれが可能かを指定。
- aDragEvent
[編集] getCurrentSession()
現在のドラッグセッションを返します。
nsIDragSession getCurrentSession ( ) ;
[編集] startDragSession()
ドラッグサービスにドラッグセッションを開始するよう伝えます。これは外部でドラッグが発生したときに呼び出されます。
void startDragSession ( ) ;
[編集] endDragSession()
ドラッグサービスにドラッグセッションを終了するよう伝えます。これは外部でドラッグが発生したときに呼び出されます。
void endDragSession (
in PRBool aDoneDrag Firefox 3 の新機能
) ;
[編集] 引数
- aDoneDrag Firefox 3 の新機能
aDoneDragがtrueの場合、ドラッグはすでに終了しています。そうでない場合、ドラッグはウィンドウを離れたところです。この引数は Firefox 3 以前のバージョンには存在しません。
[編集] fireDragEventAtSource()
ドラッグのソースに対してドラッグイベントを発生させます。このメソッドは Firefox 3 以降で利用可能です。
void fireDragEventAtSource ( Firefox 3 の新機能
in unsigned long aMsg
);
[編集] 引数
- aMsg