ApiEdit´Â ÀÌÁ¦ ¾ÆÁÖ ¸¹Àº ¼³Á¤ º¯¼ö¸¦ °¡Áö°Ô µÇ¾úÀ¸¸ç ÀÌ º¯¼öµéÀ» ½ÇÇàÁß ¾ðÁ¦¶óµµ ¹Ù²Ù¸é ¸ð¾ç°ú µ¿ÀÛ¹æ½Ä¿¡ Áï°¢ÀûÀÎ º¯È°¡ »ý±â°Ô µÈ´Ù. ÇÏÁö¸¸ ¾ÆÁ÷ ¿É¼ÇÀ» º¯°æÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º°¡ ¾ø±â ¶§¹®¿¡ »ç¿ëÀÚµéÀÌ Á÷Á¢ ApiEditÀÇ ¼³Á¤À» º¯°æÇÒ ¹æ¹ýÀÌ ¾ø´Ù. ÀÌ Àý¿¡¼´Â ¼³Á¤ ´ëÈ»óÀÚ¸¦ ÅëÇØ ApiEditÀÇ ÇöÀç ¼³Á¤»óŸ¦ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÖ°í ¶ÇÇÑ º¯°æÇÒ ¼ö ÀÖµµ·Ï ÇÒ °ÍÀÌ´Ù. »Ó¸¸ ¾Æ´Ï¶ó È£½ºÆ® ÇÁ·Î±×·¥ÀÎ DangeunÀÇ ¼³Á¤»óŵµ ¼³Á¤ ´ëÈ»óÀÚ¸¦ ÅëÇØ º¯°æÇÒ ¼ö ÀÖ´Ù.
¼³Á¤ ´ëÈ»óÀÚ¸¦ ¸¸µé±â Àü¿¡ ¸ÕÀú ¼³Á¤ÀÇ ´ë»óÀÌ µÇ´Â ¿É¼Ç ±¸Á¶Ã¼¸¦ ¸¸µéµµ·Ï ÇÏÀÚ. ApiEdit°¢°¢¿¡ Èð¾îÁ® ÀÖ´Â ¼³Á¤»óŸ¦ ¼³Á¤ ´ëÈ»óÀÚ°¡ ÀÏÀÏÀÌ °ü¸®Çϱâ´Â ¾î·Æ±â ¶§¹®¿¡ ¸ðµç ¼³Á¤ ´ë»ó º¯¼öµéÀ» ÇÑ ±¸Á¶Ã¼¿¡ ¸ðÀ¸µµ·Ï ÇÑ´Ù. ÀÌ ±¸Á¶Ã¼´Â ´ç±Ù ÇÁ·ÎÁ§Æ®ÀÇ µ¿ÀÛÀ» º¸Á¶ÇϹǷΠDangeun.cpp¿¡ Á÷Á¢ ÀÛ¼ºÇÏÁö ¸»°í Util.h¿¡ ¼±¾ðÇÑ´Ù. ¼³Á¤ ´ëÈ»óÀÚ¸¦ ¸¸µå´Â ½Ç½ÀÀº Äڵ差ÀÌ ¸¹±â ¶§¹®¿¡ Á÷Á¢ ½Ç½ÀÀ» ÇÏ´Â °Íº¸´Ù´Â CD-ROM¿¡ ÀÖ´Â ¿¹Á¦¸¦ ºÐ¼®Çغ¸´Â °ÍÀÌ ´õ ÁÁÀ» °Í °°´Ù.
struct SOption
{
SOption() { Init(); }
void Init();
int GetMaxMru();
int GetUndoLimit();
void Load(TCHAR *Key);
void Save(TCHAR *Key);
int StartAction;
BOOL bExplorerPopup;
BOOL bAllowMulti;
BOOL bMaxFirstChild;
int MaxMru;
TCHAR DefExt[12];
BOOL Hangul;
BOOL bShowOutput;
int OutputHeight;
BOOL bInitFind;
BOOL bInitNextFind;
BOOL bShowToolBar;
BOOL bShowStatus;
BOOL bShowFileWnd;
int FileWndWidth;
BOOL bShowFileTab;
BOOL bShowHidden;
int FilterIndex;
BOOL bToolBarBig;
BOOL bToolBarText;
BOOL bBrowseMode;
BOOL bSoundFindFail;
BOOL bWatchChange;
BOOL bReloadNoAsk;
BOOL bReloadProject;
int LineRatio;
BOOL bWrap;
int nWrap;
int RightWrap;
int ColMark;
int HideSelType;
int nShowCurLine;
LOGFONT logfont;
BOOL bShowMargin;
BOOL bShowLineNum;
BOOL bShowEnter;
BOOL bShowTab;
BOOL bShowSpace;
int TabWidth;
BOOL bNoFirstSpace;
COLORREF MarColor1;
COLORREF MarColor2;
COLORREF NumColor;
COLORREF MarkColor;
int ShowTabType;
int ShowEnterType;
int ShowSpaceType;
COLORREF CodeColor;
COLORREF CurColor;
COLORREF cBack;
COLORREF cFore;
COLORREF cSelFore;
COLORREF cSelBack;
BOOL bUseLineEnd;
BOOL bAllowDrag;
int CaretWidth;
BOOL bHideCurLine;
BOOL bCalcTabWithAvg;
int UndoLimit;
BOOL bSpaceForTab;
BOOL bAutoIndent;
BOOL bBlockIndentWithTab;
BOOL bHomeToFirstChar;
int FindDlgPos;
};
»ý¼ºÀÚ¿Í Æı«ÀÚ¸¦ Æ÷ÇÔÇÑ ¸î °³ÀÇ ¸â¹öÇÔ¼ö°¡ Á¤ÀǵǾî ÀÖÀ¸¸ç ±× ¿Ü ¾ÆÁÖ ¸¹Àº º¯¼öµéÀÌ ÀÌ ±¸Á¶Ã¼¿¡ Æ÷ÇԵǾî ÀÖ´Ù. ¸â¹öÇÔ¼ö¸¦ °¡Áö°í ÀÖÁö¸¸ ¸ðµç ¸â¹ö¸¦ ±¸Á¶Ã¼ ¿ÜºÎ¿¡¼ ÀÚÀ¯ ÀÚÀç·Î ¾×¼¼½ºÇÒ ¼ö ÀÖ¾î¾ß ÇϹǷΠŬ·¡½º·Î ¸¸µéÁö ¾Ê¾ÒÀ¸¸ç ±¸Á¶Ã¼·Î ¸¸µé¾ú´Ù. ¹°·Ð Ŭ·¡½º·Î ¸¸µç ÈÄ ¸ðµç ¸â¹ö¸¦ publicÀ¸·Î ¼±¾ðÇصµ È¿°ú´Â µ¿ÀÏÇÏÁö¸¸ ÀÌ °æ¿ì´Â ¸ðµç ¸â¹ö°¡ °ø°³ÇØ¾ß ÇÏ´Â µ¥ÀÌÅ͵éÀ̹ǷΠ±¸Á¶Ã¼¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ ÇÕ¸®ÀûÀÌ´Ù.
SOption ±¸Á¶Ã¼¿¡´Â Á¤¸» ¸¹Àº ¿É¼Ç º¯¼öµéÀÌ Àִµ¥ Å©°Ô µÎ Á¾·ù·Î ±¸ºÐµÈ´Ù. ù ¹ø° Á¾·ù´Â ApiEdit¿¡ ÀÌ¹Ì ÀÖ´Â ¸â¹öµé¿¡ ´ëÇÑ »çº» º¯¼öÀÌ´Ù. LineRatio, HideSelType, bShowMargin µîÀÇ º¯¼öµéÀº ApiEdit¿¡ ¸â¹ö·Î Æ÷ÇԵǾî ÀÖ°í ¿ì¸®´Â ÀÌ¹Ì ±× Àǹ̸¦ Àß ÆľÇÇÏ°í ÀÖ´Ù. ÀÌ º¯¼öµéÀÌ ApiEditÀÇ ¼³Á¤°ªÀ» °¡Áö¸ç ÀÌ º¯¼öµéÀ» º¯°æÇÔÀ¸·Î½á ApiEditÀÇ ¼³Á¤À» °£Á¢ÀûÀ¸·Î º¯°æÇÑ´Ù.
±¸Á¶Ã¼ÀÇ º¯¼öµéÀ» º¸¸é ApiEdit ÄÁÆ®·Ñ¿¡ ÀÖ´Â ´ëºÎºÐÀÇ ¼³Á¤ º¯¼öµéÀÌ ¸ðµÎ Æ÷ÇԵǾî ÀÖ´Ù. ±×·¯³ª Á¦¿ÜµÈ º¯¼öµéµµ ÀÖÀ¸¸ç º¯¼ö°¡ °ªÀ» ±â¾ïÇÏ´Â ¹æ½ÄÀÌ ¾à°£ ´Þ¶óÁö´Â °Íµéµµ ÀÖ´Ù. bComp, bCapture °°Àº Àӽà Á¤º¸´Â ½ÇÇàÁßÀÇ »óÅ ÀúÀå¿¡ »ç¿ëµÇ¹Ç·Î ¼³Á¤ º¯¼ö¶ó ÇÒ ¼ö ¾ø´Ù. bWantTabµµ µ¿ÀÛ¿¡ ¿µÇâÀ» ¹ÌÄ¡±â´Â ÇÏÁö¸¸ »ç¿ëÀÚ°¡ ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¿É¼ÇÀÌ ¾Æ´Ï¶ó ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽ºÀ̹ǷΠÀÌ ±¸Á¶Ã¼¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â´Ù.
ÀÚµ¿°³Çà ¿É¼ÇÀ» Ç¥ÇöÇÏ´Â ¹æ½Äµµ ´Ù¸£´Ù. ApiEdit´Â nWrap Çϳª·Î ÀÚµ¿°³Çà ¹æ½ÄÀ» ÁöÁ¤ÇÏÁö¸¸ SOptionÀº µÎ °³ÀÇ º¯¼ö¸¦ µû·Î ¾´´Ù. bWrapÀº ÀÚµ¿°³ÇàÀ» ÇÒ °ÍÀΰ¡ ¾Æ´Ñ°¡¸¦, nWrapÀº ÇÏ°Ô µÈ´Ù¸é ¾î¶² ¹æ½ÄÀ¸·Î Á¤·ÄÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÏ´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô µÎ °³ÀÇ º¯¼ö¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â ÀÚµ¿°³Çà »óŸ¦ ½±°Ô Åä±ÛÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇؼÀÌ´Ù. ¸¶Áø Ãâ·Â ¿©ºÎ¸¦ ±â¾ïÇÏ´Â ¹æ½Äµµ ApiEdit¿Í´Â ´Ù¸£´Ù. ¸¶ÁøÀÇ ÆøÀ» ±â¾ïÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó º¸¿© ÁÙ °ÍÀΰ¡ ¾Æ´Ñ°¡¸¸ ±â¾ïÇϹǷΠSOption::bShowMarginÀº BOOL ŸÀÔÀ¸·Î ¼±¾ðµÇ¾î ÀÖ´Ù. »ö»óÀ» Ç¥ÇöÇÏ´Â ¹æ¹ýµµ ¿ÏÀüÈ÷ ´Ù¸¥µ¥ ÀÌ ±¸Á¶Ã¼°¡ »ö»óÀ» ¾î¶»°Ô Á¤ÀÇÇÏ´ÂÁö´Â »ö»ó ÆäÀÌÁö¿¡¼ º¸µµ·Ï ÇÏÀÚ.
µÎ ¹ø° Á¾·ù´Â ApiEdit¿Í »ó°üÀÌ ¾ø´Â StartAction, bExplorerPopup °°Àº ¿É¼ÇµéÀÌ´Ù. ÀÌ ¿É¼ÇµéÀº È£½ºÆ® ÇÁ·Î±×·¥ Áï, DangeunÀÇ ¿É¼ÇÀÌ´Ù. È£½ºÆ® ÇÁ·Î±×·¥µµ ´ç¿¬È÷ ¼³Á¤°ªÀ» °¡Áö´Âµ¥ ÀÌ ÀåÀÇ ÈĹݺο¡¼ºÎÅÍ Çϳª¾¿ ¸¸µé¾î ³ª°¥ °ÍÀÌ´Ù. ±½°Ô Ç¥½ÃµÈ °ÍµéÀº ¾ÆÁ÷±îÁö ±¸ÇöµÇÁö ¾Ê¾ÒÁö¸¸ ¾ÕÀ¸·Î ¸¸µé°Ô µÉ ¿É¼ÇµéÀε¥ ¹Ì¸® ³Ö¾î µÎ¾ú´Ù. ÀÏÁ¾ÀÇ ½Ç½À ÆíÀǸ¦ À§ÇÑ ¿¹ºñ µ¿ÀÛÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¿É¼ÇµéÀÌ Ãß°¡µÉ ¶§¸¶´Ù SOption¿¡ Ãß°¡ÇÏ°í Init¿¡¼ ÃʱâÈÇÏ°í Load, Save¿¡¼ ÀÔÃâ·ÂÇÏ°í ¿É¼Ç ´ëÈ»óÀÚ¿¡¼ °ü¸®¸¦ ÇØ¾ß Çϴµ¥ ºñ½Áºñ½ÁÇÑ Äڵ带 ¸Å¹ø ½Ç½ÀÇϱⰡ ¹ø°Å·Î¿ö ¹Ì¸® Æ÷ÇÔ½ÃÄÑ µÐ °ÍÀÌ´Ù.
ÀÌ ¿Ü¿¡µµ SOption¿¡´Â ¹®¹ý ¼³Á¤»óųª Àμ⠰ü·Ã ¼³Á¤°ªµéÀÌ Ãß°¡·Î ´õ µé¾î°¡¾ß ÇÑ´Ù. ÀÌ ¼³Á¤°ªÀº ´Ü¼ø º¯¼ö°¡ ¾Æ´Ï¶ó ŸÀÔÀ̱⠶§¹®¿¡ ¹Ì¸® Æ÷ÇÔ½Ãų ¼ö°¡ ¾øÀ¸¸ç °ü·Ã ºÎºÐ¿¡¼ µû·Î Ãß°¡ÇÒ °ÍÀÌ´Ù.