[NEW_FEATURE] (Author: Loreia L.) New implementation of User Defined Language - UDL2.

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@960 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
Don Ho 2012-09-28 21:04:16 +00:00
parent 275a78228b
commit a58e54bc68
21 changed files with 4875 additions and 3058 deletions

View File

@ -103,7 +103,7 @@ ToolBarButtonUnit toolBarIcons[] = {
{IDM_VIEW_WRAP, IDI_VIEW_WRAP_OFF_ICON, IDI_VIEW_WRAP_ON_ICON, IDI_VIEW_WRAP_OFF_ICON, IDR_WRAP},
{IDM_VIEW_ALL_CHARACTERS, IDI_VIEW_ALL_CHAR_OFF_ICON, IDI_VIEW_ALL_CHAR_ON_ICON, IDI_VIEW_ALL_CHAR_OFF_ICON, IDR_INVISIBLECHAR},
{IDM_VIEW_INDENT_GUIDE, IDI_VIEW_INDENT_OFF_ICON, IDI_VIEW_INDENT_ON_ICON, IDI_VIEW_INDENT_OFF_ICON, IDR_INDENTGUIDE},
{IDM_VIEW_USER_DLG, IDI_VIEW_UD_DLG_OFF_ICON, IDI_VIEW_UD_DLG_ON_ICON, IDI_VIEW_UD_DLG_OFF_ICON, IDR_SHOWPANNEL},
{IDM_LANG_USER_DLG, IDI_VIEW_UD_DLG_OFF_ICON, IDI_VIEW_UD_DLG_ON_ICON, IDI_VIEW_UD_DLG_OFF_ICON, IDR_SHOWPANNEL},
//-------------------------------------------------------------------------------------//
{0, IDI_SEPARATOR_ICON, IDI_SEPARATOR_ICON, IDI_SEPARATOR_ICON, IDI_SEPARATOR_ICON},
@ -615,8 +615,8 @@ LRESULT Notepad_plus::init(HWND hwnd)
}
// UserDefine Dialog
checkMenuItem(IDM_VIEW_USER_DLG, uddShow);
_toolBar.setCheck(IDM_VIEW_USER_DLG, uddShow);
checkMenuItem(IDM_LANG_USER_DLG, uddShow);
_toolBar.setCheck(IDM_LANG_USER_DLG, uddShow);
//launch the plugin dlg memorized at the last session
DockingManagerData &dmd = nppGUI._dockingData;
@ -3291,7 +3291,7 @@ void Notepad_plus::showFunctionComp()
autoC->showFunctionComplete();
}
static generic_string extractSymbol(TCHAR prefix, const TCHAR *str2extract)
static generic_string extractSymbol(TCHAR firstChar, TCHAR secondChar, const TCHAR *str2extract)
{
bool found = false;
TCHAR extracted[128] = TEXT("");
@ -3313,8 +3313,11 @@ static generic_string extractSymbol(TCHAR prefix, const TCHAR *str2extract)
if (!str2extract[i])
return TEXT("");
if (str2extract[i] == prefix)
if (str2extract[i] == firstChar && str2extract[i+1] == secondChar)
{
found = true;
++i;
}
}
}
return generic_string(extracted);
@ -3341,12 +3344,12 @@ bool Notepad_plus::doBlockComment(comment_mode currCommentMode)
if (!userLangContainer)
return false;
symbol = extractSymbol('0', userLangContainer->_keywordLists[4]);
symbol = extractSymbol('0', '0', userLangContainer->_keywordLists[SCE_USER_KWLIST_COMMENTS]);
commentLineSybol = symbol.c_str();
//--FLS: BlockToStreamComment: Needed to decide, if stream-comment can be called below!
symbolStart = extractSymbol('1', userLangContainer->_keywordLists[4]);
symbolStart = extractSymbol('0', '1', userLangContainer->_keywordLists[SCE_USER_KWLIST_COMMENTS]);
commentStart = symbolStart.c_str();
symbolEnd = extractSymbol('2', userLangContainer->_keywordLists[4]);
symbolEnd = extractSymbol('0', '2', userLangContainer->_keywordLists[SCE_USER_KWLIST_COMMENTS]);
commentEnd = symbolEnd.c_str();
}
else
@ -3495,12 +3498,12 @@ bool Notepad_plus::doStreamComment()
return false;
//--FLS: BlockToStreamComment: Next two lines needed to decide, if block-comment can be called below!
symbol = extractSymbol('0', userLangContainer->_keywordLists[4]);
symbol = extractSymbol('0', '0', userLangContainer->_keywordLists[SCE_USER_KWLIST_COMMENTS]);
commentLineSybol = symbol.c_str();
symbolStart = extractSymbol('1', userLangContainer->_keywordLists[4]);
symbolStart = extractSymbol('0', '1', userLangContainer->_keywordLists[SCE_USER_KWLIST_COMMENTS]);
commentStart = symbolStart.c_str();
symbolEnd = extractSymbol('2', userLangContainer->_keywordLists[4]);
symbolEnd = extractSymbol('0', '2', userLangContainer->_keywordLists[SCE_USER_KWLIST_COMMENTS]);
commentEnd = symbolEnd.c_str();
}
else
@ -5479,9 +5482,9 @@ bool Notepad_plus::undoStreamComment()
if (!userLangContainer)
return false;
symbolStart = extractSymbol('1', userLangContainer->_keywordLists[4]);
symbolStart = extractSymbol('0', '1', userLangContainer->_keywordLists[SCE_USER_KWLIST_COMMENTS]);
commentStart = symbolStart.c_str();
symbolEnd = extractSymbol('2', userLangContainer->_keywordLists[4]);
symbolEnd = extractSymbol('0', '2', userLangContainer->_keywordLists[SCE_USER_KWLIST_COMMENTS]);
commentEnd = symbolEnd.c_str();
}
else

View File

@ -408,7 +408,7 @@ BEGIN
MENUITEM "Word wrap", IDM_VIEW_WRAP
MENUITEM "Focus on Another View", IDM_VIEW_SWITCHTO_OTHER_VIEW
MENUITEM "Hide Lines", IDM_VIEW_HIDELINES
MENUITEM "User-Defined Dialogue...", IDM_VIEW_USER_DLG
//MENUITEM "User-Defined Dialogue...", IDM_VIEW_USER_DLG
MENUITEM SEPARATOR
MENUITEM "Fold All", IDM_VIEW_TOGGLE_FOLDALL
MENUITEM "Unfold All", IDM_VIEW_TOGGLE_UNFOLDALL
@ -642,7 +642,8 @@ BEGIN
MENUITEM "XML", IDM_LANG_XML
MENUITEM "YAML", IDM_LANG_YAML
MENUITEM SEPARATOR
MENUITEM "User-Defined", IDM_LANG_USER
MENUITEM "Define your language...", IDM_LANG_USER_DLG
MENUITEM "User-Defined", IDM_LANG_USER
END
POPUP "&Language"
@ -744,6 +745,7 @@ BEGIN
MENUITEM "XML", IDM_LANG_XML
MENUITEM "YAML", IDM_LANG_YAML
MENUITEM SEPARATOR
MENUITEM "Define your language...", IDM_LANG_USER_DLG
MENUITEM "User-Defined", IDM_LANG_USER
END

View File

@ -173,8 +173,8 @@ LRESULT Notepad_plus::process(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
case WM_CLOSE_USERDEFINE_DLG :
{
checkMenuItem(IDM_VIEW_USER_DLG, false);
_toolBar.setCheck(IDM_VIEW_USER_DLG, false);
checkMenuItem(IDM_LANG_USER_DLG, false);
_toolBar.setCheck(IDM_LANG_USER_DLG, false);
return TRUE;
}

View File

@ -711,7 +711,7 @@ void Notepad_plus::command(int id)
bookmarkClearAll();
break;
case IDM_VIEW_USER_DLG :
case IDM_LANG_USER_DLG :
{
bool isUDDlgVisible = false;
@ -776,8 +776,8 @@ void Notepad_plus::command(int id)
else //((!isUDDlgDocked)&&(!isUDDlgVisible))
udd->display();
}
checkMenuItem(IDM_VIEW_USER_DLG, !isUDDlgVisible);
_toolBar.setCheck(IDM_VIEW_USER_DLG, !isUDDlgVisible);
checkMenuItem(IDM_LANG_USER_DLG, !isUDDlgVisible);
_toolBar.setCheck(IDM_LANG_USER_DLG, !isUDDlgVisible);
break;
}

View File

@ -32,6 +32,7 @@
#include "ScintillaEditView.h"
#include "keys.h"
#include "localization.h"
#include "UserDefineDialog.h"
struct WinMenuKeyDefinition { //more or less matches accelerator table definition, easy copy/paste
//const TCHAR * name; //name retrieved from menu?
@ -169,10 +170,10 @@ WinMenuKeyDefinition winKeyDefs[] = {
{VK_NULL, IDM_VIEW_INDENT_GUIDE, false, false, false, NULL},
{VK_NULL, IDM_VIEW_WRAP, false, false, false, NULL},
{VK_NULL, IDM_VIEW_WRAP_SYMBOL, false, false, false, NULL},
{VK_NULL, IDM_VIEW_USER_DLG, false, false, false, NULL},
//{VK_NULL, IDM_VIEW_ZOOMIN, false, false, false, NULL},
//{VK_NULL, IDM_VIEW_ZOOMOUT, false, false, false, NULL},
//{VK_NULL, IDM_VIEW_ZOOMRESTORE, false, false, false, NULL},
{VK_NULL, IDM_LANG_USER_DLG, false, false, false, NULL},
// {VK_NULL, IDM_VIEW_ZOOMIN, false, false, false, NULL},
// {VK_NULL, IDM_VIEW_ZOOMOUT, false, false, false, NULL},
// {VK_NULL, IDM_VIEW_ZOOMRESTORE, false, false, false, NULL},
{VK_0, IDM_VIEW_TOGGLE_FOLDALL, false, true, false, NULL},
{VK_F, IDM_VIEW_FOLD_CURRENT, true, true, false, NULL},
{VK_1, IDM_VIEW_FOLD_1, false, true, false, NULL},
@ -399,34 +400,34 @@ ScintillaKeyDefinition scintKeyDefs[] = { //array of accelerator keys for all po
{TEXT("SCI_SWAPMAINANCHORCARET"), SCI_SWAPMAINANCHORCARET, false, false, false, 0, 0},
{TEXT("SCI_ROTATESELECTION"), SCI_ROTATESELECTION, false, false, false, 0, 0}
//{TEXT("SCI_EMPTYUNDOBUFFER"), SCI_EMPTYUNDOBUFFER, false, false, false, 0, 0},
//{TEXT("SCI_TOGGLECARETSTICKY"), SCI_TOGGLECARETSTICKY, false, false, false, 0, 0},
//{TEXT("SCI_CALLTIPCANCEL"), SCI_CALLTIPCANCEL, false, false, false, 0, 0},
//{TEXT("SCI_SETSAVEPOINT"), SCI_SETSAVEPOINT, false, false, false, 0, 0},
//{TEXT("SCI_CLEARDOCUMENTSTYLE"), SCI_CLEARDOCUMENTSTYLE, false, false, false, 0, 0},
// {TEXT("SCI_EMPTYUNDOBUFFER"), SCI_EMPTYUNDOBUFFER, false, false, false, 0, 0},
// {TEXT("SCI_TOGGLECARETSTICKY"), SCI_TOGGLECARETSTICKY, false, false, false, 0, 0},
// {TEXT("SCI_CALLTIPCANCEL"), SCI_CALLTIPCANCEL, false, false, false, 0, 0},
// {TEXT("SCI_SETSAVEPOINT"), SCI_SETSAVEPOINT, false, false, false, 0, 0},
// {TEXT("SCI_CLEARDOCUMENTSTYLE"), SCI_CLEARDOCUMENTSTYLE, false, false, false, 0, 0},
//
//
//{TEXT("SCI_CHOOSECARETX"), SCI_CHOOSECARETX, false, false, false, 0, 0},
//{TEXT("SCI_AUTOCCOMPLETE"), SCI_AUTOCCOMPLETE, false, false, false, 0, 0},
//{TEXT("SCI_AUTOCCANCEL"), SCI_AUTOCCANCEL, false, false, false, 0, 0},
//{TEXT("SCI_CLEARREGISTEREDIMAGES"), SCI_CLEARREGISTEREDIMAGES, false, false, false, 0, 0},
//{TEXT("SCI_HOMEDISPLAYEXTEND"), SCI_HOMEDISPLAYEXTEND, false, true, true, VK_HOME, 0},
//{TEXT("SCI_LINEENDDISPLAYEXTEND"), SCI_LINEENDDISPLAYEXTEND, false, true, true, VK_END, 0},
//
//{TEXT("SCI_DELWORDRIGHTEND"), SCI_DELWORDRIGHTEND, false, false, false, 0, 0},
//{TEXT("SCI_LOWERCASE"), SCI_LOWERCASE, false, false, false, 0, 0},
//{TEXT("SCI_UPPERCASE"), SCI_UPPERCASE, false, false, false, 0, 0},
//{TEXT("SCI_LOWERCASE"), SCI_LOWERCASE, true, false, false, VK_U, 0},
//{TEXT("SCI_UPPERCASE"), SCI_UPPERCASE, true, false, true, VK_U, 0},
//
//{TEXT("SCI_FORMFEED"), SCI_FORMFEED, true, false, false, VK_L, 0},
//{TEXT("SCI_CLEARALLCMDKEYS"), SCI_CLEARALLCMDKEYS, false, false, false, 0, 0},
//{TEXT("SCI_STARTRECORD"), SCI_STARTRECORD, false, false, false, 0, 0},
//{TEXT("SCI_STOPRECORD"), SCI_STOPRECORD, false, false, false, 0, 0},
//{TEXT("SCI_SEARCHANCHOR"), SCI_SEARCHANCHOR, false, false, false, 0, 0},
//{TEXT("SCI_TARGETFROMSELECTION"), SCI_TARGETFROMSELECTION, false, false, false, 0, 0},
//{TEXT("SCI_STYLERESETDEFAULT"), SCI_STYLERESETDEFAULT, false, false, false, 0, 0},
//{TEXT("SCI_STYLECLEARALL"), SCI_STYLECLEARALL, false, false, false, 0, 0},
// {TEXT("SCI_AUTOCCOMPLETE"), SCI_AUTOCCOMPLETE, false, false, false, 0, 0},
// {TEXT("SCI_AUTOCCANCEL"), SCI_AUTOCCANCEL, false, false, false, 0, 0},
// {TEXT("SCI_CLEARREGISTEREDIMAGES"), SCI_CLEARREGISTEREDIMAGES, false, false, false, 0, 0},
// {TEXT("SCI_HOMEDISPLAYEXTEND"), SCI_HOMEDISPLAYEXTEND, false, true, true, VK_HOME, 0},
// {TEXT("SCI_LINEENDDISPLAYEXTEND"), SCI_LINEENDDISPLAYEXTEND, false, true, true, VK_END, 0},
//
// {TEXT("SCI_DELWORDRIGHTEND"), SCI_DELWORDRIGHTEND, false, false, false, 0, 0},
// {TEXT("SCI_LOWERCASE"), SCI_LOWERCASE, false, false, false, 0, 0},
// {TEXT("SCI_UPPERCASE"), SCI_UPPERCASE, false, false, false, 0, 0},
// {TEXT("SCI_LOWERCASE"), SCI_LOWERCASE, true, false, false, VK_U, 0},
// {TEXT("SCI_UPPERCASE"), SCI_UPPERCASE, true, false, true, VK_U, 0},
//
// {TEXT("SCI_FORMFEED"), SCI_FORMFEED, true, false, false, VK_L, 0},
// {TEXT("SCI_CLEARALLCMDKEYS"), SCI_CLEARALLCMDKEYS, false, false, false, 0, 0},
// {TEXT("SCI_STARTRECORD"), SCI_STARTRECORD, false, false, false, 0, 0},
// {TEXT("SCI_STOPRECORD"), SCI_STOPRECORD, false, false, false, 0, 0},
// {TEXT("SCI_SEARCHANCHOR"), SCI_SEARCHANCHOR, false, false, false, 0, 0},
// {TEXT("SCI_TARGETFROMSELECTION"), SCI_TARGETFROMSELECTION, false, false, false, 0, 0},
// {TEXT("SCI_STYLERESETDEFAULT"), SCI_STYLERESETDEFAULT, false, false, false, 0, 0},
// {TEXT("SCI_STYLECLEARALL"), SCI_STYLECLEARALL, false, false, false, 0, 0},
//
};
@ -2155,12 +2156,16 @@ bool NppParameters::feedUserLang(TiXmlNode *node)
{
const TCHAR *name = (childNode->ToElement())->Attribute(TEXT("name"));
const TCHAR *ext = (childNode->ToElement())->Attribute(TEXT("ext"));
const TCHAR *udlVersion = (childNode->ToElement())->Attribute(TEXT("udlVersion"));
hasFoundElement = true;
try {
if (!name || !name[0] || !ext)
throw std::runtime_error("NppParameters::feedUserLang : UserLang name is missing");
_userLangArray[_nbUserLang] = new UserLangContainer(name, ext);
if (!udlVersion)
_userLangArray[_nbUserLang] = new UserLangContainer(name, ext, TEXT(""));
else
_userLangArray[_nbUserLang] = new UserLangContainer(name, ext, udlVersion);
_nbUserLang++;
TiXmlNode *settingsRoot = childNode->FirstChildElement(TEXT("Settings"));
@ -2181,6 +2186,14 @@ bool NppParameters::feedUserLang(TiXmlNode *node)
feedUserStyles(stylesRoot);
// styles that were not read from xml file should get default values
for (int i=0; i<SCE_USER_STYLE_TOTAL_STYLES; ++i)
{
Style & style = _userLangArray[_nbUserLang - 1]->_styleArray.getStyler(i);
if (style._styleID == -1)
_userLangArray[_nbUserLang - 1]->_styleArray.addStyler(i, styleNameMapper[i]);
}
} catch (std::exception e) {
delete _userLangArray[--_nbUserLang];
isEverythingOK = false;
@ -2524,20 +2537,6 @@ void NppParameters::removeUserLang(int index)
_nbUserLang--;
}
int NppParameters::getIndexFromKeywordListName(const TCHAR *name)
{
if (!name) return -1;
if (!lstrcmp(name, TEXT("Folder+"))) return 1;
else if (!lstrcmp(name, TEXT("Folder-"))) return 2;
else if (!lstrcmp(name, TEXT("Operators")))return 3;
else if (!lstrcmp(name, TEXT("Comment"))) return 4;
else if (!lstrcmp(name, TEXT("Words1"))) return 5;
else if (!lstrcmp(name, TEXT("Words2"))) return 6;
else if (!lstrcmp(name, TEXT("Words3"))) return 7;
else if (!lstrcmp(name, TEXT("Words4"))) return 8;
else if (!lstrcmp(name, TEXT("Delimiters"))) return 0;
else return -1;
}
void NppParameters::feedUserSettings(TiXmlNode *settingsRoot)
{
const TCHAR *boolStr;
@ -2546,31 +2545,44 @@ void NppParameters::feedUserSettings(TiXmlNode *settingsRoot)
{
boolStr = (globalSettingNode->ToElement())->Attribute(TEXT("caseIgnored"));
if (boolStr)
_userLangArray[_nbUserLang - 1]->_isCaseIgnored = !lstrcmp(TEXT("yes"), boolStr);
boolStr = (globalSettingNode->ToElement())->Attribute(TEXT("escapeChar"));
_userLangArray[_nbUserLang - 1]->_escapeChar[0] = (boolStr) ? boolStr[0] : 0;
}
TiXmlNode *treatAsSymbolNode = settingsRoot->FirstChildElement(TEXT("TreatAsSymbol"));
if (treatAsSymbolNode)
{
boolStr = (treatAsSymbolNode->ToElement())->Attribute(TEXT("comment"));
if (boolStr)
_userLangArray[_nbUserLang - 1]->_isCommentSymbol = !lstrcmp(TEXT("yes"), boolStr);
_userLangArray[_nbUserLang - 1]->_isCaseIgnored = !lstrcmp(TEXT("yes"), boolStr);
boolStr = (treatAsSymbolNode->ToElement())->Attribute(TEXT("commentLine"));
boolStr = (globalSettingNode->ToElement())->Attribute(TEXT("allowFoldOfComments"));
if (boolStr)
_userLangArray[_nbUserLang - 1]->_isCommentLineSymbol = !lstrcmp(TEXT("yes"), boolStr);
_userLangArray[_nbUserLang - 1]->_allowFoldOfComments = !lstrcmp(TEXT("yes"), boolStr);
boolStr = (globalSettingNode->ToElement())->Attribute(TEXT("forceLineCommentsAtBOL"));
if (boolStr)
_userLangArray[_nbUserLang - 1]->_forceLineCommentsAtBOL = !lstrcmp(TEXT("yes"), boolStr);
boolStr = (globalSettingNode->ToElement())->Attribute(TEXT("foldCompact"));
if (boolStr)
_userLangArray[_nbUserLang - 1]->_foldCompact = !lstrcmp(TEXT("yes"), boolStr);
}
TiXmlNode *prefixNode = settingsRoot->FirstChildElement(TEXT("Prefix"));
if (prefixNode)
{
TCHAR names[nbPrefixListAllowed][7] = {TEXT("words1"), TEXT("words2"), TEXT("words3"), TEXT("words4")};
for (int i = 0 ; i < nbPrefixListAllowed ; i++)
{
boolStr = (prefixNode->ToElement())->Attribute(names[i]);
if (boolStr)
_userLangArray[_nbUserLang - 1]->_isPrefix[i] = !lstrcmp(TEXT("yes"), boolStr);
}
const TCHAR *udlVersion = _userLangArray[_nbUserLang - 1]->_udlVersion.c_str();
if (!lstrcmp(udlVersion, TEXT("2.0")))
{
for (int i = 0 ; i < SCE_USER_TOTAL_KEYWORD_GROUPS ; i++)
{
boolStr = (prefixNode->ToElement())->Attribute(keywordListMapper[i+SCE_USER_KWLIST_KEYWORDS1]);
if (boolStr)
_userLangArray[_nbUserLang - 1]->_isPrefix[i] = !lstrcmp(TEXT("yes"), boolStr);
}
}
else // support for old style (pre 2.0)
{
TCHAR names[SCE_USER_TOTAL_KEYWORD_GROUPS][7] = {TEXT("words1"), TEXT("words2"), TEXT("words3"), TEXT("words4")};
for (int i = 0 ; i < 4 ; i++)
{
boolStr = (prefixNode->ToElement())->Attribute(names[i]);
if (boolStr)
_userLangArray[_nbUserLang - 1]->_isPrefix[i] = !lstrcmp(TEXT("yes"), boolStr);
}
}
}
}
@ -2581,30 +2593,136 @@ void NppParameters::feedUserKeywordList(TiXmlNode *node)
childNode = childNode->NextSibling(TEXT("Keywords")))
{
const TCHAR *keywordsName = (childNode->ToElement())->Attribute(TEXT("name"));
int i = getIndexFromKeywordListName(keywordsName);
if (i != -1)
{
TiXmlNode *valueNode = childNode->FirstChild();
if (valueNode)
{
const TCHAR *kwl = (valueNode)?valueNode->Value():(lstrcmp(keywordsName, TEXT("Delimiters"))?TEXT(""):TEXT("000000"));
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[i], kwl);
}
}
const TCHAR *udlVersion = _userLangArray[_nbUserLang - 1]->_udlVersion.c_str();
TCHAR *kwl = NULL;
TiXmlNode *valueNode = childNode->FirstChild();
if (valueNode)
{
if (!lstrcmp(udlVersion, TEXT("2.0")))
{
const int keywordsID = _tstoi((childNode->ToElement())->Attribute(TEXT("id")));
kwl = (valueNode)?valueNode->Value():TEXT("");
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[keywordsID], kwl);
}
else // support for old style (pre 2.0)
{
if (!lstrcmp(keywordsName, TEXT("Delimiters")))
{
basic_string<TCHAR> temp = TEXT("");
kwl = (valueNode)?valueNode->Value():TEXT("000000");
temp += TEXT("00"); if (kwl[0] != '0') temp += kwl[0]; temp += TEXT(" 01");
temp += TEXT(" 02"); if (kwl[3] != '0') temp += kwl[3];
temp += TEXT(" 03"); if (kwl[1] != '0') temp += kwl[1]; temp += TEXT(" 04");
temp += TEXT(" 05"); if (kwl[4] != '0') temp += kwl[4];
temp += TEXT(" 06"); if (kwl[2] != '0') temp += kwl[2]; temp += TEXT(" 07");
temp += TEXT(" 08"); if (kwl[5] != '0') temp += kwl[5];
temp += TEXT(" 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23");
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[SCE_USER_KWLIST_DELIMITERS], temp.c_str());
}
else if (!lstrcmp(keywordsName, TEXT("Operators")))
{
kwl = (valueNode)?valueNode->Value():TEXT("");
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[SCE_USER_KWLIST_OPERATORS1], kwl);
}
else if (!lstrcmp(keywordsName, TEXT("Folder+")))
{
kwl = (valueNode)?valueNode->Value():TEXT("");
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[SCE_USER_KWLIST_FOLDERS_IN_CODE1_OPEN], kwl);
}
else if (!lstrcmp(keywordsName, TEXT("Folder-")))
{
kwl = (valueNode)?valueNode->Value():TEXT("");
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[SCE_USER_KWLIST_FOLDERS_IN_CODE1_CLOSE], kwl);
}
else if (!lstrcmp(keywordsName, TEXT("Words1")))
{
kwl = (valueNode)?valueNode->Value():TEXT("");
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[SCE_USER_KWLIST_KEYWORDS1], kwl);
}
else if (!lstrcmp(keywordsName, TEXT("Words2")))
{
kwl = (valueNode)?valueNode->Value():TEXT("");
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[SCE_USER_KWLIST_KEYWORDS2], kwl);
}
else if (!lstrcmp(keywordsName, TEXT("Words3")))
{
kwl = (valueNode)?valueNode->Value():TEXT("");
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[SCE_USER_KWLIST_KEYWORDS3], kwl);
}
else if (!lstrcmp(keywordsName, TEXT("Words4")))
{
kwl = (valueNode)?valueNode->Value():TEXT("");
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[SCE_USER_KWLIST_KEYWORDS4], kwl);
}
else if (!lstrcmp(keywordsName, TEXT("Comment")))
{
kwl = (valueNode)?valueNode->Value():TEXT("");
//int len = _tcslen(kwl);
basic_string<TCHAR> temp = TEXT(" ");
temp += kwl;
size_t pos = 0;
pos = temp.find(TEXT(" 0"));
while (pos != string::npos)
{
temp.replace(pos, 2, TEXT(" 00"));
pos = temp.find(TEXT(" 0"), pos+1);
}
pos = temp.find(TEXT(" 1"));
while (pos != string::npos)
{
temp.replace(pos, 2, TEXT(" 03"));
pos = temp.find(TEXT(" 1"));
}
pos = temp.find(TEXT(" 2"));
while (pos != string::npos)
{
temp.replace(pos, 2, TEXT(" 04"));
pos = temp.find(TEXT(" 2"));
}
temp += TEXT(" 01 02");
if (temp[0] == ' ')
temp.erase(0, 1);
lstrcpy(_userLangArray[_nbUserLang - 1]->_keywordLists[SCE_USER_KWLIST_COMMENTS], temp.c_str());
}
}
}
}
}
void NppParameters::feedUserStyles(TiXmlNode *node)
{
bool oldVersion = false;
const TCHAR *udlVersion = _userLangArray[_nbUserLang - 1]->_udlVersion.c_str();
if (lstrcmp(udlVersion, TEXT("2.0")))
oldVersion = true;
for (TiXmlNode *childNode = node->FirstChildElement(TEXT("WordsStyle"));
childNode ;
childNode = childNode->NextSibling(TEXT("WordsStyle")))
{
int id;
const TCHAR *styleIDStr = (childNode->ToElement())->Attribute(TEXT("styleID"), &id);
if (oldVersion)
{
if (id >= SCE_USER_STYLE_MAPPER_TOTAL)
continue;
id = styleIdMApper[id];
if (id == -1)
continue;
}
if (styleIDStr)
{
_userLangArray[_nbUserLang - 1]->_styleArray.addStyler(id, childNode);
if (id < SCE_USER_STYLE_TOTAL_STYLES)
_userLangArray[_nbUserLang - 1]->_styleArray.addStyler((id | L_USER << 16), childNode);
}
}
}
@ -2704,26 +2822,40 @@ void LexerStylerArray::eraseAll()
void StyleArray::addStyler(int styleID, TiXmlNode *styleNode)
{
_styleArray[_nbStyler]._styleID = styleID;
int index = _nbStyler;
bool isUser = styleID >> 16 == L_USER;
if (isUser)
{
styleID = (styleID & 0xFFFF);
index = styleID;
if (index >= SCE_USER_STYLE_TOTAL_STYLES)
return;
}
_styleArray[index]._styleID = styleID;
if (styleNode)
{
TiXmlElement *element = styleNode->ToElement();
// TODO: translate to English
// Pour _fgColor, _bgColor :
// RGB() | (result & 0xFF000000) c'est pour le cas de -1 (0xFFFFFFFF)
// retourné par hexStrVal(str)
const TCHAR *str = element->Attribute(TEXT("name"));
if (str)
{
_styleArray[_nbStyler]._styleDesc = str;
if (isUser)
_styleArray[index]._styleDesc = styleNameMapper[index];
else
_styleArray[index]._styleDesc = str;
}
str = element->Attribute(TEXT("fgColor"));
if (str)
{
unsigned long result = hexStrVal(str);
_styleArray[_nbStyler]._fgColor = (RGB((result >> 16) & 0xFF, (result >> 8) & 0xFF, result & 0xFF)) | (result & 0xFF000000);
_styleArray[index]._fgColor = (RGB((result >> 16) & 0xFF, (result >> 8) & 0xFF, result & 0xFF)) | (result & 0xFF000000);
}
@ -2731,40 +2863,46 @@ void StyleArray::addStyler(int styleID, TiXmlNode *styleNode)
if (str)
{
unsigned long result = hexStrVal(str);
_styleArray[_nbStyler]._bgColor = (RGB((result >> 16) & 0xFF, (result >> 8) & 0xFF, result & 0xFF)) | (result & 0xFF000000);
_styleArray[index]._bgColor = (RGB((result >> 16) & 0xFF, (result >> 8) & 0xFF, result & 0xFF)) | (result & 0xFF000000);
}
str = element->Attribute(TEXT("colorStyle"));
if (str)
{
_styleArray[_nbStyler]._colorStyle = decStrVal(str);
_styleArray[index]._colorStyle = decStrVal(str);
}
str = element->Attribute(TEXT("fontName"));
_styleArray[_nbStyler]._fontName = str;
_styleArray[index]._fontName = str;
str = element->Attribute(TEXT("fontStyle"));
if (str)
{
_styleArray[_nbStyler]._fontStyle = decStrVal(str);
_styleArray[index]._fontStyle = decStrVal(str);
}
str = element->Attribute(TEXT("fontSize"));
if (str)
{
_styleArray[_nbStyler]._fontSize = decStrVal(str);
_styleArray[index]._fontSize = decStrVal(str);
}
str = element->Attribute(TEXT("nesting"));
if (str)
{
_styleArray[index]._nesting = decStrVal(str);
}
str = element->Attribute(TEXT("keywordClass"));
if (str)
{
_styleArray[_nbStyler]._keywordClass = getKwClassFromName(str);
_styleArray[index]._keywordClass = getKwClassFromName(str);
}
TiXmlNode *v = styleNode->FirstChild();
if (v)
{
_styleArray[_nbStyler]._keywords = new generic_string(v->Value());
_styleArray[index]._keywords = new generic_string(v->Value());
}
}
_nbStyler++;
@ -5125,61 +5263,57 @@ bool NppParameters::insertTabInfo(const TCHAR *langName, int tabInfo)
return false;
}
void NppParameters::writeStyle2Element(Style & style2Wite, Style & style2Sync, TiXmlElement *element)
void NppParameters::writeStyle2Element(Style & style2Write, Style & style2Sync, TiXmlElement *element)
{
if (HIBYTE(HIWORD(style2Wite._fgColor)) != 0xFF)
if (HIBYTE(HIWORD(style2Write._fgColor)) != 0xFF)
{
int rgbVal = RGB2int(style2Wite._fgColor);
int rgbVal = RGB2int(style2Write._fgColor);
TCHAR fgStr[7];
wsprintf(fgStr, TEXT("%.6X"), rgbVal);
element->SetAttribute(TEXT("fgColor"), fgStr);
}
if (HIBYTE(HIWORD(style2Wite._bgColor)) != 0xFF)
if (HIBYTE(HIWORD(style2Write._bgColor)) != 0xFF)
{
int rgbVal = RGB2int(style2Wite._bgColor);
int rgbVal = RGB2int(style2Write._bgColor);
TCHAR bgStr[7];
wsprintf(bgStr, TEXT("%.6X"), rgbVal);
element->SetAttribute(TEXT("bgColor"), bgStr);
}
if (style2Wite._colorStyle != COLORSTYLE_ALL)
if (style2Write._colorStyle != COLORSTYLE_ALL)
{
element->SetAttribute(TEXT("colorStyle"), style2Wite._colorStyle);
element->SetAttribute(TEXT("colorStyle"), style2Write._colorStyle);
}
if (style2Wite._fontName)
if (style2Write._fontName)
{
const TCHAR *oldFontName = element->Attribute(TEXT("fontName"));
if (lstrcmp(oldFontName, style2Wite._fontName))
if (lstrcmp(oldFontName, style2Write._fontName))
{
element->SetAttribute(TEXT("fontName"), style2Wite._fontName);
style2Sync._fontName = style2Wite._fontName = element->Attribute(TEXT("fontName"));
element->SetAttribute(TEXT("fontName"), style2Write._fontName);
style2Sync._fontName = style2Write._fontName = element->Attribute(TEXT("fontName"));
}
}
if (style2Wite._fontSize != -1)
if (style2Write._fontSize != -1)
{
if (!style2Wite._fontSize)
if (!style2Write._fontSize)
element->SetAttribute(TEXT("fontSize"), TEXT(""));
else
element->SetAttribute(TEXT("fontSize"), style2Wite._fontSize);
}
if (style2Wite._fontStyle != -1)
{
element->SetAttribute(TEXT("fontStyle"), style2Wite._fontStyle);
element->SetAttribute(TEXT("fontSize"), style2Write._fontSize);
}
element->SetAttribute(TEXT("fontStyle"), style2Write._fontStyle);
if (style2Wite._keywords)
if (style2Write._keywords)
{
TiXmlNode *teteDeNoeud = element->LastChild();
if (teteDeNoeud)
teteDeNoeud->SetValue(style2Wite._keywords->c_str());
teteDeNoeud->SetValue(style2Write._keywords->c_str());
else
element->InsertEndChild(TiXmlText(style2Wite._keywords->c_str()));
element->InsertEndChild(TiXmlText(style2Write._keywords->c_str()));
}
}
@ -5189,31 +5323,27 @@ void NppParameters::insertUserLang2Tree(TiXmlNode *node, UserLangContainer *user
rootElement->SetAttribute(TEXT("name"), userLang->_name);
rootElement->SetAttribute(TEXT("ext"), userLang->_ext);
rootElement->SetAttribute(TEXT("udlVersion"), TEXT("2.0"));
TiXmlElement *settingsElement = (rootElement->InsertEndChild(TiXmlElement(TEXT("Settings"))))->ToElement();
{
TiXmlElement *globalElement = (settingsElement->InsertEndChild(TiXmlElement(TEXT("Global"))))->ToElement();
globalElement->SetAttribute(TEXT("caseIgnored"), userLang->_isCaseIgnored?TEXT("yes"):TEXT("no"));
if (userLang->_escapeChar[0])
globalElement->SetAttribute(TEXT("escapeChar"), userLang->_escapeChar);
TiXmlElement *treatAsSymbolElement = (settingsElement->InsertEndChild(TiXmlElement(TEXT("TreatAsSymbol"))))->ToElement();
treatAsSymbolElement->SetAttribute(TEXT("comment"), userLang->_isCommentSymbol?TEXT("yes"):TEXT("no"));
treatAsSymbolElement->SetAttribute(TEXT("commentLine"), userLang->_isCommentLineSymbol?TEXT("yes"):TEXT("no"));
globalElement->SetAttribute(TEXT("caseIgnored"), userLang->_isCaseIgnored ? TEXT("yes"):TEXT("no"));
globalElement->SetAttribute(TEXT("allowFoldOfComments"), userLang->_allowFoldOfComments ? TEXT("yes"):TEXT("no"));
globalElement->SetAttribute(TEXT("forceLineCommentsAtBOL"), userLang->_forceLineCommentsAtBOL ? TEXT("yes"):TEXT("no"));
globalElement->SetAttribute(TEXT("foldCompact"), userLang->_foldCompact ? TEXT("yes"):TEXT("no"));
TiXmlElement *prefixElement = (settingsElement->InsertEndChild(TiXmlElement(TEXT("Prefix"))))->ToElement();
TCHAR names[nbPrefixListAllowed][7] = {TEXT("words1"), TEXT("words2"), TEXT("words3"), TEXT("words4")};
for (int i = 0 ; i < nbPrefixListAllowed ; i++)
prefixElement->SetAttribute(names[i], userLang->_isPrefix[i]?TEXT("yes"):TEXT("no"));
for (int i = 0 ; i < SCE_USER_TOTAL_KEYWORD_GROUPS ; i++)
prefixElement->SetAttribute(keywordListMapper[i+SCE_USER_KWLIST_KEYWORDS1], userLang->_isPrefix[i]?TEXT("yes"):TEXT("no"));
}
TiXmlElement *kwlElement = (rootElement->InsertEndChild(TiXmlElement(TEXT("KeywordLists"))))->ToElement();
const int nbKWL = 9;
TCHAR kwn[nbKWL][16] = {TEXT("Delimiters"), TEXT("Folder+"), TEXT("Folder-"), TEXT("Operators"), TEXT("Comment"), TEXT("Words1"), TEXT("Words2"), TEXT("Words3"), TEXT("Words4")};
for (int i = 0 ; i < nbKWL ; i++)
for (int i = 0 ; i < SCE_USER_KWLIST_TOTAL ; i++)
{
TiXmlElement *kwElement = (kwlElement->InsertEndChild(TiXmlElement(TEXT("Keywords"))))->ToElement();
kwElement->SetAttribute(TEXT("name"), kwn[i]);
kwElement->SetAttribute(TEXT("name"), keywordListMapper[i]);
kwElement->SetAttribute(TEXT("id"), i);
kwElement->InsertEndChild(TiXmlText(userLang->_keywordLists[i]));
}
@ -5222,54 +5352,52 @@ void NppParameters::insertUserLang2Tree(TiXmlNode *node, UserLangContainer *user
for (int i = 0 ; i < userLang->_styleArray.getNbStyler() ; i++)
{
TiXmlElement *styleElement = (styleRootElement->InsertEndChild(TiXmlElement(TEXT("WordsStyle"))))->ToElement();
Style style2Wite = userLang->_styleArray.getStyler(i);
Style style2Write = userLang->_styleArray.getStyler(i);
if (style2Write._styleID == -1)
continue;
styleElement->SetAttribute(TEXT("name"), style2Write._styleDesc);
styleElement->SetAttribute(TEXT("name"), style2Wite._styleDesc);
styleElement->SetAttribute(TEXT("styleID"), style2Write._styleID);
styleElement->SetAttribute(TEXT("styleID"), style2Wite._styleID);
//if (HIBYTE(HIWORD(style2Wite._fgColor)) != 0xFF)
//if (HIBYTE(HIWORD(style2Write._fgColor)) != 0xFF)
{
int rgbVal = RGB2int(style2Wite._fgColor);
int rgbVal = RGB2int(style2Write._fgColor);
TCHAR fgStr[7];
wsprintf(fgStr, TEXT("%.6X"), rgbVal);
styleElement->SetAttribute(TEXT("fgColor"), fgStr);
}
//if (HIBYTE(HIWORD(style2Wite._bgColor)) != 0xFF)
//if (HIBYTE(HIWORD(style2Write._bgColor)) != 0xFF)
{
int rgbVal = RGB2int(style2Wite._bgColor);
int rgbVal = RGB2int(style2Write._bgColor);
TCHAR bgStr[7];
wsprintf(bgStr, TEXT("%.6X"), rgbVal);
styleElement->SetAttribute(TEXT("bgColor"), bgStr);
}
if (style2Wite._colorStyle != COLORSTYLE_ALL)
if (style2Write._colorStyle != COLORSTYLE_ALL)
{
styleElement->SetAttribute(TEXT("colorStyle"), style2Wite._colorStyle);
styleElement->SetAttribute(TEXT("colorStyle"), style2Write._colorStyle);
}
if (style2Wite._fontName)
if (style2Write._fontName)
{
styleElement->SetAttribute(TEXT("fontName"), style2Wite._fontName);
styleElement->SetAttribute(TEXT("fontName"), style2Write._fontName);
}
if (style2Wite._fontStyle == -1)
{
styleElement->SetAttribute(TEXT("fontStyle"), TEXT("0"));
}
else
{
styleElement->SetAttribute(TEXT("fontStyle"), style2Wite._fontStyle);
}
styleElement->SetAttribute(TEXT("fontStyle"), style2Write._fontStyle);
if (style2Wite._fontSize != -1)
if (style2Write._fontSize != -1)
{
if (!style2Wite._fontSize)
if (!style2Write._fontSize)
styleElement->SetAttribute(TEXT("fontSize"), TEXT(""));
else
styleElement->SetAttribute(TEXT("fontSize"), style2Wite._fontSize);
styleElement->SetAttribute(TEXT("fontSize"), style2Write._fontSize);
}
styleElement->SetAttribute(TEXT("nesting"), style2Write._nesting);
}
}

View File

@ -65,6 +65,8 @@
#include "ContextMenu.h"
#endif //CONTEXTMENU
#include <tchar.h>
class NativeLangSpeaker;
using namespace std;
@ -250,6 +252,7 @@ struct DockingManagerData {
}
};
const int FONTSTYLE_NONE = 0;
const int FONTSTYLE_BOLD = 1;
const int FONTSTYLE_ITALIC = 2;
const int FONTSTYLE_UNDERLINE = 4;
@ -269,11 +272,12 @@ struct Style
const TCHAR *_fontName;
int _fontStyle;
int _fontSize;
int _nesting;
int _keywordClass;
generic_string *_keywords;
Style():_styleID(-1), _styleDesc(NULL), _fgColor(COLORREF(-1)), _bgColor(COLORREF(-1)), _colorStyle(COLORSTYLE_ALL), _fontName(NULL), _fontStyle(-1), _fontSize(-1), _keywordClass(-1), _keywords(NULL){};
Style():_styleID(-1), _styleDesc(NULL), _fgColor(COLORREF(-1)), _bgColor(COLORREF(-1)), _colorStyle(COLORSTYLE_ALL), _fontName(NULL), _fontStyle(FONTSTYLE_NONE), _fontSize(-1), _keywordClass(-1), _keywords(NULL), _nesting(0){};
~Style(){
if (_keywords)
@ -291,6 +295,7 @@ struct Style
_fontSize = style._fontSize;
_fontStyle = style._fontStyle;
_keywordClass = style._keywordClass;
_nesting = style._nesting;
if (style._keywords)
_keywords = new generic_string(*(style._keywords));
else
@ -309,6 +314,7 @@ struct Style
this->_fontSize = style._fontSize;
this->_fontStyle = style._fontStyle;
this->_keywordClass = style._keywordClass;
this->_nesting = style._nesting;
if (!(this->_keywords) && style._keywords)
this->_keywords = new generic_string(*(style._keywords));
@ -344,8 +350,6 @@ struct GlobalOverride
GlobalOverride():enableFg(false), enableBg(false), enableFont(false), enableFontSize(false), enableBold(false), enableItalic(false), enableUnderLine(false) {};
};
const int MAX_STYLE = 30;
struct StyleArray
{
public:
@ -372,15 +376,15 @@ public:
return _styleArray[index];
};
bool hasEnoughSpace() {return (_nbStyler < MAX_STYLE);};
bool hasEnoughSpace() {return (_nbStyler < SCE_USER_STYLE_TOTAL_STYLES);};
void addStyler(int styleID, TiXmlNode *styleNode);
void addStyler(int styleID, TCHAR *styleName) {
void addStyler(int styleID, const TCHAR *styleName) {
//ZeroMemory(&_styleArray[_nbStyler], sizeof(Style));;
_styleArray[_nbStyler]._styleID = styleID;
_styleArray[_nbStyler]._styleDesc = styleName;
_styleArray[_nbStyler]._fgColor = black;
_styleArray[_nbStyler]._bgColor = white;
_styleArray[styleID]._styleID = styleID;
_styleArray[styleID]._styleDesc = styleName;
_styleArray[styleID]._fgColor = black;
_styleArray[styleID]._bgColor = white;
_nbStyler++;
};
@ -401,7 +405,7 @@ public:
};
protected:
Style _styleArray[MAX_STYLE];
Style _styleArray[SCE_USER_STYLE_TOTAL_STYLES];
int _nbStyler;
};
@ -887,25 +891,26 @@ friend class KeyWordsStyleDialog;
friend class CommentStyleDialog;
friend class SymbolsStyleDialog;
friend class UserDefineDialog;
friend class StylerDlg;
public :
UserLangContainer(){
_name = TEXT("new user define");
_ext = TEXT("");
_escapeChar[0] = '\0';
_escapeChar[1] = '\0';
_udlVersion = TEXT("");
_allowFoldOfComments = false;
_forceLineCommentsAtBOL = false;
_foldCompact = false;
// Keywords list of Delimiters (index 0)
lstrcpy(_keywordLists[0], TEXT("000000"));
for (int i = 1 ; i < nbKeywodList ; i++)
for (int i = 0 ; i < SCE_USER_KWLIST_TOTAL ; i++)
*_keywordLists[i] = '\0';
};
UserLangContainer(const TCHAR *name, const TCHAR *ext) : _name(name), _ext(ext) {
// Keywords list of Delimiters (index 0)
lstrcpy(_keywordLists[0], TEXT("000000"));
_escapeChar[0] = '\0';
_escapeChar[1] = '\0';
for (int j = 1 ; j < nbKeywodList ; j++)
UserLangContainer(const TCHAR *name, const TCHAR *ext, const TCHAR *udlVer) : _name(name), _ext(ext), _udlVersion(udlVer) {
_allowFoldOfComments = false;
_forceLineCommentsAtBOL = false;
_foldCompact = false;
for (int j = 0 ; j < SCE_USER_KWLIST_TOTAL ; j++)
*_keywordLists[j] = '\0';
};
@ -914,10 +919,12 @@ public :
{
this->_name = ulc._name;
this->_ext = ulc._ext;
this->_escapeChar[0] = ulc._escapeChar[0];
this->_escapeChar[1] = '\0';
this->_udlVersion = ulc._udlVersion;
this->_isCaseIgnored = ulc._isCaseIgnored;
this->_styleArray = ulc._styleArray;
this->_allowFoldOfComments = ulc._allowFoldOfComments;
this->_forceLineCommentsAtBOL = ulc._forceLineCommentsAtBOL;
this->_foldCompact = ulc._foldCompact;
int nbStyler = this->_styleArray.getNbStyler();
for (int i = 0 ; i < nbStyler ; i++)
{
@ -927,28 +934,31 @@ public :
if (st._fgColor == COLORREF(-1))
st._fgColor = black;
}
for (int i = 0 ; i < nbKeywodList ; i++)
lstrcpy(this->_keywordLists[i], ulc._keywordLists[i]);
for (int i = 0 ; i < SCE_USER_KWLIST_TOTAL ; i++)
lstrcpy(this->_keywordLists[i], ulc._keywordLists[i]);
}
return *this;
};
int getNbKeywordList() {return nbKeywodList;};
// int getNbKeywordList() {return SCE_USER_KWLIST_TOTAL;};
const TCHAR * getName() {return _name.c_str();};
const TCHAR * getExtention() {return _ext.c_str();};
const TCHAR * getUdlVersion() {return _udlVersion.c_str();};
private:
StyleArray _styleArray;
generic_string _name;
generic_string _ext;
generic_string _udlVersion;
StyleArray _styleArray;
TCHAR _keywordLists[nbKeywodList][max_char];
//TCHAR _keywordLists[nbKeywodList][max_char];
TCHAR _keywordLists[SCE_USER_KWLIST_TOTAL][max_char];
bool _isCaseIgnored;
bool _isCommentLineSymbol;
bool _isCommentSymbol;
bool _isPrefix[nbPrefixListAllowed];
TCHAR _escapeChar[2];
bool _allowFoldOfComments;
bool _forceLineCommentsAtBOL;
bool _foldCompact;
bool _isPrefix[SCE_USER_TOTAL_KEYWORD_GROUPS];
};
#define MAX_EXTERNAL_LEXER_NAME_LEN 16
@ -1284,7 +1294,7 @@ public:
return false;
};
const TCHAR * getUserDefinedLangNameFromExt(TCHAR *ext) {
const TCHAR * getUserDefinedLangNameFromExt(TCHAR *ext, TCHAR *fullName) {
if ((!ext) || (!ext[0]))
return NULL;
@ -1293,7 +1303,7 @@ public:
vector<generic_string> extVect;
cutString(_userLangArray[i]->_ext.c_str(), extVect);
for (size_t j = 0 ; j < extVect.size() ; j++)
if (!generic_stricmp(extVect[j].c_str(), ext))
if (!generic_stricmp(extVect[j].c_str(), ext) || (_tcschr(fullName, '.') && !generic_stricmp(extVect[j].c_str(), fullName)))
return _userLangArray[i]->_name.c_str();
}
return NULL;
@ -1611,7 +1621,7 @@ private:
void getActions(TiXmlNode *node, Macro & macro);
bool getShortcuts(TiXmlNode *node, Shortcut & sc);
void writeStyle2Element(Style & style2Wite, Style & style2Sync, TiXmlElement *element);
void writeStyle2Element(Style & style2Write, Style & style2Sync, TiXmlElement *element);
void insertUserLang2Tree(TiXmlNode *node, UserLangContainer *userLang);
void insertCmd(TiXmlNode *cmdRoot, const CommandShortcut & cmd);
void insertMacro(TiXmlNode *macrosRoot, const MacroShortcut & macro);

View File

@ -117,7 +117,7 @@ void Buffer::setFileName(const TCHAR *fn, LangType defaultLang)
ext += 1;
// Define User Lang firstly
const TCHAR *langName = pNppParamInst->getUserDefinedLangNameFromExt(ext);
const TCHAR *langName = pNppParamInst->getUserDefinedLangNameFromExt(ext, _fileName);
if (langName)
{
newLang = L_USER;

View File

@ -475,8 +475,8 @@ void ScintillaEditView::setStyle(Style styleToSet)
if (go.enableFontSize && (style._fontSize > 0))
styleToSet._fontSize = style._fontSize;
if (style._fontStyle != -1)
{
//if (style._fontStyle != -1)
//{
if (go.enableBold)
{
if (style._fontStyle & FONTSTYLE_BOLD)
@ -498,7 +498,7 @@ void ScintillaEditView::setStyle(Style styleToSet)
else
styleToSet._fontStyle &= ~FONTSTYLE_UNDERLINE;
}
}
//}
}
}
setSpecialStyle(styleToSet);
@ -607,6 +607,7 @@ void ScintillaEditView::setEmbeddedAspLexer()
void ScintillaEditView::setUserLexer(const TCHAR *userLangName)
{
int setKeywordsCounter = 0;
execute(SCI_SETLEXER, SCLEX_USER);
UserLangContainer * userLangContainer = userLangName?NppParameters::getInstance()->getULCFromName(userLangName):_userDefineDlg._pCurrentUserLang;
@ -614,31 +615,154 @@ void ScintillaEditView::setUserLexer(const TCHAR *userLangName)
if (!userLangContainer)
return;
execute(SCI_SETPROPERTY, reinterpret_cast<WPARAM>("fold"), reinterpret_cast<LPARAM>("1"));
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.ignoreCase", (LPARAM)(userLangContainer->_isCaseIgnored?"1":"0"));
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.commentLineSymbol", (LPARAM)(userLangContainer->_isCommentLineSymbol?"1":"0"));
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.commentSymbol", (LPARAM)(userLangContainer->_isCommentSymbol?"1":"0"));
char buf[4];
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.escapeChar", reinterpret_cast<LPARAM>((userLangContainer->_escapeChar[0]) ? itoa(userLangContainer->_escapeChar[0],buf,10) : "0"));
const char strArray[4][20] = {"userDefine.g1Prefix", "userDefine.g2Prefix", "userDefine.g3Prefix", "userDefine.g4Prefix"};
for (int i = 0 ; i < 4 ; i++)
execute(SCI_SETPROPERTY, (WPARAM)strArray[i], (LPARAM)(userLangContainer->_isPrefix[i]?"1":"0"));
for (int i = 0 ; i < userLangContainer->getNbKeywordList() ; i++)
UINT codepage = CP_ACP;
UniMode unicodeMode = _currentBuffer->getUnicodeMode();
int encoding = _currentBuffer->getEncoding();
if (encoding == -1)
{
#ifdef UNICODE
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
const char * keyWords_char = wmc->wchar2char(userLangContainer->_keywordLists[i], CP_ACP);
execute(SCI_SETKEYWORDS, i, reinterpret_cast<LPARAM>(keyWords_char));
#else
execute(SCI_SETKEYWORDS, i, reinterpret_cast<LPARAM>(userLangContainer->_keywordLists[i]));
#endif
if (unicodeMode == uniUTF8 || unicodeMode == uniCookie)
codepage = CP_UTF8;
}
else
{
codepage = CP_OEMCP; // system OEM code page might not match user selection for character set,
// but this is the best match WideCharToMultiByte offers
}
execute(SCI_SETPROPERTY, reinterpret_cast<WPARAM>("fold"), reinterpret_cast<LPARAM>("1"));
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.isCaseIgnored", (LPARAM)(userLangContainer->_isCaseIgnored ? "1":"0"));
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.allowFoldOfComments", (LPARAM)(userLangContainer->_allowFoldOfComments ? "1":"0"));
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.forceLineCommentsAtBOL", (LPARAM)(userLangContainer->_forceLineCommentsAtBOL ? "1":"0"));
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.foldCompact", (LPARAM)(userLangContainer->_foldCompact ? "1":"0"));
char name[] = "userDefine.prefixKeywords0";
for (int i=0 ; i<SCE_USER_TOTAL_KEYWORD_GROUPS ; i++)
{
itoa(i+1, (name+25), 10);
execute(SCI_SETPROPERTY, (WPARAM)name, (LPARAM)(userLangContainer->_isPrefix[i]?"1":"0"));
}
// for (int i = 0 ; i < userLangContainer->getNbKeywordList() ; i++)
for (int i = 0 ; i < SCE_USER_KWLIST_TOTAL ; i++)
{
#ifndef UNICODE
const char * keyWords_char = userLangContainer->_keywordLists[i];
#else
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
const char * keyWords_char = wmc->wchar2char(userLangContainer->_keywordLists[i], codepage);
#endif
if (i == SCE_USER_KWLIST_COMMENTS)
{
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.comments", reinterpret_cast<LPARAM>(keyWords_char));
}
else if (i == SCE_USER_KWLIST_DELIMITERS)
{
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.delimiters", reinterpret_cast<LPARAM>(keyWords_char));
}
else if (i == SCE_USER_KWLIST_OPERATORS1)
{
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.operators1", reinterpret_cast<LPARAM>(keyWords_char));
}
else if (i == SCE_USER_KWLIST_NUMBER_EXTRA)
{
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.numberRanges", reinterpret_cast<LPARAM>(keyWords_char));
}
else if (i == SCE_USER_KWLIST_NUMBER_PREFIX)
{
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.numberPrefixes", reinterpret_cast<LPARAM>(keyWords_char));
}
else if (i == SCE_USER_KWLIST_NUMBER_EXTRAPREF)
{
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.extraCharsInPrefixed", reinterpret_cast<LPARAM>(keyWords_char));
}
else if (i == SCE_USER_KWLIST_NUMBER_SUFFIX)
{
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.numberSuffixes", reinterpret_cast<LPARAM>(keyWords_char));
}
else if (i == SCE_USER_KWLIST_FOLDERS_IN_CODE1_OPEN)
{
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.foldersInCode1Open", reinterpret_cast<LPARAM>(keyWords_char));
}
else if (i == SCE_USER_KWLIST_FOLDERS_IN_CODE1_MIDDLE)
{
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.foldersInCode1Middle", reinterpret_cast<LPARAM>(keyWords_char));
}
else if (i == SCE_USER_KWLIST_FOLDERS_IN_CODE1_CLOSE)
{
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.foldersInCode1Close", reinterpret_cast<LPARAM>(keyWords_char));
}
else // OPERATORS2, FOLDERS_IN_CODE2, FOLDERS_IN_COMMENT, KEYWORDS1-8
{
char temp[max_char];
bool inDoubleQuote = false;
bool inSingleQuote = false;
bool nonWSFound = false;
int index = 0;
for (unsigned int j=0; j<strlen(keyWords_char); ++j)
{
if (!inSingleQuote && keyWords_char[j] == '"')
{
inDoubleQuote = !inDoubleQuote;
continue;
}
if (!inDoubleQuote && keyWords_char[j] == '\'')
{
inSingleQuote = !inSingleQuote;
continue;
}
if (keyWords_char[j] == '\\' && (keyWords_char[j+1] == '"' || keyWords_char[j+1] == '\'' || keyWords_char[j+1] == '\\'))
{
++j;
temp[index++] = keyWords_char[j];
continue;
}
if (inDoubleQuote || inSingleQuote)
{
if (keyWords_char[j] > ' ') // copy non-whitespace unconditionally
{
temp[index++] = keyWords_char[j];
if (nonWSFound == false)
nonWSFound = true;
}
else if (nonWSFound == true && keyWords_char[j-1] != '"' && keyWords_char[j+1] != '"' && keyWords_char[j+1] > ' ')
{
temp[index++] = inDoubleQuote ? '\v' : '\b';
}
else
continue;
}
else
{
temp[index++] = keyWords_char[j];
}
}
temp[index++] = 0;
execute(SCI_SETKEYWORDS, setKeywordsCounter++, reinterpret_cast<LPARAM>(temp));
}
}
// at the end (position SCE_USER_KWLIST_TOTAL) send id values
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.udlName", reinterpret_cast<LPARAM>(userLangContainer->getName()));
execute(SCI_SETPROPERTY, (WPARAM)"userDefine.currentBufferID", reinterpret_cast<LPARAM>(_currentBufferID));
char intBuffer[10];
char nestingBuffer[] = "userDefine.nesting.00";
for (int i = 0 ; i < userLangContainer->_styleArray.getNbStyler() ; i++)
{
Style & style = userLangContainer->_styleArray.getStyler(i);
if (style._styleID == -1)
continue;
if (i < 10) itoa(i, (nestingBuffer+20), 10);
else itoa(i, (nestingBuffer+19), 10);
execute(SCI_SETPROPERTY, (WPARAM)nestingBuffer, (LPARAM)(itoa(style._nesting, intBuffer, 10)));
setStyle(style);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -7,10 +7,10 @@
// version 2 of the License, or (at your option) any later version.
//
// Note that the GPL places important restrictions on "derived works", yet
// it does not provide a detailed definition of that term. To avoid
// misunderstandings, we consider an application to constitute a
// it does not provide a detailed definition of that term. To avoid
// misunderstandings, we consider an application to constitute a
// "derivative work" for the purpose of this license if it does any of the
// following:
// following:
// 1. Integrates source code from Notepad++.
// 2. Integrates/includes/aggregates Notepad++ into a proprietary executable
// installer, such as those produced by InstallShield.
@ -24,332 +24,335 @@
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#ifndef USER_DEFINE_H
#define USER_DEFINE_H
#ifndef USERDEFINE_RC_H
#include "UserDefineResource.h"
#endif //USERDEFINE_RC_H
#ifndef CONTROLS_TAB_H
#include "ControlsTab.h"
#endif //CONTROLS_TAB_H
#ifndef COLOUR_PICKER_H
#include "ColourPicker.h"
#endif //COLOUR_PICKER_H
#ifndef PARAMETERS_H
#include "Parameters.h"
#endif //PARAMETERS_H
#ifndef URLCTRL_INCLUDED
#include "URLCtrl.h"
#endif// URLCTRL_INCLUDED
#ifdef __GNUC__
static int min(int a, int b) {
return (a<b)?a:b;
return (a<b)?a:b;
};
static int max(int a, int b) {
return (a>b)?a:b;
return (a>b)?a:b;
};
#endif //__GNUC__
#include "tchar.h"
#include "scilexer.h"
#include <map>
using namespace std;
class ScintillaEditView;
class UserLangContainer;
struct Style;
#define WL_LEN_MAX 1024
#define BOLD_MASK 1
#define ITALIC_MASK 2
const int nbWordList = 4;
const int nbBlockColor = 5;
const int nbBoolean = 5;
const bool DOCK = true;
const bool UNDOCK = false;
const int maxNbGroup = 10;
const int KWL_FOLDER_OPEN_INDEX = 1;
const int KWL_FOLDER_CLOSE_INDEX = 2;
const int KWL_OPERATOR_INDEX = 3;
const int KWL_COMMENT_INDEX = 4;
const int KWL_KW1_INDEX = 5;
const int KWL_KW2_INDEX = 6;
const int KWL_KW3_INDEX = 7;
const int KWL_KW4_INDEX = 8;
const int KWL_DELIM_INDEX = 0;
const int STYLE_DEFAULT_INDEX = 0;
const int STYLE_BLOCK_OPEN_INDEX = 1;
const int STYLE_BLOCK_CLOSE_INDEX = 2;
const int STYLE_WORD1_INDEX = 3;
const int STYLE_WORD2_INDEX = 4;
const int STYLE_WORD3_INDEX = 5;
const int STYLE_WORD4_INDEX = 6;
const int STYLE_COMMENT_INDEX = 7;
const int STYLE_COMMENTLINE_INDEX = 8;
const int STYLE_NUMBER_INDEX = 9;
const int STYLE_OPERATOR_INDEX = 10;
const int STYLE_DELIM2_INDEX = 11;
const int STYLE_DELIM3_INDEX = 12;
const TCHAR keywordListMapper[SCE_USER_KWLIST_TOTAL][32] = {
TEXT("Comments"), // SCE_USER_KWLIST_COMMENTS
TEXT("Numbers, additional"), // SCE_USER_KWLIST_NUMBER_EXTRA
TEXT("Numbers, prefixes"), // SCE_USER_KWLIST_NUMBER_PREFIX
TEXT("Numbers, extras with prefixes"), // SCE_USER_KWLIST_NUMBER_EXTRAPREF
TEXT("Numbers, suffixes"), // SCE_USER_KWLIST_NUMBER_SUFFIX
TEXT("Operators1"), // SCE_USER_KWLIST_OPERATORS1
TEXT("Operators2"), // SCE_USER_KWLIST_OPERATORS2
TEXT("Folders in code1, open"), // SCE_USER_KWLIST_FOLDERS_IN_CODE1_OPEN
TEXT("Folders in code1, middle"), // SCE_USER_KWLIST_FOLDERS_IN_CODE1_MIDDLE
TEXT("Folders in code1, close"), // SCE_USER_KWLIST_FOLDERS_IN_CODE1_CLOSE
TEXT("Folders in code2, open"), // SCE_USER_KWLIST_FOLDERS_IN_CODE2_OPEN
TEXT("Folders in code2, middle"), // SCE_USER_KWLIST_FOLDERS_IN_CODE2_MIDDLE
TEXT("Folders in code2, close"), // SCE_USER_KWLIST_FOLDERS_IN_CODE2_CLOSE
TEXT("Folders in comment, open"), // SCE_USER_KWLIST_FOLDERS_IN_COMMENT_OPEN
TEXT("Folders in comment, middle"), // SCE_USER_KWLIST_FOLDERS_IN_COMMENT_MIDDLE
TEXT("Folders in comment, close"), // SCE_USER_KWLIST_FOLDERS_IN_COMMENT_CLOSE
TEXT("Keywords1"), // SCE_USER_KWLIST_KEYWORDS1
TEXT("Keywords2"), // SCE_USER_KWLIST_KEYWORDS2
TEXT("Keywords3"), // SCE_USER_KWLIST_KEYWORDS3
TEXT("Keywords4"), // SCE_USER_KWLIST_KEYWORDS4
TEXT("Keywords5"), // SCE_USER_KWLIST_KEYWORDS5
TEXT("Keywords6"), // SCE_USER_KWLIST_KEYWORDS6
TEXT("Keywords7"), // SCE_USER_KWLIST_KEYWORDS7
TEXT("Keywords8"), // SCE_USER_KWLIST_KEYWORDS8
TEXT("Delimiters") // SCE_USER_KWLIST_DELIMITERS
};
const TCHAR styleNameMapper[SCE_USER_STYLE_TOTAL_STYLES][32] = {
TEXT("DEFAULT"), // 0 SCE_USER_STYLE_DEFAULT
TEXT("COMMENTS"), // 1 SCE_USER_STYLE_COMMENT
TEXT("LINE COMMENTS"), // 2 SCE_USER_STYLE_COMMENTLINE
TEXT("NUMBERS"), // 3 SCE_USER_STYLE_NUMBER
TEXT("KEYWORDS1"), // 4 SCE_USER_STYLE_KEYWORD1
TEXT("KEYWORDS2"), // 5 SCE_USER_STYLE_KEYWORD2
TEXT("KEYWORDS3"), // 6 SCE_USER_STYLE_KEYWORD3
TEXT("KEYWORDS4"), // 7 SCE_USER_STYLE_KEYWORD4
TEXT("KEYWORDS5"), // 8 SCE_USER_STYLE_KEYWORD5
TEXT("KEYWORDS6"), // 9 SCE_USER_STYLE_KEYWORD6
TEXT("KEYWORDS7"), // 10 SCE_USER_STYLE_KEYWORD7
TEXT("KEYWORDS8"), // 11 SCE_USER_STYLE_KEYWORD8
TEXT("OPERATORS"), // 12 SCE_USER_STYLE_OPERATOR
TEXT("FOLDER IN CODE1"), // 13 SCE_USER_STYLE_FOLDER_IN_CODE1
TEXT("FOLDER IN CODE2"), // 14 SCE_USER_STYLE_FOLDER_IN_CODE2
TEXT("FOLDER IN COMMENT"), // 15 SCE_USER_STYLE_FOLDER_IN_COMMENT
TEXT("DELIMITERS1"), // 16 SCE_USER_STYLE_DELIMITER1
TEXT("DELIMITERS2"), // 17 SCE_USER_STYLE_DELIMITER2
TEXT("DELIMITERS3"), // 18 SCE_USER_STYLE_DELIMITER3
TEXT("DELIMITERS4"), // 19 SCE_USER_STYLE_DELIMITER4
TEXT("DELIMITERS5"), // 20 SCE_USER_STYLE_DELIMITER5
TEXT("DELIMITERS6"), // 21 SCE_USER_STYLE_DELIMITER6
TEXT("DELIMITERS7"), // 22 SCE_USER_STYLE_DELIMITER7
TEXT("DELIMITERS8") // 23 SCE_USER_STYLE_DELIMITER8
};
const int styleIdMApper[SCE_USER_STYLE_MAPPER_TOTAL] = { // mapping sytle ID's between UDL 1.0 and UDL 2.0
-1, // -1 stands for: not used // 0
SCE_USER_STYLE_COMMENT, // 1
SCE_USER_STYLE_COMMENTLINE, // 2
-1, // 3
SCE_USER_STYLE_NUMBER, // 4
SCE_USER_STYLE_KEYWORD1, // 5
SCE_USER_STYLE_KEYWORD2, // 6
SCE_USER_STYLE_KEYWORD3, // 7
SCE_USER_STYLE_KEYWORD4, // 8
-1, // 9
SCE_USER_STYLE_OPERATOR, // 10
SCE_USER_STYLE_DEFAULT, // 11
SCE_USER_STYLE_FOLDER_IN_CODE1, // 12
-1, // 13
SCE_USER_STYLE_DELIMITER1, // 14
SCE_USER_STYLE_DELIMITER2, // 15
SCE_USER_STYLE_DELIMITER3, // 16
};
const int nestingMapper[][2] = {
{ IDC_STYLER_CHECK_NESTING_DELIMITER1, SCE_USER_MASK_NESTING_DELIMITER1 },
{ IDC_STYLER_CHECK_NESTING_DELIMITER2, SCE_USER_MASK_NESTING_DELIMITER2 },
{ IDC_STYLER_CHECK_NESTING_DELIMITER3, SCE_USER_MASK_NESTING_DELIMITER3 },
{ IDC_STYLER_CHECK_NESTING_DELIMITER4, SCE_USER_MASK_NESTING_DELIMITER4 },
{ IDC_STYLER_CHECK_NESTING_DELIMITER5, SCE_USER_MASK_NESTING_DELIMITER5 },
{ IDC_STYLER_CHECK_NESTING_DELIMITER6, SCE_USER_MASK_NESTING_DELIMITER6 },
{ IDC_STYLER_CHECK_NESTING_DELIMITER7, SCE_USER_MASK_NESTING_DELIMITER7 },
{ IDC_STYLER_CHECK_NESTING_DELIMITER8, SCE_USER_MASK_NESTING_DELIMITER8 },
{ IDC_STYLER_CHECK_NESTING_COMMENT, SCE_USER_MASK_NESTING_COMMENT },
{ IDC_STYLER_CHECK_NESTING_COMMENT_LINE, SCE_USER_MASK_NESTING_COMMENT_LINE },
{ IDC_STYLER_CHECK_NESTING_KEYWORD1, SCE_USER_MASK_NESTING_KEYWORD1 },
{ IDC_STYLER_CHECK_NESTING_KEYWORD2, SCE_USER_MASK_NESTING_KEYWORD2 },
{ IDC_STYLER_CHECK_NESTING_KEYWORD3, SCE_USER_MASK_NESTING_KEYWORD3 },
{ IDC_STYLER_CHECK_NESTING_KEYWORD4, SCE_USER_MASK_NESTING_KEYWORD4 },
{ IDC_STYLER_CHECK_NESTING_KEYWORD5, SCE_USER_MASK_NESTING_KEYWORD5 },
{ IDC_STYLER_CHECK_NESTING_KEYWORD6, SCE_USER_MASK_NESTING_KEYWORD6 },
{ IDC_STYLER_CHECK_NESTING_KEYWORD7, SCE_USER_MASK_NESTING_KEYWORD7 },
{ IDC_STYLER_CHECK_NESTING_KEYWORD8, SCE_USER_MASK_NESTING_KEYWORD8 },
{ IDC_STYLER_CHECK_NESTING_OPERATORS1, SCE_USER_MASK_NESTING_OPERATORS1 },
{ IDC_STYLER_CHECK_NESTING_OPERATORS2, SCE_USER_MASK_NESTING_OPERATORS2 },
{ IDC_STYLER_CHECK_NESTING_NUMBERS, SCE_USER_MASK_NESTING_NUMBERS }
};
class SharedParametersDialog : public StaticDialog
{
friend class StylerDlg;
public:
SharedParametersDialog() {};
SharedParametersDialog(int nbGroup) : _nbGroup(nbGroup) {};
virtual void updateDlg() = 0;
SharedParametersDialog() {};
virtual void updateDlg() = 0;
protected :
//Shared data
static UserLangContainer *_pUserLang;
static ScintillaEditView *_pScintilla;
//data for per object
int _nbGroup;
ColourPicker *_pFgColour[maxNbGroup];
ColourPicker *_pBgColour[maxNbGroup];
int _fgStatic[maxNbGroup];
int _bgStatic[maxNbGroup];
int _fontSizeCombo[maxNbGroup];
int _fontNameCombo[maxNbGroup];
//Shared data
static UserLangContainer *_pUserLang;
static ScintillaEditView *_pScintilla;
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam);
void initControls();
void styleUpdate(const Style & style, ColourPicker *pFgColourPicker, ColourPicker *pBgColourPicker,
int fontComboId, int fontSizeComboId, int boldCheckId, int italicCheckId, int underlineCheckId);
bool setPropertyByCheck(HWND hwnd, WPARAM id, bool & bool2set);
virtual void setKeywords2List(int ctrlID) = 0;
virtual int getGroupIndexFromCombo(int ctrlID, bool & isFontSize) const = 0;
virtual int getStylerIndexFromCP(HWND hWnd, bool & isFG, ColourPicker **ppCP) const = 0;
virtual int getGroupeIndexFromCheck(int ctrlID, int & fontStyleMask) const = 0;
bool setPropertyByCheck(HWND hwnd, WPARAM id, bool & bool2set);
virtual void setKeywords2List(int ctrlID) = 0;
};
class FolderStyleDialog : public SharedParametersDialog
{
public:
FolderStyleDialog();
void updateDlg();
FolderStyleDialog(): SharedParametersDialog() {};
void updateDlg();
protected :
void setKeywords2List(int ctrlID);
int getGroupIndexFromCombo(int ctrlID, bool & isFontSize) const;
int getStylerIndexFromCP(HWND hWnd, bool & isFG, ColourPicker **ppCP) const;
int getGroupeIndexFromCheck(int ctrlID, int & fontStyleMask) const;
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam);
void setKeywords2List(int ctrlID);
private :
void convertTo(TCHAR *dest, const TCHAR *toConvert, TCHAR *prefix) const;
void retrieve(TCHAR *dest, const TCHAR *toRetrieve, TCHAR *prefix) const;
URLCtrl _pageLink;
};
class KeyWordsStyleDialog : public SharedParametersDialog
{
public:
KeyWordsStyleDialog() ;
void updateDlg();
KeyWordsStyleDialog(): SharedParametersDialog() {};
void updateDlg();
protected :
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam);
void setKeywords2List(int id);
// SEE @REF #01
int getGroupIndexFromCombo(int ctrlID, bool & isFontSize) const;
int getStylerIndexFromCP(HWND hWnd, bool & isFG, ColourPicker **ppCP) const;
int getGroupeIndexFromCheck(int ctrlID, int & fontStyleMask) const;
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam);
void setKeywords2List(int id);
};
class CommentStyleDialog : public SharedParametersDialog
{
public :
CommentStyleDialog();
CommentStyleDialog(): SharedParametersDialog() {};
void updateDlg();
protected :
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam);
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam);
void setKeywords2List(int id);
int getGroupIndexFromCombo(int ctrlID, bool & isFontSize) const;
int getStylerIndexFromCP(HWND hWnd, bool & isFG, ColourPicker **ppCP) const;
int getGroupeIndexFromCheck(int ctrlID, int & fontStyleMask) const;
private :
void convertTo(TCHAR *dest, const TCHAR *toConvert, TCHAR prefix) const;
void retrieve(TCHAR *dest, const TCHAR *toRetrieve, TCHAR prefix) const;
void convertTo(TCHAR *dest, const TCHAR *toConvert, TCHAR *prefix) const;
void retrieve(TCHAR *dest, const TCHAR *toRetrieve, TCHAR *prefix) const;
};
class SymbolsStyleDialog : public SharedParametersDialog
class SymbolsStyleDialog : public SharedParametersDialog
{
public :
static const bool ADD;
static const bool REMOVE;
SymbolsStyleDialog();
void updateDlg();
void undeleteChar();
SymbolsStyleDialog(): SharedParametersDialog() {};
void updateDlg();
protected :
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam);
void setKeywords2List(int) {};
int getGroupIndexFromCombo(int ctrlID, bool & isFontSize) const;
int getStylerIndexFromCP(HWND hWnd, bool & isFG, ColourPicker **ppCP) const;
int getGroupeIndexFromCheck(int ctrlID, int & fontStyleMask) const;
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM lParam);
void setKeywords2List(int id);
private :
// 2 static const TCHAR * to have the compatibility with the old xml
static const TCHAR *_delimTag1;
static const TCHAR *_delimTag2;
TCHAR _lastEscapeChar;
void symbolAction(bool action);
void listboxsRemoveAll();
void listboxsInit();
void listboxsReInit() {
listboxsRemoveAll();
listboxsInit();
};
void convertTo(TCHAR *dest, const TCHAR *toConvert, TCHAR *prefix) const;
void retrieve(TCHAR *dest, const TCHAR *toRetrieve, TCHAR *prefix) const;
};
class UserDefineDialog : public SharedParametersDialog
class UserDefineDialog : public SharedParametersDialog
{
friend class ScintillaEditView;
public :
UserDefineDialog();
~UserDefineDialog();
void init(HINSTANCE hInst, HWND hPere, ScintillaEditView *pSev) {
if (!_pScintilla)
{
Window::init(hInst, hPere);
_pScintilla = pSev;
}
};
void setScintilla(ScintillaEditView *pScinView) {
_pScintilla = pScinView;
};
virtual void create(int dialogID, bool isRTL = false) {
StaticDialog::create(dialogID, isRTL);
}
void destroy() {
// A Ajouter les fils...
};
int getWidth() const {
return _dlgPos.right;
};
int getHeight() const {
return _dlgPos.bottom;
};
void doDialog(bool willBeShown = true, bool isRTL = false) {
if (!isCreated())
create(IDD_GLOBAL_USERDEFINE_DLG, isRTL);
display(willBeShown);
};
virtual void reSizeTo(RECT & rc) // should NEVER be const !!!
{
Window::reSizeTo(rc);
display(false);
display();
};
UserDefineDialog();
~UserDefineDialog();
void init(HINSTANCE hInst, HWND hPere, ScintillaEditView *pSev) {
if (!_pScintilla)
{
Window::init(hInst, hPere);
_pScintilla = pSev;
}
};
void setScintilla(ScintillaEditView *pScinView) {
_pScintilla = pScinView;
};
virtual void create(int dialogID, bool isRTL = false) {
StaticDialog::create(dialogID, isRTL);
}
void destroy() {
// A Ajouter les fils...
};
int getWidth() const {
return _dlgPos.right;
};
int getHeight() const {
return _dlgPos.bottom;
};
void doDialog(bool willBeShown = true, bool isRTL = false) {
if (!isCreated())
create(IDD_GLOBAL_USERDEFINE_DLG, isRTL);
display(willBeShown);
};
virtual void reSizeTo(RECT & rc) // should NEVER be const !!!
{
Window::reSizeTo(rc);
display(false);
display();
};
void reloadLangCombo();
void changeStyle();
void changeStyle();
bool isDocked() const {return _status == DOCK;};
void setDockStatus(bool isDocked) {_status = isDocked;};
int getNbKeywordList() {return nbKeywodList;};
bool isDirty() const {return _isDirty;};
HWND getFolderHandle() const {
return _folderStyleDlg.getHSelf();
};
HWND getKeywordsHandle() const {
return _keyWordsStyleDlg.getHSelf();
};
HWND getCommentHandle() const {
return _commentStyleDlg.getHSelf();
};
HWND getSymbolHandle() const {
return _symbolsStyleDlg.getHSelf();
};
void setTabName(int index, const TCHAR *name2set) {
_ctrlTab.renameTab(index, name2set);
};
void setDockStatus(bool isDocked) {_status = isDocked;};
bool isDirty() const {return _isDirty;};
HWND getFolderHandle() const {
return _folderStyleDlg.getHSelf();
};
HWND getKeywordsHandle() const {
return _keyWordsStyleDlg.getHSelf();
};
HWND getCommentHandle() const {
return _commentStyleDlg.getHSelf();
};
HWND getSymbolHandle() const {
return _symbolsStyleDlg.getHSelf();
};
void setTabName(int index, const TCHAR *name2set) {
_ctrlTab.renameTab(index, name2set);
};
protected :
virtual BOOL CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
virtual BOOL CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
private :
ControlsTab _ctrlTab;
WindowVector _wVector;
UserLangContainer *_pCurrentUserLang;
FolderStyleDialog _folderStyleDlg;
KeyWordsStyleDialog _keyWordsStyleDlg;
CommentStyleDialog _commentStyleDlg;
SymbolsStyleDialog _symbolsStyleDlg;
bool _status;
ControlsTab _ctrlTab;
WindowVector _wVector;
UserLangContainer *_pCurrentUserLang;
FolderStyleDialog _folderStyleDlg;
KeyWordsStyleDialog _keyWordsStyleDlg;
CommentStyleDialog _commentStyleDlg;
SymbolsStyleDialog _symbolsStyleDlg;
bool _status;
RECT _dlgPos;
int _currentHight;
int _yScrollPos;
int _currentHight;
int _yScrollPos;
int _prevHightVal;
bool _isDirty;
void getActualPosSize() {
bool _isDirty;
void getActualPosSize() {
::GetWindowRect(_hSelf, &_dlgPos);
_dlgPos.right -= _dlgPos.left;
_dlgPos.bottom -= _dlgPos.top;
};
void restorePosSize(){reSizeTo(_dlgPos);};
void enableLangAndControlsBy(int index);
void enableLangAndControlsBy(int index);
protected :
void setKeywords2List(int){};
int getGroupIndexFromCombo(int, bool &) const {return -1;};
int getStylerIndexFromCP(HWND, bool &, ColourPicker **) const {return -1;};
int getGroupeIndexFromCheck(int, int &) const {return -1;};
void updateDlg();
void setKeywords2List(int){};
void updateDlg();
};
class StringDlg : public StaticDialog
{
public :
StringDlg() : StaticDialog() {};
void init(HINSTANCE hInst, HWND parent, TCHAR *title, TCHAR *staticName, TCHAR *text2Set, int txtLen = 0) {
Window::init(hInst, parent);
_title = title;
_static = staticName;
_textValue = text2Set;
_txtLen = txtLen;
_title = title;
_static = staticName;
_textValue = text2Set;
_txtLen = txtLen;
};
long doDialog() {
return long(::DialogBoxParam(_hInst, MAKEINTRESOURCE(IDD_STRING_DLG), _hParent, (DLGPROC)dlgProc, (LPARAM)this));
return long(::DialogBoxParam(_hInst, MAKEINTRESOURCE(IDD_STRING_DLG), _hParent, (DLGPROC)dlgProc, (LPARAM)this));
};
virtual void destroy() {};
virtual void destroy() {};
protected :
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM);
BOOL CALLBACK run_dlgProc(UINT Message, WPARAM wParam, LPARAM);
private :
generic_string _title;
generic_string _title;
generic_string _textValue;
generic_string _static;
int _txtLen;
generic_string _static;
int _txtLen;
};
class StylerDlg
{
public:
StylerDlg( HINSTANCE hInst, HWND parent, int stylerIndex = 0, int enabledNesters = -1):
hInst(hInst), parent(parent), stylerIndex(stylerIndex), enabledNesters(enabledNesters)
{
pFgColour = new ColourPicker;
pBgColour = new ColourPicker;
initialStyle = SharedParametersDialog::_pUserLang->_styleArray.getStyler(stylerIndex);
};
~StylerDlg()
{
pFgColour->destroy();
pBgColour->destroy();
delete pFgColour;
delete pBgColour;
}
long doDialog() {
return long (::DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_STYLER_POPUP_DLG), parent, (DLGPROC)dlgProc, (LPARAM)this));
};
static BOOL CALLBACK dlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
public:
HINSTANCE hInst;
HWND parent;
int stylerIndex;
int enabledNesters;
ColourPicker * pFgColour;
ColourPicker * pBgColour;
Style initialStyle;
};
#endif //USER_DEFINE_H

View File

@ -31,249 +31,215 @@
#include <windows.h>
#include "UserDefineResource.h"
IDD_FOLDER_STYLE_DLG DIALOGEX 36, 44, 320, 460
IDD_FOLDER_STYLE_DLG DIALOGEX 36, 44, 337, 400
STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | WS_CHILD
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x0
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
GROUPBOX "Folder Open Keywords Settings", IDC_FOLDEROPEN_DESCGROUP_STATIC,5,114,300,127,BS_CENTER
LTEXT "Foreground color",IDC_FOLDEROPEN_FG_STATIC,27,144,58,8, 0,WS_EX_RIGHT
LTEXT "Background color",IDC_FOLDEROPEN_BG_STATIC,27,168,58,8, 0,WS_EX_RIGHT
COMBOBOX IDC_FOLDEROPEN_FONT_COMBO,185,140,104,78, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_FOLDEROPEN_FONTSIZE_COMBO,249,162,40,82, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_FOLDEROPEN_BOLD_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,141,166,46,10
CONTROL "Italic",IDC_FOLDEROPEN_ITALIC_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,141,179,47,10
GROUPBOX "Font style",IDC_FOLDEROPEN_FONTSTYLEGROUP_STATIC,133, 125,164,71
GROUPBOX "Colour style",IDC_FOLDEROPEN_COLORSTYLEGROUP_STATIC,15, 125,111,71
LTEXT "Font Name :",IDC_FOLDEROPEN_FONTNAME_STATIC,138,142,44, 8,0,WS_EX_RIGHT
LTEXT "Font size :",IDC_FOLDEROPEN_FONTSIZE_STATIC,212,164,35, 8,0,WS_EX_RIGHT
EDITTEXT IDC_FOLDEROPEN_EDIT,15,203,282,28,ES_MULTILINE | WS_VSCROLL
GROUPBOX "Folder Close Keywords Settings", IDC_FOLDERCLOSE_DESCGROUP_STATIC,5,246,300,125,BS_CENTER
LTEXT "Foreground color",IDC_FOLDERCLOSE_FG_STATIC,27,277,58,8,0,WS_EX_RIGHT
LTEXT "Background color",IDC_FOLDERCLOSE_BG_STATIC,27,301,58,8,0,WS_EX_RIGHT
COMBOBOX IDC_FOLDERCLOSE_FONT_COMBO,185,272,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_FOLDERCLOSE_FONTSIZE_COMBO,249,292,40,82, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_FOLDERCLOSE_BOLD_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,141,298,45,10
CONTROL "Italic",IDC_FOLDERCLOSE_ITALIC_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,141,312,46,10
GROUPBOX "Font style",IDC_FOLDERCLOSE_FONTSTYLEGROUP_STATIC,133,257,164,69
GROUPBOX "Colour style",IDC_FOLDERCLOSE_COLORSTYLEGROUP_STATIC,15,257,111,69
LTEXT "Font Name :",IDC_FOLDERCLOSE_FONTNAME_STATIC,138,273,45,8,0,WS_EX_RIGHT
LTEXT "Font size :",IDC_FOLDERCLOSE_FONTSIZE_STATIC,212,294,35, 8,0,WS_EX_RIGHT
EDITTEXT IDC_FOLDERCLOSE_EDIT,15,334,282,28,ES_MULTILINE | WS_VSCROLL
GROUPBOX "Default Style Settings",IDC_DEFAULT_DESCGROUP_STATIC,5,7, 300,92,BS_CENTER
LTEXT "Foreground color",IDC_DEFAULT_FG_STATIC,27,38,59,8,0, WS_EX_RIGHT
LTEXT "Background color",IDC_DEFAULT_BG_STATIC,27,62,59,8,0, WS_EX_RIGHT
COMBOBOX IDC_DEFAULT_FONT_COMBO,185,33,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_DEFAULT_FONTSIZE_COMBO,249,55,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_DEFAULT_BOLD_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,141,59,45,10
CONTROL "Italic",IDC_DEFAULT_ITALIC_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,141,73,46,10
GROUPBOX "Font style",IDC_DEFAULT_FONTSTYLEGROUP_STATIC,133,17, 164,73
GROUPBOX "Colour style",IDC_DEFAULT_COLORSTYLEGROUP_STATIC,15,17, 111,73
LTEXT "Font Name :",IDC_DEFAULT_FONTNAME_STATIC,137,34,47,8,0, WS_EX_RIGHT
LTEXT "Font size :",IDC_DEFAULT_FONTSIZE_STATIC,212,57,36,8,0, WS_EX_RIGHT
CONTROL "Underline",IDC_DEFAULT_UNDERLINE_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,214,73,59,10
CONTROL "Underline",IDC_FOLDEROPEN_UNDERLINE_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,213,179,59,10
CONTROL "Underline",IDC_FOLDERCLOSE_UNDERLINE_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,212,312,59,10
LTEXT "http://udl20.weebly.com/",IDC_WEB_HELP_LINK,44,45,114,13
LTEXT "Temporary doc site:",IDC_WEB_HELP_STATIC,44,31,114,13
GROUPBOX "Documentation:",IDC_WEB_HELP_DESCGROUP_STATIC,12,14,152,49
PUSHBUTTON "Styler",IDC_DEFAULT_STYLER,62,94,54,13
GROUPBOX "Default style:",IDC_DEFAULT_DESCGROUP_STATIC,12,71,152,49
CONTROL "Fold &compact (fold empty lines too)",IDC_FOLDER_FOLD_COMPACT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,143,152,11
EDITTEXT IDC_FOLDER_IN_COMMENT_OPEN_EDIT,186,62,131,22,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_FOLDER_IN_COMMENT_MIDDLE_EDIT,186,99,131,22,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_FOLDER_IN_COMMENT_CLOSE_EDIT,186,137,131,22,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_FOLDER_IN_COMMENT_STYLER,186,30,54,13
LTEXT "Open:",IDC_FOLDER_IN_COMMENT_OPEN_STATIC,186,53,113,8
LTEXT "Middle:",IDC_FOLDER_IN_COMMENT_MIDDLE_STATIC,186,89,113,9
LTEXT "Close:",IDC_FOLDER_IN_COMMENT_CLOSE_STATIC,186,126,113,9
GROUPBOX "Folding in comment style:",IDC_FOLDER_IN_COMMENT_DESCGROUP_STATIC,175,14,152,156,BS_CENTER
EDITTEXT IDC_FOLDER_IN_CODE1_OPEN_EDIT,22,236,131,22,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_FOLDER_IN_CODE1_MIDDLE_EDIT,22,273,131,22,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_FOLDER_IN_CODE1_CLOSE_EDIT,22,311,131,22,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_FOLDER_IN_CODE1_STYLER,22,203,54,13
LTEXT "Open:",IDC_FOLDER_IN_CODE1_OPEN_STATIC,23,224,113,9
LTEXT "Middle:",IDC_FOLDER_IN_CODE1_MIDDLE_STATIC,23,262,113,9
LTEXT "Close:",IDC_FOLDER_IN_CODE1_CLOSE_STATIC,23,299,113,9
GROUPBOX "Folding in code 1 style:",IDC_FOLDER_IN_CODE1_DESCGROUP_STATIC,12,186,152,156,BS_CENTER
EDITTEXT IDC_FOLDER_IN_CODE2_OPEN_EDIT,187,236,131,22,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_FOLDER_IN_CODE2_MIDDLE_EDIT,187,273,131,22,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_FOLDER_IN_CODE2_CLOSE_EDIT,187,311,131,22,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_FOLDER_IN_CODE2_STYLER,187,202,54,13
LTEXT "Open:",IDC_FOLDER_IN_CODE2_OPEN_STATIC,187,224,113,9
LTEXT "Middle:",IDC_FOLDER_IN_CODE2_MIDDLE_STATIC,187,261,113,9
LTEXT "Close:",IDC_FOLDER_IN_CODE2_CLOSE_STATIC,187,298,113,9
GROUPBOX "Folding in code 2 style (separators needed):",IDC_FOLDER_IN_CODE2_DESCGROUP_STATIC,176,186,152,156,BS_CENTER
END
IDD_KEYWORD_STYLE_DLG DIALOGEX 36, 44, 320, 460
IDD_SYMBOL_STYLE_DLG DIALOGEX 36, 44, 337, 550
STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | WS_CHILD
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x0
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
LTEXT "Foreground color",IDC_KEYWORD1_FG_STATIC,26,25,56,8,0, WS_EX_RIGHT
LTEXT "Background color",IDC_KEYWORD1_BG_STATIC,26,45,56,8,0,WS_EX_RIGHT
COMBOBOX IDC_KEYWORD1_FONT_COMBO,184,26,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_KEYWORD1_FONTSIZE_COMBO,248,42,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_KEYWORD1_BOLD_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,44,45,10
CONTROL "Italic",IDC_KEYWORD1_ITALIC_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,59,41,10
GROUPBOX "Font style",IDC_KEYWORD1_FONTSTYLEGROUP_STATIC,132,13,164,61
GROUPBOX "Colour style",IDC_KEYWORD1_COLORSTYLEGROUP_STATIC,14,13,111,49
LTEXT "Font Name :",IDC_KEYWORD1_FONTNAME_STATIC,136,27,44,8,0,WS_EX_RIGHT
LTEXT "Font size :",IDC_KEYWORD1_FONTSIZE_STATIC,212,44,34,8,0,WS_EX_RIGHT
EDITTEXT IDC_KEYWORD1_EDIT,14,78,282,28,ES_MULTILINE | WS_VSCROLL
GROUPBOX "1st Group",IDC_KEYWORD1_DESCGROUP_STATIC,4,3,300,109,BS_CENTER | BS_FLAT
LTEXT "Foreground color",IDC_KEYWORD2_FG_STATIC,26,136,56,8,0,WS_EX_RIGHT
LTEXT "Background color",IDC_KEYWORD2_BG_STATIC,26,157,56,8,0,WS_EX_RIGHT
COMBOBOX IDC_KEYWORD2_FONT_COMBO,184,138,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_KEYWORD2_FONTSIZE_COMBO,248,154,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_KEYWORD2_BOLD_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,156,46,10
CONTROL "Italic",IDC_KEYWORD2_ITALIC_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,172,43,10
GROUPBOX "Font style",IDC_KEYWORD2_FONTSTYLEGROUP_STATIC,132,125,164,62
GROUPBOX "Colour style",IDC_KEYWORD2_COLORSTYLEGROUP_STATIC,14,125,111,49
LTEXT "Font Name :",IDC_KEYWORD2_FONTNAME_STATIC,136,139,44,8,0,WS_EX_RIGHT
LTEXT "Font size :",IDC_KEYWORD2_FONTSIZE_STATIC,212,156,34,8,0,WS_EX_RIGHT
EDITTEXT IDC_KEYWORD2_EDIT,14,192,282,28,ES_MULTILINE | WS_VSCROLL
GROUPBOX "2nd Group",IDC_KEYWORD2_DESCGROUP_STATIC,4,115,300,110,BS_CENTER | BS_FLAT
LTEXT "Foreground color",IDC_KEYWORD3_FG_STATIC,26,248,56,8,0,WS_EX_RIGHT
LTEXT "Background color",IDC_KEYWORD3_BG_STATIC,26,269,56,8,0,WS_EX_RIGHT
COMBOBOX IDC_KEYWORD3_FONT_COMBO,184,250,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_KEYWORD3_FONTSIZE_COMBO,248,266,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_KEYWORD3_BOLD_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,268,45,10
CONTROL "Italic",IDC_KEYWORD3_ITALIC_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,283,44,10
GROUPBOX "Font style",IDC_KEYWORD3_FONTSTYLEGROUP_STATIC,132,237,164,61
GROUPBOX "Colour style",IDC_KEYWORD3_COLORSTYLEGROUP_STATIC,14,237,111,49
LTEXT "Font Name :",IDC_KEYWORD3_FONTNAME_STATIC,136,251,44,8,0,WS_EX_RIGHT
LTEXT "Font size :",IDC_KEYWORD3_FONTSIZE_STATIC,212,268,34,8,0,WS_EX_RIGHT
EDITTEXT IDC_KEYWORD3_EDIT,14,303,282,28,ES_MULTILINE | WS_VSCROLL
GROUPBOX "3rd Group",IDC_KEYWORD3_DESCGROUP_STATIC,4,227,300,110,BS_CENTER | BS_FLAT
LTEXT "Foreground color",IDC_KEYWORD4_FG_STATIC,26,362,57,8,0,WS_EX_RIGHT
LTEXT "Background color",IDC_KEYWORD4_BG_STATIC,26,383,57,8,0,WS_EX_RIGHT
COMBOBOX IDC_KEYWORD4_FONT_COMBO,184,363,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_KEYWORD4_FONTSIZE_COMBO,248,379,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_KEYWORD4_BOLD_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,381,44,10
CONTROL "Italic",IDC_KEYWORD4_ITALIC_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,396,44,10
GROUPBOX "Font style",IDC_KEYWORD4_FONTSTYLEGROUP_STATIC,132,350,164,60
GROUPBOX "Colour style",IDC_KEYWORD4_COLORSTYLEGROUP_STATIC,14, 350,111,50
LTEXT "Font Name :",IDC_KEYWORD4_FONTNAME_STATIC,136,364,44,8, 0,WS_EX_RIGHT
LTEXT "Font size :",IDC_KEYWORD4_FONTSIZE_STATIC,212,381,34,8, 0,WS_EX_RIGHT
EDITTEXT IDC_KEYWORD4_EDIT,14,416,282,28,ES_MULTILINE | WS_VSCROLL
GROUPBOX "4th Group",IDC_KEYWORD4_DESCGROUP_STATIC,4,340,300,111, BS_CENTER | BS_FLAT
CONTROL "Prefix mode",IDC_KEYWORD1_PREFIX_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,14,67,64,10
CONTROL "Prefix mode",IDC_KEYWORD2_PREFIX_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,14,180,64,10
CONTROL "Prefix mode",IDC_KEYWORD3_PREFIX_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,14,291,64,10
CONTROL "Prefix mode",IDC_KEYWORD4_PREFIX_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,14,404,64,10
CONTROL "Underline",IDC_KEYWORD4_UNDERLINE_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,211,396,58,10
CONTROL "Underline",IDC_KEYWORD3_UNDERLINE_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,211,283,61,10
CONTROL "Underline",IDC_KEYWORD1_UNDERLINE_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,211,59,59,10
CONTROL "Underline",IDC_KEYWORD2_UNDERLINE_CHECK,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,211,172,59,10
EDITTEXT IDC_OPERATOR1_EDIT,15,47,144,29,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_OPERATOR2_EDIT,178,47,144,29,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_OPERATOR_STYLER,14,28,54,13
GROUPBOX "Operators style",IDC_OPERATOR_DESCGROUP_STATIC,8,14,319,67,BS_CENTER
LTEXT "Operators1",IDC_OPERATOR1_STATIC,82,36,75,10,0,WS_EX_RIGHT
LTEXT "Operators2 (separators required)",IDC_OPERATOR2_STATIC,194,36,124,10,0,WS_EX_RIGHT
EDITTEXT IDC_DELIMITER1_BOUNDARYOPEN_EDIT,15,125,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER1_ESCAPE_EDIT,15,151,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER1_BOUNDARYCLOSE_EDIT,15,175,144,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_DELIMITER1_STYLER,15,100,54,13
LTEXT "Open: ",IDC_DELIMITER1_BOUNDARYOPEN_STATIC,15,115,144,8
LTEXT "Escape: ",IDC_DELIMITER1_ESCAPE_STATIC,15,140,144,8
LTEXT "Close: ",IDC_DELIMITER1_BOUNDARYCLOSE_STATIC,15,164,144,8
GROUPBOX "Delimiter1 style",IDC_DELIMITER1_DESCGROUP_STATIC,8,89,156,105,BS_RIGHT
EDITTEXT IDC_DELIMITER2_BOUNDARYOPEN_EDIT,178,125,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER2_ESCAPE_EDIT,178,151,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER2_BOUNDARYCLOSE_EDIT,178,175,144,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_DELIMITER2_STYLER,178,100,54,13
LTEXT "Open: ",IDC_DELIMITER2_BOUNDARYOPEN_STATIC,178,115,144,8
LTEXT "Escape: ",IDC_DELIMITER2_ESCAPE_STATIC,178,140,144,8
LTEXT "Close: ",IDC_DELIMITER2_BOUNDARYCLOSE_STATIC,178,164,144,8
GROUPBOX "Delimiter2 style",IDC_DELIMITER2_DESCGROUP_STATIC,172,89,156,105,BS_RIGHT
EDITTEXT IDC_DELIMITER3_BOUNDARYOPEN_EDIT,15,241,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER3_ESCAPE_EDIT,15,264,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER3_BOUNDARYCLOSE_EDIT,15,287,144,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_DELIMITER3_STYLER,15,215,54,13
LTEXT "Open: ",IDC_DELIMITER3_BOUNDARYOPEN_STATIC,15,230,144,8
LTEXT "Escape: ",IDC_DELIMITER3_ESCAPE_STATIC,15,255,144,8
LTEXT "Close: ",IDC_DELIMITER3_BOUNDARYCLOSE_STATIC,15,276,144,8
GROUPBOX "Delimiter3 style",IDC_DELIMITER3_DESCGROUP_STATIC,8,204,156,105,BS_RIGHT
EDITTEXT IDC_DELIMITER4_BOUNDARYOPEN_EDIT,178,241,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER4_ESCAPE_EDIT,178,264,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER4_BOUNDARYCLOSE_EDIT,178,287,144,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_DELIMITER4_STYLER,178,215,54,13
LTEXT "Open: ",IDC_DELIMITER4_BOUNDARYOPEN_STATIC,178,232,144,8
LTEXT "Escape: ",IDC_DELIMITER4_ESCAPE_STATIC,178,255,144,8
LTEXT "Close: ",IDC_DELIMITER4_BOUNDARYCLOSE_STATIC,178,278,144,8
GROUPBOX "Delimiter4 style",IDC_DELIMITER4_DESCGROUP_STATIC,172,204,156,105,BS_RIGHT
EDITTEXT IDC_DELIMITER5_BOUNDARYOPEN_EDIT,15,356,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER5_ESCAPE_EDIT,15,381,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER5_BOUNDARYCLOSE_EDIT,15,406,144,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_DELIMITER5_STYLER,17,331,54,13
LTEXT "Open: ",IDC_DELIMITER5_BOUNDARYOPEN_STATIC,15,347,144,8
LTEXT "Escape: ",IDC_DELIMITER5_ESCAPE_STATIC,15,372,144,8
LTEXT "Close: ",IDC_DELIMITER5_BOUNDARYCLOSE_STATIC,15,397,144,8
GROUPBOX "Delimiter5 style",IDC_DELIMITER5_DESCGROUP_STATIC,8,320,156,105,BS_RIGHT
EDITTEXT IDC_DELIMITER6_BOUNDARYOPEN_EDIT,178,356,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER6_ESCAPE_EDIT,178,381,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER6_BOUNDARYCLOSE_EDIT,178,406,144,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_DELIMITER6_STYLER,178,331,54,13
LTEXT "Open: ",IDC_DELIMITER6_BOUNDARYOPEN_STATIC,178,347,144,8
LTEXT "Escape: ",IDC_DELIMITER6_ESCAPE_STATIC,178,372,144,8
LTEXT "Close: ",IDC_DELIMITER6_BOUNDARYCLOSE_STATIC,178,397,144,8
GROUPBOX "Delimiter6 style",IDC_DELIMITER6_DESCGROUP_STATIC,172,320,156,105,BS_RIGHT
EDITTEXT IDC_DELIMITER7_BOUNDARYOPEN_EDIT,12,471,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER7_ESCAPE_EDIT,11,496,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER7_BOUNDARYCLOSE_EDIT,12,521,144,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_DELIMITER7_STYLER,15,446,54,13
LTEXT "Open: ",IDC_DELIMITER7_BOUNDARYOPEN_STATIC,178,460,144,8
LTEXT "Escape: ",IDC_DELIMITER7_ESCAPE_STATIC,178,487,144,8
LTEXT "Close: ",IDC_DELIMITER7_BOUNDARYCLOSE_STATIC,178,512,144,8
GROUPBOX "Delimiter7 style",IDC_DELIMITER7_DESCGROUP_STATIC,8,435,156,105,BS_RIGHT
EDITTEXT IDC_DELIMITER8_BOUNDARYOPEN_EDIT,178,471,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER8_ESCAPE_EDIT,178,496,144,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_DELIMITER8_BOUNDARYCLOSE_EDIT,178,521,144,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_DELIMITER8_STYLER,178,446,54,13
LTEXT "Open: ",IDC_DELIMITER8_BOUNDARYOPEN_STATIC,15,460,144,8
LTEXT "Escape: ",IDC_DELIMITER8_ESCAPE_STATIC,15,487,144,8
LTEXT "Close: ",IDC_DELIMITER8_BOUNDARYCLOSE_STATIC,15,512,144,8
GROUPBOX "Delimiter8 style",IDC_DELIMITER8_DESCGROUP_STATIC,172,435,156,105,BS_RIGHT
END
IDD_COMMENT_STYLE_DLG DIALOGEX 36, 44, 320, 460
IDD_KEYWORD_STYLE_DLG DIALOGEX 36, 44, 337, 470
STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | WS_CHILD
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x0
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
LTEXT "Foreground color ",IDC_COMMENTLINE_FG_STATIC,24,31,58,8,0,WS_EX_RIGHT
LTEXT "Background color",IDC_COMMENTLINE_BG_STATIC,24,52,58,8,0,WS_EX_RIGHT
COMBOBOX IDC_COMMENTLINE_FONT_COMBO,184,32,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_COMMENTLINE_FONTSIZE_COMBO,248,48,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_COMMENTLINE_BOLD_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,50,43,10
CONTROL "Italic",IDC_COMMENTLINE_ITALIC_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,65,43,10
GROUPBOX "Font style",IDC_COMMENTLINE_FONTSTYLEGROUP_STATIC,132,19,164,63
GROUPBOX "Colour style",IDC_COMMENTLINE_COLORSTYLEGROUP_STATIC,14,19,111,50
LTEXT "Font Name :",IDC_COMMENTLINE_FONTNAME_STATIC,140,33,40,8,0,WS_EX_RIGHT
LTEXT "Font size :",IDC_COMMENTLINE_FONTSIZE_STATIC,212,50,34,8,0,WS_EX_RIGHT
EDITTEXT IDC_COMMENTLINE_EDIT,14,90,282,28,ES_MULTILINE | WS_VSCROLL
GROUPBOX "Comment Line",IDC_COMMENTLINE_DESCGROUP_STATIC,4,7,300,119,BS_CENTER
LTEXT "Foreground color",IDC_NUMBER_FG_STATIC,24,302,58,8,0,WS_EX_RIGHT
LTEXT "Background color",IDC_NUMBER_BG_STATIC,24,325,58,8,0,WS_EX_RIGHT
COMBOBOX IDC_NUMBER_FONT_COMBO,183,300,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_NUMBER_FONTSIZE_COMBO,247,316,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_NUMBER_BOLD_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,139,317,44,10
CONTROL "Italic",IDC_NUMBER_ITALIC_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,139,333,44,10
GROUPBOX "Font style",IDC_NUMBER_FONTSTYLEGROUP_STATIC,131,288,164,60
GROUPBOX "Colour style",IDC_NUMBER_COLORSTYLEGROUP_STATIC,13,288,111,60
LTEXT "Font Name :",IDC_NUMBER_FONTNAME_STATIC,139,301,40,8,0,WS_EX_RIGHT
LTEXT "Font size :",IDC_NUMBER_FONTSIZE_STATIC,211,317,34,8,0,WS_EX_RIGHT
GROUPBOX "Number",IDC_NUMBER_DESCGROUP_STATIC,3,274,300,85,BS_CENTER
LTEXT "Foreground color",IDC_COMMENT_FG_STATIC,24,158,57,8,0,WS_EX_RIGHT
LTEXT "Background color",IDC_COMMENT_BG_STATIC,24,179,57,8,0,WS_EX_RIGHT
COMBOBOX IDC_COMMENT_FONT_COMBO,184,159,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_COMMENT_FONTSIZE_COMBO,248,175,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_COMMENT_BOLD_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,177,44,10
CONTROL "Italic",IDC_COMMENT_ITALIC_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,193,43,10
GROUPBOX "Font style",IDC_COMMENT_FONTSTYLEGROUP_STATIC,132,146,164,64
GROUPBOX "Colour style",IDC_COMMENT_COLORSTYLEGROUP_STATIC,14,146,111,50
LTEXT "Font Name :",IDC_COMMENT_FONTNAME_STATIC,140,160,40,8,0,WS_EX_RIGHT
LTEXT "Font size :",IDC_COMMENT_FONTSIZE_STATIC,212,177,34,8,0,WS_EX_RIGHT
EDITTEXT IDC_COMMENTOPEN_EDIT,14,229,133,28,ES_MULTILINE | WS_VSCROLL
GROUPBOX "Comment Block",IDC_COMMENT_DESCGROUP_STATIC,4,133,300,132,BS_CENTER
EDITTEXT IDC_COMMENTCLOSE_EDIT,157,229,139,28,ES_MULTILINE | WS_VSCROLL
LTEXT "Comment open :",IDC_COMMENTOPEN_STATIC,17,218,90,8
LTEXT "Comment close :",IDC_COMMENTCLOSE_STATIC,158,218,88,8
CONTROL "Treat keyword as symbol",IDC_COMMENTLINESYMBOL_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,78,112,10
CONTROL "Treat keywords as symbols",IDC_COMMENTSYMBOL_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,203,112,10
CONTROL "Underline",IDC_COMMENT_UNDERLINE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,211,193,59,10
CONTROL "Underline",IDC_COMMENTLINE_UNDERLINE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,212,65,59,10
CONTROL "Underline",IDC_NUMBER_UNDERLINE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,211,332,59,10
EDITTEXT IDC_KEYWORD1_EDIT,19,46,138,69,ES_MULTILINE | WS_VSCROLL | ES_WANTRETURN
GROUPBOX "1st group",IDC_KEYWORD1_DESCGROUP_STATIC,9,17,155,104,BS_CENTER
PUSHBUTTON "Styler",IDC_KEYWORD1_STYLER,18,29,53,13
CONTROL "Prefix mode",IDC_KEYWORD1_PREFIX_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,33,68,13
EDITTEXT IDC_KEYWORD2_EDIT,181,46,138,69,ES_MULTILINE | WS_VSCROLL | ES_WANTRETURN
GROUPBOX "2nd group",IDC_KEYWORD2_DESCGROUP_STATIC,171,17,155,104,BS_CENTER
PUSHBUTTON "Styler",IDC_KEYWORD2_STYLER,179,28,53,13
CONTROL "Prefix mode",IDC_KEYWORD2_PREFIX_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,251,33,68,13
EDITTEXT IDC_KEYWORD3_EDIT,20,154,138,69,ES_MULTILINE | WS_VSCROLL | ES_WANTRETURN
GROUPBOX "3rd group",IDC_KEYWORD3_DESCGROUP_STATIC,10,125,155,104,BS_CENTER
PUSHBUTTON "Styler",IDC_KEYWORD3_STYLER,18,136,53,13
CONTROL "Prefix mode",IDC_KEYWORD3_PREFIX_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,141,68,13
EDITTEXT IDC_KEYWORD4_EDIT,181,154,138,69,ES_MULTILINE | WS_VSCROLL | ES_WANTRETURN
GROUPBOX "4th group",IDC_KEYWORD4_DESCGROUP_STATIC,171,125,155,104,BS_CENTER
PUSHBUTTON "Styler",IDC_KEYWORD4_STYLER,179,136,53,13
CONTROL "Prefix mode",IDC_KEYWORD4_PREFIX_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,251,141,68,13
EDITTEXT IDC_KEYWORD5_EDIT,20,263,138,69,ES_MULTILINE | WS_VSCROLL | ES_WANTRETURN
GROUPBOX "5th group",IDC_KEYWORD5_DESCGROUP_STATIC,10,234,155,104,BS_CENTER
PUSHBUTTON "Styler",IDC_KEYWORD5_STYLER,18,245,53,13
CONTROL "Prefix mode",IDC_KEYWORD5_PREFIX_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,250,68,13
EDITTEXT IDC_KEYWORD6_EDIT,181,263,138,69,ES_MULTILINE | WS_VSCROLL | ES_WANTRETURN
GROUPBOX "6th group",IDC_KEYWORD6_DESCGROUP_STATIC,171,234,155,104,BS_CENTER
PUSHBUTTON "Styler",IDC_KEYWORD6_STYLER,179,245,53,13
CONTROL "Prefix mode",IDC_KEYWORD6_PREFIX_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,251,250,68,13
EDITTEXT IDC_KEYWORD7_EDIT,20,373,138,69,ES_MULTILINE | WS_VSCROLL | ES_WANTRETURN
GROUPBOX "7th group",IDC_KEYWORD7_DESCGROUP_STATIC,10,344,155,104,BS_CENTER
PUSHBUTTON "Styler",IDC_KEYWORD7_STYLER,18,355,53,13
CONTROL "Prefix mode",IDC_KEYWORD7_PREFIX_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,359,72,13
EDITTEXT IDC_KEYWORD8_EDIT,181,373,138,69,ES_MULTILINE | WS_VSCROLL | ES_WANTRETURN
GROUPBOX "8th group",IDC_KEYWORD8_DESCGROUP_STATIC,171,344,155,104,BS_CENTER
PUSHBUTTON "Styler",IDC_KEYWORD8_STYLER,179,355,53,13
CONTROL "Prefix mode",IDC_KEYWORD8_PREFIX_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,251,359,72,13
END
IDD_SYMBOL_STYLE_DLG DIALOGEX 36, 44, 320, 460
IDD_COMMENT_STYLE_DLG DIALOGEX 36, 44, 337, 400
STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | WS_CHILD
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x0
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
LISTBOX IDC_AVAILABLE_SYMBOLS_LIST,68,33,41,116,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "->",IDC_ADD_BUTTON,127,65,50,14
PUSHBUTTON "<-",IDC_REMOVE_BUTTON,127,94,50,14
LISTBOX IDC_ACTIVATED_SYMBOL_LIST,195,33,41,115,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
LTEXT "Activated operators",IDC_ACTIVATED_SYMBOL_STATIC,182,18,86,8
LTEXT "Available symbols",IDC_AVAILABLE_SYMBOLS_STATIC,59,18,90,8
LTEXT "Foreground color",IDC_SYMBOL_FG_STATIC,25,169,57,8,0,WS_EX_RIGHT
LTEXT "Background color",IDC_SYMBOL_BG_STATIC,25,192,57,8,0,WS_EX_RIGHT
COMBOBOX IDC_SYMBOL_FONT_COMBO,183,168,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SYMBOL_FONTSIZE_COMBO,247,184,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_SYMBOL_BOLD_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,139,185,44,10
CONTROL "Italic",IDC_SYMBOL_ITALIC_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,139,199,44,10
GROUPBOX "Font style",IDC_SYMBOL_FONTSTYLEGROUP_STATIC,131,155,164,59
GROUPBOX "Colour style",IDC_SYMBOL_COLORSTYLEGROUP_STATIC,13,155,111,59
LTEXT "Font Name :",IDC_SYMBOL_FONTNAME_STATIC,135,169,44,8,0,WS_EX_RIGHT
LTEXT "Font size :",IDC_SYMBOL_FONTSIZE_STATIC,211,185,34,8,0,WS_EX_RIGHT
GROUPBOX "Operator",IDC_SYMBOL_DESCGROUP_STATIC,3,5,300,216,BS_CENTER
CONTROL "Underline",IDC_SYMBOL_UNDERLINE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,211,199,59,10
LTEXT "Foreground color",IDC_SYMBOL_FG2_STATIC,26,288,56,8,0,WS_EX_RIGHT
LTEXT "Background color",IDC_SYMBOL_BG2_STATIC,26,309,56,8,0,WS_EX_RIGHT
COMBOBOX IDC_SYMBOL_FONT2_COMBO,184,286,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SYMBOL_BO2_COMBO,85,257,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_SYMBOL_BOLD2_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,304,45,10
CONTROL "Italic",IDC_SYMBOL_ITALIC2_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,319,41,10
GROUPBOX "Font style",IDC_SYMBOL_FONTSTYLEGROUP2_STATIC,132,273,164,60
GROUPBOX "Colour style",IDC_SYMBOL_COLORSTYLEGROUP2_STATIC,14,273,111,60
LTEXT "Font Name :",IDC_SYMBOL_FONTNAME2_STATIC,136,287,44,8,0,WS_EX_RIGHT
LTEXT "Boundary open :",IDC_SYMBOL_BO2_STATIC,9,259,74,8,0,WS_EX_RIGHT
CONTROL "Underline",IDC_SYMBOL_UNDERLINE2_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,211,319,59,10
COMBOBOX IDC_SYMBOL_BC2_COMBO,256,257,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Boundary close :",IDC_SYMBOL_BC2_STATIC,168,259,86,8,0,WS_EX_RIGHT
GROUPBOX "Delimiter 1",IDC_SYMBOL_DELIMGROUP1_STATIC,3,247,300,93,BS_CENTER | BS_FLAT
LTEXT "Foreground colour",IDC_SYMBOL_FG3_STATIC,26,389,56,8,0,WS_EX_RIGHT
LTEXT "Background colour",IDC_SYMBOL_BG3_STATIC,26,410,56,8,0,WS_EX_RIGHT
COMBOBOX IDC_SYMBOL_FONT3_COMBO,184,387,104,78,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SYMBOL_BO3_COMBO,85,359,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Bold",IDC_SYMBOL_BOLD3_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,405,45,10
CONTROL "Italic",IDC_SYMBOL_ITALIC3_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,420,41,10
GROUPBOX "Font Style",IDC_SYMBOL_FONTSTYLEGROUP3_STATIC,132,375,164,60
GROUPBOX "Colour Style",IDC_SYMBOL_COLORSTYLEGROUP3_STATIC,14,375,111,60
LTEXT "Font name :",IDC_SYMBOL_FONTNAME3_STATIC,136,388,44,8,0,WS_EX_RIGHT
LTEXT "Boundary open :",IDC_SYMBOL_BO3_STATIC,9,360,74,8,0,WS_EX_RIGHT
CONTROL "Underline",IDC_SYMBOL_UNDERLINE3_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,211,420,59,10
COMBOBOX IDC_SYMBOL_BC3_COMBO,256,359,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Boundary close :",IDC_SYMBOL_BC3_STATIC,168,360,86,8,0,WS_EX_RIGHT
GROUPBOX "Delimiter 2",IDC_SYMBOL_DELIMGROUP2_STATIC,3,348,300,93,BS_CENTER | BS_FLAT
COMBOBOX IDC_SYMBOL_FONTSIZE2_COMBO,248,303,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Font size :",IDC_SYMBOL_FONTSIZE2_STATIC,212,305,34,8,0,WS_EX_RIGHT
COMBOBOX IDC_SYMBOL_FONTSIZE3_COMBO,248,404,40,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Font size :",IDC_SYMBOL_FONTSIZE3_STATIC,212,406,34,8,0,WS_EX_RIGHT
CONTROL "Enable escape character :", IDC_HAS_ESCAPE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,227,110,10
EDITTEXT IDC_ESCAPE_CHAR,130,227,20,10,WS_TABSTOP
CONTROL "Allow folding of comments",IDC_FOLDING_OF_COMMENTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,11,206,14
CONTROL "Force line comments at beginning of line",IDC_FORCE_LINE_COMMENTS_AT_BOL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,30,206,14
EDITTEXT IDC_COMMENTLINE_OPEN_EDIT,20,105,138,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_COMMENTLINE_CONTINUE_EDIT,20,131,138,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_COMMENTLINE_CLOSE_EDIT,20,155,138,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_COMMENTLINE_STYLER,22,72,54,13
LTEXT "Open",IDC_COMMENTLINE_OPEN_STATIC,20,95,138,9
LTEXT "Continue character",IDC_COMMENTLINE_CONTINUE_STATIC,20,121,138,9
LTEXT "Close",IDC_COMMENTLINE_CLOSE_STATIC,20,145,138,9
GROUPBOX "Comment line style",IDC_COMMENTLINE_DESCGROUP_STATIC,10,58,155,119,BS_CENTER
EDITTEXT IDC_COMMENT_OPEN_EDIT,182,117,138,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_COMMENT_CLOSE_EDIT,182,145,138,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_COMMENT_STYLER,184,77,54,13
LTEXT "Open",IDC_COMMENT_OPEN_STATIC,182,107,138,9
LTEXT "Close",IDC_COMMENT_CLOSE_STATIC,182,136,138,9
GROUPBOX "Comment style",IDC_COMMENT_DESCGROUP_STATIC,172,58,155,119,BS_CENTER
GROUPBOX "Number style",IDC_NUMBER_DESCGROUP_STATIC,10,190,155,159,BS_CENTER
EDITTEXT IDC_NUMBER_PREFIX_EDIT,20,243,138,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_NUMBER_EXTRAPREF_EDIT,20,271,138,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_NUMBER_SUFFIX_EDIT,20,300,138,12,ES_MULTILINE | WS_VSCROLL
EDITTEXT IDC_NUMBER_EXTRA_EDIT,20,328,138,12,ES_MULTILINE | WS_VSCROLL
PUSHBUTTON "Styler",IDC_NUMBER_STYLER,24,205,54,13
LTEXT "Number prefixes (hex, octal, ...) :",IDC_NUMBER_PREFIX_STATIC,20,233,138,13
LTEXT "Extra characters in numbers with a prefix : ",IDC_NUMBER_EXTRAPREF_STATIC,20,261,138,13
LTEXT "Optional suffixes for numbers : ",IDC_NUMBER_SUFFIX_STATIC,20,290,138,13
LTEXT "Range symbols : ",IDC_NUMBER_EXTRA_STATIC,20,318,138,13
END
IDD_GLOBAL_USERDEFINE_DLG DIALOGEX 36, 44, 340, 550
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP |
WS_CAPTION | WS_VSCROLL | WS_SYSMENU
IDD_GLOBAL_USERDEFINE_DLG DIALOGEX 36, 44, 365, 670
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_VSCROLL | WS_SYSMENU
EXSTYLE WS_EX_TOOLWINDOW
CAPTION "User Defined Language"
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x0
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
LTEXT "User language : ",IDC_LANGNAME_STATIC,0,3,63,8,0,WS_EX_RIGHT
COMBOBOX IDC_LANGNAME_COMBO,64,1,90,58,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
CONTROL "Transparency",IDC_UD_TRANSPARENT_CHECK,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,165,3,66,10
CONTROL "",IDC_UD_PERCENTAGE_SLIDER,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | NOT WS_VISIBLE | WS_TABSTOP,225,3,53,10
PUSHBUTTON "Dock",IDC_DOCK_BUTTON,280,1,50,14,BS_FLAT
PUSHBUTTON "Create New...",IDC_ADDNEW_BUTTON,34,20,62,14
CONTROL "Transparency",IDC_UD_TRANSPARENT_CHECK,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,179,3,66,10
CONTROL "",IDC_UD_PERCENTAGE_SLIDER,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | NOT WS_VISIBLE | WS_TABSTOP,240,3,53,10
PUSHBUTTON "Dock",IDC_DOCK_BUTTON,298,1,50,14,BS_FLAT
PUSHBUTTON "Create New...",IDC_ADDNEW_BUTTON,34,20,62,14
PUSHBUTTON "Save As...",IDC_SAVEAS_BUTTON,104,20,62,14
CONTROL "Ignore case",IDC_LANGNAME_IGNORECASE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,175,24,76,10
RTEXT "Ext. :",IDC_EXT_STATIC,257,25,33,8,0,WS_EX_RIGHT
EDITTEXT IDC_EXT_EDIT,291,23,33,14,ES_AUTOHSCROLL
PUSHBUTTON "Import...",IDC_IMPORT_BUTTON,34,40,62,14
CONTROL "Ignore case",IDC_LANGNAME_IGNORECASE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,179,24,76,10
RTEXT "Ext. :",IDC_EXT_STATIC,259,25,33,8,0,WS_EX_RIGHT
EDITTEXT IDC_EXT_EDIT,293,23,33,14,ES_AUTOHSCROLL
PUSHBUTTON "Import...",IDC_IMPORT_BUTTON,34,40,62,14
PUSHBUTTON "Export...",IDC_EXPORT_BUTTON,104,40,62,14
PUSHBUTTON "Rename",IDC_RENAME_BUTTON,174,40,62,14
PUSHBUTTON "Remove",IDC_REMOVELANG_BUTTON,243,40,62,14
PUSHBUTTON "Rename",IDC_RENAME_BUTTON,179,40,62,14
PUSHBUTTON "Remove",IDC_REMOVELANG_BUTTON,248,40,62,14
END
IDD_STRING_DLG DIALOGEX 0, 0, 151, 52
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION |
WS_SYSMENU
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_TOOLWINDOW
FONT 8, TEXT("MS Shell Dlg"), 0, 0, 0x1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
LTEXT "STATIC :",IDC_STRING_STATIC,6,4,42,8,0,WS_EX_RIGHT
EDITTEXT IDC_STRING_EDIT,49,2,88,14
@ -281,5 +247,45 @@ BEGIN
PUSHBUTTON "Cancel",IDCANCEL,87,26,50,14
END
#endif //USERDEFINEDIALOG_RC
IDD_STYLER_POPUP_DLG DIALOGEX 100, 50, 324, 305
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Styler Dialog"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "OK",IDOK,100,280,50,14
PUSHBUTTON "Cancel",IDCANCEL,172,280,50,14
CONTROL "Bold",IDC_STYLER_CHECK_BOLD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,201,31,90,13
CONTROL "Italic",IDC_STYLER_CHECK_ITALIC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,201,45,90,13
CONTROL "Underline",IDC_STYLER_CHECK_UNDERLINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,201,59,90,13
COMBOBOX IDC_STYLER_COMBO_FONT_NAME,65,32,104,80,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_STYLER_COMBO_FONT_SIZE,65,53,104,77,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
RTEXT "Foreground color:",IDC_STYLER_FG_STATIC,14,85,75,11
RTEXT "Background color:",IDC_STYLER_BG_STATIC,153,86,75,11
CONTROL "Delimiter 1",IDC_STYLER_CHECK_NESTING_DELIMITER1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,38,132,76,13
CONTROL "Delimiter 2",IDC_STYLER_CHECK_NESTING_DELIMITER2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,38,149,76,13
CONTROL "Delimiter 3",IDC_STYLER_CHECK_NESTING_DELIMITER3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,38,166,76,13
CONTROL "Comment",IDC_STYLER_CHECK_NESTING_COMMENT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,209,132,76,13
CONTROL "Comment line",IDC_STYLER_CHECK_NESTING_COMMENT_LINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,209,149,76,13
CONTROL "Keyword 1",IDC_STYLER_CHECK_NESTING_KEYWORD1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,132,76,13
CONTROL "Keyword 2",IDC_STYLER_CHECK_NESTING_KEYWORD2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,149,76,13
CONTROL "Keyword 3",IDC_STYLER_CHECK_NESTING_KEYWORD3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,166,76,13
CONTROL "Keyword 4",IDC_STYLER_CHECK_NESTING_KEYWORD4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,183,76,13
GROUPBOX "Nesting:",IDC_STYLER_STATIC_NESTING_GROUP,14,116,295,157
GROUPBOX "Font options:",IDC_STYLER_STATIC_FONT_OPTIONS,14,15,295,95
CONTROL "Delimiter 4",IDC_STYLER_CHECK_NESTING_DELIMITER4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,38,183,76,13
CONTROL "Delimiter 5",IDC_STYLER_CHECK_NESTING_DELIMITER5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,38,200,76,13
CONTROL "Delimiter 6",IDC_STYLER_CHECK_NESTING_DELIMITER6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,38,217,76,13
CONTROL "Delimiter 7",IDC_STYLER_CHECK_NESTING_DELIMITER7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,38,234,76,13
CONTROL "Delimiter 8",IDC_STYLER_CHECK_NESTING_DELIMITER8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,38,251,76,13
CONTROL "Keyword 5",IDC_STYLER_CHECK_NESTING_KEYWORD5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,200,76,13
CONTROL "Keyword 6",IDC_STYLER_CHECK_NESTING_KEYWORD6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,217,76,13
CONTROL "Keyword 7",IDC_STYLER_CHECK_NESTING_KEYWORD7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,234,76,13
CONTROL "Keyword 8",IDC_STYLER_CHECK_NESTING_KEYWORD8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,251,76,13
RTEXT "Name:",IDC_STYLER_NAME_STATIC,23,32,36,12
RTEXT "Size:",IDC_STYLER_SIZE_STATIC,22,53,36,12
CONTROL "Operators 1",IDC_STYLER_CHECK_NESTING_OPERATORS1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,209,166,76,13
CONTROL "Operators 2",IDC_STYLER_CHECK_NESTING_OPERATORS2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,209,183,76,13
CONTROL "Numbers",IDC_STYLER_CHECK_NESTING_NUMBERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,209,200,76,13
END
#endif //USERDEFINEDIALOG_RC

View File

@ -29,16 +29,14 @@
#ifndef USER_DEFINE_LANG_REFERENCE_H
#define USER_DEFINE_LANG_REFERENCE_H
#ifndef SCILEXER_H
#include "scilexer.h"
#endif //SCILEXER_H
const int langNameLenMax = 16;
const int extsLenMax = 256;
const int nbKeywodList = 9;
//const int max_char = 4096;
const int max_char = 1024*30;
const int nbPrefixListAllowed = 4;
#endif //USER_DEFINE_LANG_REFERENCE_H

View File

@ -30,251 +30,273 @@
#define USERDEFINE_RC_H
#define IDD_GLOBAL_USERDEFINE_DLG 20000
#define IDC_DOCK_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 1)
#define IDC_RENAME_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 2)
#define IDC_ADDNEW_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 3)
#define IDC_REMOVELANG_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 4)
#define IDC_SAVEAS_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 5)
#define IDC_LANGNAME_COMBO (IDD_GLOBAL_USERDEFINE_DLG + 6)
#define IDC_LANGNAME_STATIC (IDD_GLOBAL_USERDEFINE_DLG + 7)
#define IDC_EXT_EDIT (IDD_GLOBAL_USERDEFINE_DLG + 8)
#define IDC_EXT_STATIC (IDD_GLOBAL_USERDEFINE_DLG + 9)
#define IDC_DOCK_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 1 )
#define IDC_RENAME_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 2 )
#define IDC_ADDNEW_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 3 )
#define IDC_REMOVELANG_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 4 )
#define IDC_SAVEAS_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 5 )
#define IDC_LANGNAME_COMBO (IDD_GLOBAL_USERDEFINE_DLG + 6 )
#define IDC_LANGNAME_STATIC (IDD_GLOBAL_USERDEFINE_DLG + 7 )
#define IDC_EXT_EDIT (IDD_GLOBAL_USERDEFINE_DLG + 8 )
#define IDC_EXT_STATIC (IDD_GLOBAL_USERDEFINE_DLG + 9 )
#define IDC_UD_PERCENTAGE_SLIDER (IDD_GLOBAL_USERDEFINE_DLG + 10)
#define IDC_UD_TRANSPARENT_CHECK (IDD_GLOBAL_USERDEFINE_DLG + 11)
#define IDC_LANGNAME_IGNORECASE_CHECK (IDD_GLOBAL_USERDEFINE_DLG + 12)
#define IDC_AUTOCOMPLET_EDIT (IDD_GLOBAL_USERDEFINE_DLG + 13)
#define IDC_AUTOCOMPLET_STATIC (IDD_GLOBAL_USERDEFINE_DLG + 14)
#define IDC_IMPORT_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 15)
#define IDC_EXPORT_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 16)
#define IDD_FOLDER_STYLE_DLG 21000
#define IDC_UD_PERCENTAGE_SLIDER (IDD_GLOBAL_USERDEFINE_DLG + 10)
#define IDC_UD_TRANSPARENT_CHECK (IDD_GLOBAL_USERDEFINE_DLG + 11)
#define IDC_LANGNAME_IGNORECASE_CHECK (IDD_GLOBAL_USERDEFINE_DLG + 12)
#define IDC_AUTOCOMPLET_EDIT (IDD_GLOBAL_USERDEFINE_DLG + 13)
#define IDC_AUTOCOMPLET_STATIC (IDD_GLOBAL_USERDEFINE_DLG + 14)
#define IDC_IMPORT_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 15)
#define IDC_EXPORT_BUTTON (IDD_GLOBAL_USERDEFINE_DLG + 16)
#define IDD_FOLDER_STYLE_DLG 21000 // IDD_GLOBAL_USERDEFINE_DLG + 1000
#define IDC_DEFAULT (IDD_FOLDER_STYLE_DLG + 100)
#define IDC_DEFAULT_DESCGROUP_STATIC (IDC_DEFAULT + 1)
#define IDC_DEFAULT_STYLER (IDC_DEFAULT + 2)
#define IDC_WEB_HELP_LINK (IDC_DEFAULT + 3)
#define IDC_WEB_HELP_STATIC (IDC_DEFAULT + 4)
#define IDC_WEB_HELP_DESCGROUP_STATIC (IDC_DEFAULT + 5)
#define IDC_FOLDER_FOLD_COMPACT (IDC_DEFAULT + 6)
#define IDC_FOLDER_IN_CODE1 (IDD_FOLDER_STYLE_DLG + 200)
#define IDC_FOLDER_IN_CODE1_DESCGROUP_STATIC (IDC_FOLDER_IN_CODE1 + 20)
#define IDC_FOLDER_IN_CODE1_OPEN_EDIT (IDC_FOLDER_IN_CODE1 + 21)
#define IDC_FOLDER_IN_CODE1_MIDDLE_EDIT (IDC_FOLDER_IN_CODE1 + 22)
#define IDC_FOLDER_IN_CODE1_CLOSE_EDIT (IDC_FOLDER_IN_CODE1 + 23)
#define IDC_FOLDER_IN_CODE1_OPEN_STATIC (IDC_FOLDER_IN_CODE1 + 24)
#define IDC_FOLDER_IN_CODE1_MIDDLE_STATIC (IDC_FOLDER_IN_CODE1 + 25)
#define IDC_FOLDER_IN_CODE1_CLOSE_STATIC (IDC_FOLDER_IN_CODE1 + 26)
#define IDC_FOLDER_IN_CODE1_STYLER (IDC_FOLDER_IN_CODE1 + 27)
#define IDC_FOLDER_IN_CODE2 (IDD_FOLDER_STYLE_DLG + 300)
#define IDC_FOLDER_IN_CODE2_DESCGROUP_STATIC (IDC_FOLDER_IN_CODE2 + 20)
#define IDC_FOLDER_IN_CODE2_OPEN_EDIT (IDC_FOLDER_IN_CODE2 + 21)
#define IDC_FOLDER_IN_CODE2_MIDDLE_EDIT (IDC_FOLDER_IN_CODE2 + 22)
#define IDC_FOLDER_IN_CODE2_CLOSE_EDIT (IDC_FOLDER_IN_CODE2 + 23)
#define IDC_FOLDER_IN_CODE2_OPEN_STATIC (IDC_FOLDER_IN_CODE2 + 24)
#define IDC_FOLDER_IN_CODE2_MIDDLE_STATIC (IDC_FOLDER_IN_CODE2 + 25)
#define IDC_FOLDER_IN_CODE2_CLOSE_STATIC (IDC_FOLDER_IN_CODE2 + 26)
#define IDC_FOLDER_IN_CODE2_STYLER (IDC_FOLDER_IN_CODE2 + 27)
#define IDC_FOLDER_IN_COMMENT (IDD_FOLDER_STYLE_DLG + 400)
#define IDC_FOLDER_IN_COMMENT_DESCGROUP_STATIC (IDC_FOLDER_IN_COMMENT + 20)
#define IDC_FOLDER_IN_COMMENT_OPEN_EDIT (IDC_FOLDER_IN_COMMENT + 21)
#define IDC_FOLDER_IN_COMMENT_MIDDLE_EDIT (IDC_FOLDER_IN_COMMENT + 22)
#define IDC_FOLDER_IN_COMMENT_CLOSE_EDIT (IDC_FOLDER_IN_COMMENT + 23)
#define IDC_FOLDER_IN_COMMENT_OPEN_STATIC (IDC_FOLDER_IN_COMMENT + 24)
#define IDC_FOLDER_IN_COMMENT_MIDDLE_STATIC (IDC_FOLDER_IN_COMMENT + 25)
#define IDC_FOLDER_IN_COMMENT_CLOSE_STATIC (IDC_FOLDER_IN_COMMENT + 26)
#define IDC_FOLDER_IN_COMMENT_STYLER (IDC_FOLDER_IN_COMMENT + 27)
#define IDC_DEFAULT (IDD_FOLDER_STYLE_DLG + 100)
#define IDC_DEFAULT_DESCGROUP_STATIC (IDC_DEFAULT+ 1)
#define IDC_DEFAULT_FG_STATIC (IDC_DEFAULT+ 2)
#define IDC_DEFAULT_BG_STATIC (IDC_DEFAULT + 3)
#define IDC_DEFAULT_FONT_COMBO (IDC_DEFAULT+ 4)
#define IDC_DEFAULT_FONTSIZE_COMBO (IDC_DEFAULT + 5)
#define IDC_DEFAULT_BOLD_CHECK (IDC_DEFAULT + 6)
#define IDC_DEFAULT_ITALIC_CHECK (IDC_DEFAULT + 7)
#define IDC_DEFAULT_FONTSTYLEGROUP_STATIC (IDC_DEFAULT+ 8)
#define IDC_DEFAULT_COLORSTYLEGROUP_STATIC (IDC_DEFAULT + 9)
#define IDC_DEFAULT_FONTNAME_STATIC (IDC_DEFAULT + 10)
#define IDC_DEFAULT_FONTSIZE_STATIC (IDC_DEFAULT+ 11)
#define IDC_DEFAULT_EDIT (IDC_DEFAULT+ 12)
#define IDC_DEFAULT_UNDERLINE_CHECK (IDC_DEFAULT + 13)
#define IDC_FOLDEROPEN (IDD_FOLDER_STYLE_DLG + 200)
#define IDC_FOLDEROPEN_DESCGROUP_STATIC (IDC_FOLDEROPEN + 1)
#define IDC_FOLDEROPEN_FG_STATIC (IDC_FOLDEROPEN + 2)
#define IDC_FOLDEROPEN_BG_STATIC (IDC_FOLDEROPEN + 3)
#define IDC_FOLDEROPEN_FONT_COMBO (IDC_FOLDEROPEN + 4)
#define IDC_FOLDEROPEN_FONTSIZE_COMBO (IDC_FOLDEROPEN + 5)
#define IDC_FOLDEROPEN_BOLD_CHECK (IDC_FOLDEROPEN + 6)
#define IDC_FOLDEROPEN_ITALIC_CHECK (IDC_FOLDEROPEN + 7)
#define IDC_FOLDEROPEN_FONTSTYLEGROUP_STATIC (IDC_FOLDEROPEN + 8)
#define IDC_FOLDEROPEN_COLORSTYLEGROUP_STATIC (IDC_FOLDEROPEN + 9)
#define IDC_FOLDEROPEN_FONTNAME_STATIC (IDC_FOLDEROPEN + 10)
#define IDC_FOLDEROPEN_FONTSIZE_STATIC (IDC_FOLDEROPEN + 11)
#define IDC_FOLDEROPEN_EDIT (IDC_FOLDEROPEN + 12)
#define IDC_FOLDEROPEN_UNDERLINE_CHECK (IDC_FOLDEROPEN + 13)
#define IDC_FOLDERCLOSE (IDD_FOLDER_STYLE_DLG + 300)
#define IDC_FOLDERCLOSE_DESCGROUP_STATIC (IDC_FOLDERCLOSE + 1)
#define IDC_FOLDERCLOSE_FG_STATIC (IDC_FOLDERCLOSE + 2)
#define IDC_FOLDERCLOSE_BG_STATIC (IDC_FOLDERCLOSE + 3)
#define IDC_FOLDERCLOSE_FONT_COMBO (IDC_FOLDERCLOSE + 4)
#define IDC_FOLDERCLOSE_FONTSIZE_COMBO (IDC_FOLDERCLOSE + 5)
#define IDC_FOLDERCLOSE_BOLD_CHECK (IDC_FOLDERCLOSE + 6)
#define IDC_FOLDERCLOSE_ITALIC_CHECK (IDC_FOLDERCLOSE + 7)
#define IDC_FOLDERCLOSE_FONTSTYLEGROUP_STATIC (IDC_FOLDERCLOSE + 8)
#define IDC_FOLDERCLOSE_COLORSTYLEGROUP_STATIC (IDC_FOLDERCLOSE + 9)
#define IDC_FOLDERCLOSE_FONTNAME_STATIC (IDC_FOLDERCLOSE + 10)
#define IDC_FOLDERCLOSE_FONTSIZE_STATIC (IDC_FOLDERCLOSE + 11)
#define IDC_FOLDERCLOSE_EDIT (IDC_FOLDERCLOSE + 12)
#define IDC_FOLDERCLOSE_UNDERLINE_CHECK (IDC_FOLDERCLOSE + 13)
#define IDD_KEYWORD_STYLE_DLG 22000 //(IDD_GLOBAL_USERDEFINE_DLG + 2000)
#define IDC_KEYWORD1 (IDD_KEYWORD_STYLE_DLG + 100)
#define IDC_KEYWORD1_DESCGROUP_STATIC (IDC_KEYWORD1 + 1)
#define IDC_KEYWORD1_FG_STATIC (IDC_KEYWORD1 + 2)
#define IDC_KEYWORD1_BG_STATIC (IDC_KEYWORD1 + 3)
#define IDC_KEYWORD1_FONT_COMBO (IDC_KEYWORD1 + 4)
#define IDC_KEYWORD1_FONTSIZE_COMBO (IDC_KEYWORD1 + 5)
#define IDC_KEYWORD1_BOLD_CHECK (IDC_KEYWORD1 + 6)
#define IDC_KEYWORD1_ITALIC_CHECK (IDC_KEYWORD1 + 7)
#define IDC_KEYWORD1_FONTSTYLEGROUP_STATIC (IDC_KEYWORD1 + 8)
#define IDC_KEYWORD1_COLORSTYLEGROUP_STATIC (IDC_KEYWORD1 + 9)
#define IDC_KEYWORD1_FONTNAME_STATIC (IDC_KEYWORD1 + 10)
#define IDC_KEYWORD1_FONTSIZE_STATIC (IDC_KEYWORD1 + 11)
#define IDC_KEYWORD1_EDIT (IDC_KEYWORD1 + 12)
#define IDC_KEYWORD1_PREFIX_CHECK (IDC_KEYWORD1 + 13)
#define IDC_KEYWORD1_UNDERLINE_CHECK (IDC_KEYWORD1 + 14)
#define IDC_KEYWORD1 (IDD_KEYWORD_STYLE_DLG + 100)
#define IDC_KEYWORD1_DESCGROUP_STATIC (IDC_KEYWORD1 + 1 )
#define IDC_KEYWORD1_EDIT (IDC_KEYWORD1 + 20)
#define IDC_KEYWORD1_PREFIX_CHECK (IDC_KEYWORD1 + 21)
#define IDC_KEYWORD1_STYLER (IDC_KEYWORD1 + 22)
#define IDC_KEYWORD2 (IDD_KEYWORD_STYLE_DLG + 200)
#define IDC_KEYWORD2_DESCGROUP_STATIC (IDC_KEYWORD2 + 1 )
#define IDC_KEYWORD2_EDIT (IDC_KEYWORD2 + 20)
#define IDC_KEYWORD2_PREFIX_CHECK (IDC_KEYWORD2 + 21)
#define IDC_KEYWORD2_STYLER (IDC_KEYWORD2 + 22)
#define IDC_KEYWORD3 (IDD_KEYWORD_STYLE_DLG + 300)
#define IDC_KEYWORD3_DESCGROUP_STATIC (IDC_KEYWORD3 + 1 )
#define IDC_KEYWORD3_EDIT (IDC_KEYWORD3 + 20)
#define IDC_KEYWORD3_PREFIX_CHECK (IDC_KEYWORD3 + 21)
#define IDC_KEYWORD3_STYLER (IDC_KEYWORD3 + 22)
#define IDC_KEYWORD4 (IDD_KEYWORD_STYLE_DLG + 400)
#define IDC_KEYWORD4_DESCGROUP_STATIC (IDC_KEYWORD4 + 1 )
#define IDC_KEYWORD4_EDIT (IDC_KEYWORD4 + 20)
#define IDC_KEYWORD4_PREFIX_CHECK (IDC_KEYWORD4 + 21)
#define IDC_KEYWORD4_STYLER (IDC_KEYWORD4 + 22)
#define IDC_KEYWORD5 (IDD_KEYWORD_STYLE_DLG + 450)
#define IDC_KEYWORD5_DESCGROUP_STATIC (IDC_KEYWORD5 + 1 )
#define IDC_KEYWORD5_EDIT (IDC_KEYWORD5 + 20)
#define IDC_KEYWORD5_PREFIX_CHECK (IDC_KEYWORD5 + 21)
#define IDC_KEYWORD5_STYLER (IDC_KEYWORD5 + 22)
#define IDC_KEYWORD6 (IDD_KEYWORD_STYLE_DLG + 500)
#define IDC_KEYWORD6_DESCGROUP_STATIC (IDC_KEYWORD6 + 1 )
#define IDC_KEYWORD6_EDIT (IDC_KEYWORD6 + 20)
#define IDC_KEYWORD6_PREFIX_CHECK (IDC_KEYWORD6 + 21)
#define IDC_KEYWORD6_STYLER (IDC_KEYWORD6 + 22)
#define IDC_KEYWORD7 (IDD_KEYWORD_STYLE_DLG + 550)
#define IDC_KEYWORD7_DESCGROUP_STATIC (IDC_KEYWORD7 + 1 )
#define IDC_KEYWORD7_EDIT (IDC_KEYWORD7 + 20)
#define IDC_KEYWORD7_PREFIX_CHECK (IDC_KEYWORD7 + 21)
#define IDC_KEYWORD7_STYLER (IDC_KEYWORD7 + 22)
#define IDC_KEYWORD8 (IDD_KEYWORD_STYLE_DLG + 600)
#define IDC_KEYWORD8_DESCGROUP_STATIC (IDC_KEYWORD8 + 1 )
#define IDC_KEYWORD8_EDIT (IDC_KEYWORD8 + 20)
#define IDC_KEYWORD8_PREFIX_CHECK (IDC_KEYWORD8 + 21)
#define IDC_KEYWORD8_STYLER (IDC_KEYWORD8 + 22)
// #define IDC_KEYWORD_SCROLLBAR (IDD_KEYWORD_STYLE_DLG + 500)
#define IDC_KEYWORD2 (IDD_KEYWORD_STYLE_DLG + 200)
#define IDC_KEYWORD2_DESCGROUP_STATIC (IDC_KEYWORD2 + 1)
#define IDC_KEYWORD2_FG_STATIC (IDC_KEYWORD2 + 2)
#define IDC_KEYWORD2_BG_STATIC (IDC_KEYWORD2 + 3)
#define IDC_KEYWORD2_FONT_COMBO (IDC_KEYWORD2 + 4)
#define IDC_KEYWORD2_FONTSIZE_COMBO (IDC_KEYWORD2 + 5)
#define IDC_KEYWORD2_BOLD_CHECK (IDC_KEYWORD2 + 6)
#define IDC_KEYWORD2_ITALIC_CHECK (IDC_KEYWORD2 + 7)
#define IDC_KEYWORD2_FONTSTYLEGROUP_STATIC (IDC_KEYWORD2 + 8)
#define IDC_KEYWORD2_COLORSTYLEGROUP_STATIC (IDC_KEYWORD2 + 9)
#define IDC_KEYWORD2_FONTNAME_STATIC (IDC_KEYWORD2 + 10)
#define IDC_KEYWORD2_FONTSIZE_STATIC (IDC_KEYWORD2 + 11)
#define IDC_KEYWORD2_EDIT (IDC_KEYWORD2 + 12)
#define IDC_KEYWORD2_PREFIX_CHECK (IDC_KEYWORD2 + 13)
#define IDC_KEYWORD2_UNDERLINE_CHECK (IDC_KEYWORD2 + 14)
#define IDC_KEYWORD3 (IDD_KEYWORD_STYLE_DLG + 300)
#define IDC_KEYWORD3_DESCGROUP_STATIC (IDC_KEYWORD3 + 1)
#define IDC_KEYWORD3_FG_STATIC (IDC_KEYWORD3 + 2)
#define IDC_KEYWORD3_BG_STATIC (IDC_KEYWORD3 + 3)
#define IDC_KEYWORD3_FONT_COMBO (IDC_KEYWORD3 + 4)
#define IDC_KEYWORD3_FONTSIZE_COMBO (IDC_KEYWORD3 + 5)
#define IDC_KEYWORD3_BOLD_CHECK (IDC_KEYWORD3 + 6)
#define IDC_KEYWORD3_ITALIC_CHECK (IDC_KEYWORD3 + 7)
#define IDC_KEYWORD3_FONTSTYLEGROUP_STATIC (IDC_KEYWORD3 + 8)
#define IDC_KEYWORD3_COLORSTYLEGROUP_STATIC (IDC_KEYWORD3 + 9)
#define IDC_KEYWORD3_FONTNAME_STATIC (IDC_KEYWORD3 + 10)
#define IDC_KEYWORD3_FONTSIZE_STATIC (IDC_KEYWORD3 + 11)
#define IDC_KEYWORD3_EDIT (IDC_KEYWORD3 + 12)
#define IDC_KEYWORD3_PREFIX_CHECK (IDC_KEYWORD3 + 13)
#define IDC_KEYWORD3_UNDERLINE_CHECK (IDC_KEYWORD3 + 14)
#define IDC_KEYWORD4 (IDD_KEYWORD_STYLE_DLG + 400)
#define IDC_KEYWORD4_DESCGROUP_STATIC (IDC_KEYWORD4 + 1)
#define IDC_KEYWORD4_FG_STATIC (IDC_KEYWORD4 + 2)
#define IDC_KEYWORD4_BG_STATIC (IDC_KEYWORD4 + 3)
#define IDC_KEYWORD4_FONT_COMBO (IDC_KEYWORD4 + 4)
#define IDC_KEYWORD4_FONTSIZE_COMBO (IDC_KEYWORD4 + 5)
#define IDC_KEYWORD4_BOLD_CHECK (IDC_KEYWORD4 + 6)
#define IDC_KEYWORD4_ITALIC_CHECK (IDC_KEYWORD4 + 7)
#define IDC_KEYWORD4_FONTSTYLEGROUP_STATIC (IDC_KEYWORD4 + 8)
#define IDC_KEYWORD4_COLORSTYLEGROUP_STATIC (IDC_KEYWORD4 + 9)
#define IDC_KEYWORD4_FONTNAME_STATIC (IDC_KEYWORD4 + 10)
#define IDC_KEYWORD4_FONTSIZE_STATIC (IDC_KEYWORD4 + 11)
#define IDC_KEYWORD4_EDIT (IDC_KEYWORD4 + 12)
#define IDC_KEYWORD4_PREFIX_CHECK (IDC_KEYWORD4 + 13)
#define IDC_KEYWORD4_UNDERLINE_CHECK (IDC_KEYWORD4 + 14)
#define IDC_KEYWORD_SCROLLBAR (IDD_KEYWORD_STYLE_DLG + 500)
#define IDD_COMMENT_STYLE_DLG 23000 //(IDD_GLOBAL_USERDEFINE_DLG + 3000)
#define IDC_FOLDING_OF_COMMENTS (IDD_COMMENT_STYLE_DLG + 1)
#define IDC_FORCE_LINE_COMMENTS_AT_BOL (IDD_COMMENT_STYLE_DLG + 2)
#define IDC_COMMENT (IDD_COMMENT_STYLE_DLG + 100)
#define IDC_COMMENT_DESCGROUP_STATIC (IDC_COMMENT + 1 )
#define IDC_COMMENT_OPEN_EDIT (IDC_COMMENT + 20)
#define IDC_COMMENT_CLOSE_EDIT (IDC_COMMENT + 21)
#define IDC_COMMENT_OPEN_STATIC (IDC_COMMENT + 22)
#define IDC_COMMENT_CLOSE_STATIC (IDC_COMMENT + 23)
#define IDC_COMMENT_STYLER (IDC_COMMENT + 24)
#define IDC_NUMBER (IDD_COMMENT_STYLE_DLG + 200)
#define IDC_NUMBER_DESCGROUP_STATIC (IDC_NUMBER + 1 )
#define IDC_NUMBER_STYLER (IDC_NUMBER + 20)
#define IDC_NUMBER_PREFIX_STATIC (IDC_NUMBER + 21)
#define IDC_NUMBER_PREFIX_EDIT (IDC_NUMBER + 22)
#define IDC_NUMBER_EXTRA_STATIC (IDC_NUMBER + 23)
#define IDC_NUMBER_EXTRA_EDIT (IDC_NUMBER + 24)
#define IDC_NUMBER_SUFFIX_STATIC (IDC_NUMBER + 25)
#define IDC_NUMBER_SUFFIX_EDIT (IDC_NUMBER + 26)
#define IDC_NUMBER_EXTRAPREF_STATIC (IDC_NUMBER + 27)
#define IDC_NUMBER_EXTRAPREF_EDIT (IDC_NUMBER + 28)
#define IDC_COMMENTLINE (IDD_COMMENT_STYLE_DLG + 300)
#define IDC_COMMENTLINE_DESCGROUP_STATIC (IDC_COMMENTLINE + 1 )
#define IDC_COMMENTLINE_OPEN_EDIT (IDC_COMMENTLINE + 20)
#define IDC_COMMENTLINE_CONTINUE_EDIT (IDC_COMMENTLINE + 21)
#define IDC_COMMENTLINE_CLOSE_EDIT (IDC_COMMENTLINE + 22)
#define IDC_COMMENTLINE_OPEN_STATIC (IDC_COMMENTLINE + 23)
#define IDC_COMMENTLINE_CONTINUE_STATIC (IDC_COMMENTLINE + 24)
#define IDC_COMMENTLINE_CLOSE_STATIC (IDC_COMMENTLINE + 25)
#define IDC_COMMENTLINE_STYLER (IDC_COMMENTLINE + 26)
#define IDC_COMMENT (IDD_COMMENT_STYLE_DLG + 100)
#define IDC_COMMENT_DESCGROUP_STATIC (IDC_COMMENT + 1)
#define IDC_COMMENT_FG_STATIC (IDC_COMMENT + 2)
#define IDC_COMMENT_BG_STATIC (IDC_COMMENT+ 3)
#define IDC_COMMENT_FONT_COMBO (IDC_COMMENT + 4)
#define IDC_COMMENT_FONTSIZE_COMBO (IDC_COMMENT+ 5)
#define IDC_COMMENT_BOLD_CHECK (IDC_COMMENT+ 6)
#define IDC_COMMENT_ITALIC_CHECK (IDC_COMMENT+ 7)
#define IDC_COMMENT_FONTSTYLEGROUP_STATIC (IDC_COMMENT+ 8)
#define IDC_COMMENT_COLORSTYLEGROUP_STATIC (IDC_COMMENT+ 9)
#define IDC_COMMENT_FONTNAME_STATIC (IDC_COMMENT+ 10)
#define IDC_COMMENT_FONTSIZE_STATIC (IDC_COMMENT+ 11)
#define IDC_COMMENTOPEN_EDIT (IDC_COMMENT+ 12)
#define IDC_COMMENTOPEN_STATIC (IDC_COMMENT+ 13)
#define IDC_COMMENTCLOSE_EDIT (IDC_COMMENT + 14)
#define IDC_COMMENTCLOSE_STATIC (IDC_COMMENT + 15)
#define IDC_COMMENTLINESYMBOL_CHECK (IDC_COMMENT + 16)
#define IDC_COMMENTSYMBOL_CHECK (IDC_COMMENT + 17)
#define IDC_COMMENT_UNDERLINE_CHECK (IDC_NUMBER + 18)
#define IDC_NUMBER (IDD_COMMENT_STYLE_DLG + 200)
#define IDC_NUMBER_DESCGROUP_STATIC (IDC_NUMBER+ 1)
#define IDC_NUMBER_FG_STATIC (IDC_NUMBER+ 2)
#define IDC_NUMBER_BG_STATIC (IDC_NUMBER + 3)
#define IDC_NUMBER_FONT_COMBO (IDC_NUMBER+ 4)
#define IDC_NUMBER_FONTSIZE_COMBO (IDC_NUMBER + 5)
#define IDC_NUMBER_BOLD_CHECK (IDC_NUMBER + 6)
#define IDC_NUMBER_ITALIC_CHECK (IDC_NUMBER + 7)
#define IDC_NUMBER_FONTSTYLEGROUP_STATIC (IDC_NUMBER + 8)
#define IDC_NUMBER_COLORSTYLEGROUP_STATIC (IDC_NUMBER + 9)
#define IDC_NUMBER_FONTNAME_STATIC (IDC_NUMBER + 10)
#define IDC_NUMBER_FONTSIZE_STATIC (IDC_NUMBER + 11)
#define IDC_NUMBER_UNDERLINE_CHECK (IDC_NUMBER + 12)
#define IDC_COMMENTLINE (IDD_COMMENT_STYLE_DLG + 300)
#define IDC_COMMENTLINE_DESCGROUP_STATIC (IDC_COMMENTLINE + 1)
#define IDC_COMMENTLINE_FG_STATIC (IDC_COMMENTLINE + 2)
#define IDC_COMMENTLINE_BG_STATIC (IDC_COMMENTLINE + 3)
#define IDC_COMMENTLINE_FONT_COMBO (IDC_COMMENTLINE + 4)
#define IDC_COMMENTLINE_FONTSIZE_COMBO (IDC_COMMENTLINE + 5)
#define IDC_COMMENTLINE_BOLD_CHECK (IDC_COMMENTLINE + 6)
#define IDC_COMMENTLINE_ITALIC_CHECK (IDC_COMMENTLINE + 7)
#define IDC_COMMENTLINE_FONTSTYLEGROUP_STATIC (IDC_COMMENTLINE + 8)
#define IDC_COMMENTLINE_COLORSTYLEGROUP_STATIC (IDC_COMMENTLINE + 9)
#define IDC_COMMENTLINE_FONTNAME_STATIC (IDC_COMMENTLINE + 10)
#define IDC_COMMENTLINE_FONTSIZE_STATIC (IDC_COMMENTLINE + 11)
#define IDC_COMMENTLINE_EDIT (IDC_COMMENTLINE + 12)
#define IDC_COMMENTLINE_UNDERLINE_CHECK (IDC_COMMENTLINE + 13)
#define IDD_SYMBOL_STYLE_DLG 24000 //IDD_GLOBAL_USERDEFINE_DLG + 4000
#define IDC_HAS_ESCAPE (IDD_SYMBOL_STYLE_DLG + 1)
#define IDC_ESCAPE_CHAR (IDD_SYMBOL_STYLE_DLG + 2)
#define IDC_OPERATOR (IDD_SYMBOL_STYLE_DLG + 100)
#define IDC_OPERATOR_DESCGROUP_STATIC (IDC_OPERATOR + 1 )
#define IDC_OPERATOR_STYLER (IDC_OPERATOR + 13)
#define IDC_OPERATOR1_EDIT (IDC_OPERATOR + 14)
#define IDC_OPERATOR2_EDIT (IDC_OPERATOR + 15)
#define IDC_OPERATOR1_STATIC (IDC_OPERATOR + 16)
#define IDC_OPERATOR2_STATIC (IDC_OPERATOR + 17)
#define IDC_SYMBOL (IDD_SYMBOL_STYLE_DLG + 100)
#define IDC_ACTIVATED_SYMBOL_STATIC (IDC_SYMBOL + 1)
#define IDC_ACTIVATED_SYMBOL_LIST (IDC_SYMBOL + 2)
#define IDC_AVAILABLE_SYMBOLS_STATIC (IDC_SYMBOL + 3)
#define IDC_AVAILABLE_SYMBOLS_LIST (IDC_SYMBOL + 4)
#define IDC_ADD_BUTTON (IDC_SYMBOL + 5)
#define IDC_REMOVE_BUTTON (IDC_SYMBOL + 6)
#define IDC_SYMBOL_DESCGROUP_STATIC (IDC_SYMBOL+ 7)
#define IDC_SYMBOL_FG_STATIC (IDC_SYMBOL + 8)
#define IDC_SYMBOL_BG_STATIC (IDC_SYMBOL + 9)
#define IDC_SYMBOL_FONT_COMBO (IDC_SYMBOL + 10)
#define IDC_SYMBOL_FONTSIZE_COMBO (IDC_SYMBOL + 11)
#define IDC_SYMBOL_BOLD_CHECK (IDC_SYMBOL+ 12)
#define IDC_SYMBOL_ITALIC_CHECK (IDC_SYMBOL + 13)
#define IDC_SYMBOL_FONTSTYLEGROUP_STATIC (IDC_SYMBOL + 14)
#define IDC_SYMBOL_COLORSTYLEGROUP_STATIC ( IDC_SYMBOL + 15)
#define IDC_SYMBOL_FONTNAME_STATIC (IDC_SYMBOL + 16)
#define IDC_SYMBOL_FONTSIZE_STATIC (IDC_SYMBOL + 17)
#define IDC_SYMBOL_UNDERLINE_CHECK (IDC_SYMBOL + 18)
#define IDC_SYMBOL2 (IDD_SYMBOL_STYLE_DLG + 200)
#define IDC_SYMBOL_DELIMGROUP1_STATIC (IDC_SYMBOL2 + 1)
#define IDC_SYMBOL_COLORSTYLEGROUP2_STATIC (IDC_SYMBOL2 + 2)
#define IDC_SYMBOL_FONTSTYLEGROUP2_STATIC (IDC_SYMBOL2 + 3)
#define IDC_SYMBOL_FG2_STATIC (IDC_SYMBOL2 + 4)
#define IDC_SYMBOL_BG2_STATIC (IDC_SYMBOL2 + 5)
#define IDC_SYMBOL_FONTNAME2_STATIC (IDC_SYMBOL2 + 6)
#define IDC_SYMBOL_BOLD2_CHECK (IDC_SYMBOL2 + 7)
#define IDC_SYMBOL_ITALIC2_CHECK (IDC_SYMBOL2 + 8)
#define IDC_SYMBOL_FONT2_COMBO (IDC_SYMBOL2 + 9)
#define IDC_SYMBOL_UNDERLINE2_CHECK (IDC_SYMBOL2 + 10)
#define IDC_SYMBOL_BO2_STATIC (IDC_SYMBOL2 + 11)
#define IDC_SYMBOL_BO2_COMBO (IDC_SYMBOL2 + 12)
#define IDC_SYMBOL_BC2_COMBO (IDC_SYMBOL2 + 13)
#define IDC_SYMBOL_BC2_STATIC (IDC_SYMBOL2 + 14)
#define IDC_SYMBOL_FONTSIZE2_COMBO (IDC_SYMBOL2 + 15)
#define IDC_SYMBOL_FONTSIZE2_STATIC (IDC_SYMBOL2 + 16)
#define IDC_DELIMITER1 (IDD_SYMBOL_STYLE_DLG + 200)
#define IDC_DELIMITER1_DESCGROUP_STATIC (IDC_DELIMITER1 + 1 )
#define IDC_DELIMITER1_BOUNDARYOPEN_EDIT (IDC_DELIMITER1 + 17)
#define IDC_DELIMITER1_ESCAPE_EDIT (IDC_DELIMITER1 + 18)
#define IDC_DELIMITER1_BOUNDARYCLOSE_EDIT (IDC_DELIMITER1 + 19)
#define IDC_DELIMITER1_BOUNDARYOPEN_STATIC (IDC_DELIMITER1 + 20)
#define IDC_DELIMITER1_ESCAPE_STATIC (IDC_DELIMITER1 + 21)
#define IDC_DELIMITER1_BOUNDARYCLOSE_STATIC (IDC_DELIMITER1 + 22)
#define IDC_DELIMITER1_STYLER (IDC_DELIMITER1 + 23)
#define IDC_DELIMITER2 (IDD_SYMBOL_STYLE_DLG + 300)
#define IDC_DELIMITER2_DESCGROUP_STATIC (IDC_DELIMITER2 + 1 )
#define IDC_DELIMITER2_BOUNDARYOPEN_EDIT (IDC_DELIMITER2 + 17)
#define IDC_DELIMITER2_ESCAPE_EDIT (IDC_DELIMITER2 + 18)
#define IDC_DELIMITER2_BOUNDARYCLOSE_EDIT (IDC_DELIMITER2 + 19)
#define IDC_DELIMITER2_BOUNDARYOPEN_STATIC (IDC_DELIMITER2 + 20)
#define IDC_DELIMITER2_ESCAPE_STATIC (IDC_DELIMITER2 + 21)
#define IDC_DELIMITER2_BOUNDARYCLOSE_STATIC (IDC_DELIMITER2 + 22)
#define IDC_DELIMITER2_STYLER (IDC_DELIMITER2 + 23)
#define IDC_DELIMITER3 (IDD_SYMBOL_STYLE_DLG + 400)
#define IDC_DELIMITER3_DESCGROUP_STATIC (IDC_DELIMITER3 + 1 )
#define IDC_DELIMITER3_BOUNDARYOPEN_EDIT (IDC_DELIMITER3 + 17)
#define IDC_DELIMITER3_ESCAPE_EDIT (IDC_DELIMITER3 + 18)
#define IDC_DELIMITER3_BOUNDARYCLOSE_EDIT (IDC_DELIMITER3 + 19)
#define IDC_DELIMITER3_BOUNDARYOPEN_STATIC (IDC_DELIMITER3 + 20)
#define IDC_DELIMITER3_ESCAPE_STATIC (IDC_DELIMITER3 + 21)
#define IDC_DELIMITER3_BOUNDARYCLOSE_STATIC (IDC_DELIMITER3 + 22)
#define IDC_DELIMITER3_STYLER (IDC_DELIMITER3 + 23)
#define IDC_DELIMITER4 (IDD_SYMBOL_STYLE_DLG + 450)
#define IDC_DELIMITER4_DESCGROUP_STATIC (IDC_DELIMITER4 + 1 )
#define IDC_DELIMITER4_BOUNDARYOPEN_EDIT (IDC_DELIMITER4 + 17)
#define IDC_DELIMITER4_ESCAPE_EDIT (IDC_DELIMITER4 + 18)
#define IDC_DELIMITER4_BOUNDARYCLOSE_EDIT (IDC_DELIMITER4 + 19)
#define IDC_DELIMITER4_BOUNDARYOPEN_STATIC (IDC_DELIMITER4 + 20)
#define IDC_DELIMITER4_ESCAPE_STATIC (IDC_DELIMITER4 + 21)
#define IDC_DELIMITER4_BOUNDARYCLOSE_STATIC (IDC_DELIMITER4 + 22)
#define IDC_DELIMITER4_STYLER (IDC_DELIMITER4 + 23)
#define IDC_DELIMITER5 (IDD_SYMBOL_STYLE_DLG + 500)
#define IDC_DELIMITER5_DESCGROUP_STATIC (IDC_DELIMITER5 + 1 )
#define IDC_DELIMITER5_BOUNDARYOPEN_EDIT (IDC_DELIMITER5 + 17)
#define IDC_DELIMITER5_ESCAPE_EDIT (IDC_DELIMITER5 + 18)
#define IDC_DELIMITER5_BOUNDARYCLOSE_EDIT (IDC_DELIMITER5 + 19)
#define IDC_DELIMITER5_BOUNDARYOPEN_STATIC (IDC_DELIMITER5 + 20)
#define IDC_DELIMITER5_ESCAPE_STATIC (IDC_DELIMITER5 + 21)
#define IDC_DELIMITER5_BOUNDARYCLOSE_STATIC (IDC_DELIMITER5 + 22)
#define IDC_DELIMITER5_STYLER (IDC_DELIMITER5 + 23)
#define IDC_DELIMITER6 (IDD_SYMBOL_STYLE_DLG + 550)
#define IDC_DELIMITER6_DESCGROUP_STATIC (IDC_DELIMITER6 + 1 )
#define IDC_DELIMITER6_BOUNDARYOPEN_EDIT (IDC_DELIMITER6 + 17)
#define IDC_DELIMITER6_ESCAPE_EDIT (IDC_DELIMITER6 + 18)
#define IDC_DELIMITER6_BOUNDARYCLOSE_EDIT (IDC_DELIMITER6 + 19)
#define IDC_DELIMITER6_BOUNDARYOPEN_STATIC (IDC_DELIMITER6 + 20)
#define IDC_DELIMITER6_ESCAPE_STATIC (IDC_DELIMITER6 + 21)
#define IDC_DELIMITER6_BOUNDARYCLOSE_STATIC (IDC_DELIMITER6 + 22)
#define IDC_DELIMITER6_STYLER (IDC_DELIMITER6 + 23)
#define IDC_DELIMITER7 (IDD_SYMBOL_STYLE_DLG + 600)
#define IDC_DELIMITER7_DESCGROUP_STATIC (IDC_DELIMITER7 + 1 )
#define IDC_DELIMITER7_BOUNDARYOPEN_EDIT (IDC_DELIMITER7 + 17)
#define IDC_DELIMITER7_ESCAPE_EDIT (IDC_DELIMITER7 + 18)
#define IDC_DELIMITER7_BOUNDARYCLOSE_EDIT (IDC_DELIMITER7 + 19)
#define IDC_DELIMITER7_BOUNDARYOPEN_STATIC (IDC_DELIMITER7 + 20)
#define IDC_DELIMITER7_ESCAPE_STATIC (IDC_DELIMITER7 + 21)
#define IDC_DELIMITER7_BOUNDARYCLOSE_STATIC (IDC_DELIMITER7 + 22)
#define IDC_DELIMITER7_STYLER (IDC_DELIMITER7 + 23)
#define IDC_DELIMITER8 (IDD_SYMBOL_STYLE_DLG + 650)
#define IDC_DELIMITER8_DESCGROUP_STATIC (IDC_DELIMITER8 + 1 )
#define IDC_DELIMITER8_BOUNDARYOPEN_EDIT (IDC_DELIMITER8 + 17)
#define IDC_DELIMITER8_ESCAPE_EDIT (IDC_DELIMITER8 + 18)
#define IDC_DELIMITER8_BOUNDARYCLOSE_EDIT (IDC_DELIMITER8 + 19)
#define IDC_DELIMITER8_BOUNDARYOPEN_STATIC (IDC_DELIMITER8 + 20)
#define IDC_DELIMITER8_ESCAPE_STATIC (IDC_DELIMITER8 + 21)
#define IDC_DELIMITER8_BOUNDARYCLOSE_STATIC (IDC_DELIMITER8 + 22)
#define IDC_DELIMITER8_STYLER (IDC_DELIMITER8 + 23)
#define IDD_STYLER_POPUP_DLG 25000 //IDD_GLOBAL_USERDEFINE_DLG + 5000
#define IDC_STYLER_CHECK_BOLD (IDD_STYLER_POPUP_DLG + 1 )
#define IDC_STYLER_CHECK_ITALIC (IDD_STYLER_POPUP_DLG + 2 )
#define IDC_STYLER_CHECK_UNDERLINE (IDD_STYLER_POPUP_DLG + 3 )
#define IDC_STYLER_COMBO_FONT_NAME (IDD_STYLER_POPUP_DLG + 4 )
#define IDC_STYLER_COMBO_FONT_SIZE (IDD_STYLER_POPUP_DLG + 5 )
#define IDC_STYLER_FG_STATIC (IDD_STYLER_POPUP_DLG + 6 )
#define IDC_STYLER_BG_STATIC (IDD_STYLER_POPUP_DLG + 7 )
#define IDC_STYLER_CHECK_NESTING_DELIMITER1 (IDD_STYLER_POPUP_DLG + 8 )
#define IDC_STYLER_CHECK_NESTING_DELIMITER2 (IDD_STYLER_POPUP_DLG + 9 )
#define IDC_STYLER_CHECK_NESTING_DELIMITER3 (IDD_STYLER_POPUP_DLG + 10)
#define IDC_STYLER_CHECK_NESTING_DELIMITER4 (IDD_STYLER_POPUP_DLG + 11)
#define IDC_STYLER_CHECK_NESTING_DELIMITER5 (IDD_STYLER_POPUP_DLG + 12)
#define IDC_STYLER_CHECK_NESTING_DELIMITER6 (IDD_STYLER_POPUP_DLG + 13)
#define IDC_STYLER_CHECK_NESTING_DELIMITER7 (IDD_STYLER_POPUP_DLG + 14)
#define IDC_STYLER_CHECK_NESTING_DELIMITER8 (IDD_STYLER_POPUP_DLG + 15)
#define IDC_STYLER_CHECK_NESTING_COMMENT (IDD_STYLER_POPUP_DLG + 16)
#define IDC_STYLER_CHECK_NESTING_COMMENT_LINE (IDD_STYLER_POPUP_DLG + 17)
#define IDC_STYLER_CHECK_NESTING_KEYWORD1 (IDD_STYLER_POPUP_DLG + 18)
#define IDC_STYLER_CHECK_NESTING_KEYWORD2 (IDD_STYLER_POPUP_DLG + 19)
#define IDC_STYLER_CHECK_NESTING_KEYWORD3 (IDD_STYLER_POPUP_DLG + 20)
#define IDC_STYLER_CHECK_NESTING_KEYWORD4 (IDD_STYLER_POPUP_DLG + 21)
#define IDC_STYLER_CHECK_NESTING_KEYWORD5 (IDD_STYLER_POPUP_DLG + 22)
#define IDC_STYLER_CHECK_NESTING_KEYWORD6 (IDD_STYLER_POPUP_DLG + 23)
#define IDC_STYLER_CHECK_NESTING_KEYWORD7 (IDD_STYLER_POPUP_DLG + 24)
#define IDC_STYLER_CHECK_NESTING_KEYWORD8 (IDD_STYLER_POPUP_DLG + 25)
#define IDC_STYLER_CHECK_NESTING_OPERATORS1 (IDD_STYLER_POPUP_DLG + 26)
#define IDC_STYLER_CHECK_NESTING_OPERATORS2 (IDD_STYLER_POPUP_DLG + 27)
#define IDC_STYLER_CHECK_NESTING_NUMBERS (IDD_STYLER_POPUP_DLG + 28)
#define IDC_STYLER_STATIC_NESTING_GROUP (IDD_STYLER_POPUP_DLG + 29)
#define IDC_STYLER_STATIC_FONT_OPTIONS (IDD_STYLER_POPUP_DLG + 30)
#define IDC_STYLER_NAME_STATIC (IDD_STYLER_POPUP_DLG + 31)
#define IDC_STYLER_SIZE_STATIC (IDD_STYLER_POPUP_DLG + 32)
#define IDD_STRING_DLG 26000 //IDD_GLOBAL_USERDEFINE_DLG + 6000
#define IDC_STRING_STATIC (IDD_STRING_DLG + 1)
#define IDC_STRING_EDIT (IDD_STRING_DLG + 2)
#define IDC_SYMBOL3 (IDD_SYMBOL_STYLE_DLG + 300)
#define IDC_SYMBOL_DELIMGROUP2_STATIC (IDC_SYMBOL3 + 1)
#define IDC_SYMBOL_FG3_STATIC (IDC_SYMBOL3 + 2)
#define IDC_SYMBOL_BG3_STATIC (IDC_SYMBOL3 + 3)
#define IDC_SYMBOL_FONT3_COMBO (IDC_SYMBOL3 + 4)
#define IDC_SYMBOL_BO3_COMBO (IDC_SYMBOL3 + 5)
#define IDC_SYMBOL_BOLD3_CHECK (IDC_SYMBOL3 + 6)
#define IDC_SYMBOL_ITALIC3_CHECK (IDC_SYMBOL3 + 7)
#define IDC_SYMBOL_FONTSTYLEGROUP3_STATIC (IDC_SYMBOL3 + 8)
#define IDC_SYMBOL_COLORSTYLEGROUP3_STATIC (IDC_SYMBOL3 + 9)
#define IDC_SYMBOL_FONTNAME3_STATIC (IDC_SYMBOL3 + 10)
#define IDC_SYMBOL_BO3_STATIC (IDC_SYMBOL3 + 11)
#define IDC_SYMBOL_UNDERLINE3_CHECK (IDC_SYMBOL3 + 12)
#define IDC_SYMBOL_BC3_COMBO (IDC_SYMBOL3 + 13)
#define IDC_SYMBOL_BC3_STATIC (IDC_SYMBOL3 + 14)
#define IDC_SYMBOL_FONTSIZE3_COMBO (IDC_SYMBOL3 + 15)
#define IDC_SYMBOL_FONTSIZE3_STATIC (IDC_SYMBOL3 + 16)
#define IDD_STRING_DLG 25000
#define IDC_STRING_STATIC (IDD_STRING_DLG + 1)
#define IDC_STRING_EDIT (IDD_STRING_DLG + 2)
#endif //USERDEFIN_RC_H

View File

@ -592,8 +592,8 @@ void WordStyleDlg::updateFontName()
void WordStyleDlg::updateFontStyleStatus(fontStyleType whitchStyle)
{
Style & style = getCurrentStyler();
if (style._fontStyle == -1)
style._fontStyle = 0;
//if (style._fontStyle == -1)
// style._fontStyle = 0;
int fontStyle = FONTSTYLE_UNDERLINE;
HWND hWnd = _hCheckUnderline;
@ -786,7 +786,7 @@ void WordStyleDlg::setVisualFromStyleList()
//-- font style : bold et italic
isEnable = false;
int isBold, isItalic, isUnderline;
if (style._fontStyle != -1)
if (style._fontStyle != FONTSTYLE_NONE)
{
isBold = (style._fontStyle & FONTSTYLE_BOLD)?BST_CHECKED:BST_UNCHECKED;
isItalic = (style._fontStyle & FONTSTYLE_ITALIC)?BST_CHECKED:BST_UNCHECKED;

View File

@ -1567,7 +1567,7 @@ BOOL CALLBACK LangMenuDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM lPara
{
nppGUI._isLangMenuCompact = (BST_CHECKED == ::SendMessage(::GetDlgItem(_hSelf, IDC_CHECK_LANGMENUCOMPACT), BM_GETCHECK, 0, 0));
::MessageBox(_hSelf,
nppGUI._isLangMenuCompact?TEXT("This option will be enable on the next launch."):TEXT("This option will be disable on the next launch."),
nppGUI._isLangMenuCompact?TEXT("This option will be enabled on the next launch."):TEXT("This option will be disabled on the next launch."),
TEXT("Compact Language Menu"), MB_OK);
return TRUE;
}

View File

@ -663,34 +663,35 @@ void NativeLangSpeaker::changeUserDefineLang(UserDefineDialog *userDefineDlg)
hDlgArrary[3] = userDefineDlg->getSymbolHandle();
const int nbGrpFolder = 3;
int folderID[nbGrpFolder][nbControl] = {\
{IDC_DEFAULT_COLORSTYLEGROUP_STATIC, IDC_DEFAULT_FG_STATIC, IDC_DEFAULT_BG_STATIC, IDC_DEFAULT_FONTSTYLEGROUP_STATIC, IDC_DEFAULT_FONTNAME_STATIC, IDC_DEFAULT_FONTSIZE_STATIC, IDC_DEFAULT_BOLD_CHECK, IDC_DEFAULT_ITALIC_CHECK, IDC_DEFAULT_UNDERLINE_CHECK},\
{IDC_FOLDEROPEN_COLORSTYLEGROUP_STATIC, IDC_FOLDEROPEN_FG_STATIC, IDC_FOLDEROPEN_BG_STATIC, IDC_FOLDEROPEN_FONTSTYLEGROUP_STATIC, IDC_FOLDEROPEN_FONTNAME_STATIC, IDC_FOLDEROPEN_FONTSIZE_STATIC, IDC_FOLDEROPEN_BOLD_CHECK, IDC_FOLDEROPEN_ITALIC_CHECK, IDC_FOLDEROPEN_UNDERLINE_CHECK},\
{IDC_FOLDERCLOSE_COLORSTYLEGROUP_STATIC, IDC_FOLDERCLOSE_FG_STATIC, IDC_FOLDERCLOSE_BG_STATIC, IDC_FOLDERCLOSE_FONTSTYLEGROUP_STATIC, IDC_FOLDERCLOSE_FONTNAME_STATIC, IDC_FOLDERCLOSE_FONTSIZE_STATIC, IDC_FOLDERCLOSE_BOLD_CHECK, IDC_FOLDERCLOSE_ITALIC_CHECK, IDC_FOLDERCLOSE_UNDERLINE_CHECK}\
int folderID[nbGrpFolder][nbControl] = {
//{IDC_DEFAULT_COLORSTYLEGROUP_STATIC, IDC_DEFAULT_FG_STATIC, IDC_DEFAULT_BG_STATIC, IDC_DEFAULT_FONTSTYLEGROUP_STATIC, IDC_DEFAULT_FONTNAME_STATIC, IDC_DEFAULT_FONTSIZE_STATIC, IDC_DEFAULT_BOLD_CHECK, IDC_DEFAULT_ITALIC_CHECK, IDC_DEFAULT_UNDERLINE_CHECK},\
//{IDC_FOLDEROPEN_COLORSTYLEGROUP_STATIC, IDC_FOLDEROPEN_FG_STATIC, IDC_FOLDEROPEN_BG_STATIC, IDC_FOLDEROPEN_FONTSTYLEGROUP_STATIC, IDC_FOLDEROPEN_FONTNAME_STATIC, IDC_FOLDEROPEN_FONTSIZE_STATIC, IDC_FOLDEROPEN_BOLD_CHECK, IDC_FOLDEROPEN_ITALIC_CHECK, IDC_FOLDEROPEN_UNDERLINE_CHECK},\
//{IDC_FOLDERCLOSE_COLORSTYLEGROUP_STATIC, IDC_FOLDERCLOSE_FG_STATIC, IDC_FOLDERCLOSE_BG_STATIC, IDC_FOLDERCLOSE_FONTSTYLEGROUP_STATIC, IDC_FOLDERCLOSE_FONTNAME_STATIC, IDC_FOLDERCLOSE_FONTSIZE_STATIC, IDC_FOLDERCLOSE_BOLD_CHECK, IDC_FOLDERCLOSE_ITALIC_CHECK, IDC_FOLDERCLOSE_UNDERLINE_CHECK}
};
const int nbGrpKeywords = 4;
int keywordsID[nbGrpKeywords][nbControl] = {\
{IDC_KEYWORD1_COLORSTYLEGROUP_STATIC, IDC_KEYWORD1_FG_STATIC, IDC_KEYWORD1_BG_STATIC, IDC_KEYWORD1_FONTSTYLEGROUP_STATIC, IDC_KEYWORD1_FONTNAME_STATIC, IDC_KEYWORD1_FONTSIZE_STATIC, IDC_KEYWORD1_BOLD_CHECK, IDC_KEYWORD1_ITALIC_CHECK, IDC_KEYWORD1_UNDERLINE_CHECK},\
{IDC_KEYWORD2_COLORSTYLEGROUP_STATIC, IDC_KEYWORD2_FG_STATIC, IDC_KEYWORD2_BG_STATIC, IDC_KEYWORD2_FONTSTYLEGROUP_STATIC, IDC_KEYWORD2_FONTNAME_STATIC, IDC_KEYWORD2_FONTSIZE_STATIC, IDC_KEYWORD2_BOLD_CHECK, IDC_KEYWORD2_ITALIC_CHECK, IDC_KEYWORD2_UNDERLINE_CHECK},\
{IDC_KEYWORD3_COLORSTYLEGROUP_STATIC, IDC_KEYWORD3_FG_STATIC, IDC_KEYWORD3_BG_STATIC, IDC_KEYWORD3_FONTSTYLEGROUP_STATIC, IDC_KEYWORD3_FONTNAME_STATIC, IDC_KEYWORD3_FONTSIZE_STATIC, IDC_KEYWORD3_BOLD_CHECK, IDC_KEYWORD3_ITALIC_CHECK, IDC_KEYWORD3_UNDERLINE_CHECK},\
{IDC_KEYWORD4_COLORSTYLEGROUP_STATIC, IDC_KEYWORD4_FG_STATIC, IDC_KEYWORD4_BG_STATIC, IDC_KEYWORD4_FONTSTYLEGROUP_STATIC, IDC_KEYWORD4_FONTNAME_STATIC, IDC_KEYWORD4_FONTSIZE_STATIC, IDC_KEYWORD4_BOLD_CHECK, IDC_KEYWORD4_ITALIC_CHECK, IDC_KEYWORD4_UNDERLINE_CHECK}\
int keywordsID[nbGrpKeywords][nbControl] = {//\
//{IDC_KEYWORD1_COLORSTYLEGROUP_STATIC, IDC_KEYWORD1_FG_STATIC, IDC_KEYWORD1_BG_STATIC, IDC_KEYWORD1_FONTSTYLEGROUP_STATIC, IDC_KEYWORD1_FONTNAME_STATIC, IDC_KEYWORD1_FONTSIZE_STATIC, IDC_KEYWORD1_BOLD_CHECK, IDC_KEYWORD1_ITALIC_CHECK, IDC_KEYWORD1_UNDERLINE_CHECK},\
//{IDC_KEYWORD2_COLORSTYLEGROUP_STATIC, IDC_KEYWORD2_FG_STATIC, IDC_KEYWORD2_BG_STATIC, IDC_KEYWORD2_FONTSTYLEGROUP_STATIC, IDC_KEYWORD2_FONTNAME_STATIC, IDC_KEYWORD2_FONTSIZE_STATIC, IDC_KEYWORD2_BOLD_CHECK, IDC_KEYWORD2_ITALIC_CHECK, IDC_KEYWORD2_UNDERLINE_CHECK},\
//{IDC_KEYWORD3_COLORSTYLEGROUP_STATIC, IDC_KEYWORD3_FG_STATIC, IDC_KEYWORD3_BG_STATIC, IDC_KEYWORD3_FONTSTYLEGROUP_STATIC, IDC_KEYWORD3_FONTNAME_STATIC, IDC_KEYWORD3_FONTSIZE_STATIC, IDC_KEYWORD3_BOLD_CHECK, IDC_KEYWORD3_ITALIC_CHECK, IDC_KEYWORD3_UNDERLINE_CHECK},\
//{IDC_KEYWORD4_COLORSTYLEGROUP_STATIC, IDC_KEYWORD4_FG_STATIC, IDC_KEYWORD4_BG_STATIC, IDC_KEYWORD4_FONTSTYLEGROUP_STATIC, IDC_KEYWORD4_FONTNAME_STATIC, IDC_KEYWORD4_FONTSIZE_STATIC, IDC_KEYWORD4_BOLD_CHECK, IDC_KEYWORD4_ITALIC_CHECK, IDC_KEYWORD4_UNDERLINE_CHECK}
};
const int nbGrpComment = 3;
int commentID[nbGrpComment][nbControl] = {\
{IDC_COMMENT_COLORSTYLEGROUP_STATIC, IDC_COMMENT_FG_STATIC, IDC_COMMENT_BG_STATIC, IDC_COMMENT_FONTSTYLEGROUP_STATIC, IDC_COMMENT_FONTNAME_STATIC, IDC_COMMENT_FONTSIZE_STATIC, IDC_COMMENT_BOLD_CHECK, IDC_COMMENT_ITALIC_CHECK, IDC_COMMENT_UNDERLINE_CHECK},\
{IDC_NUMBER_COLORSTYLEGROUP_STATIC, IDC_NUMBER_FG_STATIC, IDC_NUMBER_BG_STATIC, IDC_NUMBER_FONTSTYLEGROUP_STATIC, IDC_NUMBER_FONTNAME_STATIC, IDC_NUMBER_FONTSIZE_STATIC, IDC_NUMBER_BOLD_CHECK, IDC_NUMBER_ITALIC_CHECK, IDC_NUMBER_UNDERLINE_CHECK},\
{IDC_COMMENTLINE_COLORSTYLEGROUP_STATIC, IDC_COMMENTLINE_FG_STATIC, IDC_COMMENTLINE_BG_STATIC, IDC_COMMENTLINE_FONTSTYLEGROUP_STATIC, IDC_COMMENTLINE_FONTNAME_STATIC, IDC_COMMENTLINE_FONTSIZE_STATIC, IDC_COMMENTLINE_BOLD_CHECK, IDC_COMMENTLINE_ITALIC_CHECK, IDC_COMMENTLINE_UNDERLINE_CHECK}\
int commentID[nbGrpComment][nbControl] = {//\
//{IDC_COMMENT_COLORSTYLEGROUP_STATIC, IDC_COMMENT_FG_STATIC, IDC_COMMENT_BG_STATIC, IDC_COMMENT_FONTSTYLEGROUP_STATIC, IDC_COMMENT_FONTNAME_STATIC, IDC_COMMENT_FONTSIZE_STATIC, IDC_COMMENT_BOLD_CHECK, IDC_COMMENT_ITALIC_CHECK, IDC_COMMENT_UNDERLINE_CHECK},\
//{IDC_NUMBER_COLORSTYLEGROUP_STATIC, IDC_NUMBER_FG_STATIC, IDC_NUMBER_BG_STATIC, IDC_NUMBER_FONTSTYLEGROUP_STATIC, IDC_NUMBER_FONTNAME_STATIC, IDC_NUMBER_FONTSIZE_STATIC, IDC_NUMBER_BOLD_CHECK, IDC_NUMBER_ITALIC_CHECK, IDC_NUMBER_UNDERLINE_CHECK},\
//{IDC_COMMENTLINE_COLORSTYLEGROUP_STATIC, IDC_COMMENTLINE_FG_STATIC, IDC_COMMENTLINE_BG_STATIC, IDC_COMMENTLINE_FONTSTYLEGROUP_STATIC, IDC_COMMENTLINE_FONTNAME_STATIC, IDC_COMMENTLINE_FONTSIZE_STATIC, IDC_COMMENTLINE_BOLD_CHECK, IDC_COMMENTLINE_ITALIC_CHECK, IDC_COMMENTLINE_UNDERLINE_CHECK}
};
const int nbGrpOperator = 3;
int operatorID[nbGrpOperator][nbControl] = {\
{IDC_SYMBOL_COLORSTYLEGROUP_STATIC, IDC_SYMBOL_FG_STATIC, IDC_SYMBOL_BG_STATIC, IDC_SYMBOL_FONTSTYLEGROUP_STATIC, IDC_SYMBOL_FONTNAME_STATIC, IDC_SYMBOL_FONTSIZE_STATIC, IDC_SYMBOL_BOLD_CHECK, IDC_SYMBOL_ITALIC_CHECK, IDC_SYMBOL_UNDERLINE_CHECK},\
{IDC_SYMBOL_COLORSTYLEGROUP2_STATIC, IDC_SYMBOL_FG2_STATIC, IDC_SYMBOL_BG2_STATIC, IDC_SYMBOL_FONTSTYLEGROUP2_STATIC, IDC_SYMBOL_FONTNAME2_STATIC, IDC_SYMBOL_FONTSIZE2_STATIC, IDC_SYMBOL_BOLD2_CHECK, IDC_SYMBOL_ITALIC2_CHECK, IDC_SYMBOL_UNDERLINE2_CHECK},\
{IDC_SYMBOL_COLORSTYLEGROUP3_STATIC, IDC_SYMBOL_FG3_STATIC, IDC_SYMBOL_BG3_STATIC, IDC_SYMBOL_FONTSTYLEGROUP3_STATIC, IDC_SYMBOL_FONTNAME3_STATIC, IDC_SYMBOL_FONTSIZE3_STATIC, IDC_SYMBOL_BOLD3_CHECK, IDC_SYMBOL_ITALIC3_CHECK, IDC_SYMBOL_UNDERLINE3_CHECK}
const int nbGrpOperator = 4;
int operatorID[nbGrpOperator][nbControl] = {//\
//{IDC_OPERATOR_COLORSTYLEGROUP_STATIC, IDC_OPERATOR_FG_STATIC, IDC_OPERATOR_BG_STATIC, IDC_OPERATOR_FONTSTYLEGROUP_STATIC, IDC_OPERATOR_FONTNAME_STATIC, IDC_OPERATOR_FONTSIZE_STATIC, IDC_OPERATOR_BOLD_CHECK, IDC_OPERATOR_ITALIC_CHECK, IDC_OPERATOR_UNDERLINE_CHECK},\
//{IDC_DELIMITER1_COLORSTYLEGROUP_STATIC, IDC_DELIMITER1_FG_STATIC, IDC_DELIMITER1_BG_STATIC, IDC_DELIMITER1_FONTSTYLEGROUP_STATIC, IDC_DELIMITER1_FONTNAME_STATIC, IDC_DELIMITER1_FONTSIZE_STATIC, IDC_DELIMITER1_BOLD_CHECK, IDC_DELIMITER1_ITALIC_CHECK, IDC_DELIMITER1_UNDERLINE_CHECK},\
//{IDC_DELIMITER2_COLORSTYLEGROUP_STATIC, IDC_DELIMITER2_FG_STATIC, IDC_DELIMITER2_BG_STATIC, IDC_DELIMITER2_FONTSTYLEGROUP_STATIC, IDC_DELIMITER2_FONTNAME_STATIC, IDC_DELIMITER2_FONTSIZE_STATIC, IDC_DELIMITER2_BOLD_CHECK, IDC_DELIMITER2_ITALIC_CHECK, IDC_DELIMITER2_UNDERLINE_CHECK},\
//{IDC_DELIMITER3_COLORSTYLEGROUP_STATIC, IDC_DELIMITER3_FG_STATIC, IDC_DELIMITER3_BG_STATIC, IDC_DELIMITER3_FONTSTYLEGROUP_STATIC, IDC_DELIMITER3_FONTNAME_STATIC, IDC_DELIMITER3_FONTSIZE_STATIC, IDC_DELIMITER3_BOLD_CHECK, IDC_DELIMITER3_ITALIC_CHECK, IDC_DELIMITER3_UNDERLINE_CHECK}
};
int nbGpArray[nbDlg] = {nbGrpFolder, nbGrpKeywords, nbGrpComment, nbGrpOperator};
const char nodeNameArray[nbDlg][16] = {"Folder", "Keywords", "Comment", "Operator"};

View File

@ -195,7 +195,7 @@
#define IDM_VIEW_DRAWTABBAR_INACIVETAB (IDM_VIEW + 8)
#define IDM_VIEW_POSTIT (IDM_VIEW + 9)
#define IDM_VIEW_TOGGLE_FOLDALL (IDM_VIEW + 10)
#define IDM_VIEW_USER_DLG (IDM_VIEW + 11)
//#define IDM_VIEW_USER_DLG (IDM_VIEW + 11)
#define IDM_VIEW_LINENUMBER (IDM_VIEW + 12)
#define IDM_VIEW_SYMBOLMARGIN (IDM_VIEW + 13)
#define IDM_VIEW_FOLDERMAGIN (IDM_VIEW + 14)
@ -401,6 +401,8 @@
#define IDM_LANG_USER (IDM_LANG + 80) //46080
#define IDM_LANG_USER_LIMIT (IDM_LANG + 110) //46110
#define IDM_LANG_USER_DLG (IDM_LANG + 150)
#define IDM_ABOUT (IDM + 7000)

View File

@ -199,21 +199,96 @@
#define SCE_SEARCHRESULT_CURRENT_LINE 6
#define SCE_OBJC_DIRECTIVE 20
#define SCE_OBJC_QUALIFIER 21
#define SCE_USER_DEFAULT 0
#define SCE_USER_COMMENT 1
#define SCE_USER_COMMENTLINE 2
#define SCE_USER_NUMBER 4
#define SCE_USER_WORD1 5
#define SCE_USER_WORD2 6
#define SCE_USER_WORD3 7
#define SCE_USER_WORD4 8
#define SCE_USER_OPERATOR 10
#define SCE_USER_IDENTIFIER 11
#define SCE_USER_BLOCK_OPERATOR_OPEN 12
#define SCE_USER_BLOCK_OPERATOR_CLOSE 13
#define SCE_USER_DELIMITER1 14
#define SCE_USER_DELIMITER2 15
#define SCE_USER_DELIMITER3 16
#define SCE_USER_KWLIST_COMMENTS 0
#define SCE_USER_KWLIST_NUMBER_EXTRA 1
#define SCE_USER_KWLIST_NUMBER_PREFIX 2
#define SCE_USER_KWLIST_NUMBER_EXTRAPREF 3
#define SCE_USER_KWLIST_NUMBER_SUFFIX 4
#define SCE_USER_KWLIST_OPERATORS1 5
#define SCE_USER_KWLIST_OPERATORS2 6
#define SCE_USER_KWLIST_FOLDERS_IN_CODE1_OPEN 7
#define SCE_USER_KWLIST_FOLDERS_IN_CODE1_MIDDLE 8
#define SCE_USER_KWLIST_FOLDERS_IN_CODE1_CLOSE 9
#define SCE_USER_KWLIST_FOLDERS_IN_CODE2_OPEN 10
#define SCE_USER_KWLIST_FOLDERS_IN_CODE2_MIDDLE 11
#define SCE_USER_KWLIST_FOLDERS_IN_CODE2_CLOSE 12
#define SCE_USER_KWLIST_FOLDERS_IN_COMMENT_OPEN 13
#define SCE_USER_KWLIST_FOLDERS_IN_COMMENT_MIDDLE 14
#define SCE_USER_KWLIST_FOLDERS_IN_COMMENT_CLOSE 15
#define SCE_USER_KWLIST_KEYWORDS1 16
#define SCE_USER_KWLIST_KEYWORDS2 17
#define SCE_USER_KWLIST_KEYWORDS3 18
#define SCE_USER_KWLIST_KEYWORDS4 19
#define SCE_USER_KWLIST_KEYWORDS5 20
#define SCE_USER_KWLIST_KEYWORDS6 21
#define SCE_USER_KWLIST_KEYWORDS7 22
#define SCE_USER_KWLIST_KEYWORDS8 23
#define SCE_USER_KWLIST_DELIMITERS 24
#define SCE_USER_KWLIST_TOTAL 25 // must always be <= SCE_USER_STYLE_TOTAL_STYLES
// and <= KEYWORDSET_MAX
#define SCE_USER_TOTAL_DELIMITERS 8
#define SCE_USER_TOTAL_KEYWORD_GROUPS 8
#define SCE_USER_TOTAL_FOLDERS 6
#define SCE_USER_STYLE_DEFAULT 0
#define SCE_USER_STYLE_COMMENT 1
#define SCE_USER_STYLE_COMMENTLINE 2
#define SCE_USER_STYLE_NUMBER 3
#define SCE_USER_STYLE_KEYWORD1 4
#define SCE_USER_STYLE_KEYWORD2 5
#define SCE_USER_STYLE_KEYWORD3 6
#define SCE_USER_STYLE_KEYWORD4 7
#define SCE_USER_STYLE_KEYWORD5 8
#define SCE_USER_STYLE_KEYWORD6 9
#define SCE_USER_STYLE_KEYWORD7 10
#define SCE_USER_STYLE_KEYWORD8 11
#define SCE_USER_STYLE_OPERATOR 12
#define SCE_USER_STYLE_FOLDER_IN_CODE1 13
#define SCE_USER_STYLE_FOLDER_IN_CODE2 14
#define SCE_USER_STYLE_FOLDER_IN_COMMENT 15
#define SCE_USER_STYLE_DELIMITER1 16
#define SCE_USER_STYLE_DELIMITER2 17
#define SCE_USER_STYLE_DELIMITER3 18
#define SCE_USER_STYLE_DELIMITER4 19
#define SCE_USER_STYLE_DELIMITER5 20
#define SCE_USER_STYLE_DELIMITER6 21
#define SCE_USER_STYLE_DELIMITER7 22
#define SCE_USER_STYLE_DELIMITER8 23
#define SCE_USER_STYLE_IDENTIFIER 24
#define SCE_USER_STYLE_TOTAL_STYLES SCE_USER_STYLE_IDENTIFIER
#define SCE_USER_STYLE_MAPPER_TOTAL 17
#define SCE_USER_MASK_NESTING_NONE 0
#define SCE_USER_MASK_NESTING_DELIMITER1 0x1
#define SCE_USER_MASK_NESTING_DELIMITER2 0x2
#define SCE_USER_MASK_NESTING_DELIMITER3 0x4
#define SCE_USER_MASK_NESTING_DELIMITER4 0x8
#define SCE_USER_MASK_NESTING_DELIMITER5 0x10
#define SCE_USER_MASK_NESTING_DELIMITER6 0x20
#define SCE_USER_MASK_NESTING_DELIMITER7 0x40
#define SCE_USER_MASK_NESTING_DELIMITER8 0x80
#define SCE_USER_MASK_NESTING_COMMENT 0x100
#define SCE_USER_MASK_NESTING_COMMENT_LINE 0x200
#define SCE_USER_MASK_NESTING_KEYWORD1 0x400
#define SCE_USER_MASK_NESTING_KEYWORD2 0x800
#define SCE_USER_MASK_NESTING_KEYWORD3 0x1000
#define SCE_USER_MASK_NESTING_KEYWORD4 0x2000
#define SCE_USER_MASK_NESTING_KEYWORD5 0x4000
#define SCE_USER_MASK_NESTING_KEYWORD6 0x8000
#define SCE_USER_MASK_NESTING_KEYWORD7 0x10000
#define SCE_USER_MASK_NESTING_KEYWORD8 0x20000
#define SCE_USER_MASK_NESTING_FOLDERS_IN_CODE2_OPEN 0x40000
#define SCE_USER_MASK_NESTING_FOLDERS_IN_CODE2_MIDDLE 0x80000
#define SCE_USER_MASK_NESTING_FOLDERS_IN_CODE2_CLOSE 0x100000
#define SCE_USER_MASK_NESTING_FOLDERS_IN_COMMENT_OPEN 0x200000
#define SCE_USER_MASK_NESTING_FOLDERS_IN_COMMENT_MIDDLE 0x400000
#define SCE_USER_MASK_NESTING_FOLDERS_IN_COMMENT_CLOSE 0x800000
#define SCE_USER_MASK_NESTING_OPERATORS1 0x1000000
#define SCE_USER_MASK_NESTING_OPERATORS2 0x2000000
#define SCE_USER_MASK_NESTING_NUMBERS 0x4000000
#define SCE_TCL_DEFAULT 0
#define SCE_TCL_COMMENT 1
#define SCE_TCL_COMMENTLINE 2

View File

@ -819,7 +819,8 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,
#define SCI_GETLEXER 4002
#define SCI_COLOURISE 4003
#define SCI_SETPROPERTY 4004
#define KEYWORDSET_MAX 8
// #define KEYWORDSET_MAX 8
#define KEYWORDSET_MAX 30
#define SCI_SETKEYWORDS 4005
#define SCI_SETLEXERLANGUAGE 4006
#define SCI_LOADLEXERLIBRARY 4007

File diff suppressed because it is too large Load Diff

View File

@ -145,6 +145,8 @@ public:
if (MakeLowerCase(ch) != static_cast<unsigned char>(*s))
return false;
s++;
if (!*s)
return true;
if (MakeLowerCase(chNext) != static_cast<unsigned char>(*s))
return false;
s++;
@ -156,6 +158,23 @@ public:
}
return true;
}
bool MatchIgnoreCase2(const char *s) {
if (MakeLowerCase(ch) != MakeLowerCase(static_cast<unsigned char>(*s)))
return false;
s++;
if (!*s)
return true;
if (MakeLowerCase(chNext) != MakeLowerCase(static_cast<unsigned char>(*s)))
return false;
s++;
for (int n=2; *s; n++) {
if (MakeLowerCase(static_cast<unsigned char>(*s)) !=
MakeLowerCase(static_cast<unsigned char>(styler.SafeGetCharAt(currentPos+n))))
return false;
s++;
}
return true;
}
// Non-inline
void GetCurrent(char *s, unsigned int len);
void GetCurrentLowered(char *s, unsigned int len);