[BUG_FIXED]Fix Japanese/Polish/Russian language display bug under Notepad++ Unicode version.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@354 f5eea248-9336-0410-98b8-ebc06183d4e3pull/343/head^2
parent
0147313a93
commit
8bd91ca178
|
@ -497,6 +497,14 @@ commun:
|
||||||
CreateDirectory "$SMPROGRAMS\Notepad++"
|
CreateDirectory "$SMPROGRAMS\Notepad++"
|
||||||
CreateShortCut "$SMPROGRAMS\Notepad++\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
CreateShortCut "$SMPROGRAMS\Notepad++\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
||||||
|
|
||||||
|
|
||||||
|
;clean
|
||||||
|
Delete "$INSTDIR\plugins\NPPTextFX\AsciiToEBCDIC.bin"
|
||||||
|
Delete "$INSTDIR\plugins\NPPTextFX\libTidy.dll"
|
||||||
|
Delete "$INSTDIR\plugins\NPPTextFX\W3C-CSSValidator.htm"
|
||||||
|
Delete "$INSTDIR\plugins\NPPTextFX\W3C-HTMLValidator.htm"
|
||||||
|
RMDir "$INSTDIR\plugins\NPPTextFX\"
|
||||||
|
|
||||||
; remove unstable plugins
|
; remove unstable plugins
|
||||||
IfFileExists "$INSTDIR\plugins\HexEditorPlugin.dll" 0 +3
|
IfFileExists "$INSTDIR\plugins\HexEditorPlugin.dll" 0 +3
|
||||||
MessageBox MB_OK "Due to the problem of compability with this version,$\nHexEditorPlugin.dll is about to be deleted."
|
MessageBox MB_OK "Due to the problem of compability with this version,$\nHexEditorPlugin.dll is about to be deleted."
|
||||||
|
@ -656,11 +664,11 @@ SubSection "Plugins" Plugins
|
||||||
SetOutPath "$INSTDIR\plugins"
|
SetOutPath "$INSTDIR\plugins"
|
||||||
File "..\bin\plugins\NPPTextFX.dll"
|
File "..\bin\plugins\NPPTextFX.dll"
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\plugins\NPPTextFX"
|
SetOutPath "$INSTDIR\plugins\Config\tidy"
|
||||||
File "..\bin\plugins\NPPTextFX\AsciiToEBCDIC.bin"
|
File "..\bin\plugins\Config\tidy\AsciiToEBCDIC.bin"
|
||||||
File "..\bin\plugins\NPPTextFX\libTidy.dll"
|
File "..\bin\plugins\Config\tidy\libTidy.dll"
|
||||||
File "..\bin\plugins\NPPTextFX\W3C-CSSValidator.htm"
|
File "..\bin\plugins\Config\tidy\W3C-CSSValidator.htm"
|
||||||
File "..\bin\plugins\NPPTextFX\W3C-HTMLValidator.htm"
|
File "..\bin\plugins\Config\tidy\W3C-HTMLValidator.htm"
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\plugins\doc"
|
SetOutPath "$INSTDIR\plugins\doc"
|
||||||
File "..\bin\plugins\doc\NPPTextFXdemo.TXT"
|
File "..\bin\plugins\doc\NPPTextFXdemo.TXT"
|
||||||
|
@ -883,12 +891,12 @@ SubSection un.Plugins
|
||||||
Delete "$INSTDIR\plugins\NPPTextFX.dll"
|
Delete "$INSTDIR\plugins\NPPTextFX.dll"
|
||||||
Delete "$INSTDIR\plugins\NPPTextFX.ini"
|
Delete "$INSTDIR\plugins\NPPTextFX.ini"
|
||||||
Delete "$APPDATA\Notepad++\NPPTextFX.ini"
|
Delete "$APPDATA\Notepad++\NPPTextFX.ini"
|
||||||
Delete "$INSTDIR\plugins\NPPTextFX\AsciiToEBCDIC.bin"
|
|
||||||
Delete "$INSTDIR\plugins\NPPTextFX\libTidy.dll"
|
|
||||||
Delete "$INSTDIR\plugins\doc\NPPTextFXdemo.TXT"
|
Delete "$INSTDIR\plugins\doc\NPPTextFXdemo.TXT"
|
||||||
Delete "$INSTDIR\plugins\NPPTextFX\W3C-CSSValidator.htm"
|
Delete "$INSTDIR\plugins\Config\tidy\AsciiToEBCDIC.bin"
|
||||||
Delete "$INSTDIR\plugins\NPPTextFX\W3C-HTMLValidator.htm"
|
Delete "$INSTDIR\plugins\Config\tidy\libTidy.dll"
|
||||||
RMDir "$INSTDIR\plugins\NPPTextFX\"
|
Delete "$INSTDIR\plugins\Config\tidy\W3C-CSSValidator.htm"
|
||||||
|
Delete "$INSTDIR\plugins\Config\tidy\W3C-HTMLValidator.htm"
|
||||||
|
RMDir "$INSTDIR\plugins\tidy\"
|
||||||
RMDir "$INSTDIR\plugins\"
|
RMDir "$INSTDIR\plugins\"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ copy /Y SciLexer.dll .\zipped.package.release\unicode\
|
||||||
copy /Y ".\plugins\*.*" .\zipped.package.release\unicode\plugins\
|
copy /Y ".\plugins\*.*" .\zipped.package.release\unicode\plugins\
|
||||||
copy /Y ".\plugins\APIs\*.xml" .\zipped.package.release\unicode\plugins\APIs
|
copy /Y ".\plugins\APIs\*.xml" .\zipped.package.release\unicode\plugins\APIs
|
||||||
copy /Y ".\plugins\doc\*.*" .\zipped.package.release\unicode\plugins\doc
|
copy /Y ".\plugins\doc\*.*" .\zipped.package.release\unicode\plugins\doc
|
||||||
copy /Y ".\plugins\NPPTextFX\*.*" .\zipped.package.release\unicode\plugins\NPPTextFX
|
copy /Y ".\plugins\Config\tidy\*.*" .\zipped.package.release\unicode\plugins\Config\tidy
|
||||||
|
|
||||||
|
|
||||||
del /F /S /Q .\zipped.package.release\ansi\config.xml
|
del /F /S /Q .\zipped.package.release\ansi\config.xml
|
||||||
|
@ -34,6 +34,7 @@ copy /Y contextMenu.xml .\zipped.package.release\ansi\
|
||||||
copy /Y shortcuts.xml .\zipped.package.release\ansi\
|
copy /Y shortcuts.xml .\zipped.package.release\ansi\
|
||||||
copy /Y doLocalConf.xml .\zipped.package.release\ansi\
|
copy /Y doLocalConf.xml .\zipped.package.release\ansi\
|
||||||
copy /Y LINEDRAW.TTF .\zipped.package.release\ansi\
|
copy /Y LINEDRAW.TTF .\zipped.package.release\ansi\
|
||||||
|
copy /Y ".\plugins\Config\tidy\*.*" .\zipped.package.release\ansi\plugins\Config\tidy
|
||||||
|
|
||||||
"C:\Program Files\7-Zip\7z.exe" a -tzip -r npp.bin.zip .\zipped.package.release\*
|
"C:\Program Files\7-Zip\7z.exe" a -tzip -r npp.bin.zip .\zipped.package.release\*
|
||||||
"C:\Program Files\NSIS\makensis.exe" ..\installer\nppSetup.nsi
|
"C:\Program Files\NSIS\makensis.exe" ..\installer\nppSetup.nsi
|
||||||
|
|
|
@ -147,45 +147,45 @@ int filter(unsigned int code, struct _EXCEPTION_POINTERS *ep)
|
||||||
return EXCEPTION_CONTINUE_SEARCH;
|
return EXCEPTION_CONTINUE_SEARCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
int getCpFromStringValue(const TCHAR * encodingStr)
|
int getCpFromStringValue(const char * encodingStr)
|
||||||
{
|
{
|
||||||
if (!encodingStr)
|
if (!encodingStr)
|
||||||
return CP_ACP;
|
return CP_ACP;
|
||||||
|
|
||||||
if (generic_stricmp(TEXT("windows-1250"), encodingStr) == 0)
|
if (stricmp("windows-1250", encodingStr) == 0)
|
||||||
return 1250;
|
return 1250;
|
||||||
if (generic_stricmp(TEXT("windows-1251"), encodingStr) == 0)
|
if (stricmp("windows-1251", encodingStr) == 0)
|
||||||
return 1251;
|
return 1251;
|
||||||
if (generic_stricmp(TEXT("windows-1252"), encodingStr) == 0)
|
if (stricmp("windows-1252", encodingStr) == 0)
|
||||||
return 1252;
|
return 1252;
|
||||||
if (generic_stricmp(TEXT("windows-1253"), encodingStr) == 0)
|
if (stricmp("windows-1253", encodingStr) == 0)
|
||||||
return 1253;
|
return 1253;
|
||||||
if (generic_stricmp(TEXT("windows-1254"), encodingStr) == 0)
|
if (stricmp("windows-1254", encodingStr) == 0)
|
||||||
return 1254;
|
return 1254;
|
||||||
if (generic_stricmp(TEXT("windows-1255"), encodingStr) == 0)
|
if (stricmp("windows-1255", encodingStr) == 0)
|
||||||
return 1255;
|
return 1255;
|
||||||
if (generic_stricmp(TEXT("windows-1256"), encodingStr) == 0)
|
if (stricmp("windows-1256", encodingStr) == 0)
|
||||||
return 1256;
|
return 1256;
|
||||||
if (generic_stricmp(TEXT("windows-1257"), encodingStr) == 0)
|
if (stricmp("windows-1257", encodingStr) == 0)
|
||||||
return 1257;
|
return 1257;
|
||||||
if (generic_stricmp(TEXT("windows-1258"), encodingStr) == 0)
|
if (stricmp("windows-1258", encodingStr) == 0)
|
||||||
return 1258;
|
return 1258;
|
||||||
|
|
||||||
if (generic_stricmp(TEXT("big5"), encodingStr) == 0)
|
if (stricmp("big5", encodingStr) == 0)
|
||||||
return 950;
|
return 950;
|
||||||
if (generic_stricmp(TEXT("gb2312"), encodingStr) == 0)
|
if (stricmp("gb2312", encodingStr) == 0)
|
||||||
return 936;
|
return 936;
|
||||||
if (generic_stricmp(TEXT("shift_jis"), encodingStr) == 0)
|
if (stricmp("shift_jis", encodingStr) == 0)
|
||||||
return 932;
|
return 932;
|
||||||
if (generic_stricmp(TEXT("euc-kr"), encodingStr) == 0)
|
if (stricmp("euc-kr", encodingStr) == 0)
|
||||||
return 51949;
|
return 51949;
|
||||||
if (generic_stricmp(TEXT("tis-620"), encodingStr) == 0)
|
if (stricmp("tis-620", encodingStr) == 0)
|
||||||
return 874;
|
return 874;
|
||||||
|
|
||||||
if (generic_stricmp(TEXT("iso-8859-8"), encodingStr) == 0)
|
if (stricmp("iso-8859-8", encodingStr) == 0)
|
||||||
return 28598;
|
return 28598;
|
||||||
|
|
||||||
if (generic_stricmp(TEXT("utf-8"), encodingStr) == 0)
|
if (stricmp("utf-8", encodingStr) == 0)
|
||||||
return 65001;
|
return 65001;
|
||||||
|
|
||||||
return CP_ACP;
|
return CP_ACP;
|
||||||
|
|
|
@ -90,7 +90,7 @@ void printInt(int int2print);
|
||||||
void printStr(const TCHAR *str2print);
|
void printStr(const TCHAR *str2print);
|
||||||
void writeLog(const TCHAR *logFileName, const TCHAR *log2write);
|
void writeLog(const TCHAR *logFileName, const TCHAR *log2write);
|
||||||
int filter(unsigned int code, struct _EXCEPTION_POINTERS *ep);
|
int filter(unsigned int code, struct _EXCEPTION_POINTERS *ep);
|
||||||
int getCpFromStringValue(const TCHAR * encodingStr);
|
int getCpFromStringValue(const char * encodingStr);
|
||||||
std::generic_string purgeMenuItemString(const TCHAR * menuItemStr, bool keepAmpersand = false);
|
std::generic_string purgeMenuItemString(const TCHAR * menuItemStr, bool keepAmpersand = false);
|
||||||
|
|
||||||
void ClientRectToScreenRect(HWND hWnd, RECT* rect);
|
void ClientRectToScreenRect(HWND hWnd, RECT* rect);
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -75,7 +75,7 @@ enum Views {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct TaskListInfo;
|
struct TaskListInfo;
|
||||||
static TiXmlNode * searchDlgNode(TiXmlNode *node, const TCHAR *dlgTagName);
|
static TiXmlNodeA * searchDlgNode(TiXmlNodeA *node, const char *dlgTagName);
|
||||||
|
|
||||||
struct iconLocator {
|
struct iconLocator {
|
||||||
int listIndex;
|
int listIndex;
|
||||||
|
@ -161,11 +161,13 @@ public:
|
||||||
const TCHAR * fileSaveSession(size_t nbFile, TCHAR ** fileNames, const TCHAR *sessionFile2save);
|
const TCHAR * fileSaveSession(size_t nbFile, TCHAR ** fileNames, const TCHAR *sessionFile2save);
|
||||||
const TCHAR * fileSaveSession(size_t nbFile = 0, TCHAR ** fileNames = NULL);
|
const TCHAR * fileSaveSession(size_t nbFile = 0, TCHAR ** fileNames = NULL);
|
||||||
|
|
||||||
bool changeDlgLang(HWND hDlg, const TCHAR *dlgTagName, TCHAR *title = NULL);
|
bool changeDlgLang(HWND hDlg, const char *dlgTagName, char *title = NULL);
|
||||||
|
|
||||||
void changeConfigLang();
|
void changeConfigLang();
|
||||||
void changeUserDefineLang();
|
void changeUserDefineLang();
|
||||||
void changeMenuLang(generic_string & pluginsTrans, generic_string & windowTrans);
|
void changeMenuLang(generic_string & pluginsTrans, generic_string & windowTrans);
|
||||||
|
//void changeMenuLangTmp(generic_string & pluginsTrans, generic_string & windowTrans);
|
||||||
|
|
||||||
void changePrefereceDlgLang();
|
void changePrefereceDlgLang();
|
||||||
void changeShortcutLang();
|
void changeShortcutLang();
|
||||||
void changeShortcutmapperLang(ShortcutMapper * sm);
|
void changeShortcutmapperLang(ShortcutMapper * sm);
|
||||||
|
@ -201,7 +203,9 @@ private:
|
||||||
|
|
||||||
SmartHighlighter _smartHighlighter;
|
SmartHighlighter _smartHighlighter;
|
||||||
|
|
||||||
TiXmlNode *_nativeLang, *_toolIcons;
|
TiXmlNode *_toolIcons;
|
||||||
|
TiXmlNodeA *_nativeLangA;
|
||||||
|
|
||||||
int _nativeLangEncoding;
|
int _nativeLangEncoding;
|
||||||
|
|
||||||
DocTabView _mainDocTab;
|
DocTabView _mainDocTab;
|
||||||
|
@ -676,7 +680,7 @@ private:
|
||||||
void autoCompFromCurrentFile(bool autoInsert = true);
|
void autoCompFromCurrentFile(bool autoInsert = true);
|
||||||
void showFunctionComp();
|
void showFunctionComp();
|
||||||
|
|
||||||
void changeStyleCtrlsLang(HWND hDlg, int *idArray, const TCHAR **translatedText);
|
void changeStyleCtrlsLang(HWND hDlg, int *idArray, const char **translatedText);
|
||||||
bool replaceAllFiles();
|
bool replaceAllFiles();
|
||||||
bool findInOpenedFiles();
|
bool findInOpenedFiles();
|
||||||
|
|
||||||
|
|
|
@ -418,7 +418,7 @@ winVer getWindowsVersion()
|
||||||
NppParameters * NppParameters::_pSelf = new NppParameters;
|
NppParameters * NppParameters::_pSelf = new NppParameters;
|
||||||
int FileDialog::_dialogFileBoxId = (NppParameters::getInstance())->getWinVersion() < WV_W2K?edt1:cmb13;
|
int FileDialog::_dialogFileBoxId = (NppParameters::getInstance())->getWinVersion() < WV_W2K?edt1:cmb13;
|
||||||
NppParameters::NppParameters() : _pXmlDoc(NULL),_pXmlUserDoc(NULL), _pXmlUserStylerDoc(NULL),\
|
NppParameters::NppParameters() : _pXmlDoc(NULL),_pXmlUserDoc(NULL), _pXmlUserStylerDoc(NULL),\
|
||||||
_pXmlUserLangDoc(NULL), _pXmlNativeLangDoc(NULL),\
|
_pXmlUserLangDoc(NULL), /*_pXmlNativeLangDoc(NULL), */_pXmlNativeLangDocA(NULL),\
|
||||||
_nbLang(0), _nbFile(0), _nbMaxFile(10), _pXmlToolIconsDoc(NULL),\
|
_nbLang(0), _nbFile(0), _nbMaxFile(10), _pXmlToolIconsDoc(NULL),\
|
||||||
_pXmlShortcutDoc(NULL), _pXmlContextMenuDoc(NULL), _pXmlSessionDoc(NULL),\
|
_pXmlShortcutDoc(NULL), _pXmlContextMenuDoc(NULL), _pXmlSessionDoc(NULL),\
|
||||||
_nbUserLang(0), _nbExternalLang(0), _hUser32(NULL), _hUXTheme(NULL),\
|
_nbUserLang(0), _nbExternalLang(0), _hUser32(NULL), _hUXTheme(NULL),\
|
||||||
|
@ -688,6 +688,7 @@ bool NppParameters::load()
|
||||||
PathAppend(nativeLangPath, TEXT("nativeLang.xml"));
|
PathAppend(nativeLangPath, TEXT("nativeLang.xml"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
_pXmlNativeLangDoc = new TiXmlDocument(nativeLangPath);
|
_pXmlNativeLangDoc = new TiXmlDocument(nativeLangPath);
|
||||||
loadOkay = _pXmlNativeLangDoc->LoadFile();
|
loadOkay = _pXmlNativeLangDoc->LoadFile();
|
||||||
if (!loadOkay)
|
if (!loadOkay)
|
||||||
|
@ -695,8 +696,27 @@ bool NppParameters::load()
|
||||||
delete _pXmlNativeLangDoc;
|
delete _pXmlNativeLangDoc;
|
||||||
_pXmlNativeLangDoc = NULL;
|
_pXmlNativeLangDoc = NULL;
|
||||||
isAllLaoded = false;
|
isAllLaoded = false;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef UNICODE
|
||||||
|
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
|
||||||
|
const char * nativeLangPathA = wmc->wchar2char(nativeLangPath, CP_ANSI_LATIN_1);
|
||||||
|
_pXmlNativeLangDocA = new TiXmlDocumentA(nativeLangPathA);
|
||||||
|
#else
|
||||||
|
_pXmlNativeLangDocA = new TiXmlDocumentA(nativeLangPath);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
loadOkay = _pXmlNativeLangDocA->LoadFile();
|
||||||
|
if (!loadOkay)
|
||||||
|
{
|
||||||
|
delete _pXmlNativeLangDocA;
|
||||||
|
_pXmlNativeLangDocA = NULL;
|
||||||
|
isAllLaoded = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------//
|
//---------------------------------//
|
||||||
// toolbarIcons.xml : for per user //
|
// toolbarIcons.xml : for per user //
|
||||||
//---------------------------------//
|
//---------------------------------//
|
||||||
|
@ -818,8 +838,8 @@ void NppParameters::destroyInstance()
|
||||||
if (_pXmlUserLangDoc)
|
if (_pXmlUserLangDoc)
|
||||||
delete _pXmlUserLangDoc;
|
delete _pXmlUserLangDoc;
|
||||||
|
|
||||||
if (_pXmlNativeLangDoc)
|
if (_pXmlNativeLangDocA)
|
||||||
delete _pXmlNativeLangDoc;
|
delete _pXmlNativeLangDocA;
|
||||||
|
|
||||||
if (_pXmlToolIconsDoc)
|
if (_pXmlToolIconsDoc)
|
||||||
delete _pXmlToolIconsDoc;
|
delete _pXmlToolIconsDoc;
|
||||||
|
|
|
@ -19,7 +19,9 @@
|
||||||
#define PARAMETERS_H
|
#define PARAMETERS_H
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include "tinyxmlA.h"
|
||||||
#include "tinyxml.h"
|
#include "tinyxml.h"
|
||||||
|
|
||||||
//#include "ScintillaEditView.h"
|
//#include "ScintillaEditView.h"
|
||||||
#include "Scintilla.h"
|
#include "Scintilla.h"
|
||||||
#include "ScintillaRef.h"
|
#include "ScintillaRef.h"
|
||||||
|
@ -996,8 +998,11 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
int addExternalLangToEnd(ExternalLangContainer * externalLang);
|
int addExternalLangToEnd(ExternalLangContainer * externalLang);
|
||||||
|
|
||||||
TiXmlDocument * getNativeLang() const {return _pXmlNativeLangDoc;};
|
//TiXmlDocument * getNativeLang() const {return _pXmlNativeLangDoc;};
|
||||||
|
|
||||||
|
TiXmlDocumentA * getNativeLangA() const {return _pXmlNativeLangDocA;};
|
||||||
|
|
||||||
TiXmlDocument * getToolIcons() const {return _pXmlToolIconsDoc;};
|
TiXmlDocument * getToolIcons() const {return _pXmlToolIconsDoc;};
|
||||||
|
|
||||||
bool isTransparentAvailable() const {
|
bool isTransparentAvailable() const {
|
||||||
|
@ -1070,39 +1075,39 @@ public:
|
||||||
|
|
||||||
FindDlgTabTitiles & getFindDlgTabTitiles() { return _findDlgTabTitiles;};
|
FindDlgTabTitiles & getFindDlgTabTitiles() { return _findDlgTabTitiles;};
|
||||||
|
|
||||||
const TCHAR * getNativeLangMenuString(int itemID) {
|
const char * getNativeLangMenuStringA(int itemID) {
|
||||||
if (!_pXmlNativeLangDoc)
|
if (!_pXmlNativeLangDocA)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
TiXmlNode * node = _pXmlNativeLangDoc->FirstChild(TEXT("NotepadPlus"));
|
TiXmlNodeA * node = _pXmlNativeLangDocA->FirstChild("NotepadPlus");
|
||||||
if (!node) return NULL;
|
if (!node) return NULL;
|
||||||
|
|
||||||
node = node->FirstChild(TEXT("Native-Langue"));
|
node = node->FirstChild("Native-Langue");
|
||||||
if (!node) return NULL;
|
if (!node) return NULL;
|
||||||
|
|
||||||
node = node->FirstChild(TEXT("Menu"));
|
node = node->FirstChild("Menu");
|
||||||
if (!node) return NULL;
|
if (!node) return NULL;
|
||||||
|
|
||||||
node = node->FirstChild(TEXT("Main"));
|
node = node->FirstChild("Main");
|
||||||
if (!node) return NULL;
|
if (!node) return NULL;
|
||||||
|
|
||||||
node = node->FirstChild(TEXT("Commands"));
|
node = node->FirstChild("Commands");
|
||||||
if (!node) return NULL;
|
if (!node) return NULL;
|
||||||
|
|
||||||
for (TiXmlNode *childNode = node->FirstChildElement(TEXT("Item"));
|
for (TiXmlNodeA *childNode = node->FirstChildElement("Item");
|
||||||
childNode ;
|
childNode ;
|
||||||
childNode = childNode->NextSibling(TEXT("Item")) )
|
childNode = childNode->NextSibling("Item") )
|
||||||
{
|
{
|
||||||
TiXmlElement *element = childNode->ToElement();
|
TiXmlElementA *element = childNode->ToElement();
|
||||||
int id;
|
int id;
|
||||||
if (element->Attribute(TEXT("id"), &id) && (id == itemID))
|
if (element->Attribute("id", &id) && (id == itemID))
|
||||||
{
|
{
|
||||||
return element->Attribute(TEXT("name"));
|
return element->Attribute("name");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
};
|
};
|
||||||
|
|
||||||
bool asNotepadStyle() const {return _asNotepadStyle;};
|
bool asNotepadStyle() const {return _asNotepadStyle;};
|
||||||
|
|
||||||
bool reloadPluginCmds() {
|
bool reloadPluginCmds() {
|
||||||
|
@ -1119,9 +1124,11 @@ private:
|
||||||
|
|
||||||
static NppParameters *_pSelf;
|
static NppParameters *_pSelf;
|
||||||
|
|
||||||
TiXmlDocument *_pXmlDoc, *_pXmlUserDoc, *_pXmlUserStylerDoc, *_pXmlUserLangDoc, *_pXmlNativeLangDoc,\
|
TiXmlDocument *_pXmlDoc, *_pXmlUserDoc, *_pXmlUserStylerDoc, *_pXmlUserLangDoc,\
|
||||||
*_pXmlToolIconsDoc, *_pXmlShortcutDoc, *_pXmlContextMenuDoc, *_pXmlSessionDoc;
|
*_pXmlToolIconsDoc, *_pXmlShortcutDoc, *_pXmlContextMenuDoc, *_pXmlSessionDoc;
|
||||||
|
|
||||||
|
TiXmlDocumentA *_pXmlNativeLangDocA;
|
||||||
|
|
||||||
vector<TiXmlDocument *> _pXmlExternalLexerDoc;
|
vector<TiXmlDocument *> _pXmlExternalLexerDoc;
|
||||||
|
|
||||||
NppGUI _nppGUI;
|
NppGUI _nppGUI;
|
||||||
|
|
|
@ -0,0 +1,303 @@
|
||||||
|
/*
|
||||||
|
www.sourceforge.net/projects/tinyxml
|
||||||
|
Original file by Yves Berquin.
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any
|
||||||
|
damages arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any
|
||||||
|
purpose, including commercial applications, and to alter it and
|
||||||
|
redistribute it freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must
|
||||||
|
not claim that you wrote the original software. If you use this
|
||||||
|
software in a product, an acknowledgment in the product documentation
|
||||||
|
would be appreciated but is not required.
|
||||||
|
|
||||||
|
2. Altered source versions must be plainly marked as such, and
|
||||||
|
must not be misrepresented as being the original software.
|
||||||
|
|
||||||
|
3. This notice may not be removed or altered from any source
|
||||||
|
distribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "tinyxmlA.h"
|
||||||
|
|
||||||
|
#ifndef TIXMLA_USE_STL
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
|
#include "tinystrA.h"
|
||||||
|
|
||||||
|
// TiXmlStringA constructor, based on a C string
|
||||||
|
TiXmlStringA::TiXmlStringA (const char* instring)
|
||||||
|
{
|
||||||
|
unsigned newlen;
|
||||||
|
char * newstring;
|
||||||
|
|
||||||
|
if (!instring)
|
||||||
|
{
|
||||||
|
allocated = 0;
|
||||||
|
cstring = NULL;
|
||||||
|
current_length = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
newlen = strlen (instring) + 1;
|
||||||
|
newstring = new char [newlen];
|
||||||
|
memcpy (newstring, instring, newlen);
|
||||||
|
// strcpy (newstring, instring);
|
||||||
|
allocated = newlen;
|
||||||
|
cstring = newstring;
|
||||||
|
current_length = newlen - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TiXmlStringA copy constructor
|
||||||
|
TiXmlStringA::TiXmlStringA (const TiXmlStringA& copy)
|
||||||
|
{
|
||||||
|
unsigned newlen;
|
||||||
|
char * newstring;
|
||||||
|
|
||||||
|
// Prevent copy to self!
|
||||||
|
if ( © == this )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (! copy . allocated)
|
||||||
|
{
|
||||||
|
allocated = 0;
|
||||||
|
cstring = NULL;
|
||||||
|
current_length = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
newlen = copy . length () + 1;
|
||||||
|
newstring = new char [newlen];
|
||||||
|
// strcpy (newstring, copy . cstring);
|
||||||
|
memcpy (newstring, copy . cstring, newlen);
|
||||||
|
allocated = newlen;
|
||||||
|
cstring = newstring;
|
||||||
|
current_length = newlen - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TiXmlStringA = operator. Safe when assign own content
|
||||||
|
void TiXmlStringA ::operator = (const char * content)
|
||||||
|
{
|
||||||
|
unsigned newlen;
|
||||||
|
char * newstring;
|
||||||
|
|
||||||
|
if (! content)
|
||||||
|
{
|
||||||
|
empty_it ();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
newlen = strlen (content) + 1;
|
||||||
|
newstring = new char [newlen];
|
||||||
|
// strcpy (newstring, content);
|
||||||
|
memcpy (newstring, content, newlen);
|
||||||
|
empty_it ();
|
||||||
|
allocated = newlen;
|
||||||
|
cstring = newstring;
|
||||||
|
current_length = newlen - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// = operator. Safe when assign own content
|
||||||
|
void TiXmlStringA ::operator = (const TiXmlStringA & copy)
|
||||||
|
{
|
||||||
|
unsigned newlen;
|
||||||
|
char * newstring;
|
||||||
|
|
||||||
|
if (! copy . length ())
|
||||||
|
{
|
||||||
|
empty_it ();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
newlen = copy . length () + 1;
|
||||||
|
newstring = new char [newlen];
|
||||||
|
// strcpy (newstring, copy . c_str ());
|
||||||
|
memcpy (newstring, copy . c_str (), newlen);
|
||||||
|
empty_it ();
|
||||||
|
allocated = newlen;
|
||||||
|
cstring = newstring;
|
||||||
|
current_length = newlen - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//// Checks if a TiXmlStringA contains only whitespace (same rules as isspace)
|
||||||
|
//bool TiXmlStringA::isblank () const
|
||||||
|
//{
|
||||||
|
// char * lookup;
|
||||||
|
// for (lookup = cstring; * lookup; lookup++)
|
||||||
|
// if (! isspace (* lookup))
|
||||||
|
// return false;
|
||||||
|
// return true;
|
||||||
|
//}
|
||||||
|
|
||||||
|
// append a const char * to an existing TiXmlStringA
|
||||||
|
void TiXmlStringA::append( const char* str, int len )
|
||||||
|
{
|
||||||
|
char * new_string;
|
||||||
|
unsigned new_alloc, new_size, size_suffix;
|
||||||
|
|
||||||
|
size_suffix = strlen (str);
|
||||||
|
if (len < (int) size_suffix)
|
||||||
|
size_suffix = len;
|
||||||
|
if (! size_suffix)
|
||||||
|
return;
|
||||||
|
|
||||||
|
new_size = length () + size_suffix + 1;
|
||||||
|
// check if we need to expand
|
||||||
|
if (new_size > allocated)
|
||||||
|
{
|
||||||
|
// compute new size
|
||||||
|
new_alloc = assign_new_size (new_size);
|
||||||
|
|
||||||
|
// allocate new buffer
|
||||||
|
new_string = new char [new_alloc];
|
||||||
|
new_string [0] = 0;
|
||||||
|
|
||||||
|
// copy the previous allocated buffer into this one
|
||||||
|
if (allocated && cstring)
|
||||||
|
// strcpy (new_string, cstring);
|
||||||
|
memcpy (new_string, cstring, length ());
|
||||||
|
|
||||||
|
// append the suffix. It does exist, otherwize we wouldn't be expanding
|
||||||
|
// strncat (new_string, str, len);
|
||||||
|
memcpy (new_string + length (),
|
||||||
|
str,
|
||||||
|
size_suffix);
|
||||||
|
|
||||||
|
// return previsously allocated buffer if any
|
||||||
|
if (allocated && cstring)
|
||||||
|
delete [] cstring;
|
||||||
|
|
||||||
|
// update member variables
|
||||||
|
cstring = new_string;
|
||||||
|
allocated = new_alloc;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// we know we can safely append the new string
|
||||||
|
// strncat (cstring, str, len);
|
||||||
|
memcpy (cstring + length (),
|
||||||
|
str,
|
||||||
|
size_suffix);
|
||||||
|
}
|
||||||
|
current_length = new_size - 1;
|
||||||
|
cstring [current_length] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// append a const char * to an existing TiXmlStringA
|
||||||
|
void TiXmlStringA::append( const char * suffix )
|
||||||
|
{
|
||||||
|
char * new_string;
|
||||||
|
unsigned new_alloc, new_size;
|
||||||
|
|
||||||
|
new_size = length () + strlen (suffix) + 1;
|
||||||
|
// check if we need to expand
|
||||||
|
if (new_size > allocated)
|
||||||
|
{
|
||||||
|
// compute new size
|
||||||
|
new_alloc = assign_new_size (new_size);
|
||||||
|
|
||||||
|
// allocate new buffer
|
||||||
|
new_string = new char [new_alloc];
|
||||||
|
new_string [0] = 0;
|
||||||
|
|
||||||
|
// copy the previous allocated buffer into this one
|
||||||
|
if (allocated && cstring)
|
||||||
|
memcpy (new_string, cstring, 1 + length ());
|
||||||
|
// strcpy (new_string, cstring);
|
||||||
|
|
||||||
|
// append the suffix. It does exist, otherwize we wouldn't be expanding
|
||||||
|
// strcat (new_string, suffix);
|
||||||
|
memcpy (new_string + length (),
|
||||||
|
suffix,
|
||||||
|
strlen (suffix) + 1);
|
||||||
|
|
||||||
|
// return previsously allocated buffer if any
|
||||||
|
if (allocated && cstring)
|
||||||
|
delete [] cstring;
|
||||||
|
|
||||||
|
// update member variables
|
||||||
|
cstring = new_string;
|
||||||
|
allocated = new_alloc;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// we know we can safely append the new string
|
||||||
|
// strcat (cstring, suffix);
|
||||||
|
memcpy (cstring + length (),
|
||||||
|
suffix,
|
||||||
|
strlen (suffix) + 1);
|
||||||
|
}
|
||||||
|
current_length = new_size - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for TiXmlStringA equuivalence
|
||||||
|
//bool TiXmlStringA::operator == (const TiXmlStringA & compare) const
|
||||||
|
//{
|
||||||
|
// return (! strcmp (c_str (), compare . c_str ()));
|
||||||
|
//}
|
||||||
|
|
||||||
|
//unsigned TiXmlStringA::length () const
|
||||||
|
//{
|
||||||
|
// if (allocated)
|
||||||
|
// // return strlen (cstring);
|
||||||
|
// return current_length;
|
||||||
|
// return 0;
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
unsigned TiXmlStringA::find (char tofind, unsigned offset) const
|
||||||
|
{
|
||||||
|
char * lookup;
|
||||||
|
|
||||||
|
if (offset >= length ())
|
||||||
|
return (unsigned) notfound;
|
||||||
|
for (lookup = cstring + offset; * lookup; lookup++)
|
||||||
|
if (* lookup == tofind)
|
||||||
|
return lookup - cstring;
|
||||||
|
return (unsigned) notfound;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool TiXmlStringA::operator == (const TiXmlStringA & compare) const
|
||||||
|
{
|
||||||
|
if ( allocated && compare.allocated )
|
||||||
|
{
|
||||||
|
assert( cstring );
|
||||||
|
assert( compare.cstring );
|
||||||
|
return ( strcmp( cstring, compare.cstring ) == 0 );
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool TiXmlStringA::operator < (const TiXmlStringA & compare) const
|
||||||
|
{
|
||||||
|
if ( allocated && compare.allocated )
|
||||||
|
{
|
||||||
|
assert( cstring );
|
||||||
|
assert( compare.cstring );
|
||||||
|
return ( strcmp( cstring, compare.cstring ) > 0 );
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool TiXmlStringA::operator > (const TiXmlStringA & compare) const
|
||||||
|
{
|
||||||
|
if ( allocated && compare.allocated )
|
||||||
|
{
|
||||||
|
assert( cstring );
|
||||||
|
assert( compare.cstring );
|
||||||
|
return ( strcmp( cstring, compare.cstring ) < 0 );
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif // TIXMLA_USE_STL
|
|
@ -0,0 +1,236 @@
|
||||||
|
/*
|
||||||
|
www.sourceforge.net/projects/tinyxml
|
||||||
|
Original file by Yves Berquin.
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any
|
||||||
|
damages arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any
|
||||||
|
purpose, including commercial applications, and to alter it and
|
||||||
|
redistribute it freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must
|
||||||
|
not claim that you wrote the original software. If you use this
|
||||||
|
software in a product, an acknowledgment in the product documentation
|
||||||
|
would be appreciated but is not required.
|
||||||
|
|
||||||
|
2. Altered source versions must be plainly marked as such, and
|
||||||
|
must not be misrepresented as being the original software.
|
||||||
|
|
||||||
|
3. This notice may not be removed or altered from any source
|
||||||
|
distribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "tinyxmlA.h"
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef TIXMLA_USE_STL
|
||||||
|
|
||||||
|
#ifndef _INCLUDED
|
||||||
|
#define TIXMLA_STRING_INCLUDED
|
||||||
|
|
||||||
|
#pragma warning( disable : 4514 )
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
TiXmlStringA is an emulation of the std::string template.
|
||||||
|
Its purpose is to allow compiling TinyXML on compilers with no or poor STL support.
|
||||||
|
Only the member functions relevant to the TinyXML project have been implemented.
|
||||||
|
The buffer allocation is made by a simplistic power of 2 like mechanism : if we increase
|
||||||
|
a string and there's no more room, we allocate a buffer twice as big as we need.
|
||||||
|
*/
|
||||||
|
class TiXmlStringA
|
||||||
|
{
|
||||||
|
public :
|
||||||
|
// TiXmlStringA constructor, based on a string
|
||||||
|
TiXmlStringA (const char * instring);
|
||||||
|
|
||||||
|
// TiXmlStringA empty constructor
|
||||||
|
TiXmlStringA ()
|
||||||
|
{
|
||||||
|
allocated = 0;
|
||||||
|
cstring = NULL;
|
||||||
|
current_length = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TiXmlStringA copy constructor
|
||||||
|
TiXmlStringA (const TiXmlStringA& copy);
|
||||||
|
|
||||||
|
// TiXmlStringA destructor
|
||||||
|
~ TiXmlStringA ()
|
||||||
|
{
|
||||||
|
empty_it ();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert a TiXmlStringA into a classical char *
|
||||||
|
const char * c_str () const
|
||||||
|
{
|
||||||
|
if (allocated)
|
||||||
|
return cstring;
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return the length of a TiXmlStringA
|
||||||
|
unsigned length () const
|
||||||
|
{
|
||||||
|
return ( allocated ) ? current_length : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TiXmlStringA = operator
|
||||||
|
void operator = (const char * content);
|
||||||
|
|
||||||
|
// = operator
|
||||||
|
void operator = (const TiXmlStringA & copy);
|
||||||
|
|
||||||
|
// += operator. Maps to append
|
||||||
|
TiXmlStringA& operator += (const char * suffix)
|
||||||
|
{
|
||||||
|
append (suffix);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
// += operator. Maps to append
|
||||||
|
TiXmlStringA& operator += (char single)
|
||||||
|
{
|
||||||
|
append (single);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
// += operator. Maps to append
|
||||||
|
TiXmlStringA& operator += (TiXmlStringA & suffix)
|
||||||
|
{
|
||||||
|
append (suffix);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
bool operator == (const TiXmlStringA & compare) const;
|
||||||
|
bool operator < (const TiXmlStringA & compare) const;
|
||||||
|
bool operator > (const TiXmlStringA & compare) const;
|
||||||
|
|
||||||
|
// Checks if a TiXmlStringA is empty
|
||||||
|
bool empty () const
|
||||||
|
{
|
||||||
|
return length () ? false : true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Checks if a TiXmlStringA contains only whitespace (same rules as isspace)
|
||||||
|
// Not actually used in tinyxml. Conflicts with a C macro, "isblank",
|
||||||
|
// which is a problem. Commenting out. -lee
|
||||||
|
// bool isblank () const;
|
||||||
|
|
||||||
|
// single char extraction
|
||||||
|
const char& at (unsigned index) const
|
||||||
|
{
|
||||||
|
assert( index < length ());
|
||||||
|
return cstring [index];
|
||||||
|
}
|
||||||
|
|
||||||
|
// find a char in a string. Return TiXmlStringA::notfound if not found
|
||||||
|
unsigned find (char lookup) const
|
||||||
|
{
|
||||||
|
return find (lookup, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// find a char in a string from an offset. Return TiXmlStringA::notfound if not found
|
||||||
|
unsigned find (char tofind, unsigned offset) const;
|
||||||
|
|
||||||
|
/* Function to reserve a big amount of data when we know we'll need it. Be aware that this
|
||||||
|
function clears the content of the TiXmlStringA if any exists.
|
||||||
|
*/
|
||||||
|
void reserve (unsigned size)
|
||||||
|
{
|
||||||
|
empty_it ();
|
||||||
|
if (size)
|
||||||
|
{
|
||||||
|
allocated = size;
|
||||||
|
TIXMLA_STRING cstring = new char [size];
|
||||||
|
cstring [0] = 0;
|
||||||
|
current_length = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// [] operator
|
||||||
|
char& operator [] (unsigned index) const
|
||||||
|
{
|
||||||
|
assert( index < length ());
|
||||||
|
return cstring [index];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Error value for find primitive
|
||||||
|
enum { notfound = 0xffffffff,
|
||||||
|
npos = notfound };
|
||||||
|
|
||||||
|
void append (const char *str, int len );
|
||||||
|
|
||||||
|
protected :
|
||||||
|
|
||||||
|
// The base string
|
||||||
|
char * cstring;
|
||||||
|
// Number of chars allocated
|
||||||
|
unsigned allocated;
|
||||||
|
// Current string size
|
||||||
|
unsigned current_length;
|
||||||
|
|
||||||
|
// New size computation. It is simplistic right now : it returns twice the amount
|
||||||
|
// we need
|
||||||
|
unsigned assign_new_size (unsigned minimum_to_allocate)
|
||||||
|
{
|
||||||
|
return minimum_to_allocate * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Internal function that clears the content of a TiXmlStringA
|
||||||
|
void empty_it ()
|
||||||
|
{
|
||||||
|
if (cstring)
|
||||||
|
delete [] cstring;
|
||||||
|
cstring = NULL;
|
||||||
|
allocated = 0;
|
||||||
|
current_length = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void append (const char *suffix );
|
||||||
|
|
||||||
|
// append function for another TiXmlStringA
|
||||||
|
void append (const TiXmlStringA & suffix)
|
||||||
|
{
|
||||||
|
append (suffix . c_str ());
|
||||||
|
}
|
||||||
|
|
||||||
|
// append for a single char. This could be improved a lot if needed
|
||||||
|
void append (char single)
|
||||||
|
{
|
||||||
|
char smallstr [2];
|
||||||
|
smallstr [0] = single;
|
||||||
|
smallstr [1] = 0;
|
||||||
|
append (smallstr);
|
||||||
|
}
|
||||||
|
|
||||||
|
} ;
|
||||||
|
|
||||||
|
/*
|
||||||
|
TiXmlOutStreamA is an emulation of std::ostream. It is based on TiXmlStringA.
|
||||||
|
Only the operators that we need for TinyXML have been developped.
|
||||||
|
*/
|
||||||
|
class TiXmlOutStreamA : public TiXmlStringA
|
||||||
|
{
|
||||||
|
public :
|
||||||
|
TiXmlOutStreamA () : TiXmlStringA () {}
|
||||||
|
|
||||||
|
// TiXmlOutStreamA << operator. Maps to TiXmlStringA::append
|
||||||
|
TiXmlOutStreamA & operator << (const char * in)
|
||||||
|
{
|
||||||
|
append (in);
|
||||||
|
return (* this);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TiXmlOutStreamA << operator. Maps to TiXmlStringA::append
|
||||||
|
TiXmlOutStreamA & operator << (const TiXmlStringA & in)
|
||||||
|
{
|
||||||
|
append (in . c_str ());
|
||||||
|
return (* this);
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
#endif // TIXMLA_STRING_INCLUDED
|
||||||
|
#endif // TIXMLA_USE_STL
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
www.sourceforge.net/projects/tinyxml
|
||||||
|
Original code (2.0 and earlier )copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com)
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any
|
||||||
|
damages arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any
|
||||||
|
purpose, including commercial applications, and to alter it and
|
||||||
|
redistribute it freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must
|
||||||
|
not claim that you wrote the original software. If you use this
|
||||||
|
software in a product, an acknowledgment in the product documentation
|
||||||
|
would be appreciated but is not required.
|
||||||
|
|
||||||
|
2. Altered source versions must be plainly marked as such, and
|
||||||
|
must not be misrepresented as being the original software.
|
||||||
|
|
||||||
|
3. This notice may not be removed or altered from any source
|
||||||
|
distribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "tinyxmlA.h"
|
||||||
|
|
||||||
|
// The goal of the seperate error file is to make the first
|
||||||
|
// step towards localization. tinyxml (currently) only supports
|
||||||
|
// latin-1, but at least the error messages could now be translated.
|
||||||
|
//
|
||||||
|
// It also cleans up the code a bit.
|
||||||
|
//
|
||||||
|
|
||||||
|
const char* TiXmlBaseA::errorString[ TIXMLA_ERROR_STRING_COUNT ] =
|
||||||
|
{
|
||||||
|
"No error",
|
||||||
|
"Error",
|
||||||
|
"Failed to open file",
|
||||||
|
"Memory allocation failed.",
|
||||||
|
"Error parsing Element.",
|
||||||
|
"Failed to read Element name",
|
||||||
|
"Error reading Element value.",
|
||||||
|
"Error reading Attributes.",
|
||||||
|
"Error: empty tag.",
|
||||||
|
"Error reading end tag.",
|
||||||
|
"Error parsing Unknown.",
|
||||||
|
"Error parsing Comment.",
|
||||||
|
"Error parsing Declaration.",
|
||||||
|
"Error document empty."
|
||||||
|
};
|
File diff suppressed because it is too large
Load Diff
|
@ -378,7 +378,7 @@ void WindowsDlg::updateButtonState()
|
||||||
EnableWindow(GetDlgItem(_hSelf, IDC_WINDOWS_SORT), _isSorted);
|
EnableWindow(GetDlgItem(_hSelf, IDC_WINDOWS_SORT), _isSorted);
|
||||||
}
|
}
|
||||||
|
|
||||||
int WindowsDlg::doDialog(TiXmlNode *dlgNode)
|
int WindowsDlg::doDialog(TiXmlNodeA *dlgNode)
|
||||||
{
|
{
|
||||||
_dlgNode = dlgNode;
|
_dlgNode = dlgNode;
|
||||||
return ::DialogBoxParam(_hInst, MAKEINTRESOURCE(IDD_WINDOWS), _hParent, (DLGPROC)dlgProc, (LPARAM)this);
|
return ::DialogBoxParam(_hInst, MAKEINTRESOURCE(IDD_WINDOWS), _hParent, (DLGPROC)dlgProc, (LPARAM)this);
|
||||||
|
@ -391,21 +391,20 @@ bool WindowsDlg::changeDlgLang()
|
||||||
#ifdef UNICODE
|
#ifdef UNICODE
|
||||||
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
|
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
|
||||||
int nativeLangEncoding = CP_ACP;
|
int nativeLangEncoding = CP_ACP;
|
||||||
TiXmlDeclaration *declaration = _dlgNode->GetDocument()->FirstChild()->ToDeclaration();
|
TiXmlDeclarationA *declaration = _dlgNode->GetDocument()->FirstChild()->ToDeclaration();
|
||||||
if (declaration)
|
if (declaration)
|
||||||
{
|
{
|
||||||
const TCHAR * encodingStr = declaration->Encoding();
|
const char * encodingStr = declaration->Encoding();
|
||||||
nativeLangEncoding = getCpFromStringValue(encodingStr);
|
nativeLangEncoding = getCpFromStringValue(encodingStr);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Set Title
|
// Set Title
|
||||||
const TCHAR *titre = (_dlgNode->ToElement())->Attribute(TEXT("title"));
|
const char *titre = (_dlgNode->ToElement())->Attribute("title");
|
||||||
if (titre && titre[0])
|
if (titre && titre[0])
|
||||||
{
|
{
|
||||||
#ifdef UNICODE
|
#ifdef UNICODE
|
||||||
const char *pCharStrA = wmc->wchar2char(titre, CP_ANSI_LATIN_1);
|
const wchar_t *nameW = wmc->char2wchar(titre, nativeLangEncoding);
|
||||||
const wchar_t *nameW = wmc->char2wchar(pCharStrA, nativeLangEncoding);
|
|
||||||
::SetWindowText(_hSelf, nameW);
|
::SetWindowText(_hSelf, nameW);
|
||||||
#else
|
#else
|
||||||
::SetWindowText(_hSelf, titre);
|
::SetWindowText(_hSelf, titre);
|
||||||
|
@ -413,22 +412,21 @@ bool WindowsDlg::changeDlgLang()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the text of child control
|
// Set the text of child control
|
||||||
for (TiXmlNode *childNode = _dlgNode->FirstChildElement(TEXT("Item"));
|
for (TiXmlNodeA *childNode = _dlgNode->FirstChildElement("Item");
|
||||||
childNode ;
|
childNode ;
|
||||||
childNode = childNode->NextSibling(TEXT("Item")) )
|
childNode = childNode->NextSibling("Item") )
|
||||||
{
|
{
|
||||||
TiXmlElement *element = childNode->ToElement();
|
TiXmlElementA *element = childNode->ToElement();
|
||||||
int id;
|
int id;
|
||||||
const TCHAR *sentinel = element->Attribute(TEXT("id"), &id);
|
const char *sentinel = element->Attribute("id", &id);
|
||||||
const TCHAR *name = element->Attribute(TEXT("name"));
|
const char *name = element->Attribute("name");
|
||||||
if (sentinel && (name && name[0]))
|
if (sentinel && (name && name[0]))
|
||||||
{
|
{
|
||||||
HWND hItem = ::GetDlgItem(_hSelf, id);
|
HWND hItem = ::GetDlgItem(_hSelf, id);
|
||||||
if (hItem)
|
if (hItem)
|
||||||
{
|
{
|
||||||
#ifdef UNICODE
|
#ifdef UNICODE
|
||||||
const char *pCharStrA = wmc->wchar2char(name, CP_ANSI_LATIN_1);
|
const wchar_t *nameW = wmc->char2wchar(name, nativeLangEncoding);
|
||||||
const wchar_t *nameW = wmc->char2wchar(pCharStrA, nativeLangEncoding);
|
|
||||||
::SetWindowText(hItem, nameW);
|
::SetWindowText(hItem, nameW);
|
||||||
#else
|
#else
|
||||||
::SetWindowText(hItem, name);
|
::SetWindowText(hItem, name);
|
||||||
|
|
|
@ -61,7 +61,7 @@ class WindowsDlg : public SizeableDlg
|
||||||
|
|
||||||
public :
|
public :
|
||||||
WindowsDlg();
|
WindowsDlg();
|
||||||
int doDialog(TiXmlNode *dlgNode);
|
int doDialog(TiXmlNodeA *dlgNode);
|
||||||
virtual void init(HINSTANCE hInst, HWND parent, DocTabView *pTab);
|
virtual void init(HINSTANCE hInst, HWND parent, DocTabView *pTab);
|
||||||
|
|
||||||
void doRefresh(bool invalidate = false);
|
void doRefresh(bool invalidate = false);
|
||||||
|
@ -90,7 +90,7 @@ protected :
|
||||||
std::vector<int> _idxMap;
|
std::vector<int> _idxMap;
|
||||||
int _lastSort;
|
int _lastSort;
|
||||||
bool _isSorted;
|
bool _isSorted;
|
||||||
TiXmlNode *_dlgNode;
|
TiXmlNodeA *_dlgNode;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void init(HINSTANCE hInst, HWND parent);
|
virtual void init(HINSTANCE hInst, HWND parent);
|
||||||
|
|
|
@ -30,18 +30,28 @@ void LastRecentFileList::initMenu(HMENU hMenu, int idBase, int posBase) {
|
||||||
|
|
||||||
void LastRecentFileList::updateMenu() {
|
void LastRecentFileList::updateMenu() {
|
||||||
if (!_hasSeparators && _size > 0) { //add separators
|
if (!_hasSeparators && _size > 0) { //add separators
|
||||||
const TCHAR * nativeLangOpenAllFiles = (NppParameters::getInstance())->getNativeLangMenuString(IDM_OPEN_ALL_RECENT_FILE);
|
const char * nativeLangOpenAllFiles = (NppParameters::getInstance())->getNativeLangMenuStringA(IDM_OPEN_ALL_RECENT_FILE);
|
||||||
const TCHAR * nativeLangCleanFilesList = (NppParameters::getInstance())->getNativeLangMenuString(IDM_CLEAN_RECENT_FILE_LIST);
|
const char * nativeLangCleanFilesList = (NppParameters::getInstance())->getNativeLangMenuStringA(IDM_CLEAN_RECENT_FILE_LIST);
|
||||||
|
|
||||||
const TCHAR * openAllFileStr = nativeLangOpenAllFiles?nativeLangOpenAllFiles:TEXT("Open All Recent Files");
|
const char * openAllFileStr = nativeLangOpenAllFiles?nativeLangOpenAllFiles:"Open All Recent Files";
|
||||||
const TCHAR * cleanFileListStr = nativeLangCleanFilesList?nativeLangCleanFilesList:TEXT("Clean Recent Files List");
|
const char * cleanFileListStr = nativeLangCleanFilesList?nativeLangCleanFilesList:"Clean Recent Files List";
|
||||||
::InsertMenu(_hMenu, _posBase + 0, MF_BYPOSITION, UINT(-1), 0);
|
::InsertMenu(_hMenu, _posBase + 0, MF_BYPOSITION, UINT(-1), 0);
|
||||||
|
#ifdef UNICODE
|
||||||
|
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
|
||||||
|
const wchar_t * openAllFileStrW = wmc->char2wchar(openAllFileStr, CP_ANSI_LATIN_1);
|
||||||
|
::InsertMenu(_hMenu, _posBase + 1, MF_BYPOSITION, IDM_OPEN_ALL_RECENT_FILE, openAllFileStrW);
|
||||||
|
const wchar_t * cleanFileListStrW = wmc->char2wchar(cleanFileListStr, CP_ANSI_LATIN_1);
|
||||||
|
::InsertMenu(_hMenu, _posBase + 2, MF_BYPOSITION, IDM_CLEAN_RECENT_FILE_LIST, cleanFileListStrW);
|
||||||
|
#else
|
||||||
::InsertMenu(_hMenu, _posBase + 1, MF_BYPOSITION, IDM_OPEN_ALL_RECENT_FILE, openAllFileStr);
|
::InsertMenu(_hMenu, _posBase + 1, MF_BYPOSITION, IDM_OPEN_ALL_RECENT_FILE, openAllFileStr);
|
||||||
::InsertMenu(_hMenu, _posBase + 2, MF_BYPOSITION, IDM_CLEAN_RECENT_FILE_LIST, cleanFileListStr);
|
::InsertMenu(_hMenu, _posBase + 2, MF_BYPOSITION, IDM_CLEAN_RECENT_FILE_LIST, cleanFileListStr);
|
||||||
|
#endif
|
||||||
::InsertMenu(_hMenu, _posBase + 3, MF_BYPOSITION, UINT(-1), 0);
|
::InsertMenu(_hMenu, _posBase + 3, MF_BYPOSITION, UINT(-1), 0);
|
||||||
_hasSeparators = true;
|
_hasSeparators = true;
|
||||||
|
|
||||||
} else if (_hasSeparators && _size == 0) { //remove separators
|
}
|
||||||
|
else if (_hasSeparators && _size == 0) //remove separators
|
||||||
|
{
|
||||||
::RemoveMenu(_hMenu, _posBase + 3, MF_BYPOSITION);
|
::RemoveMenu(_hMenu, _posBase + 3, MF_BYPOSITION);
|
||||||
::RemoveMenu(_hMenu, IDM_CLEAN_RECENT_FILE_LIST, MF_BYCOMMAND);
|
::RemoveMenu(_hMenu, IDM_CLEAN_RECENT_FILE_LIST, MF_BYCOMMAND);
|
||||||
::RemoveMenu(_hMenu, IDM_OPEN_ALL_RECENT_FILE, MF_BYCOMMAND);
|
::RemoveMenu(_hMenu, IDM_OPEN_ALL_RECENT_FILE, MF_BYCOMMAND);
|
||||||
|
|
|
@ -42,8 +42,8 @@
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
FavorSizeOrSpeed="0"
|
FavorSizeOrSpeed="0"
|
||||||
AdditionalIncludeDirectories="..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common"
|
AdditionalIncludeDirectories="..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USE_64BIT_TIME_T;TIXML_USE_STL"
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USE_64BIT_TIME_T;TIXML_USE_STL;TIXMLA_USE_STL"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
ExceptionHandling="2"
|
ExceptionHandling="2"
|
||||||
BasicRuntimeChecks="0"
|
BasicRuntimeChecks="0"
|
||||||
|
@ -135,8 +135,8 @@
|
||||||
FavorSizeOrSpeed="1"
|
FavorSizeOrSpeed="1"
|
||||||
OmitFramePointers="false"
|
OmitFramePointers="false"
|
||||||
WholeProgramOptimization="false"
|
WholeProgramOptimization="false"
|
||||||
AdditionalIncludeDirectories="..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common"
|
AdditionalIncludeDirectories="..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USE_64BIT_TIME_T;TIXML_USE_STL"
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USE_64BIT_TIME_T;TIXML_USE_STL;TIXMLA_USE_STL"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="2"
|
ExceptionHandling="2"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
|
@ -374,18 +374,34 @@
|
||||||
RelativePath="..\src\TinyXml\tinystr.cpp"
|
RelativePath="..\src\TinyXml\tinystr.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\TinyXml\tinyXmlA\tinystrA.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\TinyXml\tinyxml.cpp"
|
RelativePath="..\src\TinyXml\tinyxml.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\TinyXml\tinyXmlA\tinyxmlA.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\TinyXml\tinyxmlerror.cpp"
|
RelativePath="..\src\TinyXml\tinyxmlerror.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\TinyXml\tinyXmlA\tinyxmlerrorA.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\TinyXml\tinyxmlparser.cpp"
|
RelativePath="..\src\TinyXml\tinyxmlparser.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\TinyXml\tinyXmlA\tinyxmlparserA.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\WinControls\ToolBar\ToolBar.cpp"
|
RelativePath="..\src\WinControls\ToolBar\ToolBar.cpp"
|
||||||
>
|
>
|
||||||
|
@ -683,10 +699,18 @@
|
||||||
RelativePath="..\src\TinyXml\tinystr.h"
|
RelativePath="..\src\TinyXml\tinystr.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\TinyXml\tinyXmlA\tinystrA.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\TinyXml\tinyxml.h"
|
RelativePath="..\src\TinyXml\tinyxml.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\src\TinyXml\tinyXmlA\tinyxmlA.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\src\WinControls\ToolBar\ToolBar.h"
|
RelativePath="..\src\WinControls\ToolBar\ToolBar.h"
|
||||||
>
|
>
|
||||||
|
|
Loading…
Reference in New Issue