本文整理汇总了C++中WcharMbcsConvertor类的典型用法代码示例。如果您正苦于以下问题:C++ WcharMbcsConvertor类的具体用法?C++ WcharMbcsConvertor怎么用?C++ WcharMbcsConvertor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WcharMbcsConvertor类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: TEXT
generic_string NativeLangSpeaker::getNativeLangMenuString(int itemID) const
{
if (!_nativeLangA)
return TEXT("");
TiXmlNodeA *node = _nativeLangA->FirstChild("Menu");
if (!node) return TEXT("");
node = node->FirstChild("Main");
if (!node) return TEXT("");
node = node->FirstChild("Commands");
if (!node) return TEXT("");
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
for (TiXmlNodeA *childNode = node->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int id;
if (element->Attribute("id", &id) && (id == itemID))
{
const char *name = element->Attribute("name");
if (name)
{
return wmc->char2wchar(name, _nativeLangEncoding);
}
}
}
return TEXT("");
}
开发者ID:SinghRajenM,项目名称:notepad-plus-plus,代码行数:33,代码来源:localization.cpp
示例2: getFileBrowserLangMenuStr
generic_string NativeLangSpeaker::getFileBrowserLangMenuStr(int cmdID, const TCHAR *defaultStr) const
{
if (!_nativeLangA) return defaultStr;
TiXmlNodeA *targetNode = _nativeLangA->FirstChild("FolderAsWorkspace");
if (!targetNode) return defaultStr;
targetNode = targetNode->FirstChild("Menus");
if (!targetNode) return defaultStr;
const char *name = NULL;
for (TiXmlNodeA *childNode = targetNode->FirstChildElement("Item");
childNode;
childNode = childNode->NextSibling("Item"))
{
TiXmlElementA *element = childNode->ToElement();
int id;
const char *idStr = element->Attribute("id", &id);
if (idStr && id == cmdID)
{
name = element->Attribute("name");
break;
}
}
if (name && name[0])
{
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
return wmc->char2wchar(name, _nativeLangEncoding);
}
return defaultStr;
}
开发者ID:SinghRajenM,项目名称:notepad-plus-plus,代码行数:33,代码来源:localization.cpp
示例3: getSpecialMenuEntryName
generic_string NativeLangSpeaker::getSpecialMenuEntryName(const char *entryName) const
{
if (!_nativeLangA) return TEXT("");
TiXmlNodeA *mainMenu = _nativeLangA->FirstChild("Menu");
if (!mainMenu) return TEXT("");
mainMenu = mainMenu->FirstChild("Main");
if (!mainMenu) return TEXT("");
TiXmlNodeA *entriesRoot = mainMenu->FirstChild("Entries");
if (!entriesRoot) return TEXT("");
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
for (TiXmlNodeA *childNode = entriesRoot->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
const char *idName = element->Attribute("idName");
if (idName)
{
const char *name = element->Attribute("name");
if (!strcmp(idName, entryName))
{
return wmc->char2wchar(name, _nativeLangEncoding);
}
}
}
return TEXT("");
}
开发者ID:SinghRajenM,项目名称:notepad-plus-plus,代码行数:30,代码来源:localization.cpp
示例4: changeStyleCtrlsLang
void NativeLangSpeaker::changeStyleCtrlsLang(HWND hDlg, int *idArray, const char **translatedText)
{
const int iColorStyle = 0;
const int iUnderline = 8;
HWND hItem;
for (int i = iColorStyle ; i < (iUnderline + 1) ; i++)
{
if (translatedText[i] && translatedText[i][0])
{
hItem = ::GetDlgItem(hDlg, idArray[i]);
if (hItem)
{
#ifdef UNICODE
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
const wchar_t *nameW = wmc->char2wchar(translatedText[i], _nativeLangEncoding);
::SetWindowText(hItem, nameW);
#else
::SetWindowText(hItem, translatedText[i]);
#endif
}
}
}
}
开发者ID:noodle1983,项目名称:Notepad---nd,代码行数:25,代码来源:localization.cpp
示例5: changeShortcutmapperLang
void NativeLangSpeaker::changeShortcutmapperLang(ShortcutMapper * sm)
{
if (!_nativeLangA) return;
TiXmlNodeA *shortcuts = _nativeLangA->FirstChild("Dialog");
if (!shortcuts) return;
shortcuts = shortcuts->FirstChild("ShortcutMapper");
if (!shortcuts) return;
for (TiXmlNodeA *childNode = shortcuts->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int index;
if (element->Attribute("index", &index))
{
if (index > -1 && index < 5) //valid index only
{
const char *name = element->Attribute("name");
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
const wchar_t * nameW = wmc->char2wchar(name, _nativeLangEncoding);
sm->translateTab(index, nameW);
}
}
}
}
开发者ID:123vipulj,项目名称:notepad-plus-plus,代码行数:29,代码来源:localization.cpp
示例6: changeConfigLang
void NativeLangSpeaker::changeConfigLang(HWND hDlg)
{
if (!_nativeLangA) return;
TiXmlNodeA *styleConfDlgNode = _nativeLangA->FirstChild("Dialog");
if (!styleConfDlgNode) return;
styleConfDlgNode = styleConfDlgNode->FirstChild("StyleConfig");
if (!styleConfDlgNode) return;
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
// Set Title
const char *titre = (styleConfDlgNode->ToElement())->Attribute("title");
if ((titre && titre[0]) && hDlg)
{
const wchar_t *nameW = wmc->char2wchar(titre, _nativeLangEncoding);
::SetWindowText(hDlg, nameW);
}
for (TiXmlNodeA *childNode = styleConfDlgNode->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int id;
const char *sentinel = element->Attribute("id", &id);
const char *name = element->Attribute("name");
if (sentinel && (name && name[0]))
{
HWND hItem = ::GetDlgItem(hDlg, id);
if (hItem)
{
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
::SetWindowText(hItem, nameW);
}
}
}
styleConfDlgNode = styleConfDlgNode->FirstChild("SubDialog");
for (TiXmlNodeA *childNode = styleConfDlgNode->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int id;
const char *sentinel = element->Attribute("id", &id);
const char *name = element->Attribute("name");
if (sentinel && (name && name[0]))
{
HWND hItem = ::GetDlgItem(hDlg, id);
if (hItem)
{
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
::SetWindowText(hItem, nameW);
}
}
}
}
开发者ID:AlexShiLucky,项目名称:notepad-plus-plus,代码行数:59,代码来源:localization.cpp
示例7: if
void NativeLangSpeaker::changeLangTabDrapContextMenu(HMENU hCM)
{
const int POS_GO2VIEW = 0;
const int POS_CLONE2VIEW = 1;
const char *goToViewA = NULL;
const char *cloneToViewA = NULL;
if (_nativeLangA)
{
TiXmlNodeA *tabBarMenu = _nativeLangA->FirstChild("Menu");
if (tabBarMenu)
tabBarMenu = tabBarMenu->FirstChild("TabBar");
if (tabBarMenu)
{
for (TiXmlNodeA *childNode = tabBarMenu->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int ordre;
element->Attribute("order", &ordre);
if (ordre == 5)
goToViewA = element->Attribute("name");
else if (ordre == 6)
cloneToViewA = element->Attribute("name");
}
}
//HMENU hCM = _tabPopupDropMenu.getMenuHandle();
#ifdef UNICODE
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
if (goToViewA && goToViewA[0])
{
const wchar_t *goToViewG = wmc->char2wchar(goToViewA, _nativeLangEncoding);
int cmdID = ::GetMenuItemID(hCM, POS_GO2VIEW);
::ModifyMenu(hCM, POS_GO2VIEW, MF_BYPOSITION|MF_STRING, cmdID, goToViewG);
}
if (cloneToViewA && cloneToViewA[0])
{
const wchar_t *cloneToViewG = wmc->char2wchar(cloneToViewA, _nativeLangEncoding);
int cmdID = ::GetMenuItemID(hCM, POS_CLONE2VIEW);
::ModifyMenu(hCM, POS_CLONE2VIEW, MF_BYPOSITION|MF_STRING, cmdID, cloneToViewG);
}
#else
if (goToViewA && goToViewA[0])
{
int cmdID = ::GetMenuItemID(hCM, POS_GO2VIEW);
::ModifyMenu(hCM, POS_GO2VIEW, MF_BYPOSITION, cmdID, goToViewA);
}
if (cloneToViewA && cloneToViewA[0])
{
int cmdID = ::GetMenuItemID(hCM, POS_CLONE2VIEW);
::ModifyMenu(hCM, POS_CLONE2VIEW, MF_BYPOSITION, cmdID, cloneToViewA);
}
#endif
}
}
开发者ID:noodle1983,项目名称:Notepad---nd,代码行数:56,代码来源:localization.cpp
示例8: searchDlgNode
bool NativeLangSpeaker::changeDlgLang(HWND hDlg, const char *dlgTagName, char *title)
{
if (title)
title[0] = '\0';
if (!_nativeLangA) return false;
TiXmlNodeA *dlgNode = _nativeLangA->FirstChild("Dialog");
if (!dlgNode) return false;
dlgNode = searchDlgNode(dlgNode, dlgTagName);
if (!dlgNode) return false;
#ifdef UNICODE
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
#endif
// Set Title
const char *titre = (dlgNode->ToElement())->Attribute("title");
if ((titre && titre[0]) && hDlg)
{
#ifdef UNICODE
const wchar_t *nameW = wmc->char2wchar(titre, _nativeLangEncoding);
::SetWindowText(hDlg, nameW);
#else
::SetWindowText(hDlg, titre);
#endif
if (title)
strcpy(title, titre);
}
// Set the text of child control
for (TiXmlNodeA *childNode = dlgNode->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int id;
const char *sentinel = element->Attribute("id", &id);
const char *name = element->Attribute("name");
if (sentinel && (name && name[0]))
{
HWND hItem = ::GetDlgItem(hDlg, id);
if (hItem)
{
#ifdef UNICODE
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
::SetWindowText(hItem, nameW);
#else
::SetWindowText(hItem, name);
#endif
}
}
}
return true;
}
开发者ID:noodle1983,项目名称:Notepad---nd,代码行数:56,代码来源:localization.cpp
示例9: TEXT
bool FunctionListPanel::serialize(const generic_string & outputFilename)
{
generic_string fname;
if (outputFilename.empty()) // if outputFilename is not given, get the current file path by adding the file extension
{
Buffer* currentBuf = (*_ppEditView)->getCurrentBuffer();
const TCHAR *fullFilePath = currentBuf->getFullPathName();
// Export function list from an existing file
bool exportFuncntionList = (NppParameters::getInstance())->doFunctionListExport();
if (exportFuncntionList && ::PathFileExists(fullFilePath))
{
fname = fullFilePath;
fname += TEXT(".result");
}
else
return false;
}
else
{
fname = outputFilename;
}
FILE * f = generic_fopen(fname.c_str(), TEXT("w+"));
if (!f)
return false;
for (const auto & info : _foundFuncInfos)
{
generic_string entryName;
if (!info._data2.empty())
{
entryName = info._data2;
entryName += TEXT("=>");
}
entryName += info._data;
entryName += TEXT("\n");
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
UINT cp = static_cast<UINT>((*_ppEditView)->execute(SCI_GETCODEPAGE));
const char *textA = wmc->wchar2char(entryName.c_str(), cp);
string entryNameA = textA;
fwrite(entryNameA.c_str(), sizeof(entryNameA.c_str()[0]), entryNameA.length(), f);
}
fflush(f);
fclose(f);
return true;
}
开发者ID:MAPJe71,项目名称:notepad-plus-plus,代码行数:49,代码来源:functionListPanel.cpp
示例10: searchDlgNode
void NativeLangSpeaker::changeFindReplaceDlgLang(FindReplaceDlg & findReplaceDlg)
{
if (_nativeLangA)
{
TiXmlNodeA *dlgNode = _nativeLangA->FirstChild("Dialog");
if (dlgNode)
{
NppParameters *pNppParam = NppParameters::getInstance();
dlgNode = searchDlgNode(dlgNode, "Find");
if (dlgNode)
{
const char *titre1 = (dlgNode->ToElement())->Attribute("titleFind");
const char *titre2 = (dlgNode->ToElement())->Attribute("titleReplace");
const char *titre3 = (dlgNode->ToElement())->Attribute("titleFindInFiles");
const char *titre4 = (dlgNode->ToElement())->Attribute("titleMark");
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
if (titre1 && titre1[0])
{
basic_string<wchar_t> nameW = wmc->char2wchar(titre1, _nativeLangEncoding);
pNppParam->getFindDlgTabTitiles()._find = nameW;
findReplaceDlg.changeTabName(FIND_DLG, pNppParam->getFindDlgTabTitiles()._find.c_str());
}
if (titre2 && titre2[0])
{
basic_string<wchar_t> nameW = wmc->char2wchar(titre2, _nativeLangEncoding);
pNppParam->getFindDlgTabTitiles()._replace = nameW;
findReplaceDlg.changeTabName(REPLACE_DLG, pNppParam->getFindDlgTabTitiles()._replace.c_str());
}
if (titre3 && titre3[0])
{
basic_string<wchar_t> nameW = wmc->char2wchar(titre3, _nativeLangEncoding);
pNppParam->getFindDlgTabTitiles()._findInFiles = nameW;
findReplaceDlg.changeTabName(FINDINFILES_DLG, pNppParam->getFindDlgTabTitiles()._findInFiles.c_str());
}
if (titre4 && titre4[0])
{
basic_string<wchar_t> nameW = wmc->char2wchar(titre4, _nativeLangEncoding);
pNppParam->getFindDlgTabTitiles()._mark = nameW;
findReplaceDlg.changeTabName(MARK_DLG, pNppParam->getFindDlgTabTitiles()._mark.c_str());
}
}
}
}
changeDlgLang(findReplaceDlg.getHSelf(), "Find");
}
开发者ID:SinghRajenM,项目名称:notepad-plus-plus,代码行数:47,代码来源:localization.cpp
示例11: getAttrNameStr
generic_string NativeLangSpeaker::getAttrNameStr(const TCHAR *defaultStr, const char *nodeL1Name, const char *nodeL2Name) const
{
if (!_nativeLangA) return defaultStr;
TiXmlNodeA *targetNode = _nativeLangA->FirstChild(nodeL1Name);
if (!targetNode) return defaultStr;
if (nodeL2Name)
targetNode = targetNode->FirstChild(nodeL2Name);
if (!targetNode) return defaultStr;
const char *name = (targetNode->ToElement())->Attribute("name");
if (name && name[0])
{
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
return wmc->char2wchar(name, _nativeLangEncoding);
}
return defaultStr;
}
开发者ID:SinghRajenM,项目名称:notepad-plus-plus,代码行数:19,代码来源:localization.cpp
示例12: changeDlgLang
bool WindowsDlg::changeDlgLang()
{
if (!_dlgNode) return false;
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
int nativeLangEncoding = CP_ACP;
TiXmlDeclarationA *declaration = _dlgNode->GetDocument()->FirstChild()->ToDeclaration();
if (declaration)
{
const char * encodingStr = declaration->Encoding();
EncodingMapper *em = EncodingMapper::getInstance();
nativeLangEncoding = em->getEncodingFromString(encodingStr);
}
// Set Title
const char *titre = (_dlgNode->ToElement())->Attribute("title");
if (titre && titre[0])
{
const wchar_t *nameW = wmc->char2wchar(titre, nativeLangEncoding);
::SetWindowText(_hSelf, nameW);
}
// Set the text of child control
for (TiXmlNodeA *childNode = _dlgNode->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int id;
const char *sentinel = element->Attribute("id", &id);
const char *name = element->Attribute("name");
if (sentinel && (name && name[0]))
{
HWND hItem = ::GetDlgItem(_hSelf, id);
if (hItem)
{
const wchar_t *nameW = wmc->char2wchar(name, nativeLangEncoding);
::SetWindowText(hItem, nameW);
}
}
}
return true;
}
开发者ID:125radheyshyam,项目名称:notepad-plus-plus,代码行数:43,代码来源:WindowsDlg.cpp
示例13: getProjectPanelLangMenuStr
generic_string NativeLangSpeaker::getProjectPanelLangMenuStr(const char * nodeName, int cmdID, const TCHAR *defaultStr) const
{
if (!_nativeLangA) return defaultStr;
TiXmlNodeA *targetNode = _nativeLangA->FirstChild("ProjectManager");
if (!targetNode) return defaultStr;
targetNode = targetNode->FirstChild("Menus");
if (!targetNode) return defaultStr;
targetNode = targetNode->FirstChild(nodeName);
if (!targetNode) return defaultStr;
const char *name = NULL;
for (TiXmlNodeA *childNode = targetNode->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int id;
const char *idStr = element->Attribute("id", &id);
if (idStr && id == cmdID)
{
name = element->Attribute("name");
break;
}
}
if (name && name[0])
{
#ifdef UNICODE
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
return wmc->char2wchar(name, _nativeLangEncoding);
#else
return name;
#endif
}
return defaultStr;
}
开发者ID:berserkerkira,项目名称:NotePlus,代码行数:40,代码来源:localization.cpp
示例14: getLocalizedStrFromID
generic_string NativeLangSpeaker::getLocalizedStrFromID(const char *strID, const generic_string& defaultString) const
{
if (not _nativeLangA)
return defaultString;
if (not strID)
return defaultString;
TiXmlNodeA *node = _nativeLangA->FirstChild("MiscStrings");
if (not node) return defaultString;
node = node->FirstChild(strID);
if (not node) return defaultString;
TiXmlElementA *element = node->ToElement();
const char *value = element->Attribute("value");
if (not value) return defaultString;
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
return wmc->char2wchar(value, _nativeLangEncoding);
}
开发者ID:SinghRajenM,项目名称:notepad-plus-plus,代码行数:22,代码来源:localization.cpp
示例15: getProjectPanelLangStr
generic_string NativeLangSpeaker::getProjectPanelLangStr(const char *nodeName, const TCHAR *defaultStr) const
{
if (!_nativeLangA) return defaultStr;
TiXmlNodeA *targetNode = _nativeLangA->FirstChild("ProjectManager");
if (!targetNode) return defaultStr;
targetNode = targetNode->FirstChild(nodeName);
if (!targetNode) return defaultStr;
// Set Title
const char *name = (targetNode->ToElement())->Attribute("name");
if (name && name[0])
{
#ifdef UNICODE
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
return wmc->char2wchar(name, _nativeLangEncoding);
#else
return name;
#endif
}
return defaultStr;
}
开发者ID:berserkerkira,项目名称:NotePlus,代码行数:22,代码来源:localization.cpp
示例16: changeLangTabContextMenu
void NativeLangSpeaker::changeLangTabContextMenu(HMENU hCM)
{
if (nullptr != _nativeLangA)
{
TiXmlNodeA *tabBarMenu = _nativeLangA->FirstChild("Menu");
if (tabBarMenu)
{
tabBarMenu = tabBarMenu->FirstChild("TabBar");
if (tabBarMenu)
{
WcharMbcsConvertor* wmc = WcharMbcsConvertor::getInstance();
int nbCMItems = sizeof(tabContextMenuItemPos)/sizeof(int);
for (TiXmlNodeA *childNode = tabBarMenu->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int index;
const char *indexStr = element->Attribute("CMID", &index);
if (!indexStr || (index < 0 || index >= nbCMItems-1))
continue;
int pos = tabContextMenuItemPos[index];
const char *pName = element->Attribute("name");
if (pName)
{
const wchar_t *pNameW = wmc->char2wchar(pName, _nativeLangEncoding);
int cmdID = ::GetMenuItemID(hCM, pos);
::ModifyMenu(hCM, pos, MF_BYPOSITION, cmdID, pNameW);
}
}
}
}
}
}
开发者ID:SinghRajenM,项目名称:notepad-plus-plus,代码行数:36,代码来源:localization.cpp
示例17: file
//.........这里部分代码省略.........
backupFilePath += TEXT("@");
backupFilePath += tmpbuf;
// Set created file name in buffer
buffer->setBackupFileName(backupFilePath);
// Session changes, save it
hasModifForSession = true;
}
TCHAR fullpath[MAX_PATH];
::GetFullPathName(backupFilePath.c_str(), MAX_PATH, fullpath, NULL);
::GetLongPathName(fullpath, fullpath, MAX_PATH);
// Make sure the backup file is not read only
DWORD dwFileAttribs = ::GetFileAttributes(fullpath);
if (dwFileAttribs & FILE_ATTRIBUTE_READONLY) // if file is read only, remove read only attribute
{
dwFileAttribs ^= FILE_ATTRIBUTE_READONLY;
::SetFileAttributes(fullpath, dwFileAttribs);
}
FILE *fp = UnicodeConvertor.fopen(fullpath, TEXT("wb"));
if (fp)
{
int lengthDoc = _pNotepadPlus->_pEditView->getCurrentDocLen();
char* buf = (char*)_pNotepadPlus->_pEditView->execute(SCI_GETCHARACTERPOINTER); //to get characters directly from Scintilla buffer
size_t items_written = 0;
if (encoding == -1) //no special encoding; can be handled directly by Utf8_16_Write
{
items_written = UnicodeConvertor.fwrite(buf, lengthDoc);
if (lengthDoc == 0)
items_written = 1;
}
else
{
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
int grabSize;
for (int i = 0; i < lengthDoc; i += grabSize)
{
grabSize = lengthDoc - i;
if (grabSize > blockSize)
grabSize = blockSize;
int newDataLen = 0;
int incompleteMultibyteChar = 0;
const char *newData = wmc->encode(SC_CP_UTF8, encoding, buf+i, grabSize, &newDataLen, &incompleteMultibyteChar);
grabSize -= incompleteMultibyteChar;
items_written = UnicodeConvertor.fwrite(newData, newDataLen);
}
if (lengthDoc == 0)
items_written = 1;
}
UnicodeConvertor.fclose();
// Note that fwrite() doesn't return the number of bytes written, but rather the number of ITEMS.
if(items_written == 1) // backup file has been saved
{
buffer->setModifiedStatus(false);
result = true; //all done
}
}
// set to signaled state
if (::SetEvent(writeEvent) == NULL)
{
printStr(TEXT("oups!"));
}
// printStr(TEXT("Event released!"));
::CloseHandle(writeEvent);
}
else // buffer dirty but unmodified
{
result = true;
}
}
else // buffer not dirty, sync: delete the backup file
{
generic_string backupFilePath = buffer->getBackupFileName();
if (not backupFilePath.empty())
{
// delete backup file
generic_string file2Delete = buffer->getBackupFileName();
buffer->setBackupFileName(generic_string());
result = (::DeleteFile(file2Delete.c_str()) != 0);
// Session changes, save it
hasModifForSession = true;
}
//printStr(TEXT("backup deleted in backupCurrentBuffer"));
result = true; // no backup file to delete
}
//printStr(TEXT("backup sync"));
if (result && hasModifForSession)
{
//printStr(buffer->getBackupFileName().c_str());
_pNotepadPlus->saveCurrentSession();
}
return result;
}
开发者ID:hypherion2,项目名称:hypherion-notepad-fork,代码行数:101,代码来源:Buffer.cpp
示例18: changeUserDefineLang
void NativeLangSpeaker::changeUserDefineLang(UserDefineDialog *userDefineDlg)
{
if (!_nativeLangA) return;
TiXmlNodeA *userDefineDlgNode = _nativeLangA->FirstChild("Dialog");
if (!userDefineDlgNode) return;
userDefineDlgNode = userDefineDlgNode->FirstChild("UserDefine");
if (!userDefineDlgNode) return;
HWND hDlg = userDefineDlg->getHSelf();
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
// Set Title
const char *titre = (userDefineDlgNode->ToElement())->Attribute("title");
if (titre && titre[0])
{
const wchar_t *nameW = wmc->char2wchar(titre, _nativeLangEncoding);
::SetWindowText(hDlg, nameW);
}
// for each control
const int nbControl = 9;
const char *translatedText[nbControl];
for (int i = 0 ; i < nbControl ; ++i)
translatedText[i] = NULL;
for (TiXmlNodeA *childNode = userDefineDlgNode->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int id;
const char *sentinel = element->Attribute("id", &id);
const char *name = element->Attribute("name");
if (sentinel && (name && name[0]))
{
if (id > 30)
{
HWND hItem = ::GetDlgItem(hDlg, id);
if (hItem)
{
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
::SetWindowText(hItem, nameW);
}
}
else
{
switch(id)
{
case 0: case 1: case 2: case 3: case 4:
case 5: case 6: case 7: case 8:
translatedText[id] = name; break;
}
}
}
}
const int nbDlg = 4;
HWND hDlgArrary[nbDlg];
hDlgArrary[0] = userDefineDlg->getFolderHandle();
hDlgArrary[1] = userDefineDlg->getKeywordsHandle();
hDlgArrary[2] = userDefineDlg->getCommentHandle();
hDlgArrary[3] = userDefineDlg->getSymbolHandle();
const char nodeNameArray[nbDlg][16] = {"Folder", "Keywords", "Comment", "Operator"};
for (int i = 0 ; i < nbDlg ; ++i)
{
TiXmlNodeA *node = userDefineDlgNode->FirstChild(nodeNameArray[i]);
if (node)
{
// Set Title
titre = (node->ToElement())->Attribute("title");
if (titre &&titre[0])
{
const wchar_t *nameW = wmc->char2wchar(titre, _nativeLangEncoding);
userDefineDlg->setTabName(i, nameW);
}
for (TiXmlNodeA *childNode = node->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int id;
const char *sentinel = element->Attribute("id", &id);
const char *name = element->Attribute("name");
if (sentinel && (name && name[0]))
{
HWND hItem = ::GetDlgItem(hDlgArrary[i], id);
if (hItem)
{
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
::SetWindowText(hItem, nameW);
}
}
}
}
}
//.........这里部分代码省略.........
开发者ID:SinghRajenM,项目名称:notepad-plus-plus,代码行数:101,代码来源:localization.cpp
示例19: changeMenuLang
void NativeLangSpeaker::changeMenuLang(HMENU menuHandle, generic_string & pluginsTrans, generic_string & windowTrans)
{
if (nullptr == _nativeLangA)
return;
TiXmlNodeA *mainMenu = _nativeLangA->FirstChild("Menu");
if (nullptr == mainMenu)
return;
mainMenu = mainMenu->FirstChild("Main");
if (nullptr == mainMenu)
return;
TiXmlNodeA *entriesRoot = mainMenu->FirstChild("Entries");
if (nullptr == entriesRoot)
return;
const char* idName = nullptr;
WcharMbcsConvertor* wmc = WcharMbcsConvertor::getInstance();
for (TiXmlNodeA *childNode = entriesRoot->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
const char *menuIdStr = element->Attribute("menuId");
if (menuIdStr)
{
MenuPosition & menuPos = getMenuPosition(menuIdStr);
if (menuPos._x != -1)
{
const char *name = element->Attribute("name");
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
::ModifyMenu(menuHandle, menuPos._x, MF_BYPOSITION, 0, nameW);
}
}
else
{
idName = element->Attribute("idName");
if (idName)
{
const char *name = element->Attribute("name");
if (!strcmp(idName, "Plugins"))
{
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
pluginsTrans = nameW;
}
else if (!strcmp(idName, "Window"))
{
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
windowTrans = nameW;
}
}
}
}
TiXmlNodeA *menuCommandsRoot = mainMenu->FirstChild("Commands");
for (TiXmlNodeA *childNode = menuCommandsRoot->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA *element = childNode->ToElement();
int id;
element->Attribute("id", &id);
const char *name = element->Attribute("name");
const wchar_t *nameW = wmc->char2wchar(name, _nativeLangEncoding);
::ModifyMenu(menuHandle, id, MF_BYCOMMAND, id, nameW);
}
TiXmlNodeA *subEntriesRoot = mainMenu->FirstChild("SubEntries");
for (TiXmlNodeA *childNode = subEntriesRoot->FirstChildElement("Item");
childNode ;
childNode = childNode->NextSibling("Item") )
{
TiXmlElementA* element = childNode->ToElement();
//const char *xStr = element->Attribute("posX", &x);
//const char *yStr = element->Attribute("posY", &y);
const char* subMenuIdStr = element->Attribute("subMenuId");
const char* name = element->Attribute("name");
if (nullptr == subMenuIdStr or nullptr == name)
continue;
MenuPosition& menuPos = getMenuPosition(subMenuIdStr);
int x = menuPos._x;
int y = menuPos._y;
int z = menuPos._z;
HMENU hSubMenu = ::GetSubMenu(menuHandle, x);
if (!hSubMenu)
continue;
HMENU hSubMenu2 = ::GetSubMenu(hSubMenu, y);
if (!hSubMenu2)
continue;
HMENU hMenu = hSubMenu;
int pos = y;
//.........这里部分代码省略.........
开发者ID:SinghRajenM,项目名称:notepad-plus-plus,代码行数:101,代码来源:localization.cpp
示例20: switch
INT_PTR CALLBACK DebugInfoDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM /*lParam*/)
{
switch (message)
{
case WM_INITDIALOG:
{
// Notepad++ version
_debugInfoStr = NOTEPAD_PLUS_VERSION;
_debugInfoStr += TEXT("\r\n");
// Build time
_debugInfoStr += TEXT("Build time : ");
generic_string buildTime;
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
buildTime += wmc->char2wchar(__DATE__, CP_ACP);
buildTime += TEXT(" - ");
buildTime += wmc->char2wchar(__TIME__, CP_ACP);
_debugInfoStr += buildTime;
_debugInfoStr += TEXT("\r\n");
// Binary path
_debugInfoStr += TEXT("Path : ");
TCHAR nppFullPath[MAX_PATH];
::GetModuleFileName(NULL, nppFullPath, MAX_PATH);
_debugInfoStr += nppFullPath;
_debugInfoStr += TEXT("\r\n");
// Administrator mode
_debugInfoStr += TEXT("Admin mode : ");
_debugInfoStr += (_isAdmin ? TEXT("ON") : TEXT("OFF"));
_debugInfoStr += TEXT("\r\n");
// local conf
_debugInfoStr += TEXT("Local Conf mode : ");
bool doLocalConf = (NppParameters::getInstance())->isLocal();
_debugInfoStr += (doLocalConf ? TEXT("ON") : TEXT("OFF"));
_debugInfoStr += TEXT("\r\n");
// OS version
_debugInfoStr += TEXT("OS : ");
_debugInfoStr += (NppParameters::getInstance())->getWinVersionStr();
_debugInfoStr += TEXT("\r\n");
// Plugins
_debugInfoStr += TEXT("Plugins : ");
_debugInfoStr += _loadedPlugins.length() == 0 ? TEXT("none") : _loadedPlugins;
_debugInfoStr += TEXT("\r\n");
::SetDlgItemText(_hSelf, IDC_DEBUGINFO_EDIT, _debugInfoStr.c_str());
_copyToClipboardLink.init(_hInst, _hSelf);
_copyToClipboardLink.create(::GetDlgItem(_hSelf, IDC_DEBUGINFO_COPYLINK), IDC_DEBUGINFO_COPYLINK);
getClientRect(_rc);
return TRUE;
}
case WM_COMMAND:
{
switch (wParam)
{
case IDCANCEL:
case IDOK:
display(false);
return TRUE;
case IDC_DEBUGINFO_COPYLINK:
{
if ((GetKeyState(VK_LBUTTON) & 0x100) != 0)
{
// Visual effect
::SendDlgItemMessage(_hSelf, IDC_DEBUGINFO_EDIT, EM_SETSEL, 0, _debugInfoStr.length() - 1);
// Copy to clipboard
str2Clipboard(_debugInfoStr, _hSelf);
}
return TRUE;
}
default:
break;
}
}
case WM_DESTROY:
{
return TRUE;
}
}
return FALSE;
}
开发者ID:125radheyshyam,项目名称:notepad-plus-plus,代码行数:90,代码来源:AboutDlg.cpp
注:本文中的WcharMbcsConvertor类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论