°øÅë Ç¥½Ã±â ±¸¼º

org.eclipse.ui.navigator.viewer

3.2

viewer ¿ä¼Ò´Â °øÅë Ç¥½Ã±â¿¡ ´ëÇÑ ±¸¼ºÀ» Á¤ÀÇÇÕ´Ï´Ù. È®ÀåÀº »ç¿ëÀÚ Á¤ÀÇ ÆË¾÷ ¸Þ´º ID¸¦ Á¦°øÇϰí, Ç¥½Ã±â°¡ ¸µÅ©¿¡ ÆíÁý±â Áö¿øÀ» Á¦°øÇÒÁö ¿©ºÎ¸¦ ´ëüÇϰí, ÇÊÅÍ ´ëÈ­ »óÀÚ¸¦ Á¦°øÇϰí, "»ç¿ë °¡´ÉÇÑ »ç¿ëÀÚ Á¤ÀÇ" ´ëÈ­ »óÀÚ¸¦ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ÁßøµÈ ±¸¼º ¿ä¼Ò´Â ÆË¾÷ ÄÁÅØ½ºÆ® ¸Þ´ºÀÇ ±¸Á¶ ¹× µ¿ÀÛÀ» ¿ÏÀüÇÏ°Ô Á¦¾îÇÕ´Ï´Ù.

viewerContentBindingÀº Á¤ÀÇµÈ ÄÁÅÙÃ÷ È®Àå(navigatorContent È®ÀåÁ¡À» ÅëÇØ)À» Ç¥½Ã±â(org.eclipse.ui.views È®ÀåÁ¡À» ÅëÇØ Á¤ÀǵÊ)¿¡ ¹ÙÀεåÇÕ´Ï´Ù. Ç¥½Ã±â¿¡ ¹ÙÀεåµÈ ¸ðµç ÄÁÅÙÃ÷ È®ÀåÀº Ç¥½Ã·Î ¼³¸íµË´Ï´Ù. ÄÁÅÙÃ÷ ¼­ºñ½º(org.eclipse.ui.navigator.INavigatorContentService)´Â ÇØ´ç Ç¥½Ã±â ID¿¡ Ç¥½ÃµÇÁö ¾Ê´Â È®ÀåÀ» ¸®ÅÏÇÏÁö ¾Ê½À´Ï´Ù.

<!ELEMENT extension (viewer* , viewerContentBinding* , viewerActionBinding* , dragAssistant)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT viewer (popupMenu? , options?)>

<!ATTLIST viewer

viewerId    CDATA #REQUIRED

popupMenuId CDATA #IMPLIED>

Ç¥½Ã±âÀÇ Æ¯¼ºÀ» ¼³Á¤ÇÏ´Â ±âº» ±¸¼ºÀ» Á¦°øÇÕ´Ï´Ù. º¸±â ÆÄÆ®¸¦ ÀÛ¼ºÇÏ·Á¸é Ŭ¶óÀÌ¾ðÆ®´Â org.eclipse.ui.views È®Àåµµ Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù.



<!ELEMENT viewerContentBinding (includes? , excludes?)>

<!ATTLIST viewerContentBinding

viewerId CDATA #REQUIRED>

Ç¥½Ã±â¿¡ Ç¥½ÃµÇ´Â ÄÁÅÙÃ÷ È®Àå ¹× °øÅë ÇÊÅ͸¦ ¼³¸íÇÏ·Á¸é Ŭ¶óÀÌ¾ðÆ®´Â Çϳª ÀÌ»óÀÇ viwerContentBinding ¿ä¼Ò¸¦ Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. ÄÁÅÙÃ÷ È®Àå ¶Ç´Â °øÅë ÇÊÅÍÀÇ ID°¡ viewerContentBinding ¾Æ·¡ÀÇ includes ¹®°ú ÀÏÄ¡Ç쵂 excludes ¹®¿¡¼­ Á¦¿ÜÇÏÁö ¾ÊÀº °æ¿ì¿¡ ÄÁÅÙÃ÷ È®Àå ¶Ç´Â °øÅë ÇÊÅͰ¡ Ç¥½ÃµË´Ï´Ù. ÄÁÅÙÃ÷ È®Àå ¶Ç´Â °øÅë ÇÊÅͰ¡ Ç¥½Ã±â¿¡ Ç¥½ÃµÇÁö ¾ÊÀ¸¸é ÇØ´ç Ç¥½Ã±âÀÇ ÄÁÅÙÃ÷ ¼­ºñ½º¿¡¼­ È®Àå¿¡ ÄÁÅÙÃ÷¸¦ ¿ä±¸ÇÏÁö ¾Ê°Å³ª »ç¿ë °¡´ÉÇÑ ÇÊÅÍ ´ëÈ­ »óÀÚ¿¡¼­ »ç¿ëÀÚ¿¡°Ô È®ÀåÀÌ Á¦°øµÇÁö ¾Ê½À´Ï´Ù.

Ŭ¶óÀÌ¾ðÆ®´Â Ç¥½Ã±â¿¡ Ç¥½ÃµÇ´Â È®ÀåÀ» ¼±ÅÃÇϱâ À§ÇØ includes ¿ä¼Ò¸¦ Á¤ÀÇÇϰí, ¸¶Âù°¡Áö·Î Ç¥½Ã±â¿¡ Ç¥½ÃÇÏÁö ¾ÊÀ» È®Àå¿¡ ´ëÇÑ excludes ¿ä¼Ò¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â "isRoot" ¼Ó¼ºÀ¸·Î ¸í½ÃÀûÀ¸·Î ·çÆ® ¿ä¼Ò¸¦ Á¶È¸ÇØ¾ß ÇÏ´Â È®ÀåÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù(ITreeContentProvider.getElements()¸¦ ÅëÇØ). includes ¹®¿¡¼­ "isRoot"°¡ true·Î ¼³Á¤µÈ contentExtension ¿ä¼Ò°¡ Çϳª ÀÌ»ó ÀÖ´Â °æ¿ì¿¡¸¸ ÀÌ·¯ÇÑ È®ÀåÀÌ ·çÆ® ¿ä¼Ò¸¦ Á¶È¸ÇÕ´Ï´Ù. "isRoot" ¼Ó¼ºÀº Á¦¿Ü¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.

Ç¥½Ã±â¿¡ ¿©·¯ viewerContentBindings°¡ Á¤ÀǵǾî ÀÖ´Â °æ¿ì ÃÖÁ¾ µ¿ÀÛÀ» »ý¼ºÇϱâ À§ÇØ includes/excludes ¹®ÀÌ Áý°èµË´Ï´Ù.



<!ELEMENT viewerActionBinding (includes? , excludes?)>

<!ATTLIST viewerActionBinding

viewerId CDATA #REQUIRED>

Ŭ¶óÀÌ¾ðÆ®´Â Ç¥½Ã±â¿¡ Ç¥½ÃµÇ´Â Á¶Ä¡ Á¦°øÀÚ¸¦ Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â Ç¥½Ã±â¿¡ Ç¥½ÃµÇ´Â È®ÀåÀ» ¼±ÅÃÇϱâ À§ÇØ includes ¿ä¼Ò¸¦ Á¤ÀÇÇϰí, ¸¶Âù°¡Áö·Î Ç¥½Ã±â¿¡ Ç¥½ÃÇÏÁö ¾ÊÀ» È®Àå¿¡ ´ëÇÑ excludes ¿ä¼Ò¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ç¥½Ã±â¿¡ ¿©·¯ viewerActionBindingÀÌ Á¤ÀǵǾî ÀÖ´Â °æ¿ì ÃÖÁ¾ µ¿ÀÛÀ» »ý¼ºÇϱâ À§ÇØ includes/excludes ¹®ÀÌ Áý°èµË´Ï´Ù.

navigatorContent Á¤ÀÇ ¾Æ·¡ ÁßøµÇÁö ¾ÊÀº actionProvider Á¤ÀÇÀÇ °æ¿ì Ŭ¶óÀÌ¾ðÆ®´Â »ç¿ëÀÚ Á¤ÀÇ ID¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ ID¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀº °æ¿ì ID ±âº»°ªÀº "org.eclipse.ui.navigator.actionProvider.X"ÀÔ´Ï´Ù. ƯÁ¤ ID ¾øÀÌ actionProvider¸¦ ¼±ÅÃÇÏ·Á´Â Ŭ¶óÀÌ¾ðÆ®´Â ±âº» ID·Î viewerActionBindingÀ» Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. À̸¦ ¼öÇàÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¿¹Á¦ ¼½¼ÇÀ» ÂüÁ¶ÇϽʽÿÀ.



<!ELEMENT includes ((contentExtension+) | (actionExtension+))>

"viewerId" ¼Ó¼º°ú ÀÏÄ¡Çϴ ǥ½Ã±âÀÇ ÄÁÅÙÃ÷ È®ÀåÀ» ãÀ» ¶§ Æ÷ÇÔÇØ¾ß ÇÒ ÆÐÅÏ ¼¼Æ®¸¦ Á¤ÀÇÇÕ´Ï´Ù. includes ¹® ¹× excludes ¹®ÀÌ ±³Â÷ÇÏ´Â °æ¿ì includes ¹®ÀÌ ¿ì¼±ÇÕ´Ï´Ù.



<!ELEMENT excludes ((contentExtension+) | (actionExtension+))>

"viewerId" ¼Ó¼º°ú ÀÏÄ¡Çϴ ǥ½Ã±âÀÇ ÄÁÅÙÃ÷ È®ÀåÀ» ãÀ» ¶§ Á¦¿ÜÇØ¾ß ÇÒ ÆÐÅÏ ¼¼Æ®¸¦ Á¤ÀÇÇÕ´Ï´Ù. includes ¹® ¹× excludes ¹®ÀÌ ±³Â÷ÇÏ´Â °æ¿ì includes ¹®ÀÌ ¿ì¼±ÇÕ´Ï´Ù.



<!ELEMENT contentExtension EMPTY>

<!ATTLIST contentExtension

pattern CDATA #REQUIRED

isRoot  (true | false) >

ITreeContentProvider.getElements() ¶Ç´Â ITreeContentProvider.getChildren()À¸·Î "»ç¿ë °¡´ÉÇÑ ÇÊÅÍ" ´ëÈ­ »óÀÚ¿¡¼­ »ç¿ëÀÚ°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °øÅë ÇÊÅÍ ¶Ç´Â Ç¥½Ã±â ·çÆ®¸¦ Á¶È¸ÇØ¾ß ÇÏ´Â ÄÁÅÙÃ÷ È®ÀåÀÇ ID(¶Ç´Â ÀÏÄ¡ÇÏ´Â ÆÐÅÏ)¸¦ Ç¥½ÃÇÕ´Ï´Ù.

Ŭ¶óÀÌ¾ðÆ®´Â "isRoot"¸¦ ÁöÁ¤ÇÏ¿© Ç¥½Ã±â ÀÔ·Â ¿ä¼Ò¿¡ ´ëÇØ »ç¿ë »óÅÂÀÎ È®ÀåÀ» ´ëüÇÒ Æ¯Á¤ ·çÆ® È®ÀåÀ» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù(Ç¥½Ã±â ÀÔ·Â ¿ä¼Ò¿¡ ´ëÇØ ÀÏÄ¡ÇÏ´Â triggerPoints Ç¥Çö½Ä ±âÁØ).

ÀÚ¼¼ÇÑ Á¤º¸´Â viewerContentBinding ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.



<!ELEMENT actionExtension EMPTY>

<!ATTLIST actionExtension

pattern CDATA #REQUIRED>

Á¶Ä¡ È®ÀåÀÌ ÄÁÅØ½ºÆ® ¸Þ´º ¹× Á¶Ä¡ Ç¥½ÃÁÙ¿¡ ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ÀÖ¾î¾ß ÇÔÀ» Ç¥½ÃÇÕ´Ï´Ù.

ÀÚ¼¼ÇÑ Á¤º¸´Â viewerActionBinding ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.



<!ELEMENT popupMenu (insertionPoint*)>

<!ATTLIST popupMenu

id                          CDATA #IMPLIED

allowsPlatformContributions (true | false) >

popupMenu ¿ä¼Ò´Â viewer ¿ä¼ÒÀÇ "popupMenuId" ¼Ó¼ºÀÌ ÁöÁ¤µÇÁö ¾ÊÀº °æ¿ì¿¡¸¸ Á¤ÀÇµÉ ¼ö ÀÖ½À´Ï´Ù.

popupMenu ¿ä¼Ò¸¦ »ç¿ëÇϸé Ç¥½Ã±â¿Í ¿¬°üµÈ ÄÁÅØ½ºÆ® ¸Þ´º¸¦ ¼¼ºÎÀûÀ¸·Î »ç¿ëÀÚ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿É¼ÇÀ» ¿Ã¹Ù¸£°Ô Àû¿ëÇÏ·Á¸é ÀÏ¹Ý org.eclipse.ui.ActionGroupó·³ µ¿ÀÛÇÏ´Â org.eclipse.ui.navigator.NavigatorActionService¿¡ Ç¥½Ã±â ÀνºÅϽº¸¦ À§ÀÓÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ±â´ÉÀÇ »ç¿ë¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â ÀÌ API Ŭ·¡½º °ü·Ã ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ. org.eclipse.ui.navigator.CommonNavigator ÀνºÅϽº¸¦ »ç¿ëÇϴ Ŭ¶óÀ̾ðÆ®ÀÇ °æ¿ì Ãß°¡ ÀÛ¾÷À» ¼öÇàÇÒ Çʿ䰡 ¾ø½À´Ï´Ù.

popupMenu´Â ÄÁÆ®¸®ºäÅͰ¡ ÄÁÆ®¸®ºä¼ÇÀ» ÀÇ¹Ì ÀÖ°í Àϰü¼º ÀÖÀ¸¸ç »ç¿ëÀÚ¿¡°Ô Ä£¼÷ÇÑ ¸ñ·ÏÀ¸·Î ±¸¼ºÇÏ´Â µ¥ »ç¿ëÇÏ´Â Çϳª ÀÌ»óÀÇ insertionPoints¸¦ ¼±¾ðÇÕ´Ï´Ù.
Ŭ¶óÀÌ¾ðÆ®°¡ viewer ¿ä¼ÒÀÇ "popupMenuId" ¼Ó¼º¸¸ ÁöÁ¤ÇÏ´Â °æ¿ì ÄÁÅØ½ºÆ® ¸Þ´º¿¡ »ç¿ëµÇ´Â insertionPoints ¼¼Æ®ÀÇ ±âº»°ªÀº ÁöÁ¤µÈ ¼ø¼­´ë·Î ´ÙÀ½ ¸ñ·ÏÀ¸·Î ÁöÁ¤µË´Ï´Ù.

"group.new"             separator="true"
"group.goto"            
"group.open"            separator="true"
"group.openWith"
"group.show"            separator="true"
"group.edit"            separator="true"
"group.reorganize"
"group.port"
"group.generate"        separator="true"
"group.search"          separator="true"
"group.build"           separator="true"
"additions"             separator="true" 
"group.properties"      separator="true"


ÀÌ·¯ÇÑ °ªÀ» ÇÁ·Î±×·¥ ¹æ½ÄÀ¸·Î ÂüÁ¶ÇÏ·Á´Â Ŭ¶óÀÌ¾ðÆ®´Â org.eclipse.ui.navigator.ICommonMenuConstants¿¡¼­ ÇØ´ç »ó¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÇØ´ç ¸Þ´º¸¦ »ç¿ëÀÚ Á¤ÀÇÇÏ·Á´Â Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ ¸ñ·ÏÀ¸·Î ½ÃÀÛÇÏ¿© Çʿ信 µû¶ó »ðÀÔÁ¡À» Ãß°¡ ¶Ç´Â Á¦°ÅÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ¶ÇÇÑ °¢ ±×·ì À̸§Àº "group"À¸·Î ½ÃÀÛÇÏ´Â ÆÐÅÏÀ» µû¸£´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

popupMenu ¿ä¼Ò¸¦ ÁöÁ¤ÇßÁö¸¸ ±× ¾È¿¡ insertionPoint ÇÏÀ§ ¿ä¼Ò°¡ ¾ø´Â °æ¿ì ÄÁÅØ½ºÆ® ¸Þ´º¿¡´Â °ø°³µÈ »ðÀÔÁ¡ÀÌ ¾ø½À´Ï´Ù. ÇÁ·Î±×·¥ ¹æ½ÄÀÇ Å¬¶óÀÌ¾ðÆ®´Â Çʿ信 µû¶ó »ðÀÔÁ¡À» Ãß°¡ÇÏ´Â µ¥ Á¦ÇÑÀ» ¹ÞÁö ¾Ê½À´Ï´Ù. Ç¥½Ã±â¸¦ Á¤ÀÇÇϴ Ŭ¶óÀÌ¾ðÆ®´Â Ç¥½Ã±â/³×ºñ°ÔÀÌÅÍ¿¡ ´ëÇÑ ´Ù¿î½ºÆ®¸² È®ÀåÀ» À§ÇÑ ¹®¼­È­ ¹× ¼Õ½¬¿î ±¸º°À» À§ÇØ »ðÀÔÁ¡À» °ø°³Çϰųª ³»ºÎ »ðÀÔÁ¡°ú API·Î °£ÁÖÇÒ »ðÀÔÁ¡À» ¸í½ÃÀûÀ¸·Î ¹®¼­È­ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.



<!ELEMENT insertionPoint EMPTY>

<!ATTLIST insertionPoint

name      CDATA #REQUIRED

separator (true | false) >

ÄÁÅØ½ºÆ® ¸Þ´ºÀÇ »ðÀÔÁ¡À» Á¤ÀÇÇÕ´Ï´Ù. »ðÀÔÁ¡À» ºÐ¸® ¹®ÀÚ ¶Ç´Â ±×·ì ¸¶Ä¿·Î ·»´õ¸µÇØ¾ß ÇÏ´ÂÁö ¿©ºÎ ¹× Ŭ¶óÀÌ¾ðÆ®°¡ ÂüÁ¶ÇÒ ÁöÁ¡ À̸§À» Æ÷ÇÔÇÕ´Ï´Ù.



<!ELEMENT options (property+)>

»ç¿ëÀÚ¿¡°Ô Á¦°øµÇ´Â ¹æ¹ýÀ» »ç¿ëÀÚ Á¤ÀÇÇϴ ǥ½Ã±â ¿É¼ÇÀ» Á¦°øÇÕ´Ï´Ù. »ç¿ë °¡´ÉÇÑ Æ¯¼º¿¡ ´ëÇØ¼­´Â org.eclipse.ui.navigator.INavigatorViewerDescriptor¸¦ ÂüÁ¶ÇϽʽÿÀ.



<!ELEMENT property EMPTY>

<!ATTLIST property

name  CDATA #REQUIRED

value CDATA #REQUIRED>

À̸§=°ª ½ÖÀ» Á¦°øÇϽʽÿÀ. °ªÀº ÀÖ´Â ±×´ë·Î Ç¥½Ã±â¿¡ Á¦°øµË´Ï´Ù(ºó ¹®ÀÚ¿­Àº ºó ¹®ÀÚ¿­·Î ÀüÆÄµÊ). »ç¿ë °¡´ÉÇÑ Æ¯¼º ¹× ¼³¸í¿¡ ´ëÇØ¼­´Â org.eclipse.ui.navigator.INavigatorViewerDescriptor¸¦ ÂüÁ¶ÇϽʽÿÀ.



<!ELEMENT dragAssistant EMPTY>

<!ATTLIST dragAssistant

class    CDATA #REQUIRED

viewerId CDATA #REQUIRED>

²ø¾î¼­ ³õ±â Áö¿øÀº ²ø±â µ¥ÀÌÅ͸¦ ¼³Á¤Çϱâ À§ÇØ Ãß°¡ Àü¼Û À¯Çü ¹× ·ÎÁ÷À» Á¦°øÇϱâ À§ÇÑ °£´ÜÇÑ ÈÄÅ©¸¦ Á¦°øÇÕ´Ï´Ù. ±âº» org.eclipse.ui.navigator.CommonViewer°¡ org.eclipse.jface.util.LocalSelectionTransfer À¯ÇüÀ» Á¦°øÇÏ´Â °æ¿ì ÀÌ ¿ä¼Ò´Â ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.

Ŭ¶óÀÌ¾ðÆ®´Â °£´ÜÇÑ Á¾¼Ó¼º Æ®¸®¸¦ °¡Áø °£´ÜÇÑ Ç÷¯±×Àο¡¼­¸¸ ÀÌ È®ÀåÀ» Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. Ç¥½Ã±â¸¦ ÀÛ¼ºÇÒ ¶§ ²ø±â Áö¿øÀ» ¸ÕÀú ·ÎµåÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ¿µÇâÀ» ¹Þ´Â Ç÷¯±×ÀÎÀÌ °­Á¦ ·ÎµåµË´Ï´Ù.



´ÙÀ½ ¿¹Á¦¿¡¼­´Â Ç¥½Ã±âÀÇ ÆË¾÷ ¸Þ´º ID¸¦ ±¸¼ºÇÕ´Ï´Ù.


   

<extension point=

"org.eclipse.ui.navigator.viewer"

>

<viewer id=

"org.eclipse.testViewer"

popupMenuId=

"org.eclipse.testViewer#PopupMenu"

/>

</extension>

Ç¥½Ã±âÀÇ popupMenu ÇÏÀ§ ¿ä¼Ò°¡ À§ÀÇ ¿¹Á¦¿¡¼­ »ç¿ëµÇÁö ¾Ê¾ÒÀ¸¹Ç·Î ±âº» insertionPoints ¼¼Æ®°¡ »ç¿ëµË´Ï´Ù. ÀÌ ¼¼Æ®´Â ´ÙÀ½°ú °°ÀÌ Á¤Àǵ˴ϴÙ. ÀÚ¼¼ÇÑ Á¤º¸´Â popupMenu ¿ä¼Ò ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.

"group.new"             separator="true"
"group.goto"            
"group.open"            separator="true"
"group.openWith"
"group.show"            separator="true"
"group.edit"            separator="true"
"group.reorganize"
"group.port"
"group.generate"        separator="true"
"group.search"          separator="true"
"group.build"           separator="true"
"additions"             separator="true" 
"group.properties"      separator="true"

´ÙÀ½ ¿¹Á¦¿¡¼­´Â »ç¿ëÀÚ Á¤ÀÇ popupMenu/insertionPoints¸¦ ¼±¾ðÇ쵂 "allowsPlatformContributions" ¼Ó¼ºÀ» »ç¿ëÇÏ¿© ¿ÀºêÁ§Æ® ¹× Ç¥½Ã±â ÄÁÆ®¸®ºä¼ÇÀ» Á¦ÇÑÇϴ ǥ½Ã±â ±¸¼ºÀ» º¸¿©ÁÝ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â Ç¥½Ã±â(ÃÖ»óÀ§ ·¹º§ ¶Ç´Â ÄÁÅÙÃ÷ È®Àå°ú ¿¬°ü)¿¡ ´ëÇØ ¼±¾ðµÈ org.eclipse.ui.navigator.CommonActionProvider¸¦ ÅëÇØ Á¤ÀÇµÈ ¸Þ´º¿¡¸¸ ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ÀÖ½À´Ï´Ù.

"popupMenuId" ¼Ó¼ºÀº popupMenu ¿ä¼Ò¿Í µ¿½Ã¿¡ ÁöÁ¤µÇÁö ¾Ê½À´Ï´Ù. µÎ Ç׸ñ ¸ðµÎ°¡ ¾Æ´Ñ ÇÑ Ç׸ñ¸¸ ¿Ã¹Ù¸¥ ±¸¼ºÀÔ´Ï´Ù.

   

<extension point=

"org.eclipse.ui.navigator.viewer"

>

<viewer viewerId=

"org.eclipse.ui.navigator.resourceContent"

>

<popupMenu allowsPlatformContributions=

"false"

id=

"org.eclipse.ui.navigator.resourceContent#PopupMenu"

>

<insertionPoint name=

"group.new"

/>

<insertionPoint name=

"group.open"

separator=

"true"

/>

<insertionPoint name=

"group.openWith"

/>

<insertionPoint name=

"group.port"

separator=

"true"

/>

<insertionPoint name=

"additions"

separator=

"true"

/>

<insertionPoint name=

"group.properties"

separator=

"true"

/>

</popupMenu>

</viewer>

<viewerContentBinding viewerId=

"org.eclipse.ui.navigator.resourceContent"

>

<includes>

<contentExtension pattern=

"org.eclipse.ui.navigator.resourceContent"

/>

</includes>

</viewerContentBinding>

</extension>

´ÙÀ½ ¿¹Á¦¿¡¼­´Â ÇϳªÀÇ ÄÁÅÙÃ÷ È®Àå(id: "org.eclipse.ui.navigator.resourceContent")ÀÌ id "org.eclipse.ui.navigator.resourceContent"¿Í ÀÏÄ¡Çϴ ǥ½Ã±â¿¡ ¹ÙÀεåµÊÀ» ¼±¾ðÇÕ´Ï´Ù. (ÀÌ ¿¹Á¦¿¡¼­ ÄÁÅÙÃ÷ È®Àå ¹× Ç¥½Ã±â ID´Â ÀÏÄ¡ÇÏÁö¸¸ Çʼö ¿ä¼Ò´Â ¾Æ´Õ´Ï´Ù.) ¶ÇÇÑ "org.eclipse.ui.navigator.tests"·Î ½ÃÀÛÇÏ´Â id¸¦ °¡Áø ÄÁÅÙÃ÷ È®ÀåÀº ¸ðµÎ ¹«½ÃµË´Ï´Ù.

   

<extension point=

"org.eclipse.ui.navigator.viewer"

>

<viewerContentBinding viewerId=

"org.eclipse.ui.navigator.resourceContent"

>

<includes>

<contentExtension pattern=

"org.eclipse.ui.navigator.resourceContent"

/>

</includes>

<excludes>

<contentExtension pattern=

"org.eclipse.ui.navigator.tests.*"

/>

</excludes>

</viewerContentBinding>

</extension>

´ÙÀ½ ¿¹Á¦¿¡¼­´Â "org.acme.actions.tests.*"°¡ ¾Æ´Ñ Á¤±Ô Ç¥Çö½Ä "org.acme.actions.*"¿Í ÀÏÄ¡ÇÏ´Â ¸ðµç actionProvider(navigatorContent È®Àå ¾Æ·¡ ÁßøµÇ¾î ÀÖÁö ¾ÊÀ½)¿¡ ´ëÇÑ viewerActionBindingÀ» ¼±¾ðÇÕ´Ï´Ù. ÀÌ Ç¥Çö½ÄÀº ÇØ´ç ID°¡ "org.acme.actions.tests"°¡ ¾Æ´Ñ "org.acme.actions"·Î ½ÃÀÛÇÏ´Â ¸ðµç actionProvider°¡ ID°¡ "org.acme.viewer"ÀΠǥ½Ã±â¿¡ Ç¥½ÃµÇ°Ô ÇÕ´Ï´Ù. viewerActionBindings´Â navigatorContent ¿ä¼Ò ¾Æ·¡ ÁßøµÇÁö ¾ÊÀº actionProvider ¿ä¼Ò¿¡¸¸ Àû¿ëµË´Ï´Ù. ÁßøµÈ actionProvider ¿ä¼ÒÀÇ °¡½Ã¼ºÀº ¿£Å¬·Î¡ navigatorContent ¿ä¼Ò¿¡ ´ëÇÑ viewerContentBindings¿¡ ÀÇÇØ Á¦¾îµË´Ï´Ù.

   

<extension point=

"org.eclipse.ui.navigator.viewer"

>

<viewerActionBinding viewerId=

"org.acme.viewer"

>

<includes>

<actionExtension pattern=

"org.acme.actions.*"

/>

</includes>

<excludes>

<actionExtension pattern=

"org.acme.actions.tests.*"

/>

</excludes>

</viewerActionBinding>

</extension>

´ÙÀ½ ¿¹Á¦¿¡¼­´Â "id" ¼Ó¼ºÀÌ ¾ø´Â ¸ðµç actionProvider°¡ Ç¥½Ã±â "org.acme.viewer"¿¡ Ç¥½ÃµÇ°Ô ÇÕ´Ï´Ù. "id" ¼Ó¼ºÀÌ ¾ø´Â actionProviderÀÇ ±âº» ID´Â "org.eclipse.ui.navigator.actionProvider.X"ÀÔ´Ï´Ù. viewerActionBindings´Â navigatorContent ¿ä¼Ò ¾Æ·¡ ÁßøµÇÁö ¾ÊÀº actionProvider ¿ä¼Ò¿¡¸¸ Àû¿ëµË´Ï´Ù. ÁßøµÈ actionProvider ¿ä¼ÒÀÇ °¡½Ã¼ºÀº ¿£Å¬·Î¡ navigatorContent ¿ä¼Ò¿¡ ´ëÇÑ viewerContentBindings¿¡ ÀÇÇØ Á¦¾îµË´Ï´Ù.

   

<extension point=

"org.eclipse.ui.navigator.viewer"

>

<viewerActionBinding viewerId=

"org.acme.viewer"

>

<includes>

<actionExtension pattern=

"org.eclipse.ui.navigator.actionProvider.*"

/>

</includes>

</viewerActionBinding>

</extension>

´ÙÀ½ ¿¹Á¦¿¡¼­´Â Ç¥½Ã±â¿¡ »ç¿ë °¡´ÉÇÑ Ç¥ÁØ Æ¯¼ºÀ» º¸¿©ÁÝ´Ï´Ù.

   

<extension point=

"org.eclipse.ui.navigator.viewer"

>

<viewer popupMenuId=

"org.eclipse.ui.tests.navigator.TestView#PopupMenu"

viewerId=

"org.eclipse.ui.tests.navigator.TestView"

>

<options>

<!-- Hide the

"Available Extensions"

tab in the

"Available Customizations"

dialog (available from the

"Filters"

action -->

<property name=

"org.eclipse.ui.navigator.hideAvailableExtensionsTab"

value=

"true"

/>

<!-- Hide the

"Available Customizations"

dialog completely. This includes hiding the filters and the available content extensions. -->

<property name=

"org.eclipse.ui.navigator.hideAvailableCustomizationsDialog"

value=

"true"

/>

<!-- Hide the

"Link with Editor"

action from the toolbar of the viewer -->

<property name=

"org.eclipse.ui.navigator.hideLinkWithEditorAction"

value=

"true"

/>

<!-- Hide the

"Collapse All"

action from the toolbar of the viewer -->

<property name=

"org.eclipse.ui.navigator.hideCollapseAllAction"

value=

"true"

/>

</options>

</viewer>

</extension>