°¡. ¿É¼Ç ±¸Á¶Ã¼

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¿¡´Â ¹®¹ý ¼³Á¤»óųª Àμ⠰ü·Ã ¼³Á¤°ªµéÀÌ Ãß°¡·Î ´õ µé¾î°¡¾ß ÇÑ´Ù. ÀÌ ¼³Á¤°ªÀº ´Ü¼ø º¯¼ö°¡ ¾Æ´Ï¶ó ŸÀÔÀ̱⠶§¹®¿¡ ¹Ì¸® Æ÷ÇÔ½Ãų ¼ö°¡ ¾øÀ¸¸ç °ü·Ã ºÎºÐ¿¡¼­ µû·Î Ãß°¡ÇÒ °ÍÀÌ´Ù.