Ç¥ÁØ ´ëÈ »óÀÚ°¡ Ç÷¯±×Àο¡ ºñÇØ ³Ê¹« ´Ü¼øÇÑ °æ¿ì Dialog Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© °íÀ¯ ´ëÈ »óÀÚ¸¦ ºôµåÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Õ¼ Readme µµ±¸°¡ Á¶Ä¡ ¼¼Æ®¿¡¼ "Readme ºê¶ó¿ìÀú ¿±â" Á¶Ä¡¸¦ Á¦°øÇÏ´Â ¹æ¹ýÀ» »ìÆì º¸¾Ò½À´Ï´Ù. ÀÌ Á¶Ä¡ ¼¼Æ®´Â Workbench µµ±¸ ¸ðÀ½°ú â->Readme ÆÄÀÏ ÆíÁý±â ¸Þ´º¿¡ Ç¥½ÃµË´Ï´Ù.
ÀÌÁ¦ Readme µµ±¸ÀÇ WindowActionDelegate¿¡¼ ÀÌ Á¶Ä¡ ±¸ÇöÀ» »ìÆìº¼ Áغñ°¡ µÇ¾ú½À´Ï´Ù.
public void run(IAction action) { SectionsDialog dialog = new SectionsDialog(window.getShell(), ReadmeModelFactory.getInstance().getSections(selection)); dialog.open(); }
ÀÌ Á¶Ä¡ ¼¼Æ®¿¡ ´ëÇÑ Ã¢ Á¶Ä¡ ´ëÇ¥ÀÚ´Â ÀÚ¿ø ³×ºñ°ÔÀÌÅÍ º¸±â¿¡¼ ÇöÀç ¼±ÅûçÇ×(.readme ÆÄÀÏ)À» »ç¿ëÇÏ¿© Readme ÆÄÀÏÀÇ ¼½¼Ç ¸ñ·ÏÀ» °¡Á®¿É´Ï´Ù. ÀÌ ¸ñ·Ï°ú Workbench âÀÇ ½©ÀÌ SectionsDialog·Î Àü´ÞµË´Ï´Ù.
»ç¿ëÀÚ°¡ Á¶Ä¡¸¦ ¼±ÅÃÇϸé SectionsDialog°¡ ¿¸³´Ï´Ù.
SectionsDialog´Â Dialog Ŭ·¡½º¸¦ org.eclipse.jface.dialogs ÆÐŰÁö·Î ¼ºêŬ·¡½ºÈÇÏ¿© Readme µµ±¸ Ç÷¯±×Àο¡¼ ±¸ÇöµË´Ï´Ù.
Dialog Ŭ·¡½º´Â ´ëÈ »óÀÚ ½© âÀ» ºôµåÇÏ°í °øÅë ´ëÈ »óÀÚ ´ÜÃ߸¦ ÀÛ¼ºÇÏ°í ´ëÈ »óÀÚ¸¦ ½ÇÇàÇϱâ À§ÇÑ ±âº» Áö¿øÀ» Á¦°øÇÕ´Ï´Ù. ¼ºêŬ·¡½º´Â ´ëÈ »óÀÚ ÀÚüÀÇ ÄÁÅÙÃ÷ 󸮸¦ ´ã´çÇÕ´Ï´Ù.
SectionsDialog´Â ¼½¼Ç ¸ñ·ÏÀ» Ç¥½ÃÇÏ´Â SWT ¸ñ·ÏÀ» ÀÛ¼ºÇÕ´Ï´Ù. JFace Ç¥½Ã±â¸¦ »ç¿ëÇÏ¿© ¸ñ·ÏÀ» ä¿ó´Ï´Ù (JFace Ç¥½Ã±â¿¡ ´ëÇØ¼´Â Ç¥½Ã±â¿¡¼ ¼³¸íÇÔ). ¼öÆÛŬ·¡½º°¡ ´ëÈ »óÀÚ ´ÜÃ߸¦ ÀÛ¼ºÇϹǷΠ´ëÈ »óÀÚ¿¡¼ ´ëÈ »óÀÚ ´ÜÃ߸¦ ÀÛ¼ºÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
protected Control createDialogArea(Composite parent) { Composite composite = (Composite)super.createDialogArea(parent); List list = new List(composite, SWT.BORDER); ... ListViewer viewer = new ListViewer(list); ... return composite; }
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText(MessageUtil.getString("Readme Sections"));
...
}
Çʿ信 µû¶ó ´ëÈ »óÀÚ¸¦ °£´ÜÇÏ°Ô ¶Ç´Â º¹ÀâÇÏ°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ´ëÈ »óÀÚ¸¦ ±¸ÇöÇÒ ¶§ ´ëºÎºÐÀÇ ´ëÈ »óÀÚ ÄÚµå´Â ÄÁÅÙÃ÷ ¿µ¿ªÀ» Ç¥½ÃÇÏ´Â SWT Á¦¾î¸¦ ÀÛ¼ºÇÏ°í ´ëÈ »óÀÚ°¡ °¡µ¿µÇ´Â µ¿¾È ÇÊ¿äÇÑ À̺¥Æ®¸¦ ó¸®ÇÏ°Ô µË´Ï´Ù. »ç¿ëÀÚ°¡ ´ÜÃ߸¦ ´©¸£¸é ´ëÈ »óÀÚ´Â ´ëÈ »óÀÚ¸¦ ±¸¼ºÇÏ´Â ¿©·¯ Á¦¾î(¶Ç´Â Ç¥½Ã±â) »óŸ¦ Á¶È¸ÇÏ¿© ´ëÈ »óÀÚÀÇ ÀÛµ¿À» °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.