| Áö´Ï°¡ GEF¸¦ ¸¸³µÀ»¶§1(Renewer)(2008/10/23) | ![]() |
JLab Çã¿øÁø
¡¡
2005³â¿¡ ¿¬ÀçÁß¿¡ Áß´ÜµÈ ±â»ç¸¦ ÀçÆíÁý ÇÏ¿© ´Ù½Ã ¿¬ÀçÇÏ´Â ±â»ç´Ù. GEF¿¡ ´ëÇÑ Áö½ÄÀÌ ÀüÇô ¾ø´Ù´Â °¡Á¤¾Æ·¡ ÁøÇà µÇ´Â ±â»çÀÌ´Ù. ±×·¸´Ù°í PDE¿¡ °üÇÑ Áö½Ä ±îÁö ¾øÀÌ´Â °ï¶õÇÏ´Ù. ÀÌŬ¸³½ºÀÇ ±âº» ¿¡µðÅÍ¿Í ´Ù¸¥Á¡ ºÎÅÍ ½ÃÀÛÇÏ¿© GEF¸¦ ÀÌ¿ë ¿¡µðÅ͸¦ ¸¸µå´Â ¹æ¹ý·Ð±îÁö ¿Ï¼ºÀ» ¸ñÇ¥·Î ÇÑ´Ù.
¡¡
ÁغñÇϱâ
´çÀå GEF¸¦ ÀÌ¿ëÇÏ¿© ÇÁ·Î´öÆ®¸¦ ¸¸µé¶ó´Â Áö½Ã°¡ ³»·Á¿Ô¾îµµ À̱۷ΠGEF¸¦ ½ÃÀÛÇϱ⿡´Â ¹«¸®°¡ ÀÖ´Ù. GEF¸¦ ÀÌ¿ëÇÏ¿© µ·¹Þ°í ÆÈ¸¸ÇÑ °ÍÀ» ¸¸µé±â À§Çؼ´Â ¾Ë¾Æ¾ßµÉ °ÍÀÌ ³Ê¹« ¸¹´Ù. ÀÌ ±ÛÀº ÀÚ½ÅÀÌ Eclipse Platform Àü¹Ý¿¡ ´ëÇÏ¿© ÀÌÇØÇÏ°í ºä¾î/¿¡µðÅ͵î workbench¸¦ ÅëÇÑ GUI ÇÁ·Î±×·¥¹Ö °æÇèÀÌ ÀÖÀ¸¸ç ÀÌÁ¦ GEF¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ ÇÏ´Â µ¶ÀÚ¿¡°Ô ÀûÇÕÇÑ ±â»çÀÌ´Ù.
GEF´Â ÀÌŬ¸³½º¿¡ ±âº»ÀûÀ¸·Î Æ÷ÇÔµÈ Ç÷¯±×ÀÎÀÌ ¾Æ´Ï´Ù. µû¶ó¼ ¾÷µ¥ÀÌÆ®¸¦ ÅëÇØ ¹Þ°Å³ª Á÷Á¢ ¹Þ¾Æ¼ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. µ¶ÀÚµéÀÌ ÀÌ ±â»ç¿Í ÇÔ²² ½Ç½ÀÇØº¸±â À§ÇØ GEF 3.0 ÀÌ»óÀ» »ç¿ëÇϴ°ÍÀº ¹®Á¦°¡ ¾øÁö¸¸, Çâ ÈÄ EMF¸¦ °°ÀÌ »ç¿ëÇÒ °èȹÀÌ ÀÖ´Ù¸é EMF¿Í GEFÀÇ ¹öÀüÀ» ¸ÂÃ߱⠹ٶõ´Ù. EMF, GEF ¸ðµÎ µ¶¸³ÀûÀÎ ÇÁ·ÎÁ§Æ® ÀÌ°í µÎ°¡Áö Áß Çϳª¸¸ »ç¿ëÇØµµ ¹«¹æÇϳª 3.0 ÀÌÈÄ¿¡´Â ¼·Î¸¦ ÀǽÄÇØ¼ ÇÁ·ÎÁ§Æ®°¡ ¼ºÀåÇØ¿Ô´Ù.
![]()
eclipse.org/gef
´Ù¿î·Îµå´Â eclipse.org/gef¸¦ ÅëÇÏ¿© ¹Þ°í ¼³Ä¡ÇÏ¸é µÈ´Ù. ÆÐŰÁö Áß¿¡ ·±Å¸ÀÓ¿Í ¿¹Á¦°¡ °°ÀÌ ÀÖ´Â ÆÐŰÁö°¡ ÀÖ´Ù. À̰ÍÀ¸·Î ¹ÞÀÚ.
![]()
New Example
ÀÌ ¹öÀüÀ¸·Î ¹ÞÀ¸¸é Example Project¸¦ ¸¸µé ¼ö ÀÖ´Ù. Àß ¸¸µé¾îÁø ¿¹Á¦ ÀÌÁö¸¸ Áö±Ý ½ÃÁ¡¿¡¼´Â Å©°Ô µµ¿òÀÌ ¾ÈµÈ´Ù. Â÷ÈÄ Shapes ½ÃÀÛÀ¸·Î »ìÆì º¸±æ ¹Ù¶õ´Ù.
óÀ½ »ç¿ë ÇÏ´Â GEF
¸î¸î °³¹ß ÇÁ·¹ÀÓ¿öÅ© Ç÷¯±×ÀεéÀº ¼³Ä¡½Ã À§Àڵ带 Á¦°øÇϱ⵵ Çϳª ºÒÇàÈ÷µµ GEF´Â ¸öÀ¸·Î ºÎµóÃľßÇÑ´Ù. ÀÏ´Ü Ç÷¯±×ÀÎ ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇϰí Dependencies TabÀ¸·Î °¡ÀÚ.
Dependencies
ÀÏ´Ü GEF Ç÷¯±×ÀÎÀ» Æ÷ÇÔÇϰí ÀúÀåÇÏÀÚ. ÀÌ °úÁ¤À» ÅëÇØ PDE¿Í JDTÀÇ ÄÚµå ¾î½Ã½ºÆ®¸¦ ¹ÞÀ» ¼ö ÀÖ´Ù. ŸÀÌÇÎ ÇÒ ÀÏÀÌ ÁÙ¾îµç´Ù´Â ¶æÀÌ´Ù. ´ÙÀ½À¸·Î ¿ì¸®ÀÇ ÃÖÁ¾ ¸ñÇ¥´Â GEF¸¦ ÀÌ¿ëÇÏ¿© ¿¡µðÅ͸¦ ¸¸µå´Â°Í À̹ǷΠExtensions ÅÜÀ¸·Î °¡¼ Editor¸¦ Á¤ÀÇ ÇÏÀÚ.
![]()
Extensions
ÀûÀåÈ÷ À̸§ ºÎºÐ¸¸ ÀÔ·ÂÇØ ÁÖ°í class¸¦ Ŭ¸¯ÇÏÀÚ. À§ ȸ鿡¼´Â ÀÌ¹Ì ÇÊÀÚ°¡ ÀÛ¼ºÇØ ³õÀº ¿¹Á¦ ¿¡µðÅÍ À̱⠶§¹®¿¡ class Ç׸ñÀÌ Ã¼¿öÁ® ÀÖÁö¸¸ Ç׸ñÀÌ ºó »óÅ·ΠŬ¸¯À» ÇÏ°Ô µÇ¸é JDT¸¦ ÅëÇØ µµ¿òÀ» ¹ÞÀ» ¼ö ÀÖ´Ù.
![]()
New Java Class
±âÁ¸ ÀÏ¹Ý ¿¡µðÅÍ ¶ó¸é ´ç¿¬È÷ Superclass´Â org.eclipse.ui.part.EditorPart°¡ µÇ°ÚÁö¸¸ ¿ì¸®°¡ ¸¸µé°ÍÀº GEF À̹ǷΠ´Ù¸£´Ù. Browse¸¦ Ŭ¸¯ ÇÏÀÚ.
![]()
Superclass Selection
GEF(Graphical Editor Framework)´Ï±î Ŭ·¡½º´Â GraphicÀ¸·Î ½ÃÀÛÇÒ°Í °°±â¿¡ graphicÀ» ŸÀÌÇÎÇØ º¸¾Ò´Ù.(½ÇÁ¦ GEF 1.0´ç½Ã¿¡´Â ´Þ¶û ·±Å¸ÀÓ¸¸ ÀÖ°í ÂüÁ¶ÇÒ ¹®¼µµ ¿¹Á¦µµ ¾ø¾ú±â¿¡ ÀÌ·¸°Ô Á¢±Ù ÇÏ¿´´Ù.) ÀÏ´Ü ±×Áß ¸¶À½¿¡ µå´Â GraphicalEditorWithFlyoutPalette¸¦ ¼±Åà Çß´Ù.
![]()
GraphicalEditorWithFlyoutPalette JavaDoc
ÀÚ¹Ùµ¶À» Àо´Ï óÀ½ ½ÃÀÛÇÒ Å¬·¡½º·Î Àß ¼±ÅÃÇÑ°Í °°´Ù. ÀÌ Å¬·¡½º´Â GEF ¿¡µðÅÍÀÇ ±âº» Ŭ·¡½º°¡ ¾Æ´Ñ Àû´çÇÑ ¿ä¼ÒµéÀ» µÎ·ç °®Ãá Àû´çÇÑ Å¬·¡½ºÀÌ´Ù. GEFÀÇ ¿¡µðÅÍ Å¬·¡½º´Â ´ÙÀ½°ú °°´Ù.
GraphicalEditor GEF ¿¡µðÅÍÀÇ ±âº» Ŭ·¡½º GraphicalEditorWithPalette ÆÈ·§Æ®¸¦ Æ÷ÇÔÇÑ ¿¡µðÅÍ Å¬·¡½º GraphicalEditorWithFlyoutPalette À̵¿°¡´ÉÇÑ ÆÈ·§Æ®¸¦ Æ÷ÇÔÇÑ ¿¡µðÅÍ Å¬·¡½º
package net.jlab.get.example.editor;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.gef.palette.PaletteRoot;
import org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette;
public class SimpleGraphicalEditor extends GraphicalEditorWithFlyoutPalette {
public SimpleGraphicalEditor() {
// TODO Auto-generated constructor stub
}
@Override
protected PaletteRoot getPaletteRoot() {
// TODO Auto-generated method stub
return null;
}
@Override
public void doSave(IProgressMonitor monitor) {
// TODO Auto-generated method stub
}
}
¿©±â ±îÁöÀÇ °úÁ¤À» °ÅÄ¡¸é À§¿Í °°Àº ¿¡µðÅÍ stubÀÌ ¸¸µé¾î Áø´Ù. ÀÌ ½ÃÁ¡¿¡¼ ½ÇÇàÀÌ °¡´É ÇÏÁö¸¸ ¿¹¿Ü°¡ ¹ß»ý ÇÑ´Ù. GEF Editor´Â GEF EditorÀ̱â ÀÌÀü¿¡ Eclipse Editor·Î½áÀÇ Á¶°ÇÀ» ¸¸Á·ÇؾßÇÑ´Ù. 1Â÷ÀûÀ¸·Î EditorPartÀÇ Á¶°ÇÀ» ¸¸Á·ÇؾßÁö¸¸ Á¤»óÀûÀ¸·Î Workbech¿¡ ¹èÄ¡µÇ°í GEFÀÇ ±â´ÉÀÌ ·Îµù µÇ´Â°ÍÀÌ´Ù.
CommandStack command;
DefaultEditDomain domain;public SimpleGraphicalEditor() {
super();
domain = new DefaultEditDomain(this);
this.setEditDomain(domain);command = new CommandStack();
this.getEditDomain().setCommandStack(command);}
CommandStack¸¸ À־ ¿öÅ©º¥Ä¡ÀÇ ¿¡µðÅÍ ÃʱâÈ¿¡´Â ¹®Á¦°¡ ¾øÁö¸¸ µµ¸ÞÀÎ ¿ª½Ã ±âº» ¿ä¼Ò À̹ǷΠÃß°¡ÇØ ÁÖÀÚ. ¿©±â±îÁö ÇÑ´Ù¸é ¿öÅ©º¥Ä¡ÀÇ ¿¡µðÅͷνá´Â Á¶°ÇÀ» °®Ãß°Ô µÈ´Ù. ½ÇÇàÀ» ÇÏ¸é ¾Æ¹«·± ±â´ÉÀº ¾øÁö¸¸ ÆÈ·¡Æ®¿Í Ä˹ö½º°¡ ÀÖ´Â ¿¡µðÅͰ¡ ¿¹¿Ü ¹ß»ý ¾øÀÌ ÃʱâÈ µÈ´Ù.(¿¡µðÅÍ À̹ǷΠ¿©·¯ºÐÀÌ Á¤ÀÇÇÑ ¿¡µðÅÍÀÇ È®Àå¸íÀ» °®´Â ÆÄÀÏÀ» ¸¸µé¾î¾ß ¿¡µðÅͰ¡ ¿¸°´Ù)
Workbech
¿©±â±îÁö°¡ GEFÀÇ ¹ÝÀ» ¿Â°Å´Ù. ´ÙÀ½ ±â»ç¿¡¼´Â GEF ¿¡µðÅÍ·Î½á °®Ãß¾î¾ß ÇÒ Á¶°Ç¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ.
| °ü·Ã Á¦ÀÌ·¦ ±â»ç | |
| Áö´Ï°¡ GEF¸¦ ¸¸³µÀ» ¶§ 1 | http://www.jlab.net/news/20051107/news.htm |
| Áö´Ï°¡ GEF¸¦ ¸¸³µÀ» ¶§ 2 | http://www.jlab.net/news/20051206/news.htm |
| Á¤º¸ |
| ÀÌ ±â»ç´Â 2005³âµµÀÇ ±â»ç¸¦ ÀçÆíÁý ÇÏ¿© ¿¬ÀçÇÏ´Â ±â»çÀÔ´Ï´Ù. |
About Author
Çã¿øÁø
Á¦ÀÌ·¦ ´ëÇ¥ ¿î¿µÀÚ, Total Eclipse ´ëÇ¥ ÀúÀÚ, Eclipse Consultant, Juliet Scandal Project Leader. ÀÌŬ¸³½º ÇÁ·ÎÁ§Æ®µéÀ» Àû±Ø ÀÌ¿ëÇØ¼ Àúºñ¿ëÀ¸·Î Äè¼Ó°³¹ßÀ» Çϴµ¥ °ü½ÉÀÌ ¸¹´Ù. Contact
www.jlab.net
ÀÌ ÄÁÅÙÃ÷´Â JPL¿¡ ÀÇÇØ¼ º¸È£ ¹Þ½À´Ï´Ù. ¿ÀÅ» ÀÚ³ª °ÇÀÇ´Â À̰÷¿¡ ÇØÁֽʽÿÀ