merge with master and resolve confilcts
This commit is contained in:
commit
d11cba6798
8
.gitignore
vendored
8
.gitignore
vendored
@ -74,6 +74,14 @@ PowerEditor/visual.net/Unicode Release/
|
|||||||
PowerEditor/visual.net/notepadPlus.sln
|
PowerEditor/visual.net/notepadPlus.sln
|
||||||
|
|
||||||
|
|
||||||
|
# scintilla - generated files
|
||||||
|
scintilla/bin/SciLexer.*
|
||||||
|
scintilla/bin/Scintilla.*
|
||||||
|
scintilla/win32/*.lib
|
||||||
|
scintilla/win32/ScintRes.res
|
||||||
|
scintilla/boostregex/bin
|
||||||
|
scintilla/boostregex/boostpath.mak
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# Windows
|
# Windows
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <string.h>
|
||||||
#include "EncodingMapper.h"
|
#include "EncodingMapper.h"
|
||||||
#include "Scintilla.h"
|
#include "Scintilla.h"
|
||||||
|
|
||||||
|
@ -26,7 +26,15 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <algorithm>
|
||||||
|
#include <shlwapi.h>
|
||||||
|
#include <Shlobj.h>
|
||||||
|
#include <uxtheme.h>
|
||||||
|
#include "StaticDialog.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "Common.h"
|
||||||
#include "../Utf8.h"
|
#include "../Utf8.h"
|
||||||
|
|
||||||
WcharMbcsConvertor * WcharMbcsConvertor::_pSelf = new WcharMbcsConvertor;
|
WcharMbcsConvertor * WcharMbcsConvertor::_pSelf = new WcharMbcsConvertor;
|
||||||
@ -777,4 +785,51 @@ double stodLocale(const generic_string& str, _locale_t loc, size_t* idx)
|
|||||||
if (idx != NULL)
|
if (idx != NULL)
|
||||||
*idx = (size_t)(eptr - ptr);
|
*idx = (size_t)(eptr - ptr);
|
||||||
return ans;
|
return ans;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool str2Clipboard(const generic_string &str2cpy, HWND hwnd)
|
||||||
|
{
|
||||||
|
int len2Allocate = (str2cpy.size() + 1) * sizeof(TCHAR);
|
||||||
|
HGLOBAL hglbCopy = ::GlobalAlloc(GMEM_MOVEABLE, len2Allocate);
|
||||||
|
if (hglbCopy == NULL)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!::OpenClipboard(hwnd))
|
||||||
|
{
|
||||||
|
::GlobalFree(hglbCopy);
|
||||||
|
::CloseClipboard();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!::EmptyClipboard())
|
||||||
|
{
|
||||||
|
::GlobalFree(hglbCopy);
|
||||||
|
::CloseClipboard();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// Lock the handle and copy the text to the buffer.
|
||||||
|
TCHAR *pStr = (TCHAR *)::GlobalLock(hglbCopy);
|
||||||
|
if (pStr == NULL)
|
||||||
|
{
|
||||||
|
::GlobalUnlock(hglbCopy);
|
||||||
|
::GlobalFree(hglbCopy);
|
||||||
|
::CloseClipboard();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
_tcscpy_s(pStr, len2Allocate / sizeof(TCHAR), str2cpy.c_str());
|
||||||
|
::GlobalUnlock(hglbCopy);
|
||||||
|
// Place the handle on the clipboard.
|
||||||
|
unsigned int clipBoardFormat = CF_UNICODETEXT;
|
||||||
|
if (::SetClipboardData(clipBoardFormat, hglbCopy) == NULL)
|
||||||
|
{
|
||||||
|
::GlobalUnlock(hglbCopy);
|
||||||
|
::GlobalFree(hglbCopy);
|
||||||
|
::CloseClipboard();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!::CloseClipboard())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
@ -29,6 +29,11 @@
|
|||||||
#ifndef M30_IDE_COMMUN_H
|
#ifndef M30_IDE_COMMUN_H
|
||||||
#define M30_IDE_COMMUN_H
|
#define M30_IDE_COMMUN_H
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
const bool dirUp = true;
|
const bool dirUp = true;
|
||||||
const bool dirDown = false;
|
const bool dirDown = false;
|
||||||
|
|
||||||
@ -193,4 +198,6 @@ generic_string stringJoin(const std::vector<generic_string>& strings, const gene
|
|||||||
generic_string stringTakeWhileAdmissable(const generic_string& input, const generic_string& admissable);
|
generic_string stringTakeWhileAdmissable(const generic_string& input, const generic_string& admissable);
|
||||||
double stodLocale(const generic_string& str, _locale_t loc, size_t* idx = NULL);
|
double stodLocale(const generic_string& str, _locale_t loc, size_t* idx = NULL);
|
||||||
|
|
||||||
|
bool str2Clipboard(const generic_string &str2cpy, HWND hwnd);
|
||||||
|
|
||||||
#endif //M30_IDE_COMMUN_H
|
#endif //M30_IDE_COMMUN_H
|
||||||
|
@ -26,8 +26,10 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#ifndef M30_IDE_SORTERS_H
|
#ifndef NPP_SORTERS_H
|
||||||
#define M30_IDE_SORTERS_H
|
#define NPP_SORTERS_H
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
// Base interface for line sorting.
|
// Base interface for line sorting.
|
||||||
class ISorter
|
class ISorter
|
||||||
@ -259,4 +261,4 @@ protected:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //M30_IDE_SORTERS_H
|
#endif //NPP_SORTERS_H
|
||||||
|
@ -32,7 +32,6 @@
|
|||||||
// w/o precompiled headers file : 1 minute 55 sec
|
// w/o precompiled headers file : 1 minute 55 sec
|
||||||
|
|
||||||
#define _WIN32_WINNT 0x0501
|
#define _WIN32_WINNT 0x0501
|
||||||
#define _CRT_NON_CONFORMING_WCSTOK
|
|
||||||
|
|
||||||
// C RunTime Header Files
|
// C RunTime Header Files
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -60,24 +59,18 @@
|
|||||||
// Windows Header Files
|
// Windows Header Files
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
#include <Shlobj.h>
|
|
||||||
#include <shlwapi.h>
|
#include <shlwapi.h>
|
||||||
|
#include <Shlobj.h>
|
||||||
#include <uxtheme.h>
|
#include <uxtheme.h>
|
||||||
#include <Oleacc.h>
|
#include <Oleacc.h>
|
||||||
|
|
||||||
#pragma warning(push)
|
|
||||||
#pragma warning(disable: 4091) // 'keyword' : ignored on left of 'type' when no variable is declared
|
|
||||||
#include <dbghelp.h>
|
#include <dbghelp.h>
|
||||||
#pragma warning(pop)
|
|
||||||
#include <eh.h>
|
#include <eh.h>
|
||||||
|
|
||||||
#ifdef UNICODE
|
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
// Notepad++
|
// Notepad++
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
#include "Window.h"
|
#include "Window.h"
|
||||||
#include "StaticDialog.h"
|
#include "StaticDialog.h"
|
||||||
|
|
||||||
#endif PRECOMPILEHEADER_H
|
#endif //PRECOMPILEHEADER_H
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <shlwapi.h>
|
||||||
#include "MiniDumper.h"
|
#include "MiniDumper.h"
|
||||||
|
|
||||||
LPCTSTR msgTitle = TEXT("Notepad++ crash analysis");
|
LPCTSTR msgTitle = TEXT("Notepad++ crash analysis");
|
||||||
|
@ -32,6 +32,9 @@
|
|||||||
#ifndef MDUMP_H
|
#ifndef MDUMP_H
|
||||||
#define MDUMP_H
|
#define MDUMP_H
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#include <dbghelp.h>
|
||||||
|
|
||||||
|
|
||||||
// based on dbghelp.h
|
// based on dbghelp.h
|
||||||
typedef BOOL (WINAPI *MINIDUMPWRITEDUMP)(HANDLE hProcess, DWORD dwPid, HANDLE hFile, MINIDUMP_TYPE DumpType,
|
typedef BOOL (WINAPI *MINIDUMPWRITEDUMP)(HANDLE hProcess, DWORD dwPid, HANDLE hFile, MINIDUMP_TYPE DumpType,
|
||||||
|
@ -32,7 +32,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "Win32Exception.h"
|
#include "Win32Exception.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -31,6 +31,11 @@
|
|||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
#ifndef WIN32_EXCEPTION_H
|
||||||
|
#define WIN32_EXCEPTION_H
|
||||||
|
|
||||||
|
#include <exception>
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
typedef const void* ExceptionAddress; // OK on Win32 platform
|
typedef const void* ExceptionAddress; // OK on Win32 platform
|
||||||
|
|
||||||
@ -69,3 +74,5 @@ private:
|
|||||||
|
|
||||||
friend void Win32Exception::translate(unsigned code, EXCEPTION_POINTERS* info);
|
friend void Win32Exception::translate(unsigned code, EXCEPTION_POINTERS* info);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif // WIN32_EXCEPTION_H
|
@ -28,8 +28,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
|
|
||||||
#include "IDAllocator.h"
|
#include "IDAllocator.h"
|
||||||
|
|
||||||
IDAllocator::IDAllocator(int start, int maximumID)
|
IDAllocator::IDAllocator(int start, int maximumID)
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
#ifndef NOTEPAD_PLUS_MSGS_H
|
#ifndef NOTEPAD_PLUS_MSGS_H
|
||||||
#define NOTEPAD_PLUS_MSGS_H
|
#define NOTEPAD_PLUS_MSGS_H
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#include <tchar.h>
|
||||||
|
|
||||||
enum LangType {L_TEXT, L_PHP , L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC,\
|
enum LangType {L_TEXT, L_PHP , L_C, L_CPP, L_CS, L_OBJC, L_JAVA, L_RC,\
|
||||||
L_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER,\
|
L_HTML, L_XML, L_MAKEFILE, L_PASCAL, L_BATCH, L_INI, L_ASCII, L_USER,\
|
||||||
@ -541,44 +543,44 @@ enum winVer{WV_UNKNOWN, WV_WIN32S, WV_95, WV_98, WV_ME, WV_NT, WV_W2K, WV_XP, WV
|
|||||||
//scnNotification->nmhdr.hwndFrom = NULL;
|
//scnNotification->nmhdr.hwndFrom = NULL;
|
||||||
//scnNotification->nmhdr.idFrom = BufferID;
|
//scnNotification->nmhdr.idFrom = BufferID;
|
||||||
|
|
||||||
#define NPPN_BEFORESHUTDOWN (NPPN_FIRST + 19) // To notify plugins that Npp shutdown has been triggered, files have not been closed yet
|
#define NPPN_BEFORESHUTDOWN (NPPN_FIRST + 19) // To notify plugins that Npp shutdown has been triggered, files have not been closed yet
|
||||||
//scnNotification->nmhdr.code = NPPN_BEFORESHUTDOWN;
|
//scnNotification->nmhdr.code = NPPN_BEFORESHUTDOWN;
|
||||||
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
||||||
//scnNotification->nmhdr.idFrom = 0;
|
//scnNotification->nmhdr.idFrom = 0;
|
||||||
|
|
||||||
#define NPPN_CANCELSHUTDOWN (NPPN_FIRST + 20) // To notify plugins that Npp shutdown has been cancelled
|
#define NPPN_CANCELSHUTDOWN (NPPN_FIRST + 20) // To notify plugins that Npp shutdown has been cancelled
|
||||||
//scnNotification->nmhdr.code = NPPN_CANCELSHUTDOWN;
|
//scnNotification->nmhdr.code = NPPN_CANCELSHUTDOWN;
|
||||||
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
||||||
//scnNotification->nmhdr.idFrom = 0;
|
//scnNotification->nmhdr.idFrom = 0;
|
||||||
|
|
||||||
#define NPPN_FILEBEFORERENAME (NPPN_FIRST + 21) // To notify plugins that file is to be renamed
|
#define NPPN_FILEBEFORERENAME (NPPN_FIRST + 21) // To notify plugins that file is to be renamed
|
||||||
//scnNotification->nmhdr.code = NPPN_FILEBEFORERENAME;
|
//scnNotification->nmhdr.code = NPPN_FILEBEFORERENAME;
|
||||||
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
||||||
//scnNotification->nmhdr.idFrom = BufferID;
|
//scnNotification->nmhdr.idFrom = BufferID;
|
||||||
|
|
||||||
#define NPPN_FILERENAMECANCEL (NPPN_FIRST + 22) // To notify plugins that file rename has been cancelled
|
#define NPPN_FILERENAMECANCEL (NPPN_FIRST + 22) // To notify plugins that file rename has been cancelled
|
||||||
//scnNotification->nmhdr.code = NPPN_FILERENAMECANCEL;
|
//scnNotification->nmhdr.code = NPPN_FILERENAMECANCEL;
|
||||||
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
||||||
//scnNotification->nmhdr.idFrom = BufferID;
|
//scnNotification->nmhdr.idFrom = BufferID;
|
||||||
|
|
||||||
#define NPPN_FILERENAMED (NPPN_FIRST + 23) // To notify plugins that file has been renamed
|
#define NPPN_FILERENAMED (NPPN_FIRST + 23) // To notify plugins that file has been renamed
|
||||||
//scnNotification->nmhdr.code = NPPN_FILERENAMED;
|
//scnNotification->nmhdr.code = NPPN_FILERENAMED;
|
||||||
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
||||||
//scnNotification->nmhdr.idFrom = BufferID;
|
//scnNotification->nmhdr.idFrom = BufferID;
|
||||||
|
|
||||||
#define NPPN_FILEBEFOREDELETE (NPPN_FIRST + 24) // To notify plugins that file is to be deleted
|
#define NPPN_FILEBEFOREDELETE (NPPN_FIRST + 24) // To notify plugins that file is to be deleted
|
||||||
//scnNotification->nmhdr.code = NPPN_FILEBEFOREDELETE;
|
//scnNotification->nmhdr.code = NPPN_FILEBEFOREDELETE;
|
||||||
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
||||||
//scnNotification->nmhdr.idFrom = BufferID;
|
//scnNotification->nmhdr.idFrom = BufferID;
|
||||||
|
|
||||||
#define NPPN_FILEDELETEFAILED (NPPN_FIRST + 25) // To notify plugins that file deletion has failed
|
#define NPPN_FILEDELETEFAILED (NPPN_FIRST + 25) // To notify plugins that file deletion has failed
|
||||||
//scnNotification->nmhdr.code = NPPN_FILEDELETEFAILED;
|
//scnNotification->nmhdr.code = NPPN_FILEDELETEFAILED;
|
||||||
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
||||||
//scnNotification->nmhdr.idFrom = BufferID;
|
//scnNotification->nmhdr.idFrom = BufferID;
|
||||||
|
|
||||||
#define NPPN_FILEDELETED (NPPN_FIRST + 26) // To notify plugins that file has been deleted
|
#define NPPN_FILEDELETED (NPPN_FIRST + 26) // To notify plugins that file has been deleted
|
||||||
//scnNotification->nmhdr.code = NPPN_FILEDELETED;
|
//scnNotification->nmhdr.code = NPPN_FILEDELETED;
|
||||||
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
//scnNotification->nmhdr.hwndFrom = hwndNpp;
|
||||||
//scnNotification->nmhdr.idFrom = BufferID;
|
//scnNotification->nmhdr.idFrom = BufferID;
|
||||||
|
|
||||||
#endif //NOTEPAD_PLUS_MSGS_H
|
#endif //NOTEPAD_PLUS_MSGS_H
|
||||||
|
@ -77,8 +77,8 @@ extern "C" __declspec(dllexport) FuncItem * getFuncsArray(int *);
|
|||||||
extern "C" __declspec(dllexport) void beNotified(SCNotification *);
|
extern "C" __declspec(dllexport) void beNotified(SCNotification *);
|
||||||
extern "C" __declspec(dllexport) LRESULT messageProc(UINT Message, WPARAM wParam, LPARAM lParam);
|
extern "C" __declspec(dllexport) LRESULT messageProc(UINT Message, WPARAM wParam, LPARAM lParam);
|
||||||
|
|
||||||
#ifdef UNICODE
|
// This API return always true now, since Notepad++ isn't compiled in ANSI mode anymore
|
||||||
extern "C" __declspec(dllexport) BOOL isUnicode();
|
extern "C" __declspec(dllexport) BOOL isUnicode();
|
||||||
#endif //UNICODE
|
|
||||||
|
|
||||||
#endif //PLUGININTERFACE_H
|
#endif //PLUGININTERFACE_H
|
||||||
|
@ -26,10 +26,12 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <shlwapi.h>
|
||||||
#include "PluginsManager.h"
|
#include "PluginsManager.h"
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
const TCHAR * USERMSG = TEXT("This plugin is not compatible with current version of Notepad++.\n\n\
|
const TCHAR * USERMSG = TEXT("This plugin is not compatible with current version of Notepad++.\n\n\
|
||||||
Do you want to remove this plugin from plugins directory to prevent this message from the next launch time?");
|
Do you want to remove this plugin from plugins directory to prevent this message from the next launch time?");
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ public:
|
|||||||
_nppData = nppData;
|
_nppData = nppData;
|
||||||
};
|
};
|
||||||
|
|
||||||
int loadPlugin(const TCHAR *pluginFilePath, vector<generic_string> & dll2Remove);
|
int loadPlugin(const TCHAR *pluginFilePath, std::vector<generic_string> & dll2Remove);
|
||||||
bool loadPlugins(const TCHAR *dir = NULL);
|
bool loadPlugins(const TCHAR *dir = NULL);
|
||||||
|
|
||||||
bool unloadPlugin(int index, HWND nppHandle);
|
bool unloadPlugin(int index, HWND nppHandle);
|
||||||
@ -129,9 +129,9 @@ private:
|
|||||||
NppData _nppData;
|
NppData _nppData;
|
||||||
HMENU _hPluginsMenu;
|
HMENU _hPluginsMenu;
|
||||||
|
|
||||||
vector<PluginInfo *> _pluginInfos;
|
std::vector<PluginInfo *> _pluginInfos;
|
||||||
vector<PluginCommand> _pluginsCommands;
|
std::vector<PluginCommand> _pluginsCommands;
|
||||||
vector<generic_string> _loadedDlls;
|
std::vector<generic_string> _loadedDlls;
|
||||||
bool _isDisabled;
|
bool _isDisabled;
|
||||||
IDAllocator _dynamicIDAlloc;
|
IDAllocator _dynamicIDAlloc;
|
||||||
IDAllocator _markerAlloc;
|
IDAllocator _markerAlloc;
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
#include "process.h"
|
#include "process.h"
|
||||||
|
|
||||||
|
@ -29,8 +29,6 @@
|
|||||||
#ifndef PROCESSUS_H
|
#ifndef PROCESSUS_H
|
||||||
#define PROCESSUS_H
|
#define PROCESSUS_H
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
enum progType {WIN32_PROG, CONSOLE_PROG};
|
enum progType {WIN32_PROG, CONSOLE_PROG};
|
||||||
|
|
||||||
class Process
|
class Process
|
||||||
|
@ -25,8 +25,7 @@
|
|||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
#include "Common.h"
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "regExtDlg.h"
|
#include "regExtDlg.h"
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
|
||||||
|
@ -33,6 +33,8 @@
|
|||||||
#include "regExtDlgRc.h"
|
#include "regExtDlgRc.h"
|
||||||
#endif //REGEXTDLGRC_H
|
#endif //REGEXTDLGRC_H
|
||||||
|
|
||||||
|
#include "StaticDialog.h"
|
||||||
|
|
||||||
const int extNameLen = 32;
|
const int extNameLen = 32;
|
||||||
|
|
||||||
class RegExtDlg : public StaticDialog
|
class RegExtDlg : public StaticDialog
|
||||||
|
@ -25,8 +25,8 @@
|
|||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
#include <time.h>
|
||||||
#include "precompiledHeaders.h"
|
#include <shlwapi.h>
|
||||||
#include "Notepad_plus.h"
|
#include "Notepad_plus.h"
|
||||||
#include "Notepad_plus_Window.h"
|
#include "Notepad_plus_Window.h"
|
||||||
#include "FileDialog.h"
|
#include "FileDialog.h"
|
||||||
@ -48,6 +48,8 @@
|
|||||||
#include "documentMap.h"
|
#include "documentMap.h"
|
||||||
#include "functionListPanel.h"
|
#include "functionListPanel.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
enum tb_stat {tb_saved, tb_unsaved, tb_ro};
|
enum tb_stat {tb_saved, tb_unsaved, tb_ro};
|
||||||
#define DIR_LEFT true
|
#define DIR_LEFT true
|
||||||
#define DIR_RIGHT false
|
#define DIR_RIGHT false
|
||||||
@ -1931,7 +1933,7 @@ void Notepad_plus::copyMarkedLines()
|
|||||||
globalStr = currentStr;
|
globalStr = currentStr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
str2Cliboard(globalStr.c_str());
|
str2Cliboard(globalStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Notepad_plus::cutMarkedLines()
|
void Notepad_plus::cutMarkedLines()
|
||||||
@ -1951,7 +1953,7 @@ void Notepad_plus::cutMarkedLines()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
_pEditView->execute(SCI_ENDUNDOACTION);
|
_pEditView->execute(SCI_ENDUNDOACTION);
|
||||||
str2Cliboard(globalStr.c_str());
|
str2Cliboard(globalStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Notepad_plus::deleteMarkedLines(bool isMarked)
|
void Notepad_plus::deleteMarkedLines(bool isMarked)
|
||||||
@ -1970,11 +1972,8 @@ void Notepad_plus::deleteMarkedLines(bool isMarked)
|
|||||||
void Notepad_plus::pasteToMarkedLines()
|
void Notepad_plus::pasteToMarkedLines()
|
||||||
{
|
{
|
||||||
int clipFormat;
|
int clipFormat;
|
||||||
#ifdef UNICODE
|
|
||||||
clipFormat = CF_UNICODETEXT;
|
clipFormat = CF_UNICODETEXT;
|
||||||
#else
|
|
||||||
clipFormat = CF_TEXT;
|
|
||||||
#endif
|
|
||||||
BOOL canPaste = ::IsClipboardFormatAvailable(clipFormat);
|
BOOL canPaste = ::IsClipboardFormatAvailable(clipFormat);
|
||||||
if (!canPaste)
|
if (!canPaste)
|
||||||
return;
|
return;
|
||||||
@ -4556,39 +4555,9 @@ void Notepad_plus::getCurrentOpenedFiles(Session & session, bool includUntitledD
|
|||||||
_invisibleEditView.execute(SCI_SETDOCPOINTER, 0, oldDoc);
|
_invisibleEditView.execute(SCI_SETDOCPOINTER, 0, oldDoc);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Notepad_plus::str2Cliboard(const TCHAR *str2cpy)
|
bool Notepad_plus::str2Cliboard(const generic_string & str2cpy)
|
||||||
{
|
{
|
||||||
if (!str2cpy)
|
return str2Clipboard(str2cpy, _pPublicInterface->getHSelf());
|
||||||
return false;
|
|
||||||
|
|
||||||
int len2Allocate = lstrlen(str2cpy) + 1;
|
|
||||||
len2Allocate *= sizeof(TCHAR);
|
|
||||||
unsigned int cilpboardFormat = CF_TEXT;
|
|
||||||
|
|
||||||
#ifdef UNICODE
|
|
||||||
cilpboardFormat = CF_UNICODETEXT;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
HGLOBAL hglbCopy = ::GlobalAlloc(GMEM_MOVEABLE, len2Allocate);
|
|
||||||
if (hglbCopy == NULL)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!::OpenClipboard(_pPublicInterface->getHSelf()))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
::EmptyClipboard();
|
|
||||||
|
|
||||||
// Lock the handle and copy the text to the buffer.
|
|
||||||
TCHAR *pStr = (TCHAR *)::GlobalLock(hglbCopy);
|
|
||||||
lstrcpy(pStr, str2cpy);
|
|
||||||
::GlobalUnlock(hglbCopy);
|
|
||||||
|
|
||||||
// Place the handle on the clipboard.
|
|
||||||
::SetClipboardData(cilpboardFormat, hglbCopy);
|
|
||||||
::CloseClipboard();
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//ONLY CALL IN CASE OF EMERGENCY: EXCEPTION
|
//ONLY CALL IN CASE OF EMERGENCY: EXCEPTION
|
||||||
@ -5546,7 +5515,6 @@ Quote quotes[nbQuote] = {
|
|||||||
{"Bob Gray", "Writing in C or C++ is like running a chain saw with all the safety guards removed."},
|
{"Bob Gray", "Writing in C or C++ is like running a chain saw with all the safety guards removed."},
|
||||||
{"Roberto Waltman", "In the one and only true way. The object-oriented version of \"Spaghetti code\" is, of course, \"Lasagna code\". (Too many layers)"},
|
{"Roberto Waltman", "In the one and only true way. The object-oriented version of \"Spaghetti code\" is, of course, \"Lasagna code\". (Too many layers)"},
|
||||||
{"Gavin Russell Baker", "C++ : Where friends have access to your private members."},
|
{"Gavin Russell Baker", "C++ : Where friends have access to your private members."},
|
||||||
{"Alanna", "Saying that Java is nice because it works on all OSes is like saying that anal sex is nice because it works on all genders."},
|
|
||||||
{"Linus Torvalds", "Software is like sex: It's better when it's free."},
|
{"Linus Torvalds", "Software is like sex: It's better when it's free."},
|
||||||
{"Cult of vi", "Emacs is a great operating system, lacking only a decent editor."},
|
{"Cult of vi", "Emacs is a great operating system, lacking only a decent editor."},
|
||||||
{"Church of Emacs", "vi has two modes - \"beep repeatedly\" and \"break everything\"."},
|
{"Church of Emacs", "vi has two modes - \"beep repeatedly\" and \"break everything\"."},
|
||||||
@ -5642,7 +5610,7 @@ Quote quotes[nbQuote] = {
|
|||||||
{"Anonymous #81", "A male engineering student was crossing a road one day when a frog called out to him and said, \"If you kiss me, I'll turn into a beautiful princess.\" He bent over, picked up the frog, and put it in his pocket.\n\nThe frog spoke up again and said, \"If you kiss me and turn me back into a beautiful princess, I will stay with you for one week.\" The engineering student took the frog out of his pocket, smiled at it; and returned it to his pocket.\n\nThe frog then cried out, \"If you kiss me and turn me back into a princess, I'll stay with you and do ANYTHING you want.\" Again the boy took the frog out, smiled at it, and put it back into his pocket.\n\nFinally, the frog asked, \"What is the matter? I've told you I'm a beautiful princess, that I'll stay with you for a week and do anything you want. Why won't you kiss me?\" The boy said, \"Look I'm an engineer. I don't have time for a girlfriend, but a talking frog is cool.\"\n"},
|
{"Anonymous #81", "A male engineering student was crossing a road one day when a frog called out to him and said, \"If you kiss me, I'll turn into a beautiful princess.\" He bent over, picked up the frog, and put it in his pocket.\n\nThe frog spoke up again and said, \"If you kiss me and turn me back into a beautiful princess, I will stay with you for one week.\" The engineering student took the frog out of his pocket, smiled at it; and returned it to his pocket.\n\nThe frog then cried out, \"If you kiss me and turn me back into a princess, I'll stay with you and do ANYTHING you want.\" Again the boy took the frog out, smiled at it, and put it back into his pocket.\n\nFinally, the frog asked, \"What is the matter? I've told you I'm a beautiful princess, that I'll stay with you for a week and do anything you want. Why won't you kiss me?\" The boy said, \"Look I'm an engineer. I don't have time for a girlfriend, but a talking frog is cool.\"\n"},
|
||||||
{"Anonymous #82", "Programmers never die.\nThey just go offline."},
|
{"Anonymous #82", "Programmers never die.\nThey just go offline."},
|
||||||
{"Anonymous #83", "Copy from one, it's plagiarism.\nCopy from two, it's research."},
|
{"Anonymous #83", "Copy from one, it's plagiarism.\nCopy from two, it's research."},
|
||||||
//{"Anonymous #84", ""},
|
{"Anonymous #84", "Saying that Java is nice because it works on all OSes is like saying that anal sex is nice because it works on all genders."},
|
||||||
{"Anonymous #85", "Race, religion, ethnic pride and nationalism etc... does nothing but teach you how to hate people that you've never met."},
|
{"Anonymous #85", "Race, religion, ethnic pride and nationalism etc... does nothing but teach you how to hate people that you've never met."},
|
||||||
{"Anonymous #86", "Farts are just the ghosts of the things we eat."},
|
{"Anonymous #86", "Farts are just the ghosts of the things we eat."},
|
||||||
{"Anonymous #87", "I promised I would never kill someone who had my blood.\nBut that mosquito made me break my word."},
|
{"Anonymous #87", "I promised I would never kill someone who had my blood.\nBut that mosquito made me break my word."},
|
||||||
|
@ -296,7 +296,7 @@ public:
|
|||||||
bool findInFiles();
|
bool findInFiles();
|
||||||
bool replaceInFiles();
|
bool replaceInFiles();
|
||||||
void setFindReplaceFolderFilter(const TCHAR *dir, const TCHAR *filters);
|
void setFindReplaceFolderFilter(const TCHAR *dir, const TCHAR *filters);
|
||||||
vector<generic_string> addNppComponents(const TCHAR *destDir, const TCHAR *extFilterName, const TCHAR *extFilter);
|
std::vector<generic_string> addNppComponents(const TCHAR *destDir, const TCHAR *extFilterName, const TCHAR *extFilter);
|
||||||
int getHtmlXmlEncoding(const TCHAR *fileName) const;
|
int getHtmlXmlEncoding(const TCHAR *fileName) const;
|
||||||
HACCEL getAccTable() const{
|
HACCEL getAccTable() const{
|
||||||
return _accelerator.getAccTable();
|
return _accelerator.getAccTable();
|
||||||
@ -314,7 +314,7 @@ private:
|
|||||||
Notepad_plus_Window *_pPublicInterface;
|
Notepad_plus_Window *_pPublicInterface;
|
||||||
Window *_pMainWindow;
|
Window *_pMainWindow;
|
||||||
DockingManager _dockingManager;
|
DockingManager _dockingManager;
|
||||||
vector<int> _internalFuncIDs;
|
std::vector<int> _internalFuncIDs;
|
||||||
|
|
||||||
AutoCompletion _autoCompleteMain;
|
AutoCompletion _autoCompleteMain;
|
||||||
AutoCompletion _autoCompleteSub; //each Scintilla has its own autoComplete
|
AutoCompletion _autoCompleteSub; //each Scintilla has its own autoComplete
|
||||||
@ -358,7 +358,7 @@ private:
|
|||||||
FindCharsInRangeDlg _findCharsInRangeDlg;
|
FindCharsInRangeDlg _findCharsInRangeDlg;
|
||||||
|
|
||||||
// a handle list of all the Notepad++ dialogs
|
// a handle list of all the Notepad++ dialogs
|
||||||
vector<HWND> _hModelessDlgs;
|
std::vector<HWND> _hModelessDlgs;
|
||||||
|
|
||||||
LastRecentFileList _lastRecentFileList;
|
LastRecentFileList _lastRecentFileList;
|
||||||
|
|
||||||
@ -422,7 +422,7 @@ private:
|
|||||||
|
|
||||||
ScintillaCtrls _scintillaCtrls4Plugins;
|
ScintillaCtrls _scintillaCtrls4Plugins;
|
||||||
|
|
||||||
vector<pair<int, int> > _hideLinesMarks;
|
std::vector<std::pair<int, int> > _hideLinesMarks;
|
||||||
StyleArray _hotspotStyles;
|
StyleArray _hotspotStyles;
|
||||||
|
|
||||||
AnsiCharPanel *_pAnsiCharPanel;
|
AnsiCharPanel *_pAnsiCharPanel;
|
||||||
@ -594,12 +594,12 @@ private:
|
|||||||
bool findInOpenedFiles();
|
bool findInOpenedFiles();
|
||||||
bool findInCurrentFile();
|
bool findInCurrentFile();
|
||||||
|
|
||||||
bool matchInList(const TCHAR *fileName, const vector<generic_string> & patterns);
|
bool matchInList(const TCHAR *fileName, const std::vector<generic_string> & patterns);
|
||||||
void getMatchedFileNames(const TCHAR *dir, const vector<generic_string> & patterns, vector<generic_string> & fileNames, bool isRecursive, bool isInHiddenDir);
|
void getMatchedFileNames(const TCHAR *dir, const std::vector<generic_string> & patterns, std::vector<generic_string> & fileNames, bool isRecursive, bool isInHiddenDir);
|
||||||
|
|
||||||
void doSynScorll(HWND hW);
|
void doSynScorll(HWND hW);
|
||||||
void setWorkingDir(const TCHAR *dir);
|
void setWorkingDir(const TCHAR *dir);
|
||||||
bool str2Cliboard(const TCHAR *str2cpy);
|
bool str2Cliboard(const generic_string & str2cpy);
|
||||||
bool bin2Cliboard(const UCHAR *uchar2cpy, size_t length);
|
bool bin2Cliboard(const UCHAR *uchar2cpy, size_t length);
|
||||||
|
|
||||||
bool getIntegralDockingData(tTbData & dockData, int & iCont, bool & isVisible);
|
bool getIntegralDockingData(tTbData & dockData, int & iCont, bool & isVisible);
|
||||||
|
@ -26,7 +26,8 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <time.h>
|
||||||
|
#include <shlwapi.h>
|
||||||
#include "Notepad_plus_Window.h"
|
#include "Notepad_plus_Window.h"
|
||||||
|
|
||||||
const TCHAR Notepad_plus_Window::_className[32] = TEXT("Notepad++");
|
const TCHAR Notepad_plus_Window::_className[32] = TEXT("Notepad++");
|
||||||
@ -159,14 +160,14 @@ void Notepad_plus_Window::init(HINSTANCE hInst, HWND parent, const TCHAR *cmdLin
|
|||||||
_notepad_plus_plus_core.loadCommandlineParams(cmdLine, cmdLineParams);
|
_notepad_plus_plus_core.loadCommandlineParams(cmdLine, cmdLineParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
vector<generic_string> fileNames;
|
std::vector<generic_string> fileNames;
|
||||||
vector<generic_string> patterns;
|
std::vector<generic_string> patterns;
|
||||||
patterns.push_back(TEXT("*.xml"));
|
patterns.push_back(TEXT("*.xml"));
|
||||||
|
|
||||||
generic_string nppDir = pNppParams->getNppPath();
|
generic_string nppDir = pNppParams->getNppPath();
|
||||||
|
|
||||||
LocalizationSwitcher & localizationSwitcher = pNppParams->getLocalizationSwitcher();
|
LocalizationSwitcher & localizationSwitcher = pNppParams->getLocalizationSwitcher();
|
||||||
wstring localizationDir = nppDir;
|
std::wstring localizationDir = nppDir;
|
||||||
PathAppend(localizationDir, TEXT("localization\\"));
|
PathAppend(localizationDir, TEXT("localization\\"));
|
||||||
|
|
||||||
_notepad_plus_plus_core.getMatchedFileNames(localizationDir.c_str(), patterns, fileNames, false, false);
|
_notepad_plus_plus_core.getMatchedFileNames(localizationDir.c_str(), patterns, fileNames, false, false);
|
||||||
|
@ -99,7 +99,7 @@ private:
|
|||||||
static const TCHAR _className[32];
|
static const TCHAR _className[32];
|
||||||
bool _isPrelaunch;
|
bool _isPrelaunch;
|
||||||
bool _disablePluginsManager;
|
bool _disablePluginsManager;
|
||||||
string _userQuote; // keep the availability of this string for thread using
|
std::string _userQuote; // keep the availability of this string for thread using
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //NOTEPAD_PLUS_WINDOW_H
|
#endif //NOTEPAD_PLUS_WINDOW_H
|
||||||
|
@ -26,7 +26,8 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <algorithm>
|
||||||
|
#include <shlwapi.h>
|
||||||
#include "Notepad_plus_Window.h"
|
#include "Notepad_plus_Window.h"
|
||||||
#include "TaskListDlg.h"
|
#include "TaskListDlg.h"
|
||||||
#include "ImageListSet.h"
|
#include "ImageListSet.h"
|
||||||
@ -38,6 +39,8 @@
|
|||||||
#include "documentMap.h"
|
#include "documentMap.h"
|
||||||
#include "functionListPanel.h"
|
#include "functionListPanel.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
#define WM_DPICHANGED 0x02E0
|
#define WM_DPICHANGED 0x02E0
|
||||||
|
|
||||||
struct SortTaskListPred
|
struct SortTaskListPred
|
||||||
|
@ -25,8 +25,8 @@
|
|||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
#include "precompiledHeaders.h"
|
#include <shlwapi.h>
|
||||||
#include "Notepad_plus_Window.h"
|
#include "Notepad_plus_Window.h"
|
||||||
#include "EncodingMapper.h"
|
#include "EncodingMapper.h"
|
||||||
#include "ShortcutMapper.h"
|
#include "ShortcutMapper.h"
|
||||||
@ -38,6 +38,7 @@
|
|||||||
#include "Sorters.h"
|
#include "Sorters.h"
|
||||||
#include "LongRunningOperation.h"
|
#include "LongRunningOperation.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
void Notepad_plus::macroPlayback(Macro macro)
|
void Notepad_plus::macroPlayback(Macro macro)
|
||||||
{
|
{
|
||||||
@ -675,7 +676,7 @@ void Notepad_plus::command(int id)
|
|||||||
{
|
{
|
||||||
generic_string dir(buf->getFullPathName());
|
generic_string dir(buf->getFullPathName());
|
||||||
PathRemoveFileSpec(dir);
|
PathRemoveFileSpec(dir);
|
||||||
str2Cliboard(dir.c_str());
|
str2Cliboard(dir);
|
||||||
}
|
}
|
||||||
else if (id == IDM_EDIT_FILENAMETOCLIP)
|
else if (id == IDM_EDIT_FILENAMETOCLIP)
|
||||||
{
|
{
|
||||||
|
@ -26,7 +26,8 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <time.h>
|
||||||
|
#include <shlwapi.h>
|
||||||
#include "Notepad_plus_Window.h"
|
#include "Notepad_plus_Window.h"
|
||||||
#include "FileDialog.h"
|
#include "FileDialog.h"
|
||||||
#include "EncodingMapper.h"
|
#include "EncodingMapper.h"
|
||||||
@ -34,6 +35,7 @@
|
|||||||
#include "functionListPanel.h"
|
#include "functionListPanel.h"
|
||||||
#include <TCHAR.h>
|
#include <TCHAR.h>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
BufferID Notepad_plus::doOpen(const TCHAR *fileName, bool isRecursive, bool isReadOnly, int encoding, const TCHAR *backupFileName, time_t fileNameTimestamp)
|
BufferID Notepad_plus::doOpen(const TCHAR *fileName, bool isRecursive, bool isReadOnly, int encoding, const TCHAR *backupFileName, time_t fileNameTimestamp)
|
||||||
{
|
{
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "Notepad_plus_Window.h"
|
#include "Notepad_plus_Window.h"
|
||||||
#include "xmlMatchedTagsHighlighter.h"
|
#include "xmlMatchedTagsHighlighter.h"
|
||||||
#include "VerticalFileSwitcher.h"
|
#include "VerticalFileSwitcher.h"
|
||||||
@ -34,6 +34,8 @@
|
|||||||
#include "documentMap.h"
|
#include "documentMap.h"
|
||||||
#include <stack>
|
#include <stack>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
BOOL Notepad_plus::notify(SCNotification *notification)
|
BOOL Notepad_plus::notify(SCNotification *notification)
|
||||||
{
|
{
|
||||||
//Important, keep track of which element generated the message
|
//Important, keep track of which element generated the message
|
||||||
|
@ -32,9 +32,12 @@
|
|||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
#include "keys.h"
|
#include "keys.h"
|
||||||
#include "localization.h"
|
#include "localization.h"
|
||||||
|
#include "localizationString.h"
|
||||||
#include "UserDefineDialog.h"
|
#include "UserDefineDialog.h"
|
||||||
#include "../src/sqlite/sqlite3.h"
|
#include "../src/sqlite/sqlite3.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
struct WinMenuKeyDefinition { //more or less matches accelerator table definition, easy copy/paste
|
struct WinMenuKeyDefinition { //more or less matches accelerator table definition, easy copy/paste
|
||||||
//const TCHAR * name; //name retrieved from menu?
|
//const TCHAR * name; //name retrieved from menu?
|
||||||
int vKey;
|
int vKey;
|
||||||
@ -496,8 +499,6 @@ static int getKwClassFromName(const TCHAR *str) {
|
|||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef UNICODE
|
|
||||||
#include "localizationString.h"
|
|
||||||
|
|
||||||
wstring LocalizationSwitcher::getLangFromXmlFileName(const wchar_t *fn) const
|
wstring LocalizationSwitcher::getLangFromXmlFileName(const wchar_t *fn) const
|
||||||
{
|
{
|
||||||
@ -541,8 +542,6 @@ bool LocalizationSwitcher::switchToLang(wchar_t *lang2switch) const
|
|||||||
return ::CopyFileW(langPath.c_str(), _nativeLangPath.c_str(), FALSE) != FALSE;
|
return ::CopyFileW(langPath.c_str(), _nativeLangPath.c_str(), FALSE) != FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
generic_string ThemeSwitcher::getThemeFromXmlFileName(const TCHAR *xmlFullPath) const
|
generic_string ThemeSwitcher::getThemeFromXmlFileName(const TCHAR *xmlFullPath) const
|
||||||
{
|
{
|
||||||
@ -1843,9 +1842,7 @@ bool NppParameters::getContextMenuFromXmlTree(HMENU mainMenuHadle, HMENU plugins
|
|||||||
if (!root)
|
if (!root)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
#ifdef UNICODE
|
|
||||||
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
|
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
|
||||||
#endif
|
|
||||||
|
|
||||||
TiXmlNodeA *contextMenuRoot = root->FirstChildElement("ScintillaContextMenu");
|
TiXmlNodeA *contextMenuRoot = root->FirstChildElement("ScintillaContextMenu");
|
||||||
if (contextMenuRoot)
|
if (contextMenuRoot)
|
||||||
@ -1859,13 +1856,9 @@ bool NppParameters::getContextMenuFromXmlTree(HMENU mainMenuHadle, HMENU plugins
|
|||||||
|
|
||||||
generic_string folderName;
|
generic_string folderName;
|
||||||
generic_string displayAs;
|
generic_string displayAs;
|
||||||
#ifdef UNICODE
|
|
||||||
folderName = folderNameA?wmc->char2wchar(folderNameA, SC_CP_UTF8):TEXT("");
|
folderName = folderNameA?wmc->char2wchar(folderNameA, SC_CP_UTF8):TEXT("");
|
||||||
displayAs = displayAsA?wmc->char2wchar(displayAsA, SC_CP_UTF8):TEXT("");
|
displayAs = displayAsA?wmc->char2wchar(displayAsA, SC_CP_UTF8):TEXT("");
|
||||||
#else
|
|
||||||
folderName = folderNameA?folderNameA:"";
|
|
||||||
displayAs = displayAsA?displayAsA:"";
|
|
||||||
#endif
|
|
||||||
int id;
|
int id;
|
||||||
const char *idStr = (childNode->ToElement())->Attribute("id", &id);
|
const char *idStr = (childNode->ToElement())->Attribute("id", &id);
|
||||||
if (idStr)
|
if (idStr)
|
||||||
@ -1879,13 +1872,9 @@ bool NppParameters::getContextMenuFromXmlTree(HMENU mainMenuHadle, HMENU plugins
|
|||||||
|
|
||||||
generic_string menuEntryName;
|
generic_string menuEntryName;
|
||||||
generic_string menuItemName;
|
generic_string menuItemName;
|
||||||
#ifdef UNICODE
|
|
||||||
menuEntryName = menuEntryNameA?wmc->char2wchar(menuEntryNameA, SC_CP_UTF8):TEXT("");
|
menuEntryName = menuEntryNameA?wmc->char2wchar(menuEntryNameA, SC_CP_UTF8):TEXT("");
|
||||||
menuItemName = menuItemNameA?wmc->char2wchar(menuItemNameA, SC_CP_UTF8):TEXT("");
|
menuItemName = menuItemNameA?wmc->char2wchar(menuItemNameA, SC_CP_UTF8):TEXT("");
|
||||||
#else
|
|
||||||
menuEntryName = menuEntryNameA?menuEntryNameA:"";
|
|
||||||
menuItemName = menuItemNameA?menuItemNameA:"";
|
|
||||||
#endif
|
|
||||||
if (menuEntryName != TEXT("") && menuItemName != TEXT(""))
|
if (menuEntryName != TEXT("") && menuItemName != TEXT(""))
|
||||||
{
|
{
|
||||||
int nbMenuEntry = ::GetMenuItemCount(mainMenuHadle);
|
int nbMenuEntry = ::GetMenuItemCount(mainMenuHadle);
|
||||||
@ -1949,13 +1938,9 @@ bool NppParameters::getContextMenuFromXmlTree(HMENU mainMenuHadle, HMENU plugins
|
|||||||
|
|
||||||
generic_string pluginName;
|
generic_string pluginName;
|
||||||
generic_string pluginCmdName;
|
generic_string pluginCmdName;
|
||||||
#ifdef UNICODE
|
|
||||||
pluginName = pluginNameA?wmc->char2wchar(pluginNameA, SC_CP_UTF8):TEXT("");
|
pluginName = pluginNameA?wmc->char2wchar(pluginNameA, SC_CP_UTF8):TEXT("");
|
||||||
pluginCmdName = pluginCmdNameA?wmc->char2wchar(pluginCmdNameA, SC_CP_UTF8):TEXT("");
|
pluginCmdName = pluginCmdNameA?wmc->char2wchar(pluginCmdNameA, SC_CP_UTF8):TEXT("");
|
||||||
#else
|
|
||||||
pluginName = pluginNameA?pluginNameA:"";
|
|
||||||
pluginCmdName = pluginCmdNameA?pluginCmdNameA:"";
|
|
||||||
#endif
|
|
||||||
// if plugin menu existing plls the value of PluginEntryName and PluginCommandItemName are valid
|
// if plugin menu existing plls the value of PluginEntryName and PluginCommandItemName are valid
|
||||||
if (pluginsMenu && pluginName != TEXT("") && pluginCmdName != TEXT(""))
|
if (pluginsMenu && pluginName != TEXT("") && pluginCmdName != TEXT(""))
|
||||||
{
|
{
|
||||||
@ -3401,28 +3386,28 @@ bool NppParameters::writeProjectPanelsSettings() const
|
|||||||
TiXmlNode *nppRoot = _pXmlUserDoc->FirstChild(TEXT("NotepadPlus"));
|
TiXmlNode *nppRoot = _pXmlUserDoc->FirstChild(TEXT("NotepadPlus"));
|
||||||
if (!nppRoot) return false;
|
if (!nppRoot) return false;
|
||||||
|
|
||||||
TiXmlNode *projPanelRootNode = nppRoot->FirstChildElement(TEXT("ProjectPanels"));
|
TiXmlNode *oldProjPanelRootNode = nppRoot->FirstChildElement(TEXT("ProjectPanels"));
|
||||||
if (projPanelRootNode)
|
if (nullptr != oldProjPanelRootNode)
|
||||||
{
|
{
|
||||||
// Erase the Project Panel root
|
// Erase the Project Panel root
|
||||||
nppRoot->RemoveChild(projPanelRootNode);
|
nppRoot->RemoveChild(oldProjPanelRootNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the Project Panel root
|
// Create the Project Panel root
|
||||||
projPanelRootNode = new TiXmlElement(TEXT("ProjectPanels"));
|
TiXmlElement projPanelRootNode{TEXT("ProjectPanels")};
|
||||||
|
|
||||||
// Add 3 Project Panel parameters
|
// Add 3 Project Panel parameters
|
||||||
for (int i = 0 ; i < 3 ; ++i)
|
for (int i = 0 ; i < 3 ; ++i)
|
||||||
{
|
{
|
||||||
TiXmlElement projPanelNode(TEXT("ProjectPanel"));
|
TiXmlElement projPanelNode{TEXT("ProjectPanel")};
|
||||||
(projPanelNode.ToElement())->SetAttribute(TEXT("id"), i);
|
(projPanelNode.ToElement())->SetAttribute(TEXT("id"), i);
|
||||||
(projPanelNode.ToElement())->SetAttribute(TEXT("workSpaceFile"), _workSpaceFilePathes[i]);
|
(projPanelNode.ToElement())->SetAttribute(TEXT("workSpaceFile"), _workSpaceFilePathes[i]);
|
||||||
|
|
||||||
(projPanelRootNode->ToElement())->InsertEndChild(projPanelNode);
|
(projPanelRootNode.ToElement())->InsertEndChild(projPanelNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
// (Re)Insert the Project Panel root
|
// (Re)Insert the Project Panel root
|
||||||
(nppRoot->ToElement())->InsertEndChild(*projPanelRootNode);
|
(nppRoot->ToElement())->InsertEndChild(projPanelRootNode);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6417,3 +6402,62 @@ void NppParameters::safeWow64EnableWow64FsRedirection(BOOL Wow64FsEnableRedirect
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Date::Date(const TCHAR *dateStr)
|
||||||
|
{
|
||||||
|
// timeStr should be Notepad++ date format : YYYYMMDD
|
||||||
|
assert(dateStr);
|
||||||
|
if (lstrlen(dateStr) == 8)
|
||||||
|
{
|
||||||
|
generic_string ds(dateStr);
|
||||||
|
generic_string yyyy(ds, 0, 4);
|
||||||
|
generic_string mm(ds, 4, 2);
|
||||||
|
generic_string dd(ds, 6, 2);
|
||||||
|
|
||||||
|
int y = generic_atoi(yyyy.c_str());
|
||||||
|
int m = generic_atoi(mm.c_str());
|
||||||
|
int d = generic_atoi(dd.c_str());
|
||||||
|
|
||||||
|
if ((y > 0 && y <= 9999) && (m > 0 && m <= 12) && (d > 0 && d <= 31))
|
||||||
|
{
|
||||||
|
_year = y;
|
||||||
|
_month = m;
|
||||||
|
_day = d;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
now();
|
||||||
|
}
|
||||||
|
|
||||||
|
// The constructor which makes the date of number of days from now
|
||||||
|
// nbDaysFromNow could be negative if user want to make a date in the past
|
||||||
|
// if the value of nbDaysFromNow is 0 then the date will be now
|
||||||
|
Date::Date(int nbDaysFromNow)
|
||||||
|
{
|
||||||
|
const time_t oneDay = (60 * 60 * 24);
|
||||||
|
|
||||||
|
time_t rawtime;
|
||||||
|
tm* timeinfo;
|
||||||
|
|
||||||
|
time(&rawtime);
|
||||||
|
rawtime += (nbDaysFromNow * oneDay);
|
||||||
|
|
||||||
|
timeinfo = localtime(&rawtime);
|
||||||
|
|
||||||
|
_year = timeinfo->tm_year + 1900;
|
||||||
|
_month = timeinfo->tm_mon + 1;
|
||||||
|
_day = timeinfo->tm_mday;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Date::now()
|
||||||
|
{
|
||||||
|
time_t rawtime;
|
||||||
|
tm* timeinfo;
|
||||||
|
|
||||||
|
time(&rawtime);
|
||||||
|
timeinfo = localtime(&rawtime);
|
||||||
|
|
||||||
|
_year = timeinfo->tm_year + 1900;
|
||||||
|
_month = timeinfo->tm_mon + 1;
|
||||||
|
_day = timeinfo->tm_mday;
|
||||||
|
}
|
||||||
|
@ -69,13 +69,11 @@
|
|||||||
#include "dpiManager.h"
|
#include "dpiManager.h"
|
||||||
#endif //DPIMANAGER_H
|
#endif //DPIMANAGER_H
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
|
|
||||||
class NativeLangSpeaker;
|
class NativeLangSpeaker;
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
const bool POS_VERTICAL = true;
|
const bool POS_VERTICAL = true;
|
||||||
const bool POS_HORIZOTAL = false;
|
const bool POS_HORIZOTAL = false;
|
||||||
|
|
||||||
@ -136,7 +134,7 @@ const TCHAR localConfFile[] = TEXT("doLocalConf.xml");
|
|||||||
const TCHAR allowAppDataPluginsFile[] = TEXT("allowAppDataPlugins.xml");
|
const TCHAR allowAppDataPluginsFile[] = TEXT("allowAppDataPlugins.xml");
|
||||||
const TCHAR notepadStyleFile[] = TEXT("asNotepad.xml");
|
const TCHAR notepadStyleFile[] = TEXT("asNotepad.xml");
|
||||||
|
|
||||||
void cutString(const TCHAR *str2cut, vector<generic_string> & patternVect);
|
void cutString(const TCHAR *str2cut, std::vector<generic_string> & patternVect);
|
||||||
|
|
||||||
|
|
||||||
struct Position
|
struct Position
|
||||||
@ -162,8 +160,8 @@ struct sessionFileInfo : public Position {
|
|||||||
|
|
||||||
generic_string _fileName;
|
generic_string _fileName;
|
||||||
generic_string _langName;
|
generic_string _langName;
|
||||||
vector<size_t> _marks;
|
std::vector<size_t> _marks;
|
||||||
vector<size_t> _foldStates;
|
std::vector<size_t> _foldStates;
|
||||||
int _encoding;
|
int _encoding;
|
||||||
|
|
||||||
generic_string _backupFilePath;
|
generic_string _backupFilePath;
|
||||||
@ -176,8 +174,8 @@ struct Session {
|
|||||||
size_t _activeView;
|
size_t _activeView;
|
||||||
size_t _activeMainIndex;
|
size_t _activeMainIndex;
|
||||||
size_t _activeSubIndex;
|
size_t _activeSubIndex;
|
||||||
vector<sessionFileInfo> _mainViewFiles;
|
std::vector<sessionFileInfo> _mainViewFiles;
|
||||||
vector<sessionFileInfo> _subViewFiles;
|
std::vector<sessionFileInfo> _subViewFiles;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CmdLineParams {
|
struct CmdLineParams {
|
||||||
@ -258,9 +256,9 @@ struct DockingManagerData {
|
|||||||
|
|
||||||
DockingManagerData() : _leftWidth(200), _rightWidth(200), _topHeight(200), _bottomHight(200) {};
|
DockingManagerData() : _leftWidth(200), _rightWidth(200), _topHeight(200), _bottomHight(200) {};
|
||||||
|
|
||||||
vector<FloatingWindowInfo> _flaotingWindowInfo;
|
std::vector<FloatingWindowInfo> _flaotingWindowInfo;
|
||||||
vector<PluginDlgDockingInfo> _pluginDockInfo;
|
std::vector<PluginDlgDockingInfo> _pluginDockInfo;
|
||||||
vector<ContainerTabInfo> _containerTabInfo;
|
std::vector<ContainerTabInfo> _containerTabInfo;
|
||||||
|
|
||||||
bool getFloatingRCFrom(int floatCont, RECT & rc) {
|
bool getFloatingRCFrom(int floatCont, RECT & rc) {
|
||||||
for (size_t i = 0, fwiLen = _flaotingWindowInfo.size(); i < fwiLen; ++i)
|
for (size_t i = 0, fwiLen = _flaotingWindowInfo.size(); i < fwiLen; ++i)
|
||||||
@ -402,13 +400,6 @@ public:
|
|||||||
|
|
||||||
Style & getStyler(int index) {
|
Style & getStyler(int index) {
|
||||||
assert(index >= 0 && index < SCE_STYLE_ARRAY_SIZE);
|
assert(index >= 0 && index < SCE_STYLE_ARRAY_SIZE);
|
||||||
/*
|
|
||||||
if (index < 0 || index >= SCE_STYLE_ARRAY_SIZE)
|
|
||||||
{
|
|
||||||
Style s;
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
return _styleArray[index];
|
return _styleArray[index];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -416,7 +407,6 @@ public:
|
|||||||
void addStyler(int styleID, TiXmlNode *styleNode);
|
void addStyler(int styleID, TiXmlNode *styleNode);
|
||||||
|
|
||||||
void addStyler(int styleID, const TCHAR *styleName) {
|
void addStyler(int styleID, const TCHAR *styleName) {
|
||||||
//ZeroMemory(&_styleArray[_nbStyler], sizeof(Style));;
|
|
||||||
_styleArray[styleID]._styleID = styleID;
|
_styleArray[styleID]._styleID = styleID;
|
||||||
_styleArray[styleID]._styleDesc = styleName;
|
_styleArray[styleID]._styleDesc = styleName;
|
||||||
_styleArray[styleID]._fgColor = black;
|
_styleArray[styleID]._fgColor = black;
|
||||||
@ -605,61 +595,14 @@ public:
|
|||||||
_day = day;
|
_day = day;
|
||||||
};
|
};
|
||||||
|
|
||||||
Date(const TCHAR *dateStr) { // timeStr should be Notepad++ date format : YYYYMMDD
|
Date(const TCHAR *dateStr);
|
||||||
assert(dateStr);
|
|
||||||
if (lstrlen(dateStr) == 8)
|
|
||||||
{
|
|
||||||
generic_string ds(dateStr);
|
|
||||||
generic_string yyyy(ds, 0, 4);
|
|
||||||
generic_string mm(ds, 4, 2);
|
|
||||||
generic_string dd(ds, 6, 2);
|
|
||||||
|
|
||||||
int y = generic_atoi(yyyy.c_str());
|
|
||||||
int m = generic_atoi(mm.c_str());
|
|
||||||
int d = generic_atoi(dd.c_str());
|
|
||||||
|
|
||||||
if ((y > 0 && y <= 9999) && (m > 0 && m <= 12) && (d > 0 && d <= 31))
|
|
||||||
{
|
|
||||||
_year = y;
|
|
||||||
_month = m;
|
|
||||||
_day = d;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
now();
|
|
||||||
};
|
|
||||||
|
|
||||||
// The constructor which makes the date of number of days from now
|
// The constructor which makes the date of number of days from now
|
||||||
// nbDaysFromNow could be negative if user want to make a date in the past
|
// nbDaysFromNow could be negative if user want to make a date in the past
|
||||||
// if the value of nbDaysFromNow is 0 then the date will be now
|
// if the value of nbDaysFromNow is 0 then the date will be now
|
||||||
Date(int nbDaysFromNow)
|
Date(int nbDaysFromNow);
|
||||||
{
|
|
||||||
const time_t oneDay = (60 * 60 * 24);
|
|
||||||
|
|
||||||
time_t rawtime;
|
void now();
|
||||||
tm* timeinfo;
|
|
||||||
|
|
||||||
time(&rawtime);
|
|
||||||
rawtime += (nbDaysFromNow * oneDay);
|
|
||||||
|
|
||||||
timeinfo = localtime(&rawtime);
|
|
||||||
|
|
||||||
_year = timeinfo->tm_year+1900;
|
|
||||||
_month = timeinfo->tm_mon+1;
|
|
||||||
_day = timeinfo->tm_mday;
|
|
||||||
}
|
|
||||||
|
|
||||||
void now() {
|
|
||||||
time_t rawtime;
|
|
||||||
tm* timeinfo;
|
|
||||||
|
|
||||||
time(&rawtime);
|
|
||||||
timeinfo = localtime(&rawtime);
|
|
||||||
|
|
||||||
_year = timeinfo->tm_year+1900;
|
|
||||||
_month = timeinfo->tm_mon+1;
|
|
||||||
_day = timeinfo->tm_mday;
|
|
||||||
};
|
|
||||||
|
|
||||||
generic_string toString() { // Return Notepad++ date format : YYYYMMDD
|
generic_string toString() { // Return Notepad++ date format : YYYYMMDD
|
||||||
TCHAR dateStr[8+1];
|
TCHAR dateStr[8+1];
|
||||||
@ -703,8 +646,8 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct MatchedPairConf {
|
struct MatchedPairConf {
|
||||||
vector< pair<char, char> > _matchedPairs;
|
std::vector< std::pair<char, char> > _matchedPairs;
|
||||||
vector< pair<char, char> > _matchedPairsInit; // used only on init
|
std::vector< std::pair<char, char> > _matchedPairsInit; // used only on init
|
||||||
bool _doHtmlXmlTag;
|
bool _doHtmlXmlTag;
|
||||||
bool _doParentheses;
|
bool _doParentheses;
|
||||||
bool _doBrackets;
|
bool _doBrackets;
|
||||||
@ -794,7 +737,7 @@ struct NppGUI
|
|||||||
NewDocDefaultSettings _newDocDefaultSettings;
|
NewDocDefaultSettings _newDocDefaultSettings;
|
||||||
void setTabReplacedBySpace(bool b) {_tabReplacedBySpace = b;};
|
void setTabReplacedBySpace(bool b) {_tabReplacedBySpace = b;};
|
||||||
const NewDocDefaultSettings & getNewDocDefaultSettings() const {return _newDocDefaultSettings;};
|
const NewDocDefaultSettings & getNewDocDefaultSettings() const {return _newDocDefaultSettings;};
|
||||||
vector<LangMenuItem> _excludedLangList;
|
std::vector<LangMenuItem> _excludedLangList;
|
||||||
bool _isLangMenuCompact;
|
bool _isLangMenuCompact;
|
||||||
|
|
||||||
PrintSettings _printSettings;
|
PrintSettings _printSettings;
|
||||||
@ -1079,10 +1022,10 @@ struct FindHistory {
|
|||||||
int _nbMaxFindHistoryFind;
|
int _nbMaxFindHistoryFind;
|
||||||
int _nbMaxFindHistoryReplace;
|
int _nbMaxFindHistoryReplace;
|
||||||
|
|
||||||
vector<generic_string> _findHistoryPaths;
|
std::vector<generic_string> _findHistoryPaths;
|
||||||
vector<generic_string> _findHistoryFilters;
|
std::vector<generic_string> _findHistoryFilters;
|
||||||
vector<generic_string> _findHistoryFinds;
|
std::vector<generic_string> _findHistoryFinds;
|
||||||
vector<generic_string> _findHistoryReplaces;
|
std::vector<generic_string> _findHistoryReplaces;
|
||||||
|
|
||||||
bool _isMatchWord;
|
bool _isMatchWord;
|
||||||
bool _isMatchCase;
|
bool _isMatchCase;
|
||||||
@ -1112,19 +1055,19 @@ public :
|
|||||||
wchar_t *_xmlFileName;
|
wchar_t *_xmlFileName;
|
||||||
};
|
};
|
||||||
|
|
||||||
bool addLanguageFromXml(wstring xmlFullPath);
|
bool addLanguageFromXml(std::wstring xmlFullPath);
|
||||||
wstring getLangFromXmlFileName(const wchar_t *fn) const;
|
std::wstring getLangFromXmlFileName(const wchar_t *fn) const;
|
||||||
|
|
||||||
wstring getXmlFilePathFromLangName(const wchar_t *langName) const;
|
std::wstring getXmlFilePathFromLangName(const wchar_t *langName) const;
|
||||||
bool switchToLang(wchar_t *lang2switch) const;
|
bool switchToLang(wchar_t *lang2switch) const;
|
||||||
|
|
||||||
size_t size() const {
|
size_t size() const {
|
||||||
return _localizationList.size();
|
return _localizationList.size();
|
||||||
};
|
};
|
||||||
|
|
||||||
pair<wstring, wstring> getElementFromIndex(size_t index) {
|
std::pair<std::wstring, std::wstring> getElementFromIndex(size_t index) {
|
||||||
if (index >= _localizationList.size())
|
if (index >= _localizationList.size())
|
||||||
return pair<wstring, wstring>(TEXT(""), TEXT(""));
|
return std::pair<std::wstring, std::wstring>(TEXT(""), TEXT(""));
|
||||||
return _localizationList[index];
|
return _localizationList[index];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1133,14 +1076,14 @@ public :
|
|||||||
_fileName = fn;
|
_fileName = fn;
|
||||||
};
|
};
|
||||||
|
|
||||||
string getFileName() const {
|
std::string getFileName() const {
|
||||||
return _fileName;
|
return _fileName;
|
||||||
};
|
};
|
||||||
|
|
||||||
private :
|
private :
|
||||||
vector< pair< wstring, wstring > > _localizationList;
|
std::vector< std::pair< std::wstring, std::wstring > > _localizationList;
|
||||||
wstring _nativeLangPath;
|
std::wstring _nativeLangPath;
|
||||||
string _fileName;
|
std::string _fileName;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ThemeSwitcher {
|
class ThemeSwitcher {
|
||||||
@ -1150,11 +1093,11 @@ public :
|
|||||||
ThemeSwitcher(){};
|
ThemeSwitcher(){};
|
||||||
|
|
||||||
void addThemeFromXml(generic_string xmlFullPath) {
|
void addThemeFromXml(generic_string xmlFullPath) {
|
||||||
_themeList.push_back(pair<generic_string, generic_string>(getThemeFromXmlFileName(xmlFullPath.c_str()), xmlFullPath));
|
_themeList.push_back(std::pair<generic_string, generic_string>(getThemeFromXmlFileName(xmlFullPath.c_str()), xmlFullPath));
|
||||||
};
|
};
|
||||||
|
|
||||||
void addDefaultThemeFromXml(generic_string xmlFullPath) {
|
void addDefaultThemeFromXml(generic_string xmlFullPath) {
|
||||||
_themeList.push_back(pair<generic_string, generic_string>(TEXT("Default (stylers.xml)"), xmlFullPath));
|
_themeList.push_back(std::pair<generic_string, generic_string>(TEXT("Default (stylers.xml)"), xmlFullPath));
|
||||||
};
|
};
|
||||||
|
|
||||||
generic_string getThemeFromXmlFileName(const TCHAR *fn) const;
|
generic_string getThemeFromXmlFileName(const TCHAR *fn) const;
|
||||||
@ -1179,24 +1122,24 @@ public :
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
pair<generic_string, generic_string> & getElementFromIndex(size_t index) {
|
std::pair<generic_string, generic_string> & getElementFromIndex(size_t index) {
|
||||||
//if (index >= _themeList.size())
|
//if (index >= _themeList.size())
|
||||||
//return pair<generic_string, generic_string>(TEXT(""), TEXT(""));
|
//return pair<generic_string, generic_string>(TEXT(""), TEXT(""));
|
||||||
return _themeList[index];
|
return _themeList[index];
|
||||||
};
|
};
|
||||||
|
|
||||||
private :
|
private :
|
||||||
vector< pair< generic_string, generic_string > > _themeList;
|
std::vector< std::pair< generic_string, generic_string > > _themeList;
|
||||||
generic_string _stylesXmlPath;
|
generic_string _stylesXmlPath;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PluginList {
|
class PluginList {
|
||||||
public :
|
public :
|
||||||
void add(generic_string fn, bool isInBL){
|
void add(generic_string fn, bool isInBL){
|
||||||
_list.push_back(pair<generic_string, bool>(fn, isInBL));
|
_list.push_back(std::pair<generic_string, bool>(fn, isInBL));
|
||||||
};
|
};
|
||||||
private :
|
private :
|
||||||
vector<pair<generic_string, bool>>_list;
|
std::vector<std::pair<generic_string, bool>>_list;
|
||||||
};
|
};
|
||||||
|
|
||||||
const int NB_LANG = 80;
|
const int NB_LANG = 80;
|
||||||
@ -1333,7 +1276,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
void setFontList(HWND hWnd);
|
void setFontList(HWND hWnd);
|
||||||
const vector<generic_string> & getFontList() const {return _fontlist;};
|
const std::vector<generic_string> & getFontList() const { return _fontlist; };
|
||||||
|
|
||||||
int getNbUserLang() const {return _nbUserLang;};
|
int getNbUserLang() const {return _nbUserLang;};
|
||||||
UserLangContainer & getULCFromIndex(int i) {return *_userLangArray[i];};
|
UserLangContainer & getULCFromIndex(int i) {return *_userLangArray[i];};
|
||||||
@ -1359,7 +1302,7 @@ public:
|
|||||||
bool ExternalLangHasRoom() const {return _nbExternalLang < NB_MAX_EXTERNAL_LANG;};
|
bool ExternalLangHasRoom() const {return _nbExternalLang < NB_MAX_EXTERNAL_LANG;};
|
||||||
|
|
||||||
void getExternalLexerFromXmlTree(TiXmlDocument *doc);
|
void getExternalLexerFromXmlTree(TiXmlDocument *doc);
|
||||||
vector<TiXmlDocument *> * getExternalLexerDoc() { return &_pXmlExternalLexerDoc;};
|
std::vector<TiXmlDocument *> * getExternalLexerDoc() { return &_pXmlExternalLexerDoc; };
|
||||||
|
|
||||||
void writeUserDefinedLang();
|
void writeUserDefinedLang();
|
||||||
void writeShortcuts();
|
void writeShortcuts();
|
||||||
@ -1384,7 +1327,7 @@ public:
|
|||||||
|
|
||||||
for (int i = 0 ; i < _nbUserLang ; ++i)
|
for (int i = 0 ; i < _nbUserLang ; ++i)
|
||||||
{
|
{
|
||||||
vector<generic_string> extVect;
|
std::vector<generic_string> extVect;
|
||||||
cutString(_userLangArray[i]->_ext.c_str(), extVect);
|
cutString(_userLangArray[i]->_ext.c_str(), extVect);
|
||||||
for (size_t j = 0, len = extVect.size(); j < len; ++j)
|
for (size_t j = 0, len = extVect.size(); j < len; ++j)
|
||||||
if (!generic_stricmp(extVect[j].c_str(), ext) || (_tcschr(fullName, '.') && !generic_stricmp(extVect[j].c_str(), fullName)))
|
if (!generic_stricmp(extVect[j].c_str(), ext) || (_tcschr(fullName, '.') && !generic_stricmp(extVect[j].c_str(), fullName)))
|
||||||
@ -1444,21 +1387,21 @@ public:
|
|||||||
|
|
||||||
bool isRemappingShortcut() const {return _shortcuts.size() != 0;};
|
bool isRemappingShortcut() const {return _shortcuts.size() != 0;};
|
||||||
|
|
||||||
vector<CommandShortcut> & getUserShortcuts() {return _shortcuts;};
|
std::vector<CommandShortcut> & getUserShortcuts() { return _shortcuts; };
|
||||||
vector<int> & getUserModifiedShortcuts() {return _customizedShortcuts;};
|
std::vector<int> & getUserModifiedShortcuts() { return _customizedShortcuts; };
|
||||||
void addUserModifiedIndex(int index);
|
void addUserModifiedIndex(int index);
|
||||||
|
|
||||||
vector<MacroShortcut> & getMacroList() {return _macros;};
|
std::vector<MacroShortcut> & getMacroList() { return _macros; };
|
||||||
vector<UserCommand> & getUserCommandList() {return _userCommands;};
|
std::vector<UserCommand> & getUserCommandList() { return _userCommands; };
|
||||||
vector<PluginCmdShortcut> & getPluginCommandList() {return _pluginCommands;};
|
std::vector<PluginCmdShortcut> & getPluginCommandList() { return _pluginCommands; };
|
||||||
vector<int> & getPluginModifiedKeyIndices() {return _pluginCustomizedCmds;};
|
std::vector<int> & getPluginModifiedKeyIndices() { return _pluginCustomizedCmds; };
|
||||||
void addPluginModifiedIndex(int index);
|
void addPluginModifiedIndex(int index);
|
||||||
|
|
||||||
vector<ScintillaKeyMap> & getScintillaKeyList() {return _scintillaKeyCommands;};
|
std::vector<ScintillaKeyMap> & getScintillaKeyList() { return _scintillaKeyCommands; };
|
||||||
vector<int> & getScintillaModifiedKeyIndices() {return _scintillaModifiedKeyIndices;};
|
std::vector<int> & getScintillaModifiedKeyIndices() { return _scintillaModifiedKeyIndices; };
|
||||||
void addScintillaModifiedIndex(int index);
|
void addScintillaModifiedIndex(int index);
|
||||||
|
|
||||||
vector<MenuItemUnit> & getContextMenuItems() {return _contextMenuItems;};
|
std::vector<MenuItemUnit> & getContextMenuItems() { return _contextMenuItems; };
|
||||||
const Session & getSession() const {return _session;};
|
const Session & getSession() const {return _session;};
|
||||||
|
|
||||||
bool hasCustomContextMenu() const {return !_contextMenuItems.empty();};
|
bool hasCustomContextMenu() const {return !_contextMenuItems.empty();};
|
||||||
@ -1523,7 +1466,7 @@ public:
|
|||||||
return _themeSwitcher;
|
return _themeSwitcher;
|
||||||
};
|
};
|
||||||
|
|
||||||
vector<generic_string> & getBlackList() {return _blacklist;};
|
std::vector<generic_string> & getBlackList() { return _blacklist; };
|
||||||
bool isInBlackList(TCHAR *fn) {
|
bool isInBlackList(TCHAR *fn) {
|
||||||
for (size_t i = 0, len = _blacklist.size(); i < len ; ++i)
|
for (size_t i = 0, len = _blacklist.size(); i < len ; ++i)
|
||||||
if (_blacklist[i] == fn)
|
if (_blacklist[i] == fn)
|
||||||
@ -1589,7 +1532,7 @@ private:
|
|||||||
|
|
||||||
TiXmlDocumentA *_pXmlNativeLangDocA, *_pXmlContextMenuDocA;
|
TiXmlDocumentA *_pXmlNativeLangDocA, *_pXmlContextMenuDocA;
|
||||||
|
|
||||||
vector<TiXmlDocument *> _pXmlExternalLexerDoc;
|
std::vector<TiXmlDocument *> _pXmlExternalLexerDoc;
|
||||||
|
|
||||||
NppGUI _nppGUI;
|
NppGUI _nppGUI;
|
||||||
ScintillaViewParams _svp;
|
ScintillaViewParams _svp;
|
||||||
@ -1621,8 +1564,8 @@ private:
|
|||||||
LexerStylerArray _lexerStylerArray;
|
LexerStylerArray _lexerStylerArray;
|
||||||
StyleArray _widgetStyleArray;
|
StyleArray _widgetStyleArray;
|
||||||
|
|
||||||
vector<generic_string> _fontlist;
|
std::vector<generic_string> _fontlist;
|
||||||
vector<generic_string> _blacklist;
|
std::vector<generic_string> _blacklist;
|
||||||
PluginList _pluginList;
|
PluginList _pluginList;
|
||||||
|
|
||||||
HMODULE _hUXTheme;
|
HMODULE _hUXTheme;
|
||||||
@ -1632,15 +1575,15 @@ private:
|
|||||||
bool _isLocal;
|
bool _isLocal;
|
||||||
|
|
||||||
|
|
||||||
vector<CommandShortcut> _shortcuts; //main menu shortuts. Static size
|
std::vector<CommandShortcut> _shortcuts; //main menu shortuts. Static size
|
||||||
vector<int> _customizedShortcuts; //altered main menu shortcuts. Indices static. Needed when saving alterations
|
std::vector<int> _customizedShortcuts; //altered main menu shortcuts. Indices static. Needed when saving alterations
|
||||||
vector<MacroShortcut> _macros; //macro shortcuts, dynamic size, defined on loading macros and adding/deleting them
|
std::vector<MacroShortcut> _macros; //macro shortcuts, dynamic size, defined on loading macros and adding/deleting them
|
||||||
vector<UserCommand> _userCommands; //run shortcuts, dynamic size, defined on loading run commands and adding/deleting them
|
std::vector<UserCommand> _userCommands; //run shortcuts, dynamic size, defined on loading run commands and adding/deleting them
|
||||||
vector<PluginCmdShortcut> _pluginCommands; //plugin commands, dynamic size, defined on loading plugins
|
std::vector<PluginCmdShortcut> _pluginCommands; //plugin commands, dynamic size, defined on loading plugins
|
||||||
vector<int> _pluginCustomizedCmds; //plugincommands that have been altered. Indices determined after loading ALL plugins. Needed when saving alterations
|
std::vector<int> _pluginCustomizedCmds; //plugincommands that have been altered. Indices determined after loading ALL plugins. Needed when saving alterations
|
||||||
|
|
||||||
vector<ScintillaKeyMap> _scintillaKeyCommands; //scintilla keycommands. Static size
|
std::vector<ScintillaKeyMap> _scintillaKeyCommands; //scintilla keycommands. Static size
|
||||||
vector<int> _scintillaModifiedKeyIndices; //modified scintilla keys. Indices static, determined by searching for commandId. Needed when saving alterations
|
std::vector<int> _scintillaModifiedKeyIndices; //modified scintilla keys. Indices static, determined by searching for commandId. Needed when saving alterations
|
||||||
|
|
||||||
LocalizationSwitcher _localizationSwitcher;
|
LocalizationSwitcher _localizationSwitcher;
|
||||||
generic_string _startWithLocFileName;
|
generic_string _startWithLocFileName;
|
||||||
@ -1648,7 +1591,7 @@ private:
|
|||||||
ThemeSwitcher _themeSwitcher;
|
ThemeSwitcher _themeSwitcher;
|
||||||
|
|
||||||
//vector<generic_string> _noMenuCmdNames;
|
//vector<generic_string> _noMenuCmdNames;
|
||||||
vector<MenuItemUnit> _contextMenuItems;
|
std::vector<MenuItemUnit> _contextMenuItems;
|
||||||
Session _session;
|
Session _session;
|
||||||
|
|
||||||
generic_string _shortcutsPath;
|
generic_string _shortcutsPath;
|
||||||
@ -1676,7 +1619,7 @@ private:
|
|||||||
COLORREF _currentDefaultFgColor;
|
COLORREF _currentDefaultFgColor;
|
||||||
|
|
||||||
static int CALLBACK EnumFontFamExProc(ENUMLOGFONTEX *lpelfe, NEWTEXTMETRICEX *, int, LPARAM lParam) {
|
static int CALLBACK EnumFontFamExProc(ENUMLOGFONTEX *lpelfe, NEWTEXTMETRICEX *, int, LPARAM lParam) {
|
||||||
vector<generic_string> *pStrVect = (vector<generic_string> *)lParam;
|
std::vector<generic_string> *pStrVect = (std::vector<generic_string> *)lParam;
|
||||||
size_t vectSize = pStrVect->size();
|
size_t vectSize = pStrVect->size();
|
||||||
|
|
||||||
//Search through all the fonts, EnumFontFamiliesEx never states anything about order
|
//Search through all the fonts, EnumFontFamiliesEx never states anything about order
|
||||||
|
@ -25,12 +25,13 @@
|
|||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
#include "precompiledHeaders.h"
|
#include <locale>
|
||||||
|
#include <shlwapi.h>
|
||||||
#include "AutoCompletion.h"
|
#include "AutoCompletion.h"
|
||||||
#include "Notepad_plus_msgs.h"
|
#include "Notepad_plus_msgs.h"
|
||||||
#include <locale>
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
static bool isInList(generic_string word, const vector<generic_string> & wordArray)
|
static bool isInList(generic_string word, const vector<generic_string> & wordArray)
|
||||||
{
|
{
|
||||||
@ -345,7 +346,6 @@ bool AutoCompletion::showWordComplete(bool autoInsert)
|
|||||||
words += TEXT(" ");
|
words += TEXT(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
// UNICODE TO DO
|
|
||||||
_pEditView->execute(SCI_AUTOCSETSEPARATOR, WPARAM(' '));
|
_pEditView->execute(SCI_AUTOCSETSEPARATOR, WPARAM(' '));
|
||||||
_pEditView->execute(SCI_AUTOCSETIGNORECASE, _ignoreCase);
|
_pEditView->execute(SCI_AUTOCSETIGNORECASE, _ignoreCase);
|
||||||
_pEditView->showAutoComletion(curPos - startPos, words.c_str());
|
_pEditView->showAutoComletion(curPos - startPos, words.c_str());
|
||||||
|
@ -103,14 +103,14 @@ private:
|
|||||||
|
|
||||||
bool _ignoreCase;
|
bool _ignoreCase;
|
||||||
|
|
||||||
vector<generic_string> _keyWordArray;
|
std::vector<generic_string> _keyWordArray;
|
||||||
generic_string _keyWords;
|
generic_string _keyWords;
|
||||||
size_t _keyWordMaxLen;
|
size_t _keyWordMaxLen;
|
||||||
|
|
||||||
FunctionCallTip _funcCalltip;
|
FunctionCallTip _funcCalltip;
|
||||||
|
|
||||||
const TCHAR * getApiFileName();
|
const TCHAR * getApiFileName();
|
||||||
void getWordArray(vector<generic_string> & wordArray, TCHAR *beginChars);
|
void getWordArray(std::vector<generic_string> & wordArray, TCHAR *beginChars);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //AUTOCOMPLETION_H
|
#endif //AUTOCOMPLETION_H
|
||||||
|
@ -25,8 +25,9 @@
|
|||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
#include <deque>
|
||||||
#include "precompiledHeaders.h"
|
#include <time.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
#include "Buffer.h"
|
#include "Buffer.h"
|
||||||
#include "Scintilla.h"
|
#include "Scintilla.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
@ -38,13 +39,18 @@
|
|||||||
|
|
||||||
FileManager * FileManager::_pSelf = new FileManager();
|
FileManager * FileManager::_pSelf = new FileManager();
|
||||||
|
|
||||||
const int blockSize = 128 * 1024 + 4;
|
static const int blockSize = 128 * 1024 + 4;
|
||||||
|
|
||||||
// Ordre important!! Ne le changes pas!
|
// Ordre important!! Ne le changes pas!
|
||||||
//SC_EOL_CRLF (0), SC_EOL_CR (1), or SC_EOL_LF (2).
|
//SC_EOL_CRLF (0), SC_EOL_CR (1), or SC_EOL_LF (2).
|
||||||
|
|
||||||
const int CR = 0x0D;
|
static const int CR = 0x0D;
|
||||||
const int LF = 0x0A;
|
static const int LF = 0x0A;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Buffer::Buffer(FileManager * pManager, BufferID id, Document doc, DocFileStatus type, const TCHAR *fileName) //type must be either DOC_REGULAR or DOC_UNNAMED
|
Buffer::Buffer(FileManager * pManager, BufferID id, Document doc, DocFileStatus type, const TCHAR *fileName) //type must be either DOC_REGULAR or DOC_UNNAMED
|
||||||
: _pManager(pManager), _id(id), _isDirty(false), _doc(doc), _isFileReadOnly(false), _isUserReadOnly(false), _recentTag(-1), _references(0),
|
: _pManager(pManager), _id(id), _isDirty(false), _doc(doc), _isFileReadOnly(false), _isUserReadOnly(false), _recentTag(-1), _references(0),
|
||||||
@ -480,8 +486,9 @@ BufferID FileManager::loadFile(const TCHAR * filename, Document doc, int encodin
|
|||||||
|
|
||||||
Utf8_16_Read UnicodeConvertor; //declare here so we can get information after loading is done
|
Utf8_16_Read UnicodeConvertor; //declare here so we can get information after loading is done
|
||||||
|
|
||||||
|
char data[blockSize + 8]; // +8 for incomplete multibyte char
|
||||||
formatType format;
|
formatType format;
|
||||||
bool res = loadFileData(doc, backupFileName?backupFileName:fullpath, &UnicodeConvertor, L_TEXT, encoding, &format);
|
bool res = loadFileData(doc, backupFileName?backupFileName:fullpath, data, &UnicodeConvertor, L_TEXT, encoding, &format);
|
||||||
if (res)
|
if (res)
|
||||||
{
|
{
|
||||||
Buffer * newBuf = new Buffer(this, _nextBufferID, doc, DOC_REGULAR, fullpath);
|
Buffer * newBuf = new Buffer(this, _nextBufferID, doc, DOC_REGULAR, fullpath);
|
||||||
@ -508,11 +515,10 @@ BufferID FileManager::loadFile(const TCHAR * filename, Document doc, int encodin
|
|||||||
if (encoding == -1)
|
if (encoding == -1)
|
||||||
{
|
{
|
||||||
// 3 formats : WIN_FORMAT, UNIX_FORMAT and MAC_FORMAT
|
// 3 formats : WIN_FORMAT, UNIX_FORMAT and MAC_FORMAT
|
||||||
if (UnicodeConvertor.getNewBuf())
|
if (nullptr != UnicodeConvertor.getNewBuf())
|
||||||
{
|
{
|
||||||
int format = getEOLFormatForm(UnicodeConvertor.getNewBuf());
|
int format = getEOLFormatForm(UnicodeConvertor.getNewBuf(), UnicodeConvertor.getNewSize());
|
||||||
buf->setFormat(format == -1?WIN_FORMAT:(formatType)format);
|
buf->setFormat(format == -1?WIN_FORMAT:(formatType)format);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -560,16 +566,17 @@ bool FileManager::reloadBuffer(BufferID id)
|
|||||||
Utf8_16_Read UnicodeConvertor;
|
Utf8_16_Read UnicodeConvertor;
|
||||||
buf->_canNotify = false; //disable notify during file load, we dont want dirty to be triggered
|
buf->_canNotify = false; //disable notify during file load, we dont want dirty to be triggered
|
||||||
int encoding = buf->getEncoding();
|
int encoding = buf->getEncoding();
|
||||||
|
char data[blockSize + 8]; // +8 for incomplete multibyte char
|
||||||
formatType format;
|
formatType format;
|
||||||
bool res = loadFileData(doc, buf->getFullPathName(), &UnicodeConvertor, buf->getLangType(), encoding, &format);
|
bool res = loadFileData(doc, buf->getFullPathName(), data, &UnicodeConvertor, buf->getLangType(), encoding, &format);
|
||||||
buf->_canNotify = true;
|
buf->_canNotify = true;
|
||||||
if (res)
|
if (res)
|
||||||
{
|
{
|
||||||
if (encoding == -1)
|
if (encoding == -1)
|
||||||
{
|
{
|
||||||
if (UnicodeConvertor.getNewBuf())
|
if (nullptr != UnicodeConvertor.getNewBuf())
|
||||||
{
|
{
|
||||||
int format = getEOLFormatForm(UnicodeConvertor.getNewBuf());
|
int format = getEOLFormatForm(UnicodeConvertor.getNewBuf(), UnicodeConvertor.getNewSize());
|
||||||
buf->setFormat(format == -1?WIN_FORMAT:(formatType)format);
|
buf->setFormat(format == -1?WIN_FORMAT:(formatType)format);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1090,7 +1097,7 @@ BufferID FileManager::newEmptyDocument()
|
|||||||
{
|
{
|
||||||
generic_string newTitle = UNTITLED_STR;
|
generic_string newTitle = UNTITLED_STR;
|
||||||
TCHAR nb[10];
|
TCHAR nb[10];
|
||||||
wsprintf(nb, TEXT(" %d"), nextUntitledNewNumber());
|
wsprintf(nb, TEXT("%d"), nextUntitledNewNumber());
|
||||||
newTitle += nb;
|
newTitle += nb;
|
||||||
|
|
||||||
Document doc = (Document)_pscratchTilla->execute(SCI_CREATEDOCUMENT); //this already sets a reference for filemanager
|
Document doc = (Document)_pscratchTilla->execute(SCI_CREATEDOCUMENT); //this already sets a reference for filemanager
|
||||||
@ -1134,10 +1141,9 @@ int FileManager::detectCodepage(char* buf, size_t len)
|
|||||||
return codepage;
|
return codepage;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FileManager::loadFileData(Document doc, const TCHAR * filename, Utf8_16_Read * UnicodeConvertor, LangType language, int & encoding, formatType *pFormat)
|
inline bool FileManager::loadFileData(Document doc, const TCHAR * filename, char* data, Utf8_16_Read * UnicodeConvertor,
|
||||||
|
LangType language, int & encoding, formatType *pFormat)
|
||||||
{
|
{
|
||||||
const int blockSize = 128 * 1024; //128 kB
|
|
||||||
char data[blockSize+8];
|
|
||||||
FILE *fp = generic_fopen(filename, TEXT("rb"));
|
FILE *fp = generic_fopen(filename, TEXT("rb"));
|
||||||
if (!fp)
|
if (!fp)
|
||||||
return false;
|
return false;
|
||||||
@ -1241,7 +1247,7 @@ bool FileManager::loadFileData(Document doc, const TCHAR * filename, Utf8_16_Rea
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (format == -1)
|
if (format == -1)
|
||||||
format = getEOLFormatForm(data);
|
format = getEOLFormatForm(data, lenFile);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1323,14 +1329,15 @@ int FileManager::docLength(Buffer * buffer) const
|
|||||||
return docLen;
|
return docLen;
|
||||||
}
|
}
|
||||||
|
|
||||||
int FileManager::getEOLFormatForm(const char *data) const
|
int FileManager::getEOLFormatForm(const char* const data, size_t length) const
|
||||||
{
|
{
|
||||||
size_t len = strlen(data);
|
assert(data != nullptr && "invalid buffer for getEOLFormatForm()");
|
||||||
for (size_t i = 0 ; i < len ; i++)
|
|
||||||
|
for (size_t i = 0; i != length; ++i)
|
||||||
{
|
{
|
||||||
if (data[i] == CR)
|
if (data[i] == CR)
|
||||||
{
|
{
|
||||||
if (i+1 < len && data[i+1] == LF)
|
if (i+1 < length && data[i+1] == LF)
|
||||||
{
|
{
|
||||||
return int(WIN_FORMAT);
|
return int(WIN_FORMAT);
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,7 @@ public:
|
|||||||
void destroyInstance() { delete _pSelf; };
|
void destroyInstance() { delete _pSelf; };
|
||||||
int getFileNameFromBuffer(BufferID id, TCHAR * fn2copy);
|
int getFileNameFromBuffer(BufferID id, TCHAR * fn2copy);
|
||||||
int docLength(Buffer * buffer) const;
|
int docLength(Buffer * buffer) const;
|
||||||
int getEOLFormatForm(const char *data) const;
|
int getEOLFormatForm(const char* const data, size_t length) const;
|
||||||
size_t nextUntitledNewNumber() const;
|
size_t nextUntitledNewNumber() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -120,7 +120,7 @@ private:
|
|||||||
size_t _nrBufs;
|
size_t _nrBufs;
|
||||||
int detectCodepage(char* buf, size_t len);
|
int detectCodepage(char* buf, size_t len);
|
||||||
|
|
||||||
bool loadFileData(Document doc, const TCHAR * filename, Utf8_16_Read * UnicodeConvertor, LangType language, int & encoding, formatType *pFormat = NULL);
|
bool loadFileData(Document doc, const TCHAR * filename, char* buffer, Utf8_16_Read * UnicodeConvertor, LangType language, int & encoding, formatType *pFormat = NULL);
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MainFileManager FileManager::getInstance()
|
#define MainFileManager FileManager::getInstance()
|
||||||
@ -348,9 +348,9 @@ private :
|
|||||||
bool _needLexer; //initially true
|
bool _needLexer; //initially true
|
||||||
//these properties have to be duplicated because of multiple references
|
//these properties have to be duplicated because of multiple references
|
||||||
//All the vectors must have the same size at all times
|
//All the vectors must have the same size at all times
|
||||||
vector< ScintillaEditView * > _referees;
|
std::vector< ScintillaEditView * > _referees;
|
||||||
vector< Position > _positions;
|
std::vector< Position > _positions;
|
||||||
vector< vector<size_t> > _foldStates;
|
std::vector< std::vector<size_t> > _foldStates;
|
||||||
|
|
||||||
//vector< pair<size_t, pair<size_t, bool> > > _linesUndoState;
|
//vector< pair<size_t, pair<size_t, bool> > > _linesUndoState;
|
||||||
|
|
||||||
@ -384,6 +384,9 @@ private :
|
|||||||
if (_canNotify)
|
if (_canNotify)
|
||||||
_pManager->beNotifiedOfBufferChange(this, mask);
|
_pManager->beNotifiedOfBufferChange(this, mask);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Buffer(const Buffer&) { assert(false); }
|
||||||
|
Buffer& operator = (const Buffer&) { assert(false); return *this; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //BUFFER_H
|
#endif //BUFFER_H
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "DocTabView.h"
|
#include "DocTabView.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
|
|
||||||
|
@ -25,14 +25,16 @@
|
|||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
#include <Shlobj.h>
|
||||||
#include "precompiledHeaders.h"
|
#include <uxtheme.h>
|
||||||
#include "FindReplaceDlg.h"
|
#include "FindReplaceDlg.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
#include "Notepad_plus_msgs.h"
|
#include "Notepad_plus_msgs.h"
|
||||||
#include "UniConversion.h"
|
#include "UniConversion.h"
|
||||||
#include "LongRunningOperation.h"
|
#include "LongRunningOperation.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
FindOption * FindReplaceDlg::_env;
|
FindOption * FindReplaceDlg::_env;
|
||||||
FindOption FindReplaceDlg::_options;
|
FindOption FindReplaceDlg::_options;
|
||||||
|
|
||||||
@ -2503,6 +2505,75 @@ void Finder::openAll()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Finder::isLineActualSearchResult(int line) const
|
||||||
|
{
|
||||||
|
const int foldLevel = _scintView.execute(SCI_GETFOLDLEVEL, line) & SC_FOLDLEVELNUMBERMASK;
|
||||||
|
return foldLevel == SC_FOLDLEVELBASE + 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
generic_string Finder::prepareStringForClipboard(generic_string s) const
|
||||||
|
{
|
||||||
|
// Input: a string like "\tLine 3: search result".
|
||||||
|
// Output: "search result"
|
||||||
|
s = stringReplace(s, TEXT("\r"), TEXT(""));
|
||||||
|
s = stringReplace(s, TEXT("\n"), TEXT(""));
|
||||||
|
const unsigned int firstColon = s.find(TEXT(':'));
|
||||||
|
if (firstColon == std::string::npos)
|
||||||
|
{
|
||||||
|
// Should never happen.
|
||||||
|
assert(false);
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Plus 2 in order to deal with ": ".
|
||||||
|
return s.substr(2 + firstColon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Finder::copy()
|
||||||
|
{
|
||||||
|
size_t fromLine, toLine;
|
||||||
|
{
|
||||||
|
const int selStart = _scintView.execute(SCI_GETSELECTIONSTART);
|
||||||
|
const int selEnd = _scintView.execute(SCI_GETSELECTIONEND);
|
||||||
|
const bool hasSelection = selStart != selEnd;
|
||||||
|
const pair<int, int> lineRange = _scintView.getSelectionLinesRange();
|
||||||
|
if (hasSelection && lineRange.first != lineRange.second)
|
||||||
|
{
|
||||||
|
fromLine = lineRange.first;
|
||||||
|
toLine = lineRange.second;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Abuse fold levels to find out which lines to copy to clipboard.
|
||||||
|
// We get the current line and then the next line which has a smaller fold level (SCI_GETLASTCHILD).
|
||||||
|
// Then we loop all lines between them and determine which actually contain search results.
|
||||||
|
fromLine = _scintView.getCurrentLineNumber();
|
||||||
|
const int selectedLineFoldLevel = _scintView.execute(SCI_GETFOLDLEVEL, fromLine) & SC_FOLDLEVELNUMBERMASK;
|
||||||
|
toLine = _scintView.execute(SCI_GETLASTCHILD, fromLine, selectedLineFoldLevel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<generic_string> lines;
|
||||||
|
for (size_t line = fromLine; line <= toLine; ++line)
|
||||||
|
{
|
||||||
|
if (isLineActualSearchResult(line))
|
||||||
|
{
|
||||||
|
lines.push_back(prepareStringForClipboard(_scintView.getLine(line)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const generic_string toClipboard = stringJoin(lines, TEXT("\r\n"));
|
||||||
|
if (!toClipboard.empty())
|
||||||
|
{
|
||||||
|
if (!str2Clipboard(toClipboard.c_str(), _hSelf))
|
||||||
|
{
|
||||||
|
assert(false);
|
||||||
|
::MessageBox(NULL, TEXT("Error placing text in clipboard."), TEXT("Notepad++"), MB_ICONINFORMATION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Finder::beginNewFilesSearch()
|
void Finder::beginNewFilesSearch()
|
||||||
{
|
{
|
||||||
//_scintView.execute(SCI_SETLEXER, SCLEX_NULL);
|
//_scintView.execute(SCI_SETLEXER, SCLEX_NULL);
|
||||||
@ -2615,7 +2686,7 @@ BOOL CALLBACK Finder::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
|
|
||||||
case NPPM_INTERNAL_SCINTILLAFINFERCOPY :
|
case NPPM_INTERNAL_SCINTILLAFINFERCOPY :
|
||||||
{
|
{
|
||||||
_scintView.execute(SCI_COPY);
|
copy();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2656,10 +2727,10 @@ BOOL CALLBACK Finder::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
tmp.push_back(MenuItemUnit(NPPM_INTERNAL_SCINTILLAFINFERUNCOLLAPSE, TEXT("Uncollapse all")));
|
tmp.push_back(MenuItemUnit(NPPM_INTERNAL_SCINTILLAFINFERUNCOLLAPSE, TEXT("Uncollapse all")));
|
||||||
tmp.push_back(MenuItemUnit(0, TEXT("Separator")));
|
tmp.push_back(MenuItemUnit(0, TEXT("Separator")));
|
||||||
tmp.push_back(MenuItemUnit(NPPM_INTERNAL_SCINTILLAFINFERCOPY, TEXT("Copy")));
|
tmp.push_back(MenuItemUnit(NPPM_INTERNAL_SCINTILLAFINFERCOPY, TEXT("Copy")));
|
||||||
tmp.push_back(MenuItemUnit(NPPM_INTERNAL_SCINTILLAFINFERSELECTALL, TEXT("Select All")));
|
tmp.push_back(MenuItemUnit(NPPM_INTERNAL_SCINTILLAFINFERSELECTALL, TEXT("Select all")));
|
||||||
tmp.push_back(MenuItemUnit(NPPM_INTERNAL_SCINTILLAFINFERCLEARALL, TEXT("Clear All")));
|
tmp.push_back(MenuItemUnit(NPPM_INTERNAL_SCINTILLAFINFERCLEARALL, TEXT("Clear all")));
|
||||||
tmp.push_back(MenuItemUnit(0, TEXT("Separator")));
|
tmp.push_back(MenuItemUnit(0, TEXT("Separator")));
|
||||||
tmp.push_back(MenuItemUnit(NPPM_INTERNAL_SCINTILLAFINFEROPENALL, TEXT("Open All")));
|
tmp.push_back(MenuItemUnit(NPPM_INTERNAL_SCINTILLAFINFEROPENALL, TEXT("Open all")));
|
||||||
|
|
||||||
scintillaContextmenu.create(_hSelf, tmp);
|
scintillaContextmenu.create(_hSelf, tmp);
|
||||||
|
|
||||||
@ -2999,8 +3070,7 @@ HWND Progress::open(HWND hCallerWnd, const TCHAR* header)
|
|||||||
else
|
else
|
||||||
_tcscpy_s(_header, _countof(_header), cDefaultHeader);
|
_tcscpy_s(_header, _countof(_header), cDefaultHeader);
|
||||||
|
|
||||||
_hThread = ::CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)threadFunc,
|
_hThread = ::CreateThread(NULL, 0, threadFunc, this, 0, NULL);
|
||||||
(LPVOID)this, 0, NULL);
|
|
||||||
if (!_hThread)
|
if (!_hThread)
|
||||||
{
|
{
|
||||||
::CloseHandle(_hActiveState);
|
::CloseHandle(_hActiveState);
|
||||||
|
@ -144,6 +144,7 @@ public:
|
|||||||
void setFinderStyle();
|
void setFinderStyle();
|
||||||
void removeAll();
|
void removeAll();
|
||||||
void openAll();
|
void openAll();
|
||||||
|
void copy();
|
||||||
void beginNewFilesSearch();
|
void beginNewFilesSearch();
|
||||||
void finishFilesSearch(int count);
|
void finishFilesSearch(int count);
|
||||||
void gotoNextFoundResult(int direction);
|
void gotoNextFoundResult(int direction);
|
||||||
@ -177,6 +178,9 @@ private:
|
|||||||
_scintView.execute(SCI_SETREADONLY, isReadOnly);
|
_scintView.execute(SCI_SETREADONLY, isReadOnly);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bool isLineActualSearchResult(int line) const;
|
||||||
|
generic_string prepareStringForClipboard(generic_string s) const;
|
||||||
|
|
||||||
static FoundInfo EmptyFoundInfo;
|
static FoundInfo EmptyFoundInfo;
|
||||||
static SearchResultMarking EmptySearchResultMarking;
|
static SearchResultMarking EmptySearchResultMarking;
|
||||||
};
|
};
|
||||||
@ -239,7 +243,7 @@ public :
|
|||||||
};
|
};
|
||||||
const TCHAR * getDir2Search() const {return _env->_directory.c_str();};
|
const TCHAR * getDir2Search() const {return _env->_directory.c_str();};
|
||||||
|
|
||||||
void getPatterns(vector<generic_string> & patternVect);
|
void getPatterns(std::vector<generic_string> & patternVect);
|
||||||
|
|
||||||
void launchFindInFilesDlg() {
|
void launchFindInFilesDlg() {
|
||||||
doDialog(FINDINFILES_DLG);
|
doDialog(FINDINFILES_DLG);
|
||||||
@ -361,7 +365,7 @@ private :
|
|||||||
};
|
};
|
||||||
void fillFindHistory();
|
void fillFindHistory();
|
||||||
void fillComboHistory(int id, const std::vector<generic_string> & strings);
|
void fillComboHistory(int id, const std::vector<generic_string> & strings);
|
||||||
int saveComboHistory(int id, int maxcount, vector<generic_string> & strings);
|
int saveComboHistory(int id, int maxcount, std::vector<generic_string> & strings);
|
||||||
static const int FR_OP_FIND = 1;
|
static const int FR_OP_FIND = 1;
|
||||||
static const int FR_OP_REPLACE = 2;
|
static const int FR_OP_REPLACE = 2;
|
||||||
static const int FR_OP_FIF = 4;
|
static const int FR_OP_FIF = 4;
|
||||||
@ -440,7 +444,7 @@ private:
|
|||||||
|
|
||||||
static volatile LONG refCount;
|
static volatile LONG refCount;
|
||||||
|
|
||||||
static DWORD threadFunc(LPVOID data);
|
static DWORD WINAPI threadFunc(LPVOID data);
|
||||||
static LRESULT APIENTRY wndProc(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam);
|
static LRESULT APIENTRY wndProc(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam);
|
||||||
|
|
||||||
// Disable copy construction and operator=
|
// Disable copy construction and operator=
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "FunctionCallTip.h"
|
#include "FunctionCallTip.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ private:
|
|||||||
//cache some XML values n stuff
|
//cache some XML values n stuff
|
||||||
TCHAR * _funcName; //name of function
|
TCHAR * _funcName; //name of function
|
||||||
stringVec _retVals; //vector of overload return values/types
|
stringVec _retVals; //vector of overload return values/types
|
||||||
vector<stringVec> _overloads; //vector of overload params (=vector)
|
std::vector<stringVec> _overloads; //vector of overload params (=vector)
|
||||||
stringVec _descriptions; //vecotr of function descriptions
|
stringVec _descriptions; //vecotr of function descriptions
|
||||||
int _currentNrOverloads; //current amount of overloads
|
int _currentNrOverloads; //current amount of overloads
|
||||||
int _currentOverload; //current chosen overload
|
int _currentOverload; //current chosen overload
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "GoToLineDlg.h"
|
#include "GoToLineDlg.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "Printer.h"
|
#include "Printer.h"
|
||||||
#include "RunDlg.h"
|
#include "RunDlg.h"
|
||||||
//#include "Parameters.h"
|
//#include "Parameters.h"
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "ScintillaCtrls.h"
|
#include "ScintillaCtrls.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
|
|
||||||
@ -68,7 +67,7 @@ bool ScintillaCtrls::destroyScintilla(HWND handle2Destroy)
|
|||||||
_scintVector[i]->destroy();
|
_scintVector[i]->destroy();
|
||||||
delete _scintVector[i];
|
delete _scintVector[i];
|
||||||
|
|
||||||
vector<ScintillaEditView *>::iterator it2delete = _scintVector.begin()+ i;
|
std::vector<ScintillaEditView *>::iterator it2delete = _scintVector.begin()+ i;
|
||||||
_scintVector.erase(it2delete);
|
_scintVector.erase(it2delete);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,9 @@
|
|||||||
#ifndef SCINTILLACTRLS_H
|
#ifndef SCINTILLACTRLS_H
|
||||||
#define SCINTILLACTRLS_H
|
#define SCINTILLACTRLS_H
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
class ScintillaEditView;
|
class ScintillaEditView;
|
||||||
|
|
||||||
class ScintillaCtrls {
|
class ScintillaCtrls {
|
||||||
|
@ -26,12 +26,14 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <shlwapi.h>
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
#include "Sorters.h"
|
#include "Sorters.h"
|
||||||
#include "TCHAR.h"
|
#include "TCHAR.h"
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
// initialize the static variable
|
// initialize the static variable
|
||||||
|
|
||||||
@ -1902,11 +1904,22 @@ void ScintillaEditView::showCallTip(int startPos, const TCHAR * def)
|
|||||||
execute(SCI_CALLTIPSHOW, startPos, LPARAM(defA));
|
execute(SCI_CALLTIPSHOW, startPos, LPARAM(defA));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
generic_string ScintillaEditView::getLine(int lineNumber)
|
||||||
|
{
|
||||||
|
int lineLen = execute(SCI_LINELENGTH, lineNumber);
|
||||||
|
const int bufSize = lineLen + 1;
|
||||||
|
std::unique_ptr<TCHAR[]> buf = std::make_unique<TCHAR[]>(bufSize);
|
||||||
|
getLine(lineNumber, buf.get(), bufSize);
|
||||||
|
return buf.get();
|
||||||
|
}
|
||||||
|
|
||||||
void ScintillaEditView::getLine(int lineNumber, TCHAR * line, int lineBufferLen)
|
void ScintillaEditView::getLine(int lineNumber, TCHAR * line, int lineBufferLen)
|
||||||
{
|
{
|
||||||
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
|
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
|
||||||
unsigned int cp = execute(SCI_GETCODEPAGE);
|
unsigned int cp = execute(SCI_GETCODEPAGE);
|
||||||
char *lineA = new char[lineBufferLen];
|
char *lineA = new char[lineBufferLen];
|
||||||
|
// From Scintilla documentation for SCI_GETLINE: "The buffer is not terminated by a 0 character."
|
||||||
|
memset(lineA, '\0', sizeof(char) * lineBufferLen);
|
||||||
execute(SCI_GETLINE, lineNumber, (LPARAM)lineA);
|
execute(SCI_GETLINE, lineNumber, (LPARAM)lineA);
|
||||||
const TCHAR *lineW = wmc->char2wchar(lineA, cp);
|
const TCHAR *lineW = wmc->char2wchar(lineA, cp);
|
||||||
lstrcpyn(line, lineW, lineBufferLen);
|
lstrcpyn(line, lineW, lineBufferLen);
|
||||||
|
@ -187,7 +187,7 @@ struct SortInPositionOrder {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef vector<ColumnModeInfo> ColumnModeInfos;
|
typedef std::vector<ColumnModeInfo> ColumnModeInfos;
|
||||||
|
|
||||||
struct LanguageName {
|
struct LanguageName {
|
||||||
const TCHAR * lexerName;
|
const TCHAR * lexerName;
|
||||||
@ -272,6 +272,7 @@ public:
|
|||||||
int replaceTargetRegExMode(const TCHAR * re, int fromTargetPos = -1, int toTargetPos = -1) const;
|
int replaceTargetRegExMode(const TCHAR * re, int fromTargetPos = -1, int toTargetPos = -1) const;
|
||||||
void showAutoComletion(int lenEntered, const TCHAR * list);
|
void showAutoComletion(int lenEntered, const TCHAR * list);
|
||||||
void showCallTip(int startPos, const TCHAR * def);
|
void showCallTip(int startPos, const TCHAR * def);
|
||||||
|
generic_string getLine(int lineNumber);
|
||||||
void getLine(int lineNumber, TCHAR * line, int lineBufferLen);
|
void getLine(int lineNumber, TCHAR * line, int lineBufferLen);
|
||||||
void addText(int length, const char *buf);
|
void addText(int length, const char *buf);
|
||||||
|
|
||||||
@ -539,7 +540,7 @@ public:
|
|||||||
void currentLineUp() const;
|
void currentLineUp() const;
|
||||||
void currentLineDown() const;
|
void currentLineDown() const;
|
||||||
|
|
||||||
pair<int, int> getSelectionLinesRange() const;
|
std::pair<int, int> getSelectionLinesRange() const;
|
||||||
void currentLinesUp() const;
|
void currentLinesUp() const;
|
||||||
void currentLinesDown() const;
|
void currentLinesDown() const;
|
||||||
|
|
||||||
@ -912,7 +913,7 @@ protected:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
pair<int, int> getWordRange();
|
std::pair<int, int> getWordRange();
|
||||||
bool expandWordSelection();
|
bool expandWordSelection();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "SmartHighlighter.h"
|
#include "SmartHighlighter.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
#include "FindReplaceDlg.h"
|
#include "FindReplaceDlg.h"
|
||||||
|
@ -26,8 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
|
|
||||||
#include "localization.h"
|
#include "localization.h"
|
||||||
#include "UserDefineDialog.h"
|
#include "UserDefineDialog.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
@ -37,6 +35,8 @@
|
|||||||
#include "FileDialog.h"
|
#include "FileDialog.h"
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
UserLangContainer * SharedParametersDialog::_pUserLang = NULL;
|
UserLangContainer * SharedParametersDialog::_pUserLang = NULL;
|
||||||
ScintillaEditView * SharedParametersDialog::_pScintilla = NULL;
|
ScintillaEditView * SharedParametersDialog::_pScintilla = NULL;
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ static int max(int a, int b) {
|
|||||||
#include "tchar.h"
|
#include "tchar.h"
|
||||||
#include "scilexer.h"
|
#include "scilexer.h"
|
||||||
#include <map>
|
#include <map>
|
||||||
using namespace std;
|
|
||||||
class ScintillaEditView;
|
class ScintillaEditView;
|
||||||
class UserLangContainer;
|
class UserLangContainer;
|
||||||
struct Style;
|
struct Style;
|
||||||
@ -66,18 +66,18 @@ class GlobalMappers
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
map<generic_string, int> keywordIdMapper;
|
std::map<generic_string, int> keywordIdMapper;
|
||||||
map<int, generic_string> keywordNameMapper;
|
std::map<int, generic_string> keywordNameMapper;
|
||||||
|
|
||||||
map<generic_string, int> styleIdMapper;
|
std::map<generic_string, int> styleIdMapper;
|
||||||
map<int, generic_string> styleNameMapper;
|
std::map<int, generic_string> styleNameMapper;
|
||||||
|
|
||||||
map<generic_string, int> temp;
|
std::map<generic_string, int> temp;
|
||||||
map<generic_string, int>::iterator iter;
|
std::map<generic_string, int>::iterator iter;
|
||||||
|
|
||||||
map<int, int> nestingMapper;
|
std::map<int, int> nestingMapper;
|
||||||
map<int, int> dialogMapper;
|
std::map<int, int> dialogMapper;
|
||||||
map<int, string> setLexerMapper;
|
std::map<int, std::string> setLexerMapper;
|
||||||
|
|
||||||
// only default constructor is needed
|
// only default constructor is needed
|
||||||
GlobalMappers()
|
GlobalMappers()
|
||||||
|
@ -29,9 +29,7 @@
|
|||||||
#ifndef USER_DEFINE_LANG_REFERENCE_H
|
#ifndef USER_DEFINE_LANG_REFERENCE_H
|
||||||
#define USER_DEFINE_LANG_REFERENCE_H
|
#define USER_DEFINE_LANG_REFERENCE_H
|
||||||
|
|
||||||
#ifndef SCILEXER_H
|
|
||||||
#include "scilexer.h"
|
#include "scilexer.h"
|
||||||
#endif //SCILEXER_H
|
|
||||||
|
|
||||||
const int langNameLenMax = 33;
|
const int langNameLenMax = 33;
|
||||||
const int extsLenMax = 256;
|
const int extsLenMax = 256;
|
||||||
|
@ -26,12 +26,22 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <Shlobj.h>
|
||||||
|
#include <uxtheme.h>
|
||||||
#include "columnEditor.h"
|
#include "columnEditor.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
|
|
||||||
|
void ColumnEditorDlg::init(HINSTANCE hInst, HWND hPere, ScintillaEditView **ppEditView)
|
||||||
|
{
|
||||||
|
Window::init(hInst, hPere);
|
||||||
|
if (!ppEditView)
|
||||||
|
throw std::runtime_error("StaticDialog::init : ppEditView is null.");
|
||||||
|
_ppEditView = ppEditView;
|
||||||
|
}
|
||||||
|
|
||||||
void ColumnEditorDlg::display(bool toShow) const
|
void ColumnEditorDlg::display(bool toShow) const
|
||||||
{
|
{
|
||||||
Window::display(toShow);
|
Window::display(toShow);
|
||||||
|
@ -33,6 +33,8 @@
|
|||||||
#include "columnEditor_rc.h"
|
#include "columnEditor_rc.h"
|
||||||
#endif //COLUMNEDITOR_RC_H
|
#endif //COLUMNEDITOR_RC_H
|
||||||
|
|
||||||
|
#include "StaticDialog.h"
|
||||||
|
|
||||||
class ScintillaEditView;
|
class ScintillaEditView;
|
||||||
|
|
||||||
const bool activeText = true;
|
const bool activeText = true;
|
||||||
@ -43,12 +45,7 @@ class ColumnEditorDlg : public StaticDialog
|
|||||||
public :
|
public :
|
||||||
ColumnEditorDlg() : StaticDialog() {};
|
ColumnEditorDlg() : StaticDialog() {};
|
||||||
|
|
||||||
void init(HINSTANCE hInst, HWND hPere, ScintillaEditView **ppEditView) {
|
void init(HINSTANCE hInst, HWND hPere, ScintillaEditView **ppEditView);
|
||||||
Window::init(hInst, hPere);
|
|
||||||
if (!ppEditView)
|
|
||||||
throw std::runtime_error("StaticDialog::init : ppEditView is null.");
|
|
||||||
_ppEditView = ppEditView;
|
|
||||||
};
|
|
||||||
|
|
||||||
virtual void create(int dialogID, bool isRTL = false) {
|
virtual void create(int dialogID, bool isRTL = false) {
|
||||||
StaticDialog::create(dialogID, isRTL);
|
StaticDialog::create(dialogID, isRTL);
|
||||||
|
@ -31,11 +31,10 @@
|
|||||||
// Reverse regex are slow using the new regex engine, and hence cost too much time.
|
// Reverse regex are slow using the new regex engine, and hence cost too much time.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "xmlMatchedTagsHighlighter.h"
|
#include "xmlMatchedTagsHighlighter.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
vector< pair<int, int> > XmlMatchedTagsHighlighter::getAttributesPos(int start, int end)
|
vector< pair<int, int> > XmlMatchedTagsHighlighter::getAttributesPos(int start, int end)
|
||||||
{
|
{
|
||||||
|
@ -29,7 +29,8 @@
|
|||||||
#ifndef XMLMATCHEDTAGSHIGHLIGHTER_H
|
#ifndef XMLMATCHEDTAGSHIGHLIGHTER_H
|
||||||
#define XMLMATCHEDTAGSHIGHLIGHTER_H
|
#define XMLMATCHEDTAGSHIGHLIGHTER_H
|
||||||
|
|
||||||
using namespace std;
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class ScintillaEditView;
|
class ScintillaEditView;
|
||||||
|
|
||||||
@ -68,7 +69,7 @@ private:
|
|||||||
FindResult findCloseTag(const std::string& tagName, int start, int end);
|
FindResult findCloseTag(const std::string& tagName, int start, int end);
|
||||||
int findCloseAngle(int startPosition, int endPosition);
|
int findCloseAngle(int startPosition, int endPosition);
|
||||||
|
|
||||||
vector< pair<int, int> > getAttributesPos(int start, int end);
|
std::vector< std::pair<int, int> > getAttributesPos(int start, int end);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@ must not be misrepresented as being the original software.
|
|||||||
distribution.
|
distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "tinyxmlA.h"
|
#include "tinyxmlA.h"
|
||||||
|
|
||||||
#ifndef TIXMLA_USE_STL
|
#ifndef TIXMLA_USE_STL
|
||||||
|
@ -22,7 +22,7 @@ must not be misrepresented as being the original software.
|
|||||||
distribution.
|
distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include "Common.h"
|
||||||
#include "tinyxmlA.h"
|
#include "tinyxmlA.h"
|
||||||
|
|
||||||
#ifdef TIXMLA_USE_STL
|
#ifdef TIXMLA_USE_STL
|
||||||
|
@ -56,6 +56,11 @@ distribution.
|
|||||||
#define TIXMLA_OSTREAM TiXmlOutStreamA
|
#define TIXMLA_OSTREAM TiXmlOutStreamA
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include <string>
|
||||||
|
#include <tchar.h>
|
||||||
|
|
||||||
class TiXmlDocumentA;
|
class TiXmlDocumentA;
|
||||||
class TiXmlElementA;
|
class TiXmlElementA;
|
||||||
class TiXmlCommentA;
|
class TiXmlCommentA;
|
||||||
|
@ -22,7 +22,7 @@ must not be misrepresented as being the original software.
|
|||||||
distribution.
|
distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "tinyxmlA.h"
|
#include "tinyxmlA.h"
|
||||||
|
|
||||||
// The goal of the seperate error file is to make the first
|
// The goal of the seperate error file is to make the first
|
||||||
|
@ -22,7 +22,7 @@ must not be misrepresented as being the original software.
|
|||||||
distribution.
|
distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "tinyxmlA.h"
|
#include "tinyxmlA.h"
|
||||||
|
|
||||||
//#define DEBUG_PARSER
|
//#define DEBUG_PARSER
|
||||||
|
@ -22,7 +22,6 @@ must not be misrepresented as being the original software.
|
|||||||
distribution.
|
distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
|
|
||||||
#ifndef TIXML_USE_STL
|
#ifndef TIXML_USE_STL
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ must not be misrepresented as being the original software.
|
|||||||
distribution.
|
distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <sstream>
|
||||||
#include "tinyxml.h"
|
#include "tinyxml.h"
|
||||||
|
|
||||||
bool TiXmlBase::condenseWhiteSpace = true;
|
bool TiXmlBase::condenseWhiteSpace = true;
|
||||||
|
@ -50,14 +50,18 @@ distribution.
|
|||||||
#define TIXML_STRING generic_string
|
#define TIXML_STRING generic_string
|
||||||
#define TIXML_ISTREAM std::basic_istream<TCHAR>
|
#define TIXML_ISTREAM std::basic_istream<TCHAR>
|
||||||
#define TIXML_OSTREAM std::basic_ostream<TCHAR>
|
#define TIXML_OSTREAM std::basic_ostream<TCHAR>
|
||||||
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#include "tinystr.h"
|
#include "tinystr.h"
|
||||||
#define TIXML_STRING TiXmlString
|
#define TIXML_STRING TiXmlString
|
||||||
#define TIXML_OSTREAM TiXmlOutStream
|
#define TIXML_OSTREAM TiXmlOutStream
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include "Common.h"
|
||||||
|
|
||||||
class TiXmlDocument;
|
class TiXmlDocument;
|
||||||
class TiXmlElement;
|
class TiXmlElement;
|
||||||
class TiXmlComment;
|
class TiXmlComment;
|
||||||
|
@ -22,7 +22,7 @@ must not be misrepresented as being the original software.
|
|||||||
distribution.
|
distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "tinyxml.h"
|
#include "tinyxml.h"
|
||||||
|
|
||||||
// The goal of the seperate error file is to make the first
|
// The goal of the seperate error file is to make the first
|
||||||
|
@ -22,7 +22,7 @@ must not be misrepresented as being the original software.
|
|||||||
distribution.
|
distribution.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "tinyxml.h"
|
#include "tinyxml.h"
|
||||||
|
|
||||||
//#define DEBUG_PARSER
|
//#define DEBUG_PARSER
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
|
// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
|
||||||
// The License.txt file describes the conditions under which this software may be distributed.
|
// The License.txt file describes the conditions under which this software may be distributed.
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <windows.h>
|
||||||
#include "UniConversion.h"
|
#include "UniConversion.h"
|
||||||
|
|
||||||
unsigned int UTF8Length(const wchar_t *uptr, unsigned int tlen) {
|
unsigned int UTF8Length(const wchar_t *uptr, unsigned int tlen) {
|
||||||
|
@ -5,9 +5,14 @@
|
|||||||
// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
|
// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
|
||||||
// The License.txt file describes the conditions under which this software may be distributed.
|
// The License.txt file describes the conditions under which this software may be distributed.
|
||||||
|
|
||||||
|
#ifndef UNICONVERSION_H
|
||||||
|
#define UNICONVERSION_H
|
||||||
|
|
||||||
unsigned int UTF8Length(const wchar_t * uptr, unsigned int tlen);
|
unsigned int UTF8Length(const wchar_t * uptr, unsigned int tlen);
|
||||||
void UTF8FromUCS2(const wchar_t * uptr, unsigned int tlen, char * putf, unsigned int len);
|
void UTF8FromUCS2(const wchar_t * uptr, unsigned int tlen, char * putf, unsigned int len);
|
||||||
unsigned int UCS2Length(const char * s, unsigned int len);
|
unsigned int UCS2Length(const char * s, unsigned int len);
|
||||||
unsigned int UCS2FromUTF8(const char * s, unsigned int len, wchar_t * tbuf, unsigned int tlen);
|
unsigned int UCS2FromUTF8(const char * s, unsigned int len, wchar_t * tbuf, unsigned int tlen);
|
||||||
unsigned int ascii_to_utf8(const char * pszASCII, unsigned int lenASCII, char * pszUTF8);
|
unsigned int ascii_to_utf8(const char * pszASCII, unsigned int lenASCII, char * pszUTF8);
|
||||||
int utf8_to_ascii(const char * pszUTF8, unsigned int lenUTF8, char * pszASCII);
|
int utf8_to_ascii(const char * pszUTF8, unsigned int lenUTF8, char * pszASCII);
|
||||||
|
|
||||||
|
#endif //UNICONVERSION_H
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
// - Add convert function in Utf8_16_Write
|
// - Add convert function in Utf8_16_Write
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "Utf8_16.h"
|
#include "Utf8_16.h"
|
||||||
|
|
||||||
const Utf8_16::utf8 Utf8_16::k_Boms[][3] = {
|
const Utf8_16::utf8 Utf8_16::k_Boms[][3] = {
|
||||||
@ -31,7 +30,8 @@ const Utf8_16::utf8 Utf8_16::k_Boms[][3] = {
|
|||||||
|
|
||||||
Utf8_16_Read::Utf8_16_Read() {
|
Utf8_16_Read::Utf8_16_Read() {
|
||||||
m_eEncoding = uni8Bit;
|
m_eEncoding = uni8Bit;
|
||||||
m_nBufSize = 0;
|
m_nAllocatedBufSize = 0;
|
||||||
|
m_nNewBufSize = 0;
|
||||||
m_pNewBuf = NULL;
|
m_pNewBuf = NULL;
|
||||||
m_bFirstRead = true;
|
m_bFirstRead = true;
|
||||||
}
|
}
|
||||||
@ -113,10 +113,9 @@ size_t Utf8_16_Read::convert(char* buf, size_t len)
|
|||||||
// bugfix by Jens Lorenz
|
// bugfix by Jens Lorenz
|
||||||
static size_t nSkip = 0;
|
static size_t nSkip = 0;
|
||||||
|
|
||||||
size_t ret = 0;
|
|
||||||
|
|
||||||
m_pBuf = (ubyte*)buf;
|
m_pBuf = (ubyte*)buf;
|
||||||
m_nLen = len;
|
m_nLen = len;
|
||||||
|
m_nNewBufSize = 0;
|
||||||
|
|
||||||
if (m_bFirstRead == true)
|
if (m_bFirstRead == true)
|
||||||
{
|
{
|
||||||
@ -131,16 +130,16 @@ size_t Utf8_16_Read::convert(char* buf, size_t len)
|
|||||||
case uni8Bit:
|
case uni8Bit:
|
||||||
case uniCookie: {
|
case uniCookie: {
|
||||||
// Do nothing, pass through
|
// Do nothing, pass through
|
||||||
m_nBufSize = 0;
|
m_nAllocatedBufSize = 0;
|
||||||
m_pNewBuf = m_pBuf;
|
m_pNewBuf = m_pBuf;
|
||||||
ret = len;
|
m_nNewBufSize = len;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case uniUTF8: {
|
case uniUTF8: {
|
||||||
// Pass through after BOM
|
// Pass through after BOM
|
||||||
m_nBufSize = 0;
|
m_nAllocatedBufSize = 0;
|
||||||
m_pNewBuf = m_pBuf + nSkip;
|
m_pNewBuf = m_pBuf + nSkip;
|
||||||
ret = len - nSkip;
|
m_nNewBufSize = len - nSkip;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case uni16BE_NoBOM:
|
case uni16BE_NoBOM:
|
||||||
@ -149,13 +148,13 @@ size_t Utf8_16_Read::convert(char* buf, size_t len)
|
|||||||
case uni16LE: {
|
case uni16LE: {
|
||||||
size_t newSize = len + len / 2 + 1;
|
size_t newSize = len + len / 2 + 1;
|
||||||
|
|
||||||
if (m_nBufSize != newSize)
|
if (m_nAllocatedBufSize != newSize)
|
||||||
{
|
{
|
||||||
if (m_pNewBuf)
|
if (m_pNewBuf)
|
||||||
delete [] m_pNewBuf;
|
delete [] m_pNewBuf;
|
||||||
m_pNewBuf = NULL;
|
m_pNewBuf = NULL;
|
||||||
m_pNewBuf = new ubyte[newSize];
|
m_pNewBuf = new ubyte[newSize];
|
||||||
m_nBufSize = newSize;
|
m_nAllocatedBufSize = newSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
ubyte* pCur = m_pNewBuf;
|
ubyte* pCur = m_pNewBuf;
|
||||||
@ -166,7 +165,7 @@ size_t Utf8_16_Read::convert(char* buf, size_t len)
|
|||||||
{
|
{
|
||||||
*pCur++ = m_Iter16.get();
|
*pCur++ = m_Iter16.get();
|
||||||
}
|
}
|
||||||
ret = pCur - m_pNewBuf;
|
m_nNewBufSize = pCur - m_pNewBuf;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@ -176,7 +175,7 @@ size_t Utf8_16_Read::convert(char* buf, size_t len)
|
|||||||
// necessary for second calls and more
|
// necessary for second calls and more
|
||||||
nSkip = 0;
|
nSkip = 0;
|
||||||
|
|
||||||
return ret;
|
return m_nNewBufSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -112,7 +112,8 @@ public:
|
|||||||
~Utf8_16_Read();
|
~Utf8_16_Read();
|
||||||
|
|
||||||
size_t convert(char* buf, size_t len);
|
size_t convert(char* buf, size_t len);
|
||||||
char* getNewBuf() { return reinterpret_cast<char *>(m_pNewBuf); }
|
const char* getNewBuf() const { return (const char*) m_pNewBuf; }
|
||||||
|
size_t getNewSize() const { return m_nNewBufSize; }
|
||||||
|
|
||||||
UniMode getEncoding() const { return m_eEncoding; }
|
UniMode getEncoding() const { return m_eEncoding; }
|
||||||
size_t calcCurPos(size_t pos);
|
size_t calcCurPos(size_t pos);
|
||||||
@ -126,7 +127,10 @@ private:
|
|||||||
UniMode m_eEncoding;
|
UniMode m_eEncoding;
|
||||||
ubyte* m_pBuf;
|
ubyte* m_pBuf;
|
||||||
ubyte* m_pNewBuf;
|
ubyte* m_pNewBuf;
|
||||||
size_t m_nBufSize;
|
// size of the new buffer
|
||||||
|
size_t m_nNewBufSize;
|
||||||
|
// size of the previously allocated buffer (if != 0)
|
||||||
|
size_t m_nAllocatedBufSize;
|
||||||
size_t m_nSkip;
|
size_t m_nSkip;
|
||||||
bool m_bFirstRead;
|
bool m_bFirstRead;
|
||||||
size_t m_nLen;
|
size_t m_nLen;
|
||||||
|
@ -26,7 +26,10 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
|
#include <Shlobj.h>
|
||||||
|
#include <uxtheme.h>
|
||||||
|
|
||||||
#include "AboutDlg.h"
|
#include "AboutDlg.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
|
|
||||||
@ -39,17 +42,11 @@ BOOL CALLBACK AboutDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
HWND compileDateHandle = ::GetDlgItem(_hSelf, IDC_BUILD_DATETIME);
|
HWND compileDateHandle = ::GetDlgItem(_hSelf, IDC_BUILD_DATETIME);
|
||||||
generic_string buildTime = TEXT("Build time : ");
|
generic_string buildTime = TEXT("Build time : ");
|
||||||
|
|
||||||
#ifdef UNICODE
|
|
||||||
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
|
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
|
||||||
buildTime += wmc->char2wchar(__DATE__, CP_ACP);
|
buildTime += wmc->char2wchar(__DATE__, CP_ACP);
|
||||||
buildTime += TEXT(" - ");
|
buildTime += TEXT(" - ");
|
||||||
buildTime += wmc->char2wchar(__TIME__, CP_ACP);
|
buildTime += wmc->char2wchar(__TIME__, CP_ACP);
|
||||||
|
|
||||||
#else
|
|
||||||
buildTime += __DATE__;
|
|
||||||
buildTime += TEXT(" - ");
|
|
||||||
buildTime += __TIME__;
|
|
||||||
#endif
|
|
||||||
::SendMessage(compileDateHandle, WM_SETTEXT, 0, (LPARAM)buildTime.c_str());
|
::SendMessage(compileDateHandle, WM_SETTEXT, 0, (LPARAM)buildTime.c_str());
|
||||||
::EnableWindow(compileDateHandle, FALSE);
|
::EnableWindow(compileDateHandle, FALSE);
|
||||||
|
|
||||||
|
@ -37,6 +37,8 @@
|
|||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#endif// RESOURCE_H
|
#endif// RESOURCE_H
|
||||||
|
|
||||||
|
#include "StaticDialog.h"
|
||||||
|
|
||||||
#define LICENCE_TXT \
|
#define LICENCE_TXT \
|
||||||
TEXT("This program is free software; you can redistribute it and/or \
|
TEXT("This program is free software; you can redistribute it and/or \
|
||||||
modify it under the terms of the GNU General Public License \
|
modify it under the terms of the GNU General Public License \
|
||||||
|
@ -29,6 +29,9 @@
|
|||||||
#ifndef URLCTRL_INCLUDED
|
#ifndef URLCTRL_INCLUDED
|
||||||
#define URLCTRL_INCLUDED
|
#define URLCTRL_INCLUDED
|
||||||
|
|
||||||
|
#include "Window.h"
|
||||||
|
#include "Common.h"
|
||||||
|
|
||||||
class URLCtrl : public Window {
|
class URLCtrl : public Window {
|
||||||
public:
|
public:
|
||||||
URLCtrl():_hfUnderlined(0),_hCursor(0), _msgDest(NULL), _cmdID(0), _oldproc(NULL), \
|
URLCtrl():_hfUnderlined(0),_hCursor(0), _msgDest(NULL), _cmdID(0), _oldproc(NULL), \
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "ListView.h"
|
#include "ListView.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
#include "localization.h"
|
#include "localization.h"
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#define LISTVIEW_H
|
#define LISTVIEW_H
|
||||||
|
|
||||||
#include "window.h"
|
#include "window.h"
|
||||||
|
#include "Common.h"
|
||||||
|
|
||||||
class ListView : public Window
|
class ListView : public Window
|
||||||
{
|
{
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "ansiCharPanel.h"
|
#include "ansiCharPanel.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
|
|
||||||
|
@ -29,7 +29,9 @@
|
|||||||
#ifndef ANSICHARPANEL_H
|
#ifndef ANSICHARPANEL_H
|
||||||
#define ANSICHARPANEL_H
|
#define ANSICHARPANEL_H
|
||||||
|
|
||||||
//#include <windows.h>
|
#include <windows.h>
|
||||||
|
#include <commctrl.h>
|
||||||
|
|
||||||
#ifndef DOCKINGDLGINTERFACE_H
|
#ifndef DOCKINGDLGINTERFACE_H
|
||||||
#include "DockingDlgInterface.h"
|
#include "DockingDlgInterface.h"
|
||||||
#endif //DOCKINGDLGINTERFACE_H
|
#endif //DOCKINGDLGINTERFACE_H
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "clipboardHistoryPanel.h"
|
#include "clipboardHistoryPanel.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
#include "clipboardFormats.h"
|
#include "clipboardFormats.h"
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <iostream>
|
||||||
#include "ColourPicker.h"
|
#include "ColourPicker.h"
|
||||||
#include "ColourPopup.h"
|
#include "ColourPopup.h"
|
||||||
|
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
#ifndef COLOUR_PICKER_H
|
#ifndef COLOUR_PICKER_H
|
||||||
#define COLOUR_PICKER_H
|
#define COLOUR_PICKER_H
|
||||||
|
|
||||||
|
#include "Window.h"
|
||||||
|
|
||||||
class ColourPopup;
|
class ColourPopup;
|
||||||
|
|
||||||
#define CPN_COLOURPICKED (BN_CLICKED)
|
#define CPN_COLOURPICKED (BN_CLICKED)
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <iostream>
|
||||||
#include "ColourPopup.h"
|
#include "ColourPopup.h"
|
||||||
|
|
||||||
DWORD colourItems[] = {
|
DWORD colourItems[] = {
|
||||||
|
@ -37,6 +37,8 @@
|
|||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#endif //RESOURCE_H
|
#endif //RESOURCE_H
|
||||||
|
|
||||||
|
#include "Window.h"
|
||||||
|
|
||||||
#define WM_PICKUP_COLOR (COLOURPOPUP_USER + 1)
|
#define WM_PICKUP_COLOR (COLOURPOPUP_USER + 1)
|
||||||
#define WM_PICKUP_CANCEL (COLOURPOPUP_USER + 2)
|
#define WM_PICKUP_CANCEL (COLOURPOPUP_USER + 2)
|
||||||
|
|
||||||
|
@ -26,10 +26,14 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <Shlobj.h>
|
||||||
|
#include <shlwapi.h>
|
||||||
|
#include <uxtheme.h>
|
||||||
#include "WordStyleDlg.h"
|
#include "WordStyleDlg.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
BOOL CALLBACK ColourStaticTextHooker::colourStaticProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
BOOL CALLBACK ColourStaticTextHooker::colourStaticProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
switch(Message)
|
switch(Message)
|
||||||
|
@ -29,17 +29,10 @@
|
|||||||
#ifndef WORD_STYLE_H
|
#ifndef WORD_STYLE_H
|
||||||
#define WORD_STYLE_H
|
#define WORD_STYLE_H
|
||||||
|
|
||||||
#ifndef COLOUR_PICKER_H
|
|
||||||
#include "ColourPicker.h"
|
#include "ColourPicker.h"
|
||||||
#endif //COLOUR_PICKER_H
|
|
||||||
|
|
||||||
#ifndef WORD_STYLE_DLG_RES_H
|
|
||||||
#include "WordStyleDlgRes.h"
|
#include "WordStyleDlgRes.h"
|
||||||
#endif //WORD_STYLE_DLG_RES_H
|
|
||||||
|
|
||||||
#ifndef PARAMETERS_H
|
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
#endif //PARAMETERS_H
|
|
||||||
|
|
||||||
#define WM_UPDATESCINTILLAS (WORDSTYLE_USER + 1) //GlobalStyleDlg's msg 2 send 2 its parent
|
#define WM_UPDATESCINTILLAS (WORDSTYLE_USER + 1) //GlobalStyleDlg's msg 2 send 2 its parent
|
||||||
|
|
||||||
@ -121,7 +114,7 @@ public :
|
|||||||
void addLastThemeEntry() {
|
void addLastThemeEntry() {
|
||||||
NppParameters *nppParamInst = NppParameters::getInstance();
|
NppParameters *nppParamInst = NppParameters::getInstance();
|
||||||
ThemeSwitcher & themeSwitcher = nppParamInst->getThemeSwitcher();
|
ThemeSwitcher & themeSwitcher = nppParamInst->getThemeSwitcher();
|
||||||
pair<generic_string, generic_string> & themeInfo = themeSwitcher.getElementFromIndex(themeSwitcher.size() - 1);
|
std::pair<generic_string, generic_string> & themeInfo = themeSwitcher.getElementFromIndex(themeSwitcher.size() - 1);
|
||||||
::SendMessage(_hSwitch2ThemeCombo, CB_ADDSTRING, 0, (LPARAM)themeInfo.first.c_str());
|
::SendMessage(_hSwitch2ThemeCombo, CB_ADDSTRING, 0, (LPARAM)themeInfo.first.c_str());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "ContextMenu.h"
|
#include "ContextMenu.h"
|
||||||
|
|
||||||
MenuItemUnit::MenuItemUnit(unsigned long cmdID, const TCHAR *itemName, const TCHAR *parentFolderName) : _cmdID(cmdID)
|
MenuItemUnit::MenuItemUnit(unsigned long cmdID, const TCHAR *itemName, const TCHAR *parentFolderName) : _cmdID(cmdID)
|
||||||
@ -52,7 +51,7 @@ ContextMenu::~ContextMenu()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ContextMenu::create(HWND hParent, const vector<MenuItemUnit> & menuItemArray, const HMENU mainMenuHandle)
|
void ContextMenu::create(HWND hParent, const std::vector<MenuItemUnit> & menuItemArray, const HMENU mainMenuHandle)
|
||||||
{
|
{
|
||||||
_hParent = hParent;
|
_hParent = hParent;
|
||||||
_hMenu = ::CreatePopupMenu();
|
_hMenu = ::CreatePopupMenu();
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#ifndef CONTEXTMENU_H
|
#ifndef CONTEXTMENU_H
|
||||||
#define CONTEXTMENU_H
|
#define CONTEXTMENU_H
|
||||||
|
|
||||||
using namespace std;
|
#include "Common.h"
|
||||||
|
|
||||||
struct MenuItemUnit {
|
struct MenuItemUnit {
|
||||||
unsigned long _cmdID;
|
unsigned long _cmdID;
|
||||||
@ -46,7 +46,7 @@ public:
|
|||||||
ContextMenu() : _hParent(NULL), _hMenu(NULL) {};
|
ContextMenu() : _hParent(NULL), _hMenu(NULL) {};
|
||||||
~ContextMenu();
|
~ContextMenu();
|
||||||
|
|
||||||
void create(HWND hParent, const vector<MenuItemUnit> & menuItemArray, const HMENU mainMenuHandle = NULL);
|
void create(HWND hParent, const std::vector<MenuItemUnit> & menuItemArray, const HMENU mainMenuHandle = NULL);
|
||||||
bool isCreated() const {return _hMenu != NULL;};
|
bool isCreated() const {return _hMenu != NULL;};
|
||||||
|
|
||||||
void display(const POINT & p) const {
|
void display(const POINT & p) const {
|
||||||
@ -69,7 +69,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
HWND _hParent;
|
HWND _hParent;
|
||||||
HMENU _hMenu;
|
HMENU _hMenu;
|
||||||
vector<HMENU> _subMenus;
|
std::vector<HMENU> _subMenus;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
#ifndef DOCKING_H
|
#ifndef DOCKING_H
|
||||||
#define DOCKING_H
|
#define DOCKING_H
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
// ATTENTION : It's a part of interface header, so don't include the others header here
|
// ATTENTION : It's a part of interface header, so don't include the others header here
|
||||||
|
|
||||||
// styles for containers
|
// styles for containers
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
//along with this program; if not, write to the Free Software
|
//along with this program; if not, write to the Free Software
|
||||||
//Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
//Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "dockingResource.h"
|
#include "dockingResource.h"
|
||||||
#include "DockingCont.h"
|
#include "DockingCont.h"
|
||||||
|
|
||||||
@ -33,6 +32,8 @@
|
|||||||
#include "ToolTip.h"
|
#include "ToolTip.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
#ifndef WH_MOUSE_LL
|
#ifndef WH_MOUSE_LL
|
||||||
#define WH_MOUSE_LL 14
|
#define WH_MOUSE_LL 14
|
||||||
#endif
|
#endif
|
||||||
|
@ -37,8 +37,9 @@
|
|||||||
#include "Docking.h"
|
#include "Docking.h"
|
||||||
#endif //DOCKING_H
|
#endif //DOCKING_H
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
using namespace std;
|
#include "StaticDialog.h"
|
||||||
|
#include "Common.h"
|
||||||
|
|
||||||
|
|
||||||
// window styles
|
// window styles
|
||||||
@ -61,8 +62,6 @@ enum eMousePos {
|
|||||||
#define CLOSEBTN_POS_TOP 3
|
#define CLOSEBTN_POS_TOP 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class DockingCont : public StaticDialog
|
class DockingCont : public StaticDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -102,10 +101,10 @@ public:
|
|||||||
void setActiveTb(INT iItem);
|
void setActiveTb(INT iItem);
|
||||||
INT getActiveTb();
|
INT getActiveTb();
|
||||||
tTbData * getDataOfActiveTb();
|
tTbData * getDataOfActiveTb();
|
||||||
vector<tTbData *> getDataOfAllTb() {
|
std::vector<tTbData *> getDataOfAllTb() {
|
||||||
return _vTbData;
|
return _vTbData;
|
||||||
};
|
};
|
||||||
vector<tTbData *> getDataOfVisTb();
|
std::vector<tTbData *> getDataOfVisTb();
|
||||||
bool isTbVis(tTbData* data);
|
bool isTbVis(tTbData* data);
|
||||||
|
|
||||||
void doDialog(bool willBeShown = true, bool isFloating = false);
|
void doDialog(bool willBeShown = true, bool isFloating = false);
|
||||||
@ -234,7 +233,7 @@ private:
|
|||||||
eMousePos _hoverMPos;
|
eMousePos _hoverMPos;
|
||||||
|
|
||||||
// data of added windows
|
// data of added windows
|
||||||
vector<tTbData *> _vTbData;
|
std::vector<tTbData *> _vTbData;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,6 +36,11 @@
|
|||||||
#include "Docking.h"
|
#include "Docking.h"
|
||||||
#endif //DOCKING_H
|
#endif //DOCKING_H
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
#include <shlwapi.h>
|
||||||
|
#include "Common.h"
|
||||||
|
#include "StaticDialog.h"
|
||||||
|
|
||||||
class DockingDlgInterface : public StaticDialog
|
class DockingDlgInterface : public StaticDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -49,7 +54,7 @@ public:
|
|||||||
StaticDialog::init(hInst, parent);
|
StaticDialog::init(hInst, parent);
|
||||||
TCHAR temp[MAX_PATH];
|
TCHAR temp[MAX_PATH];
|
||||||
::GetModuleFileName((HMODULE)hInst, temp, MAX_PATH);
|
::GetModuleFileName((HMODULE)hInst, temp, MAX_PATH);
|
||||||
_moduleName = PathFindFileName(temp);
|
_moduleName = ::PathFindFileName(temp);
|
||||||
};
|
};
|
||||||
|
|
||||||
void create(tTbData * data, bool isRTL = false){
|
void create(tTbData * data, bool isRTL = false){
|
||||||
|
@ -26,13 +26,14 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "DockingManager.h"
|
#include "DockingManager.h"
|
||||||
#include "DockingSplitter.h"
|
#include "DockingSplitter.h"
|
||||||
#include "DockingCont.h"
|
#include "DockingCont.h"
|
||||||
#include "Gripper.h"
|
#include "Gripper.h"
|
||||||
#include "parameters.h"
|
#include "parameters.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
BOOL DockingManager::_isRegistered = FALSE;
|
BOOL DockingManager::_isRegistered = FALSE;
|
||||||
|
|
||||||
@ -43,18 +44,24 @@ static HHOOK gWinCallHook = NULL;
|
|||||||
LRESULT CALLBACK FocusWndProc(int nCode, WPARAM wParam, LPARAM lParam);
|
LRESULT CALLBACK FocusWndProc(int nCode, WPARAM wParam, LPARAM lParam);
|
||||||
|
|
||||||
// Callback function that handles messages (to test focus)
|
// Callback function that handles messages (to test focus)
|
||||||
LRESULT CALLBACK FocusWndProc(int nCode, WPARAM wParam, LPARAM lParam) {
|
LRESULT CALLBACK FocusWndProc(int nCode, WPARAM wParam, LPARAM lParam)
|
||||||
if (nCode == HC_ACTION && hWndServer) {
|
{
|
||||||
|
if (nCode == HC_ACTION && hWndServer)
|
||||||
|
{
|
||||||
DockingManager *pDockingManager = (DockingManager *)::GetWindowLongPtr(hWndServer, GWLP_USERDATA);
|
DockingManager *pDockingManager = (DockingManager *)::GetWindowLongPtr(hWndServer, GWLP_USERDATA);
|
||||||
if (pDockingManager) {
|
if (pDockingManager)
|
||||||
|
{
|
||||||
vector<DockingCont*> & vcontainer = pDockingManager->getContainerInfo();
|
vector<DockingCont*> & vcontainer = pDockingManager->getContainerInfo();
|
||||||
CWPSTRUCT * pCwp = (CWPSTRUCT*)lParam;
|
CWPSTRUCT * pCwp = (CWPSTRUCT*)lParam;
|
||||||
if (pCwp->message == WM_KILLFOCUS) {
|
if (pCwp->message == WM_KILLFOCUS)
|
||||||
|
{
|
||||||
for (int i = 0; i < DOCKCONT_MAX; ++i)
|
for (int i = 0; i < DOCKCONT_MAX; ++i)
|
||||||
{
|
{
|
||||||
vcontainer[i]->SetActive(FALSE); //deactivate all containers
|
vcontainer[i]->SetActive(FALSE); //deactivate all containers
|
||||||
}
|
}
|
||||||
} else if (pCwp->message == WM_SETFOCUS) {
|
}
|
||||||
|
else if (pCwp->message == WM_SETFOCUS)
|
||||||
|
{
|
||||||
for (int i = 0; i < DOCKCONT_MAX; ++i)
|
for (int i = 0; i < DOCKCONT_MAX; ++i)
|
||||||
{
|
{
|
||||||
vcontainer[i]->SetActive(IsChild(vcontainer[i]->getHSelf(), pCwp->hwnd)); //activate the container that contains the window with focus, this can be none
|
vcontainer[i]->SetActive(IsChild(vcontainer[i]->getHSelf(), pCwp->hwnd)); //activate the container that contains the window with focus, this can be none
|
||||||
|
@ -29,6 +29,11 @@
|
|||||||
#ifndef DOCKINGMANAGER_H
|
#ifndef DOCKINGMANAGER_H
|
||||||
#define DOCKINGMANAGER_H
|
#define DOCKINGMANAGER_H
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <windows.h>
|
||||||
|
#include <commctrl.h>
|
||||||
|
#include "Window.h"
|
||||||
|
|
||||||
#ifndef DOCKINGCONT
|
#ifndef DOCKINGCONT
|
||||||
#include "DockingCont.h"
|
#include "DockingCont.h"
|
||||||
#endif //DOCKINGCONT
|
#endif //DOCKINGCONT
|
||||||
@ -39,11 +44,8 @@ class DockingSplitter;
|
|||||||
#include "SplitterContainer.h"
|
#include "SplitterContainer.h"
|
||||||
#endif //SPLITTER_CONTAINER_H
|
#endif //SPLITTER_CONTAINER_H
|
||||||
|
|
||||||
|
|
||||||
#define DSPC_CLASS_NAME TEXT("dockingManager")
|
#define DSPC_CLASS_NAME TEXT("dockingManager")
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
|
|
||||||
#define CONT_MAP_MAX 50
|
#define CONT_MAP_MAX 50
|
||||||
|
|
||||||
|
|
||||||
@ -83,7 +85,7 @@ public :
|
|||||||
int GetContainer(DockingCont* pCont);
|
int GetContainer(DockingCont* pCont);
|
||||||
|
|
||||||
// get all container in vector
|
// get all container in vector
|
||||||
vector<DockingCont*> & getContainerInfo() {
|
std::vector<DockingCont*> & getContainerInfo() {
|
||||||
return _vContainer;
|
return _vContainer;
|
||||||
};
|
};
|
||||||
// get dock data (sized areas)
|
// get dock data (sized areas)
|
||||||
@ -124,14 +126,14 @@ private:
|
|||||||
RECT _rcWork;
|
RECT _rcWork;
|
||||||
RECT _rect;
|
RECT _rect;
|
||||||
Window **_ppMainWindow;
|
Window **_ppMainWindow;
|
||||||
vector<HWND> _vImageList;
|
std::vector<HWND> _vImageList;
|
||||||
HIMAGELIST _hImageList;
|
HIMAGELIST _hImageList;
|
||||||
vector<DockingCont*> _vContainer;
|
std::vector<DockingCont*> _vContainer;
|
||||||
tDockMgr _dockData;
|
tDockMgr _dockData;
|
||||||
static BOOL _isRegistered;
|
static BOOL _isRegistered;
|
||||||
BOOL _isInitialized;
|
BOOL _isInitialized;
|
||||||
int _iContMap[CONT_MAP_MAX];
|
int _iContMap[CONT_MAP_MAX];
|
||||||
vector<DockingSplitter *> _vSplitter;
|
std::vector<DockingSplitter *> _vSplitter;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //DOCKINGMANAGER_H
|
#endif //DOCKINGMANAGER_H
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "DockingSplitter.h"
|
#include "DockingSplitter.h"
|
||||||
#include "Notepad_plus_msgs.h"
|
#include "Notepad_plus_msgs.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
|
@ -29,6 +29,8 @@
|
|||||||
#ifndef DOCKINGSPLITTER_H
|
#ifndef DOCKINGSPLITTER_H
|
||||||
#define DOCKINGSPLITTER_H
|
#define DOCKINGSPLITTER_H
|
||||||
|
|
||||||
|
#include "Window.h"
|
||||||
|
|
||||||
#ifndef DOCKING_H
|
#ifndef DOCKING_H
|
||||||
#include "Docking.h"
|
#include "Docking.h"
|
||||||
#endif //DOCKING_H
|
#endif //DOCKING_H
|
||||||
|
@ -29,11 +29,12 @@
|
|||||||
// speed and consistency of the drag-rectangle - August 2010, Joern Gruel (jg)
|
// speed and consistency of the drag-rectangle - August 2010, Joern Gruel (jg)
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "Gripper.h"
|
#include "Gripper.h"
|
||||||
#include "DockingManager.h"
|
#include "DockingManager.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
#ifndef WH_KEYBOARD_LL
|
#ifndef WH_KEYBOARD_LL
|
||||||
#define WH_KEYBOARD_LL 13
|
#define WH_KEYBOARD_LL 13
|
||||||
#endif
|
#endif
|
||||||
|
@ -29,6 +29,10 @@
|
|||||||
#ifndef GRIPPER_H
|
#ifndef GRIPPER_H
|
||||||
#define GRIPPER_H
|
#define GRIPPER_H
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#include <commctrl.h>
|
||||||
|
#include "Common.h"
|
||||||
|
|
||||||
#ifndef DOCKING_H
|
#ifndef DOCKING_H
|
||||||
#include "Docking.h"
|
#include "Docking.h"
|
||||||
#endif //DOCKING_H
|
#endif //DOCKING_H
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "documentMap.h"
|
#include "documentMap.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
|
|
||||||
@ -440,10 +439,14 @@ BOOL CALLBACK ViewZoneDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPara
|
|||||||
case WM_INITDIALOG :
|
case WM_INITDIALOG :
|
||||||
{
|
{
|
||||||
_viewZoneCanvas = ::GetDlgItem(_hSelf, IDC_VIEWZONECANVAS);
|
_viewZoneCanvas = ::GetDlgItem(_hSelf, IDC_VIEWZONECANVAS);
|
||||||
::SetWindowLongPtr(_viewZoneCanvas, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(this));
|
if (NULL != _viewZoneCanvas)
|
||||||
_canvasDefaultProc = reinterpret_cast<WNDPROC>(::SetWindowLongPtr(_viewZoneCanvas, GWLP_WNDPROC, reinterpret_cast<LONG_PTR>(canvasStaticProc)));
|
{
|
||||||
|
::SetWindowLongPtr(_viewZoneCanvas, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(this));
|
||||||
|
_canvasDefaultProc = reinterpret_cast<WNDPROC>(::SetWindowLongPtr(_viewZoneCanvas, GWLP_WNDPROC, reinterpret_cast<LONG_PTR>(canvasStaticProc)));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case WM_LBUTTONDOWN:
|
case WM_LBUTTONDOWN:
|
||||||
{
|
{
|
||||||
@ -466,7 +469,7 @@ BOOL CALLBACK ViewZoneDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPara
|
|||||||
|
|
||||||
case WM_SIZE:
|
case WM_SIZE:
|
||||||
{
|
{
|
||||||
if (_viewZoneCanvas)
|
if (NULL != _viewZoneCanvas)
|
||||||
{
|
{
|
||||||
int width = LOWORD(lParam);
|
int width = LOWORD(lParam);
|
||||||
int height = HIWORD(lParam);
|
int height = HIWORD(lParam);
|
||||||
@ -479,8 +482,8 @@ BOOL CALLBACK ViewZoneDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lPara
|
|||||||
{
|
{
|
||||||
//Have to perform the scroll first, because the first/last line do not get updated untill after the scroll has been parsed
|
//Have to perform the scroll first, because the first/last line do not get updated untill after the scroll has been parsed
|
||||||
::SendMessage(_hParent, DOCUMENTMAP_MOUSEWHEEL, wParam, lParam);
|
::SendMessage(_hParent, DOCUMENTMAP_MOUSEWHEEL, wParam, lParam);
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
case WM_DESTROY :
|
case WM_DESTROY :
|
||||||
{
|
{
|
||||||
|
@ -53,7 +53,7 @@ enum moveMode {
|
|||||||
class ViewZoneDlg : public StaticDialog
|
class ViewZoneDlg : public StaticDialog
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
ViewZoneDlg() : StaticDialog() {};
|
ViewZoneDlg() : StaticDialog(), _viewZoneCanvas(NULL), _canvasDefaultProc(nullptr), _higherY(0), _lowerY(0) {}
|
||||||
|
|
||||||
void doDialog();
|
void doDialog();
|
||||||
|
|
||||||
@ -63,7 +63,8 @@ public :
|
|||||||
void drawZone(long hY, long lY) {
|
void drawZone(long hY, long lY) {
|
||||||
_higherY = hY;
|
_higherY = hY;
|
||||||
_lowerY = lY;
|
_lowerY = lY;
|
||||||
::InvalidateRect(_viewZoneCanvas, NULL, TRUE);
|
if (NULL != _viewZoneCanvas)
|
||||||
|
::InvalidateRect(_viewZoneCanvas, NULL, TRUE);
|
||||||
};
|
};
|
||||||
|
|
||||||
int getViewerHeight() const {
|
int getViewerHeight() const {
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "FindCharsInRange.h"
|
#include "FindCharsInRange.h"
|
||||||
#include "FindCharsInRange_rc.h"
|
#include "FindCharsInRange_rc.h"
|
||||||
|
|
||||||
|
@ -26,11 +26,12 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "functionListPanel.h"
|
#include "functionListPanel.h"
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
#include "localization.h"
|
#include "localization.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
#define CX_BITMAP 16
|
#define CX_BITMAP 16
|
||||||
#define CY_BITMAP 16
|
#define CY_BITMAP 16
|
||||||
|
|
||||||
|
@ -25,11 +25,13 @@
|
|||||||
// along with this program; if not, write to the Free Software
|
// along with this program; if not, write to the Free Software
|
||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
#include <shlwapi.h>
|
||||||
#include "ScintillaEditView.h"
|
#include "ScintillaEditView.h"
|
||||||
#include "functionParser.h"
|
#include "functionParser.h"
|
||||||
#include "boostregexsearch.h"
|
#include "boostregexsearch.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
FunctionParsersManager::~FunctionParsersManager()
|
FunctionParsersManager::~FunctionParsersManager()
|
||||||
{
|
{
|
||||||
for (size_t i = 0, len = _parsers.size(); i < len; ++i)
|
for (size_t i = 0, len = _parsers.size(); i < len; ++i)
|
||||||
|
@ -10,7 +10,6 @@ Add WM_MOUSEWHEEL, WM_LBUTTONDBLCLK and WM_RBUTTONUP events
|
|||||||
Modified by Don HO <don.h@free.fr>
|
Modified by Don HO <don.h@free.fr>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "babygrid.h"
|
#include "babygrid.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
|
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
#ifndef BABYGRID_H
|
#ifndef BABYGRID_H
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
#ifndef RESOURCE_H
|
#ifndef RESOURCE_H
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#endif// RESOURCE_H
|
#endif// RESOURCE_H
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
|
||||||
#include "precompiledHeaders.h"
|
|
||||||
#include "BabyGridWrapper.h"
|
#include "BabyGridWrapper.h"
|
||||||
const TCHAR *babyGridClassName = TEXT("BABYGRID");
|
const TCHAR *babyGridClassName = TEXT("BABYGRID");
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user