nsIDragService

by 2 contributors:

草案
このページは完成していません。


Please add a summary to this article.
  最終更新: Gecko 1.9 (Firefox 3)

継承元: 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);

定数

定数 説明
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 
 );
引数
<tt>aDOMNode</tt>
 
<tt>aTransferables</tt>
ドラッグされる移転可能なオブジェクトの配列。
<tt>aRegion</tt>
カーソルフィードバックの矩形を含む範囲。ウィンドウ座標で指定。
<tt>aActionType</tt>
コピー、移動、リンクのうち、いずれが可能かを指定。

invokeDragSessionWithImage()

画像を利用して、モーダルなドラッグセッションを開始します。最初 4 つの引数は invokeDragSession と同じです。

aImage 引数を使って独自の画像を指定することができます。画像が指定された場合、aImageXaImageY 引数で、その画像の中でカーソルが位置するオフセットを指定できます。つまり、画像が表示されたときに、指定された量だけ左上に画像がずらされて、画像内のその位置にカーソルが現れます。aImagenull の場合、aImageXaImageY は使われず、代わりにソースノードである 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
  );
引数
<tt>aImage</tt>
画像オブジェクト
<tt>aImageX</tt>
画像の X 座標
<tt>aImageY</tt>
画像の Y 座標
<tt>aDragEvent</tt>
 

invokeDragSessionWithSelection()

選択範囲をドラッグ画像として利用して、モーダルなドラッグセッションを開始します。画像の位置を計算するのに、イベントの現在の画面座標が必要となるため、aDragEvent は必ず指定する必要があります。

  void invokeDragSessionWithSelection(
     in nsISelection aSelection,
     in nsISupportsArray aTransferableArray,
     in unsigned long aActionType,
     in nsIDOMMouseEvent aDragEvent
  );
引数
<tt>aSelection</tt>
 
<tt>aTransferableArray</tt>
 
<tt>aActionType</tt>
コピー、移動、リンクのうち、いずれが可能かを指定。
<tt>aDragEvent</tt>
 

getCurrentSession()

現在のドラッグセッションを返します。

  nsIDragSession getCurrentSession ( ) ;

startDragSession()

ドラッグサービスにドラッグセッションを開始するよう伝えます。これは外部でドラッグが発生したときに呼び出されます。

  void startDragSession ( ) ;

endDragSession()

ドラッグサービスにドラッグセッションを終了するよう伝えます。これは外部でドラッグが発生したときに呼び出されます。

  void endDragSession ( 
     in PRBool aDoneDrag 
  ) ;
引数
<tt>aDoneDrag </tt>
aDoneDragtrue の場合、ドラッグはすでに終了しています。そうでない場合、ドラッグはウィンドウを離れたところです。この引数は Firefox 3 以前のバージョンには存在しません。

fireDragEventAtSource()

ドラッグのソースに対してドラッグイベントを発生させます。このメソッドは Firefox 3 以降で利用可能です。

  void fireDragEventAtSource ( 
     in unsigned long aMsg 
  );
引数
<tt>aMsg </tt>
 
 

ドキュメントのタグと貢献者

Contributors to this page: teoli, Kohei
最終更新者: teoli,