¼³¸í: ÀÌ È®ÀåÁ¡À» »ç¿ëÇÏ¿© ³õ±â ÀÛµ¿À» ´Ù¸¥ Ç÷¯±×Àο¡¼ Á¤ÀÇÇÑ º¸±â¿¡ Ãß°¡ÇÕ´Ï´Ù.
Ç÷¯±×ÀÎ ¸ÞÄ¿´ÏÁò¿¡ ÀÇÇØ ¹ß»ýÇÑ UI °èÃþÀ¸·Î ÀÎÇØ º¸±â¿¡¼´Â ´Ù¸¥ º¸±âÀÇ ÄÁÅÙÃ÷¿Í ¼Ó¼ºÀ» ÀνÄÇÏÁö ¸øÇÏ´Â °æ¿ì°¡ ¸¹½À´Ï´Ù. ÀÌ·± °æ¿ì Ç÷¯±×ÀÎ »çÀÌÀÇ ²ø¾î¼ ³õ±â ÀÛ¾÷ÀÌ ±î´Ù·Î¿ï ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, »ç¿ëÀÚ°¡ Java ÆíÁý±âÀÇ ÄÁÅÙÃ÷ ¾Æ¿ô¶óÀ̳ʿ¡¼ ¸Þ¼Òµå¸¦ ÀÚ¿ø Ž»ö±âÀÇ ´Ù¸¥ Java ÆÄÀÏ·Î ²ø ¼ö ÀÖ´Â Java ¸®ÆÑÅ丵 Áö¿øÀ» Á¦°øÇϰíÀÚ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¿ø Ž»ö±â¿¡¼´Â Java ÄÁÅÙÃ÷¿¡ ´ëÇØ ¾ËÁö ¸øÇϹǷΠJava ¸Þ¼Òµå°¡ ³õ¿©Áø °æ¿ì ÀÛµ¿ÇÏ´Â ¹æ¹ýÀ» ¸ð¸¨´Ï´Ù. ¸¶Âù°¡Áö·Î ISV¿¡¼ ÀÚ½ÅÀÇ ÄÁÅÙÃ÷ÀÇ ÀϺΠÇ׸ñÀ» Java Ç¥½Ã±â Áß Çϳª¿¡ ³õ±â ¿øÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·± »óȲÀ» ÇØ°áÇϱâ À§ÇØ Ç÷§Æû¿¡¼ org.eclipse.ui.dropActions È®ÀåÁ¡À» Á¦°øÇÕ´Ï´Ù. ÀÌ ¸ÞÄ¿´ÏÁò¿¡¼´Â ³õ±â ÀÛµ¿À» ²ø±â ÀÛ¾÷À» ½ÃÀÛÇÑ ´ë»ó¿¡°Ô ´Ù½Ã À§ÀÓÇÕ´Ï´Ù. ÀÌ ÀÛµ¿Àº org.eclipse.ui.part.IDropActionDelegate¸¦ ±¸ÇöÇØ¾ß ÇÏ´Â Á¶Ä¡¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ²ø±â ÀÛ¾÷ÀÇ ¼Ò½ºÀΠǥ½Ã±â¿¡¼ org.eclipse.ui.part.PluginTransfer Àü¼Û À¯ÇüÀ» Áö¿øÇØ¾ß Çϸç org.eclipse.ui.part.PluginTransferData ¿ÀºêÁ§Æ®¸¦ ²ø±â À̺¥Æ®¿¡ ¹èÄ¡ÇØ¾ß ÇÕ´Ï´Ù. ²ø±â Áö¿øÀ» Ç¥½Ã±â¿¡ Ãß°¡ÇÏ´Â ¹æ¹ýÀ» º¸·Á¸é org.eclipse.jface.viewers.StructuredViewer#addDragSupport¸¦ ÂüÁ¶ÇϽʽÿÀ.
±¸¼º ¸¶Å©¾÷:
<!ELEMENT dropContribution (action)*>
<!ELEMENT action*>
<!ATTLIST action
id
CDATA #REQUIRED
class CDATA #REQUIRED
>
¿¹:
´ÙÀ½Àº ³õ±â Á¶Ä¡ È®ÀåÀÇ ¿¹ÀÔ´Ï´Ù.
<extension point="org.eclipse.ui.dropActions">
<action>
id="my_drop_action"
class="com.xyz.eclipse.TestDropAction"
</action>
</extension>
´ÙÀ½Àº À§¿¡¼ Á¤ÀÇÇÑ ³õ±â Á¶Ä¡¸¦ »ç¿ëÇÏ´Â ²ø±â ¸®½º³ÊÀÇ ¿¹ÀÔ´Ï´Ù.
class MyDragListener extends DragSourceAdapter {
public void dragSetData(DragSourceEvent event)
{
if (PluginTransfer.getInstance().isSupportedType(event.dataType))
{
byte[] dataToSend = ...//enter the data to be sent.
event.data = new PluginTransferData(
"my_drop_action", dataToSend);
}
}
}
´õ ÀÚ¼¼ÇÑ ¿¹¸¦ º¸·Á¸é ReadmeDropActionDelegate¿¡ ³õ±â Á¶Ä¡°¡ Á¤Àǵǰí ReadmeContentOutlineDragListener¿¡¼ À̸¦ »ç¿ëÇÏ´Â Ç÷§Æû readme ¿¹¸¦ ÂüÁ¶ÇϽʽÿÀ.
API Á¤º¸: class ¼Ó¼º °ªÀº org.eclipse.ui.part.IDropActionDelegate¸¦ ±¸ÇöÇÏ´Â Java Ŭ·¡½ºÀÇ ¿ÏÀüÇÑ À̸§À̾î¾ß ÇÕ´Ï´Ù. ½ÇÁúÀûÀ¸·Î ÇÊ¿äÇϱâ Àü¿¡ Àüü Ç÷¯±×ÀÎÀÌ ·ÎµåµÇ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇØ °¡´ÉÇÑ ´Ê°Ô ÀÌ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.
±âº» Á¦°ø ±¸Çö: Workbench¿¡¼´Â ÀÌ È®ÀåÁ¡¿¡ ´ëÇÑ ±¸ÇöÀ» Á¦°øÇÏÁö ¾Ê½À´Ï´Ù. Ç÷¯±×ÀÎÀº ÀÌ È®ÀåÁ¡¿¡ ´Ù¸¥ Ç÷¯±×Àο¡¼ Á¤ÀÇÇÑ º¸±â¿¡ ³õ±â ÀÛµ¿À» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.