navigatorContent

org.eclipse.ui.navigator.navigatorContent

3.2

ÄÁÅÙÃ÷ È®ÀåÀº ³×ºñ°ÔÀÌÅÍ ÄÁÅÙÃ÷ ¼­ºñ½º¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ÄÁÅÙÃ÷ ¹× ·¹À̺í Á¦°øÀÚ¸¦ Á¦°øÇÕ´Ï´Ù. navigatorContent È®ÀåÀº ÀÌ È®ÀåÀÌ ÀνÄÇÏ´Â ¿ä¼Ò À¯ÇüÀº ¹°·Ð ÄÁÅÙÃ÷ Á¦°øÀÚ, ·¹À̺í Á¦°øÀÚ ¹× Á¶Ä¡ Á¦°øÀÚ¿¡ ´ëÇÑ Æ¯Á¤ Ŭ·¡½º¸¦ Á¤ÀÇÇÕ´Ï´Ù.

triggerPoints È®ÀåÀº ÇÏÀ§ ¶Ç´Â ·¹ÀÌºí¿¡ ´ëÇØ ÀÌ·¯ÇÑ È®ÀåÀÌ È£ÃâµÇµµ·Ï ÇÏ´Â ¿ä¼Ò¸¦ ¼³¸íÇÕ´Ï´Ù. possibleChildren Ç¥Çö½ÄÀº È®ÀåÀÌ »óÀ§¿¡ Á¦°øÇÒ ¼ö ÀÖ´Â ¿ä¼Ò¸¦ ¼³¸íÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ÆíÁý±â·Î ¸µÅ©°¡ ÀûÀýÇÑ ³ëµå·Î ¿Ã¹Ù¸£°Ô È®ÀåµÉ ¼ö ÀÖµµ·Ï ¼±ÅûçÇ×À¸·Î ¼³Á¤µÉ ¼ö ÀÖ´Â ¸ðµç ¿ä¼Ò¸¦ ¼³¸íÇÕ´Ï´Ù.

<!ELEMENT extension ((navigatorContent? | actionProvider? | commonWizard? | commonFilter?))>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT navigatorContent ((enablement | (triggerPoints , possibleChildren)) , actionProvider* , commonSorter* , override? , dropAssistant* , commonWizard*)>

<!ATTLIST navigatorContent

id                CDATA #REQUIRED

name              CDATA #REQUIRED

priority          (lowest|lower|low|normal|high|higher|highest)

contentProvider   CDATA #REQUIRED

icon              CDATA #IMPLIED

activeByDefault   (true | false)

providesSaveables (true | false)

labelProvider     CDATA #REQUIRED>

³×ºñ°ÔÀÌÅÍ ÄÁÅÙÃ÷ È®ÀåÀº ¿ä¼Ò°¡ triggerPoints Ç¥Çö½Ä°ú ÀÏÄ¡ÇÒ ¶§¸¶´Ù ÇÏÀ§¸¦ Á¦°øÇϰí, ¿ä¼Ò°¡ possibleChildren Ç¥Çö½Ä°ú ÀÏÄ¡ÇÒ ¶§¸¶´Ù »óÀ§¸¦ Á¦°øÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â ÄÁÅÙÃ÷ Á¦°øÀÚ ¹× ·¹À̺í Á¦°øÀÚ¸¦ Á¤ÀÇÇÕ´Ï´Ù.

¼±ÅÃÀûÀ¸·Î Ŭ¶óÀÌ¾ðÆ®´Â ¶ÇÇÑ triggerPoints Ç¥Çö½Ä°ú ÀÏÄ¡Çϰųª È®Àå¿¡¼­ Á¦°øÇÑ ¿ä¼Ò°¡ ¼±ÅõǴ °æ¿ì ¸Þ´º ÄÁÆ®¸®ºä¼Ç ¹× Á¶Ä¡ Ç¥½ÃÁÙ ÄÁÆ®¸®ºä¼ÇÀ» Á¦°øÇÒ ¼ö ÀÖ´Â Á¶Ä¡ Á¦°øÀÚ¸¦ Á¦°øÇÒ ¼öµµ ÀÖ½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â È®Àå¿¡¼­ Á¦°øÇÏ´Â ¿ä¼Ò¸¦ Á¤·ÄÇϱâ À§ÇÑ Á¤·ÄÀÚ¸¦ Á¦°øÇϵµ·Ï ¼±ÅÃÇÒ ¼öµµ ÀÖ½À´Ï´Ù.



<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

Enablement Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© Ŭ¶óÀÌ¾ðÆ®´Â triggerPoints¿Í possibleChildren¿¡ ¸ðµÎ µ¿ÀÏÇÑ Ç¥Çö½ÄÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

actionProviderÀÇ °æ¿ì Ŭ¶óÀÌ¾ðÆ®´Â org.eclipse.ui.navigator.CommonActionProvider¸¦ È£ÃâÇØ¾ß ÇÏ´Â °æ¿ì ÇÁ·¹ÀÓ¿öÅ©¿¡ Ç¥½ÃÇÒ Ç¥Çö½ÄÀ» Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. IActionBars ÄÁÆ®¸®ºä¼ÇÀ¸·Î ÀÎÇØ ¿øÇÏ´Â ¿ÀºêÁ§Æ®¸¦ ¼±ÅÃÇÒ ¶§¸¶´Ù Ŭ¶óÀÌ¾ðÆ®¸¦ È£ÃâÇØ¾ß ÇÕ´Ï´Ù. ±×·¯¹Ç·Î Ŭ¶óÀÌ¾ðÆ®´Â È®ÀåÀ» »ç¿ëÇØ¾ß ÇÏ´Â °æ¿ì¸¦ °áÁ¤ÇÒ ¶§ ½ÅÁßÇØ¾ß ÇÕ´Ï´Ù.



<!ELEMENT triggerPoints (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

triggerPoints Ç¥Çö½ÄÀº Æ®¸®¿¡¼­ ÇÏÀ§¿¡ ´ëÇØ ÀÌ È®ÀåÀÌ È£ÃâµÇ°Ô ÇÏ´Â ³ëµå¸¦ Á¤ÀÇÇÕ´Ï´Ù.



<!ELEMENT possibleChildren (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

possibleChildren Ç¥Çö½ÄÀº Æ®¸®¿¡¼­ È®ÀåÀÌ Á¦°øÇÒ ¼ö ÀÖ´Â ³ëµå¸¦ Á¤ÀÇÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ÄÁÅÙÃ÷ È®ÀåÀÌ Ç¥Çö½Ä°ú ÀÏÄ¡ÇÏ´Â ¿ä¼ÒÀÇ »óÀ§¸¦ Á¦°øÇÒ ¼ö ÀÖ´Â ½Ã±â¸¦ ¼³¸íÇØ¾ß ÇÕ´Ï´Ù.



<!ELEMENT actionProvider (enablement?)>

<!ATTLIST actionProvider

class     CDATA #REQUIRED

id        CDATA #IMPLIED

dependsOn CDATA #IMPLIED

overrides CDATA #IMPLIED>

org.eclipse.ui.navigator.CommonActionProvider¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ À̸§À» Á¦°øÇÕ´Ï´Ù. Á¶Ä¡ Á¦°øÀÚ´Â ³×ºñ°ÔÀÌÅ͸¦ º¸À¯ÇÏ´Â º¸±âÀÇ IActionBars¿¡ Á¤ÀÇµÈ ´Ù½Ã ´ë»ó ÁöÁ¤ °¡´ÉÇÑ Á¶Ä¡ ¹× ÄÁÅØ½ºÆ® ¸Þ´º¿¡ ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ÀÖ½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®µµ IActionBars º¸±â ¸Þ´º¸¦ ÅëÇØ º¸±â ¸Þ´º¿¡ Á÷Á¢ ÄÁÆ®¸®ºä¼ÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

ÇØ´ç actionProvider¿¡ ´ëÇÑ viewerActionBindingÀÌ ÀÖ´Â °æ¿ì actionProvider ÃÖ»óÀ§ ·¹º§Àº ¿ä¾à Ç¥½Ã±â¿¡ Ç¥½ÃµË´Ï´Ù. navigatorContent ¿ä¼Ò ¾Æ·¡ ÁßøµÈ actionProvidersÀÇ °æ¿ì °¡½Ã¼ºÀº navigatorContent È®Àå ID·Î Á¦¾îµË´Ï´Ù. viewerContentBinding°ú ÀÏÄ¡½ÃÄÑ ÇÏÀ§ Á¶Ä¡ Á¦°øÀÚ°¡ ÀÚµ¿À¸·Î ¼±Åõ˴ϴÙ. °¡½Ã¼º ¹ÙÀεù¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â org.eclipse.ui.navigator.viewer¸¦ ÂüÁ¶ÇϽʽÿÀ.

Ŭ¶óÀÌ¾ðÆ®´Â ÇØ´ç Ç׸ñÀÇ »ç¿ë ¿©ºÎ ¹× Ç¥½Ã±â ¹ÙÀεùÀ» ´õ Àß Á¦¾îÇϱâ À§ÇØ ·çÆ® extention ¿ä¼Ò(´Ù¸¥ navigatorContentÀÇ ÇǾî) ¾Æ·¡ actionProvider¸¦ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù(veiwerActionBinding ÂüÁ¶).

ID°¡ ¾ø´Â ·çÆ® actionProvidersÀÇ °æ¿ì ID ±âº»°ªÀº "org.eclipse.ui.navigator.actionProvider.X"ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ actionProvider°¡ Ç¥½Ã±âÀÇ ¸Þ´º ¶Ç´Â Á¶Ä¡ Ç¥½ÃÁÙ¿¡ ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ÀÖÀ¸·Á¸é ƯÁ¤ Ç¥½Ã±â¿Í ±âº» ID("org.eclipse.ui.navigator.actionProvider.*") »çÀÌÀÇ ¹ÙÀεùÀ» ¼±¾ðÇÏ´Â viewerActionBindingÀ» Á¤ÀÇ(org.eclipse.ui.navigator.viewer extension pointÀÇ ÀϺηÎ)ÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â org.eclipse.ui.navigator.viewer ½ºÅ°¸¶ ¹®¼­¿¡ ÀÖ´Â viewerActionBinding ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.



<!ELEMENT commonWizard (enablement)>

<!ATTLIST commonWizard

type                  (import|export|new)

wizardId              CDATA #REQUIRED

menuGroupId           CDATA #IMPLIED

associatedExtensionId CDATA #IMPLIED>

È®ÀåÁ¡Àº À¯Çüº°·Î Á¤ÀÇµÈ ¸Þ´º¿¡ ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.



<!ELEMENT commonFilter (filterExpression?)>

<!ATTLIST commonFilter

id              CDATA #REQUIRED

name            CDATA #REQUIRED

description     CDATA #IMPLIED

class           CDATA #IMPLIED

activeByDefault (true | false) >

ƯÁ¤ °øÅë Ç¥½Ã±â¿Í ¿¬°üµÉ ¼ö ÀÖ´Â ÇÊÅ͸¦ Á¤ÀÇÇÕ´Ï´Ù. °øÅë ÇÊÅÍ´Â org.eclipse.ui.navigator.viewer/viewerContentBindingÀ» »ç¿ëÇÏ¿© ÄÁÅÙÃ÷ È®Àå°ú °°Àº Ç¥½Ã±â¿¡ ¹ÙÀεåµË´Ï´Ù.



<!ELEMENT filterExpression (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

ÇÊÅͰ¡ ƯÁ¤ º¸±â¿¡¼­ ¼û°Ü¾ß ÇÏ´Â Ç׸ñÀ» Á¤ÀÇÇÏ´Â ¼±ÅÃÀû Eclipse ÄÚ¾î Ç¥Çö½Ä

¿¹¸¦ µé¾î, Ŭ¶óÀÌ¾ðÆ®´Â À̸§¿¡ ƯÁ¤ ÆÐÅÏ(¿¹: "*.acme")À» °¡Áø ¸ðµç ÀÚ¿øÀ» ¼û±âµµ·Ï °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÊÅͰ¡ Ȱ¼ºÈ­µÈ °æ¿ì(±âº»ÀûÀ¸·Î ÄÑÁü »óÅÂÀ̰ųª »ç¿ëÀÚ°¡ ÄÔ) "acme"·Î ³¡³ª´Â ¸ðµç ÀÚ¿øÀº »ç¿ëÀÚ º¸±â¿¡¼­ ¼û°ÜÁý´Ï´Ù.

Ŭ¶óÀÌ¾ðÆ®´Â filterExpression ¶Ç´Â "class" ¼Ó¼ºÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ µÑ ¸ðµÎ¸¦ »ç¿ëÇÒ ¼ö´Â ¾ø½À´Ï´Ù.



<!ELEMENT commonSorter (parentExpression)>

<!ATTLIST commonSorter

id    CDATA #REQUIRED

class CDATA #REQUIRED>

commonSorter´Â Æ®¸®¿¡¼­ ÇÏÀ§¸¦ Á¤·ÄÇÏ´Â µ¥ »ç¿ëµÇ´Â org.eclipse.jface.viewers.ViewerSorter ¼­ºêŬ·¡½º¸¦ ¼±¾ðÇÕ´Ï´Ù. ÁßøµÈ parentExpressionÀº commonSorterÀÇ »ç¿ë ½Ã±â¸¦ ¼³¸íÇÕ´Ï´Ù. ¿ä¼Ò°¡ parentExpression°ú ÀÏÄ¡Çϸé ÇÏÀ§ ¿ä¼Ò°¡ commonSorter·Î Á¤·ÄµË´Ï´Ù.



<!ELEMENT parentExpression (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

parentExpressionÀº commonSorter°¡ Àû¿ëµÇ´Â ½Ã±â¸¦ ½Äº°ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. commonSorterÀÇ parentExpressionÀÌ ÁöÁ¤µÈ ¿ä¼Ò¿Í ÀÏÄ¡ÇÏ´Â °æ¿ì ÇØ´ç ¿ä¼ÒÀÇ ÇÏÀ§(ÄÁÅÙÃ÷ ¼­ºñ½ºÀÇ ÄÁÅÙÃ÷ Á¦°øÀÚ¿¡ ÀÇÇØ ¸®ÅϵÊ)¸¦ Á¤·ÄÇÏ´Â µ¥ commonSorter°¡ »ç¿ëµË´Ï´Ù.



<!ELEMENT override EMPTY>

<!ATTLIST override

suppressedExtensionId CDATA #REQUIRED

policy                (InvokeOnlyIfSuppressedExtAlsoVisibleAndActive|InvokeAlwaysRegardlessOfSuppressedExt) "InvokeAlwaysRegardlessOfSuppressedExt">

¼±¾ðµÈ È®Àå ¹× ¾ïÁ¦µÈ È®ÀåÀÇ triggerPoints Ç¥Çö½ÄÀÌ ¸ðµÎ ÁöÁ¤µÈ ¿ä¼Ò¿¡ ´ëÇØ »ç¿ë »óÅÂÀÎ °æ¿ì ÀÌ È®ÀåÀº È£ÃâµÇÁö¸¸ ¾ïÁ¦µÈ È®ÀåÀº È£ÃâµÇÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ override ¿ä¼Ò¸¦ ÁöÁ¤Çϴ Ŭ¶óÀÌ¾ðÆ®´Â Ç¥½Ã±â¿¡ ´ëÇÑ ÇÏÀ§, »óÀ§ ¹× Á÷Á¢ °»½Å ¿äûÀ» ÀÎÅͼÁÆ®ÇÏ´Â ¸Þ¼Òµå¸¦ Á¦°øÇÏ´Â org.eclipse.ui.navigator.IPipelinedTreeContentProvider¸¦ ±¸ÇöÇÏ´Â ÄÁÅÙÃ÷ Á¦°øÀÚµµ Á¦°øÇØ¾ß ÇÕ´Ï´Ù.



<!ELEMENT dropAssistant (possibleDropTargets)>

<!ATTLIST dropAssistant

id    CDATA #REQUIRED

class CDATA #REQUIRED>

³õ±â Á¶ÀÛ¿¡ ´ëÇÑ ÇÁ·Î±×·¥ ¹æ½ÄÀÇ À¯È¿¼º °ËÁõÀ» Á¦°øÇϰí Ãß°¡ Àü¼Û À¯ÇüÀ» ¿äûÇÑ ´ÙÀ½ ³õ±â Á¶ÀÛÀ» ó¸®ÇÒ ¼ö ÀÖ´Â org.eclipse.ui.navigator.CommonDropAdapterAssistant ¼­ºêŬ·¡½º¸¦ Á¦°øÇÕ´Ï´Ù.

Æ÷ÇÔÇÏ´Â navigatorContent È®ÀåÀÇ possibleChildren Ç¥Çö½Ä°ú ²ø¾î¿Â ¿ä¼Ò°¡ ÀÏÄ¡ÇÏ´Â µ¿½Ã¿¡ Á¶ÀÛÀÇ ³õ±â ´ë»óÀÌ dropAssistant ¿ä¼ÒÀÇ possibleDropTargets Ç¥Çö½Ä¿¡ ¼³¸íµÈ °æ¿ì¿¡´Â Ç×»ó dropAssistant°¡ È£ÃâµË´Ï´Ù.

È®Àå¿¡´Â »óÈ£ ¹èŸÀûÀÎ possibleDropTargets Ç¥Çö½ÄÀ» »ç¿ëÇÏ´Â ³õ±â ¾î´ðÅͰ¡ ¿©·¯ °³ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ÁöÁ¤µÈ ³õ±â ´ë»ó°ú ÀÏÄ¡Çϰí CommonDropAdapterAssistant.validateDrop(...)¿¡ ´ëÇØ È®ÀÎ »óŸ¦ ¸®ÅÏÇϴ ù ¹øÂ° ³õ±â ¾î´ðÅÍ´Â ³õ±â¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.



<!ELEMENT possibleDropTargets (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

ƯÁ¤ dropAssistant°¡ ó¸®ÇÒ ¼ö ÀÖ´Â °¡´ÉÇÑ ³õ±â ´ë»óÀ» ¼³¸íÇÕ´Ï´Ù.



<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

ÀÏ¹Ý ·çÆ® ¿ä¼Ò. ÀÌ ¿ä¼Ò´Â È®ÀåÁ¡ ³»¿¡¼­ Enablement Ç¥Çö½ÄÀ» Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. Enablement Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.



<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>

ÀÌ ¿ä¼Ò´Â ÇØ´ç ÇÏÀ§ ¿ä¼Ò Ç¥Çö½Ä Æò°¡ °á°ú¿¡¼­ NOT ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.



<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

ÀÌ ¿ä¼Ò´Â ¸ðµç ÇØ´ç ÇÏÀ§ ¿ä¼Ò Ç¥Çö½Ä Æò°¡ °á°ú¿¡¼­ AND ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.



<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

ÀÌ ¿ä¼Ò´Â ¸ðµç ÇØ´ç ÇÏÀ§ ¿ä¼Ò Ç¥Çö½Ä Æò°¡ °á°ú¿¡¼­ OR ¿¬»êÀ» ³ªÅ¸³À´Ï´Ù.



<!ELEMENT instanceof EMPTY>

<!ATTLIST instanceof

value CDATA #REQUIRED>

ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®ÀÇ instanceof °Ë»ç¸¦ ¼öÇàÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¿ÀºêÁ§Æ® À¯ÇüÀÌ ¼Ó¼º °ªÀ¸·Î ÁöÁ¤µÈ À¯ÇüÀÇ ÇÏÀ§ À¯ÇüÀÎ °æ¿ì Ç¥Çö½ÄÀº EvaluationResult.TRUE¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é EvaluationResult.FALSE¸¦ ¸®ÅÏÇÕ´Ï´Ù.



<!ELEMENT test EMPTY>

<!ATTLIST test

property CDATA #REQUIRED

args     CDATA #IMPLIED

value    CDATA #IMPLIED>

ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®ÀÇ Æ¯¼º »óŸ¦ Æò°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. Ư¼º Å×½ºÅÍ È®ÀåÁ¡À» »ç¿ëÇÏ¿© Å×½ºÆ® °¡´ÉÇÑ Æ¯¼º ¼¼Æ®¸¦ È®ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ½ÇÁ¦ Å×½ºÆ®¸¦ ¼öÇàÇϴ Ư¼º Å×½ºÅͰ¡ ¾ÆÁ÷ ·ÎµåµÇÁö ¾ÊÀº °æ¿ì Å×½ºÆ® Ç¥Çö½ÄÀº EvaluationResult.NOT_LOADED¸¦ ¸®ÅÏÇÕ´Ï´Ù.



<!ELEMENT systemTest EMPTY>

<!ATTLIST systemTest

property CDATA #REQUIRED

value    CDATA #REQUIRED>

System.getProperty ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© ½Ã½ºÅÛ Æ¯¼ºÀ» Å×½ºÆ®ÇÑ ´ÙÀ½ ±× °á°ú¸¦ °ª ¼Ó¼ºÀ» ÅëÇØ ÁöÁ¤µÈ °ª°ú ºñ±³ÇÕ´Ï´Ù.



<!ELEMENT equals EMPTY>

<!ATTLIST equals

value CDATA #REQUIRED>

ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®ÀÇ equals °Ë»ç¸¦ ¼öÇàÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¿ÀºêÁ§Æ®°¡ ¼Ó¼º °ªÀ¸·Î Á¦°øµÈ °ª°ú µ¿ÀÏÇÑ °æ¿ì Ç¥Çö½ÄÀº EvaluationResult.TRUE¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é EvaluationResult.FALSE¸¦ ¸®ÅÏÇÕ´Ï´Ù.



<!ELEMENT count EMPTY>

<!ATTLIST count

value CDATA #REQUIRED>

ÀÌ ¿ä¼Ò´Â ÄÝ·º¼Ç¿¡ ÀÖ´Â ¿ä¼ÒÀÇ ¼ö¸¦ Å×½ºÆ®ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.



<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST with

variable CDATA #REQUIRED>

ÀÌ ¿ä¼Ò´Â ¸ðµç ÇÏÀ§ ¿ä¼Ò¸¦ °Ë»çÇØ¾ß ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ Á¦°øµÈ º¯¼ö¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â ¿ÀºêÁ§Æ®·Î º¯°æÇÕ´Ï´Ù. º¯¼ö¸¦ ºÐ¼®ÇÒ ¼ö ¾ø´Â °æ¿ì Ç¥Çö½ÄÀº Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù. with Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.



<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST resolve

variable CDATA #REQUIRED

args     CDATA #IMPLIED>

ÀÌ ¿ä¼Ò´Â ¸ðµç ÇÏÀ§ ¿ä¼Ò¸¦ °Ë»çÇØ¾ß ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ Á¦°øµÈ º¯¼ö¿¡ ÀÇÇØ ÂüÁ¶µÇ´Â ¿ÀºêÁ§Æ®·Î º¯°æÇÕ´Ï´Ù. º¯¼ö¸¦ ºÐ¼®ÇÒ ¼ö ¾ø´Â °æ¿ì Ç¥Çö½ÄÀº Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù. with Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.



<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST adapt

type CDATA #REQUIRED>

ÀÌ ¿ä¼Ò´Â ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®¸¦ ¼Ó¼º À¯Çü¿¡ ÀÇÇØ ÁöÁ¤µÈ À¯ÇüÀ¸·Î ÀûÀÀ½ÃŰ´Â µ¥ »ç¿ëÇÕ´Ï´Ù. ÂüÁ¶µÈ À¯Çü ¶Ç´Â ¾î´ðÅͰ¡ ¾ÆÁ÷ ·ÎµåµÇÁö ¾ÊÀº °æ¿ì Ç¥Çö½ÄÀº ·ÎµåµÇÁö ¾ÊÀº »óŸ¦ ¸®ÅÏÇÕ´Ï´Ù. À¯Çü À̸§ÀÌ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù. Adapt Ç¥Çö½ÄÀÇ ÇÏÀ§´Â and ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© °áÇյ˴ϴÙ.



<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST iterate

operator (or|and) >

ÀÌ ¿ä¼Ò´Â Java.util.Collection À¯ÇüÀÇ º¯¼ö¸¦ ¹Ýº¹ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ÃÊÁ¡ÀÌ µÈ ¿ÀºêÁ§Æ®°¡ java.util.Collection À¯ÇüÀÌ ¾Æ´Ñ °æ¿ì Ç¥Çö½ÄÀº Æò°¡ Áß¿¡ ExpressionExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù.




ÄÁÅÙÃ÷ Ãß°¡

´ÙÀ½Àº ÀÚ¿ø ÄÁÅÙÃ÷¸¦ Á¦°øÇÏ´Â ÄÁÅÙÃ÷ È®ÀåÀ» ¼³¸íÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù. triggerPoints Ç¥Çö½ÄÀº ÀÌ È®ÀåÀÌ Ãʱ⿡ È£ÃâµÇ´Â ½Ã±â¸¦ ÆÇº°ÇÕ´Ï´Ù. "isRoot" ¼Ó¼ºÀÌ true·Î ¼³Á¤µÈ ÀÌ È®Àå°ú viewerContentBindingÀÌ ÀÏÄ¡ÇÏ´Â °æ¿ì ·çÆ® ¿ä¼Ò°¡ triggerPoints Ç¥Çö½Ä°ú ÀÏÄ¡ÇÏ´ÂÁö ¿©ºÎ¿Í »ó°ü¾øÀÌ È®ÀåÀÌ »ç¿ëµË´Ï´Ù.

<extension point=

"org.eclipse.ui.navigator.navigatorContent"

>

<navigatorContent name=

"%resource.extension.name"

priority=

"low"

icon=

"icons/full/eview16/resource_persp.gif"

activeByDefault=

"true"

contentProvider=

"org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionContentProvider"

labelProvider=

"org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionLabelProvider"

sorter=

"org.eclipse.ui.navigator.resources.internal.workbench.ResourceSorter"

id=

"org.eclipse.ui.navigator.resourceContent"

>

<triggerPoints>

<or>

<instanceof value=

"org.eclipse.core.resources.IWorkspaceRoot"

/>

<instanceof value=

"org.eclipse.core.resources.IProject"

/>

<instanceof value=

"org.eclipse.core.resources.IFolder"

/>

</or>

</triggerPoints>

<possibleChildren>

<or>

<instanceof value=

"org.eclipse.core.resources.IWorkspaceRoot"

/>

<instanceof value=

"org.eclipse.core.resources.IProject"

/>

<instanceof value=

"org.eclipse.core.resources.IResource"

/>

<instanceof value=

"org.eclipse.core.resources.IFolder"

/>

<instanceof value=

"org.eclipse.core.resources.IFile"

/>

</or>

</possibleChildren>

</navigatorContent>

</extension>

Á¶Ä¡ Ãß°¡

Ŭ¶óÀÌ¾ðÆ®´Â ÇØ´ç º¸±â¿¡ ´ëÇÑ Á¶Ä¡¸¦ Á¦°øÇÏ´Â µ¥ ¿ÀºêÁ§Æ® ¶Ç´Â Ç¥½Ã±â ÄÁÆ®¸®ºä¼Ç(org.eclipse.ui.popupMenus ÂüÁ¶)À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. °¡²û¾¿ Ŭ¶óÀÌ¾ðÆ®¿¡´Â ÀÌ·¯ÇÑ ¹æ¹ý¿¡ ºñÇØ ´õ ¸¹Àº À¯¿¬¼ºÀÌ ÇÊ¿äÇÒ ¼ö ÀÖÀ¸¹Ç·Î °øÅë ³×ºñ°ÔÀÌÅÍ ÇÁ·¹ÀÓ¿öÅ©´Â Á¶Ä¡ Á¦°øÀÚ Ãß°¡ ±â´ÉÀ» Áö¿øÇÕ´Ï´Ù. "Á¶Ä¡ Á¦°øÀÚ"´Â org.eclipse.ui.actions.ActionGroup¸¦ ¼­ºêŬ·¡½ºÈ­ÇÏ°í ¼­·Î ´Ù¸¥ À̺¥Æ®(°¢°¢ ¼±Åà ¹× ¿À¸¥ÂÊ Å¬¸¯)¸¦ ±âÃÊ·Î Á¶Ä¡ Ç¥½ÃÁÙ ¹× ¸Þ´º¸¦ ä¿ï ¼ö ÀÖ½À´Ï´Ù.

Ŭ¶óÀÌ¾ðÆ®´Â Çϳª ÀÌ»óÀÇ Á¶Ä¡ Á¦°øÀÚ¸¦ ƯÁ¤ ÄÁÅÙÃ÷ È®Àå°ú ¿¬°ü½ÃŰ°Å³ª ƯÁ¤ ÄÁÅÙÃ÷ È®Àå°ú ¿¬°üµÇÁö ¾ÊÀº ÃÖ»óÀ§ ·¹º§ ÄÁÆ®¸®ºä¼ÇÀ¸·Î Á¶Ä¡ Á¦°øÀÚ¸¦ ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ÃÖ»óÀ§ ·¹º§ Á¶Ä¡ Á¦°øÀÚ´Â org.eclipse.ui.navigator.viewer/viewerActionBinding È®ÀåÁ¡À» »ç¿ëÇÏ¿© ƯÁ¤ Ç¥½Ã±â ÀνºÅϽº¿Í ¿¬°üµÇ¾î¾ß ÇÕ´Ï´Ù. Æ÷ÇÔÇÏ´Â ÄÁÅÙÃ÷ È®ÀåÀÌ Ç¥½Ã±â¿¡ ¹ÙÀεåµÇ¾ú´ÂÁö ¿©ºÎ¿¡ µû¶ó ÁßøµÈ Á¶Ä¡ Á¦°øÀÚµµ ÇØ´ç Ç¥½Ã±â¿Í ÀÚµ¿À¸·Î ¹ÙÀεåµË´Ï´Ù(org.eclipse.ui.navigator/viewerContentBinding ÂüÁ¶).

´ÙÀ½ ¿¹Á¦¿¡¼­´Â µÎ ¹æ¹ýÀ» ¸ðµÎ º¸¿©ÁÝ´Ï´Ù. "org.eclipse.ui.tests.navigator.testContent" È®ÀåÀÌ Ç¥½Ã ¹× Ȱ¼º »óÅÂÀÎ °æ¿ì¿¡¸¸ "TestNestedActionProvider"´Â ¸Þ´º ¹× org.eclipse.ui.IActionBars¿¡ ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ°¡ "»ç¿ë °¡´ÉÇÑ »ç¿ëÀÚ Á¤ÀÇ" ´ëÈ­ »óÀÚ¿¡¼­ È®Àå Å×½ºÆ®¸¦ ºñȰ¼ºÈ­Çϸé ÁßøµÈ Á¶Ä¡ Á¦°øÀÚ´Â ´õ ÀÌ»ó ÄÁÆ®¸®ºä¼ÇÇÒ ¼ö ¾ø½À´Ï´Ù.

<extension point=

"org.eclipse.ui.navigator.navigatorContent"

>

<navigatorContent id=

"org.eclipse.ui.tests.navigator.testContent"

name=

"%test.navigator.extension"

contentProvider=

"org.eclipse.ui.tests.navigator.extension.TestContentProvider"

labelProvider=

"org.eclipse.ui.tests.navigator.extension.TestLabelProvider"

activeByDefault=

"true"

priority=

"normal"

>

<triggerPoints>

<instanceof value=

"org.eclipse.core.resources.IProject"

/>

</triggerPoints>

<actionProvider class=

"org.eclipse.ui.tests.navigator.extension.TestNestedActionProvider"

id=

"org.eclipse.ui.tests.navigator.extension.TestNestedActionProvider"

>

<enablement>

<instanceof value=

"org.eclipse.core.resources.IResource"

/>

</enablement>

</actionProvider>

</navigatorContent>

<actionProvider class=

"org.eclipse.ui.navigator.resources.internal.actions.NewActionProvider"

id=

"org.eclipse.ui.navigator.resources.NewActions"

>

<enablement>

<or>

<adapt type=

"org.eclipse.core.resources.IFile"

/>

<adapt type=

"org.eclipse.core.resources.IFolder"

/>

<adapt type=

"org.eclipse.core.resources.IProject"

/>

<adapt type=

"org.eclipse.core.resources.IWorkspaceRoot"

/>

</or>

</enablement>

</actionProvider>

</extension>

Ŭ¶óÀÌ¾ðÆ®´Â org.eclipse.jface.viewers.ViewerFilter ¼­ºêŬ·¡½º¸¦ »ç¿ëÇϰųª Eclipse ÄÚ¾î Ç¥Çö½ÄÀ» ÅëÇØ ÇÊÅ͸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿¹Á¦¿¡¼­´Â µÎ ¹æ¹ýÀ» ¸ðµÎ º¸¿©ÁÝ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â µÎ ¿É¼Ç Áß Çϳª¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿À·ù ½Ã µÎ °¡Áö ¸ðµÎ¸¦ ÁöÁ¤ÇÏ´Â È®ÀåÀº ÄÚ¾î Ç¥Çö½Ä ÇÊÅ͸¸ Àû¿ëµË´Ï´Ù. À̸§ ¹× ¼³¸í Çʵå´Â º¯È¯ °¡´ÉÇÏ¸ç ½ÇÁ¦ ȯ°æ¿¡¼­ ±¸Ã¼È­µÈ ¹®ÀÚ¿­À̾î¾ß ÇÕ´Ï´Ù.

<extension point=

"org.eclipse.ui.navigator.navigatorContent"

>

<commonFilter class=

"org.eclipse.ui.tests.navigator.extension.TestItemsThatEndIn3"

description=

"Hide TestItem objects that end in the number &quot;3&quot;"

id=

"org.eclipse.ui.tests.navigator.filters.TestItemsThatEndWith3"

name=

"TestItems that end with &quot;3&quot;"

activeByDefault=

"true"

/>

<commonFilter description=

"Hides all instances of Test Item"

id=

"org.eclipse.ui.tests.navigator.filters.AllTestItems"

name=

"A TestItem Exp Filter (should be sorted alphab..)"

>

<filterExpression>

<instanceof value=

"org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"

/>

</filterExpression>

</commonFilter>

ÇØ´ç »óÀ§¿¡ µû¶ó ÇÏÀ§ ¼¼Æ®ÀÇ °øÅë Á¤·ÄÀÚ°¡ °áÁ¤µË´Ï´Ù. Á¤·ÄÀÚ Å¬·¡½º´Â org.eclipse.jface.viewers.ViewerSorter¸¦ ¼­ºêŬ·¡½ºÈ­ÇØ¾ß ÇÕ´Ï´Ù.


<extension point=

"org.eclipse.ui.navigator.navigatorContent"

>

<commonSorter class=

"org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionSorter"

id=

"org.eclipse.ui.navigator.resources.sorters.defaultSorter"

>

<parentExpression>

<or>

<instanceof value=

"org.eclipse.core.resources.IWorkspaceRoot"

/>

<instanceof value=

"org.eclipse.core.resources.IProject"

/>

<instanceof value=

"org.eclipse.core.resources.IResource"

/>

<instanceof value=

"org.eclipse.core.resources.IFolder"

/>

<instanceof value=

"org.eclipse.core.resources.IFile"

/>

</or>

</parentExpression>

</commonSorter>

</extension>

´ÙÀ½ ¿¹Á¦¿¡¼­´Â "»õ Æú´õ" ¹× "»õ ÆÄÀÏ"¿¡ ´ëÇÑ ¸¶¹ý»ç ¹Ù·Î °¡±â Á¶Ä¡¸¦ Ãß°¡ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. ¿©±â¿¡¼­ ÇØ´ç Á¶Ä¡´Â org.eclipse.core.resources.IResourceÀÇ Æ¯Á¤ ¼­ºêŬ·¡½º¿¡ ´ëÇØ ÀÛµ¿ÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ¸Þ´º ¿É¼ÇÀÇ »ç¿ë ½Ã±â¸¦ ¼³¸íÇÏ´Â µ¥ ÇÊ¿äÇÑ org.eclipse.core.expressions ÆÄÆ® ¸ðµÎ¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ ÁöÁ¤µÈ ¸¶¹ý»ç ID´Â org.eclipse.ui.xxxWizards È®ÀåÁ¡ Áß Çϳª¿Í ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù.

ÀÚü Ç¥½Ã±â ¶Ç´Â º¸±â ÆÄÆ®¸¦ ºôµåÇϴ Ŭ¶óÀÌ¾ðÆ®´Â org.eclipse.ui.navigator.WizardActionGroupÀ» »ç¿ëÇÏ¿© ¸Þ´º¸¦ ÀûÀýÇÏ°Ô Ã¤¿ö¾ß ÇÕ´Ï´Ù. ÀÌ ±â´É »ç¿ë¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¹®¼­´Â ÇØ´ç Ŭ·¡½º¸¦ ÂüÁ¶ÇϽʽÿÀ.


<extension point=

"org.eclipse.ui.navigator.navigatorContent"

>

<commonWizard type=

"new"

wizardId=

"org.eclipse.ui.wizards.new.folder"

>

<enablement>

<or>

<adapt type=

"org.eclipse.core.resources.IFile"

/>

<adapt type=

"org.eclipse.core.resources.IFolder"

/>

<adapt type=

"org.eclipse.core.resources.IProject"

/>

<adapt type=

"org.eclipse.core.resources.IWorkspaceRoot"

/>

</or>

</enablement>

</commonWizard>

<commonWizard type=

"new"

wizardId=

"org.eclipse.ui.wizards.new.file"

>

<enablement>

<or>

<adapt type=

"org.eclipse.core.resources.IFile"

/>

<adapt type=

"org.eclipse.core.resources.IFolder"

/>

<adapt type=

"org.eclipse.core.resources.IProject"

/>

<adapt type=

"org.eclipse.core.resources.IWorkspaceRoot"

/>

</or>

</enablement>

</commonWizard>

</extension>