#ifndef _NOTEPADPLUSWRAPPER_H #define _NOTEPADPLUSWRAPPER_H #ifndef NOTEPAD_PLUS_MSGS_H #include "Notepad_plus_msgs.h" #endif #ifndef MENUCMDID_H #include "menuCmdID.h" #endif struct SCNotification; class ScintillaWrapper; enum FormatType { WIN_FORMAT, MAC_FORMAT, UNIX_FORMAT }; enum BufferEncoding { uni8Bit = 0, uniUTF8 = 1, uni16BE = 2, uni16LE = 3, uniCookie = 4, uni7Bit = 5, uni16BE_NoBOM = 6, uni16LE_NoBOM = 7, uniEnd }; enum StatusBarSection { STATUSBARSECTION_DOCTYPE = STATUSBAR_DOC_TYPE, STATUSBARSECTION_DOCSIZE = STATUSBAR_DOC_SIZE, STATUSBARSECTION_CURPOS = STATUSBAR_CUR_POS, STATUSBARSECTION_EOFFORMAT = STATUSBAR_EOF_FORMAT, STATUSBARSECTION_UNICODETYPE = STATUSBAR_UNICODE_TYPE, STATUSBARSECTION_TYPINGMODE = STATUSBAR_TYPING_MODE }; // enum for the notifications enum Notification { NPPNOTIF_READY = NPPN_READY, NPPNOTIF_TBMODIFICATION = NPPN_TBMODIFICATION, NPPNOTIF_FILEBEFORECLOSE = NPPN_FILEBEFORECLOSE, NPPNOTIF_FILEOPENED = NPPN_FILEOPENED, NPPNOTIF_FILECLOSED = NPPN_FILECLOSED, NPPNOTIF_FILEBEFOREOPEN = NPPN_FILEBEFOREOPEN, NPPNOTIF_FILEBEFORESAVE = NPPN_FILEBEFORESAVE, NPPNOTIF_FILESAVED = NPPN_FILESAVED, NPPNOTIF_SHUTDOWN = NPPN_SHUTDOWN, NPPNOTIF_BUFFERACTIVATED = NPPN_BUFFERACTIVATED, NPPNOTIF_LANGCHANGED = NPPN_LANGCHANGED, NPPNOTIF_WORDSTYLESUPDATED = NPPN_WORDSTYLESUPDATED, NPPNOTIF_SHORTCUTREMAPPED = NPPN_SHORTCUTREMAPPED, NPPNOTIF_FILEBEFORELOAD = NPPN_FILEBEFORELOAD, NPPNOTIF_FILELOADFAILED = NPPN_FILELOADFAILED, NPPNOTIF_READONLYCHANGED = NPPN_READONLYCHANGED }; enum MessageBoxFlags { NPPMB_RESULTABORT = IDABORT, NPPMB_RESULTCANCEL = IDCANCEL, NPPMB_RESULTCONTINUE = IDCONTINUE, NPPMB_RESULTIGNORE = IDIGNORE, NPPMB_RESULTNO = IDNO, NPPMB_RESULTOK = IDOK, NPPMB_RESULTRETRY = IDRETRY, NPPMB_RESULTTRYAGAIN = IDTRYAGAIN, NPPMB_RESULTYES = IDYES, NPPMB_OK = MB_OK, NPPMB_OKCANCEL = MB_OKCANCEL, NPPMB_ABORTRETRYIGNORE = MB_ABORTRETRYIGNORE, NPPMB_YESNOCANCEL = MB_YESNOCANCEL, NPPMB_YESNO = MB_YESNO, NPPMB_RETRYCANCEL = MB_RETRYCANCEL, NPPMB_CANCELTRYCONTINUE = MB_CANCELTRYCONTINUE, NPPMB_ICONHAND = MB_ICONHAND, NPPMB_ICONQUESTION = MB_ICONQUESTION, NPPMB_ICONEXCLAMATION = MB_ICONEXCLAMATION, NPPMB_ICONASTERISK = MB_ICONASTERISK, NPPMB_ICONWARNING = MB_ICONWARNING, NPPMB_ICONERROR = MB_ICONERROR, NPPMB_ICONINFORMATION = MB_ICONINFORMATION, NPPMB_ICONSTOP = MB_ICONSTOP, NPPMB_DEFBUTTON1 = MB_DEFBUTTON1, NPPMB_DEFBUTTON2 = MB_DEFBUTTON2, NPPMB_DEFBUTTON3 = MB_DEFBUTTON3, NPPMB_DEFBUTTON4 = MB_DEFBUTTON4 }; enum MenuCommands { NPPIDM_FILE_NEW = IDM_FILE_NEW, NPPIDM_FILE_OPEN = IDM_FILE_OPEN, NPPIDM_FILE_CLOSE = IDM_FILE_CLOSE, NPPIDM_FILE_CLOSEALL = IDM_FILE_CLOSEALL, NPPIDM_FILE_CLOSEALL_BUT_CURRENT = IDM_FILE_CLOSEALL_BUT_CURRENT, NPPIDM_FILE_SAVE = IDM_FILE_SAVE, NPPIDM_FILE_SAVEALL = IDM_FILE_SAVEALL, NPPIDM_FILE_SAVEAS = IDM_FILE_SAVEAS, NPPIDM_FILE_PRINT = IDM_FILE_PRINT, NPPIDM_FILE_PRINTNOW = IDM_FILE_PRINTNOW, NPPIDM_FILE_EXIT = IDM_FILE_EXIT, NPPIDM_FILE_LOADSESSION = IDM_FILE_LOADSESSION, NPPIDM_FILE_SAVESESSION = IDM_FILE_SAVESESSION, NPPIDM_FILE_RELOAD = IDM_FILE_RELOAD, NPPIDM_FILE_SAVECOPYAS = IDM_FILE_SAVECOPYAS, NPPIDM_FILE_DELETE = IDM_FILE_DELETE, NPPIDM_FILE_RENAME = IDM_FILE_RENAME, NPPIDM_EDIT_CUT = IDM_EDIT_CUT, NPPIDM_EDIT_COPY = IDM_EDIT_COPY, NPPIDM_EDIT_UNDO = IDM_EDIT_UNDO, NPPIDM_EDIT_REDO = IDM_EDIT_REDO, NPPIDM_EDIT_PASTE = IDM_EDIT_PASTE, NPPIDM_EDIT_DELETE = IDM_EDIT_DELETE, NPPIDM_EDIT_SELECTALL = IDM_EDIT_SELECTALL, NPPIDM_EDIT_INS_TAB = IDM_EDIT_INS_TAB, NPPIDM_EDIT_RMV_TAB = IDM_EDIT_RMV_TAB, NPPIDM_EDIT_DUP_LINE = IDM_EDIT_DUP_LINE, NPPIDM_EDIT_TRANSPOSE_LINE = IDM_EDIT_TRANSPOSE_LINE, NPPIDM_EDIT_SPLIT_LINES = IDM_EDIT_SPLIT_LINES, NPPIDM_EDIT_JOIN_LINES = IDM_EDIT_JOIN_LINES, NPPIDM_EDIT_LINE_UP = IDM_EDIT_LINE_UP, NPPIDM_EDIT_LINE_DOWN = IDM_EDIT_LINE_DOWN, NPPIDM_EDIT_UPPERCASE = IDM_EDIT_UPPERCASE, NPPIDM_EDIT_LOWERCASE = IDM_EDIT_LOWERCASE, NPPIDM_MACRO_STARTRECORDINGMACRO = IDM_MACRO_STARTRECORDINGMACRO, NPPIDM_MACRO_STOPRECORDINGMACRO = IDM_MACRO_STOPRECORDINGMACRO, NPPIDM_MACRO_PLAYBACKRECORDEDMACRO = IDM_MACRO_PLAYBACKRECORDEDMACRO, NPPIDM_EDIT_BLOCK_COMMENT = IDM_EDIT_BLOCK_COMMENT, NPPIDM_EDIT_STREAM_COMMENT = IDM_EDIT_STREAM_COMMENT, NPPIDM_EDIT_TRIMTRAILING = IDM_EDIT_TRIMTRAILING, NPPIDM_MACRO_SAVECURRENTMACRO = IDM_MACRO_SAVECURRENTMACRO, NPPIDM_EDIT_RTL = IDM_EDIT_RTL, NPPIDM_EDIT_LTR = IDM_EDIT_LTR, NPPIDM_EDIT_SETREADONLY = IDM_EDIT_SETREADONLY, NPPIDM_EDIT_FULLPATHTOCLIP = IDM_EDIT_FULLPATHTOCLIP, NPPIDM_EDIT_FILENAMETOCLIP = IDM_EDIT_FILENAMETOCLIP, NPPIDM_EDIT_CURRENTDIRTOCLIP = IDM_EDIT_CURRENTDIRTOCLIP, NPPIDM_MACRO_RUNMULTIMACRODLG = IDM_MACRO_RUNMULTIMACRODLG, NPPIDM_EDIT_CLEARREADONLY = IDM_EDIT_CLEARREADONLY, NPPIDM_EDIT_COLUMNMODE = IDM_EDIT_COLUMNMODE, NPPIDM_EDIT_BLOCK_COMMENT_SET = IDM_EDIT_BLOCK_COMMENT_SET, NPPIDM_EDIT_BLOCK_UNCOMMENT = IDM_EDIT_BLOCK_UNCOMMENT, NPPIDM_EDIT_AUTOCOMPLETE = IDM_EDIT_AUTOCOMPLETE, NPPIDM_EDIT_AUTOCOMPLETE_CURRENTFILE = IDM_EDIT_AUTOCOMPLETE_CURRENTFILE, NPPIDM_EDIT_FUNCCALLTIP = IDM_EDIT_FUNCCALLTIP, NPPIDM_OPEN_ALL_RECENT_FILE = IDM_OPEN_ALL_RECENT_FILE, NPPIDM_CLEAN_RECENT_FILE_LIST = IDM_CLEAN_RECENT_FILE_LIST, NPPIDM_SEARCH_FIND = IDM_SEARCH_FIND, NPPIDM_SEARCH_FINDNEXT = IDM_SEARCH_FINDNEXT, NPPIDM_SEARCH_REPLACE = IDM_SEARCH_REPLACE, NPPIDM_SEARCH_GOTOLINE = IDM_SEARCH_GOTOLINE, NPPIDM_SEARCH_TOGGLE_BOOKMARK = IDM_SEARCH_TOGGLE_BOOKMARK, NPPIDM_SEARCH_NEXT_BOOKMARK = IDM_SEARCH_NEXT_BOOKMARK, NPPIDM_SEARCH_PREV_BOOKMARK = IDM_SEARCH_PREV_BOOKMARK, NPPIDM_SEARCH_CLEAR_BOOKMARKS = IDM_SEARCH_CLEAR_BOOKMARKS, NPPIDM_SEARCH_GOTOMATCHINGBRACE = IDM_SEARCH_GOTOMATCHINGBRACE, NPPIDM_SEARCH_FINDPREV = IDM_SEARCH_FINDPREV, NPPIDM_SEARCH_FINDINCREMENT = IDM_SEARCH_FINDINCREMENT, NPPIDM_SEARCH_FINDINFILES = IDM_SEARCH_FINDINFILES, NPPIDM_SEARCH_VOLATILE_FINDNEXT = IDM_SEARCH_VOLATILE_FINDNEXT, NPPIDM_SEARCH_VOLATILE_FINDPREV = IDM_SEARCH_VOLATILE_FINDPREV, NPPIDM_SEARCH_CUTMARKEDLINES = IDM_SEARCH_CUTMARKEDLINES, NPPIDM_SEARCH_COPYMARKEDLINES = IDM_SEARCH_COPYMARKEDLINES, NPPIDM_SEARCH_PASTEMARKEDLINES = IDM_SEARCH_PASTEMARKEDLINES, NPPIDM_SEARCH_DELETEMARKEDLINES = IDM_SEARCH_DELETEMARKEDLINES, NPPIDM_SEARCH_MARKALLEXT1 = IDM_SEARCH_MARKALLEXT1, NPPIDM_SEARCH_UNMARKALLEXT1 = IDM_SEARCH_UNMARKALLEXT1, NPPIDM_SEARCH_MARKALLEXT2 = IDM_SEARCH_MARKALLEXT2, NPPIDM_SEARCH_UNMARKALLEXT2 = IDM_SEARCH_UNMARKALLEXT2, NPPIDM_SEARCH_MARKALLEXT3 = IDM_SEARCH_MARKALLEXT3, NPPIDM_SEARCH_UNMARKALLEXT3 = IDM_SEARCH_UNMARKALLEXT3, NPPIDM_SEARCH_MARKALLEXT4 = IDM_SEARCH_MARKALLEXT4, NPPIDM_SEARCH_UNMARKALLEXT4 = IDM_SEARCH_UNMARKALLEXT4, NPPIDM_SEARCH_MARKALLEXT5 = IDM_SEARCH_MARKALLEXT5, NPPIDM_SEARCH_UNMARKALLEXT5 = IDM_SEARCH_UNMARKALLEXT5, NPPIDM_SEARCH_CLEARALLMARKS = IDM_SEARCH_CLEARALLMARKS, NPPIDM_SEARCH_GOPREVMARKER1 = IDM_SEARCH_GOPREVMARKER1, NPPIDM_SEARCH_GOPREVMARKER2 = IDM_SEARCH_GOPREVMARKER2, NPPIDM_SEARCH_GOPREVMARKER3 = IDM_SEARCH_GOPREVMARKER3, NPPIDM_SEARCH_GOPREVMARKER4 = IDM_SEARCH_GOPREVMARKER4, NPPIDM_SEARCH_GOPREVMARKER5 = IDM_SEARCH_GOPREVMARKER5, NPPIDM_SEARCH_GOPREVMARKER_DEF = IDM_SEARCH_GOPREVMARKER_DEF, NPPIDM_SEARCH_GONEXTMARKER1 = IDM_SEARCH_GONEXTMARKER1, NPPIDM_SEARCH_GONEXTMARKER2 = IDM_SEARCH_GONEXTMARKER2, NPPIDM_SEARCH_GONEXTMARKER3 = IDM_SEARCH_GONEXTMARKER3, NPPIDM_SEARCH_GONEXTMARKER4 = IDM_SEARCH_GONEXTMARKER4, NPPIDM_SEARCH_GONEXTMARKER5 = IDM_SEARCH_GONEXTMARKER5, NPPIDM_SEARCH_GONEXTMARKER_DEF = IDM_SEARCH_GONEXTMARKER_DEF, NPPIDM_FOCUS_ON_FOUND_RESULTS = IDM_FOCUS_ON_FOUND_RESULTS, NPPIDM_SEARCH_GOTONEXTFOUND = IDM_SEARCH_GOTONEXTFOUND, NPPIDM_SEARCH_GOTOPREVFOUND = IDM_SEARCH_GOTOPREVFOUND, NPPIDM_SEARCH_SETANDFINDNEXT = IDM_SEARCH_SETANDFINDNEXT, NPPIDM_SEARCH_SETANDFINDPREV = IDM_SEARCH_SETANDFINDPREV, NPPIDM_VIEW_TOOLBAR_REDUCE = IDM_VIEW_TOOLBAR_REDUCE, NPPIDM_VIEW_TOOLBAR_ENLARGE = IDM_VIEW_TOOLBAR_ENLARGE, NPPIDM_VIEW_TOOLBAR_STANDARD = IDM_VIEW_TOOLBAR_STANDARD, NPPIDM_VIEW_REDUCETABBAR = IDM_VIEW_REDUCETABBAR, NPPIDM_VIEW_LOCKTABBAR = IDM_VIEW_LOCKTABBAR, NPPIDM_VIEW_DRAWTABBAR_TOPBAR = IDM_VIEW_DRAWTABBAR_TOPBAR, NPPIDM_VIEW_DRAWTABBAR_INACIVETAB = IDM_VIEW_DRAWTABBAR_INACIVETAB, NPPIDM_VIEW_POSTIT = IDM_VIEW_POSTIT, NPPIDM_VIEW_TOGGLE_FOLDALL = IDM_VIEW_TOGGLE_FOLDALL, NPPIDM_VIEW_USER_DLG = IDM_VIEW_USER_DLG, NPPIDM_VIEW_LINENUMBER = IDM_VIEW_LINENUMBER, NPPIDM_VIEW_SYMBOLMARGIN = IDM_VIEW_SYMBOLMARGIN, NPPIDM_VIEW_FOLDERMAGIN = IDM_VIEW_FOLDERMAGIN, NPPIDM_VIEW_FOLDERMAGIN_SIMPLE = IDM_VIEW_FOLDERMAGIN_SIMPLE, NPPIDM_VIEW_FOLDERMAGIN_ARROW = IDM_VIEW_FOLDERMAGIN_ARROW, NPPIDM_VIEW_FOLDERMAGIN_CIRCLE = IDM_VIEW_FOLDERMAGIN_CIRCLE, NPPIDM_VIEW_FOLDERMAGIN_BOX = IDM_VIEW_FOLDERMAGIN_BOX, NPPIDM_VIEW_ALL_CHARACTERS = IDM_VIEW_ALL_CHARACTERS, NPPIDM_VIEW_INDENT_GUIDE = IDM_VIEW_INDENT_GUIDE, NPPIDM_VIEW_CURLINE_HILITING = IDM_VIEW_CURLINE_HILITING, NPPIDM_VIEW_WRAP = IDM_VIEW_WRAP, NPPIDM_VIEW_ZOOMIN = IDM_VIEW_ZOOMIN, NPPIDM_VIEW_ZOOMOUT = IDM_VIEW_ZOOMOUT, NPPIDM_VIEW_TAB_SPACE = IDM_VIEW_TAB_SPACE, NPPIDM_VIEW_EOL = IDM_VIEW_EOL, NPPIDM_VIEW_EDGELINE = IDM_VIEW_EDGELINE, NPPIDM_VIEW_EDGEBACKGROUND = IDM_VIEW_EDGEBACKGROUND, NPPIDM_VIEW_TOGGLE_UNFOLDALL = IDM_VIEW_TOGGLE_UNFOLDALL, NPPIDM_VIEW_FOLD_CURRENT = IDM_VIEW_FOLD_CURRENT, NPPIDM_VIEW_UNFOLD_CURRENT = IDM_VIEW_UNFOLD_CURRENT, NPPIDM_VIEW_FULLSCREENTOGGLE = IDM_VIEW_FULLSCREENTOGGLE, NPPIDM_VIEW_ZOOMRESTORE = IDM_VIEW_ZOOMRESTORE, NPPIDM_VIEW_ALWAYSONTOP = IDM_VIEW_ALWAYSONTOP, NPPIDM_VIEW_SYNSCROLLV = IDM_VIEW_SYNSCROLLV, NPPIDM_VIEW_SYNSCROLLH = IDM_VIEW_SYNSCROLLH, NPPIDM_VIEW_EDGENONE = IDM_VIEW_EDGENONE, NPPIDM_VIEW_DRAWTABBAR_CLOSEBOTTUN = IDM_VIEW_DRAWTABBAR_CLOSEBOTTUN, NPPIDM_VIEW_DRAWTABBAR_DBCLK2CLOSE = IDM_VIEW_DRAWTABBAR_DBCLK2CLOSE, NPPIDM_VIEW_REFRESHTABAR = IDM_VIEW_REFRESHTABAR, NPPIDM_VIEW_WRAP_SYMBOL = IDM_VIEW_WRAP_SYMBOL, NPPIDM_VIEW_HIDELINES = IDM_VIEW_HIDELINES, NPPIDM_VIEW_DRAWTABBAR_VERTICAL = IDM_VIEW_DRAWTABBAR_VERTICAL, NPPIDM_VIEW_DRAWTABBAR_MULTILINE = IDM_VIEW_DRAWTABBAR_MULTILINE, NPPIDM_VIEW_DOCCHANGEMARGIN = IDM_VIEW_DOCCHANGEMARGIN, NPPIDM_VIEW_FOLD = IDM_VIEW_FOLD, NPPIDM_VIEW_FOLD_1 = IDM_VIEW_FOLD_1, NPPIDM_VIEW_FOLD_2 = IDM_VIEW_FOLD_2, NPPIDM_VIEW_FOLD_3 = IDM_VIEW_FOLD_3, NPPIDM_VIEW_FOLD_4 = IDM_VIEW_FOLD_4, NPPIDM_VIEW_FOLD_5 = IDM_VIEW_FOLD_5, NPPIDM_VIEW_FOLD_6 = IDM_VIEW_FOLD_6, NPPIDM_VIEW_FOLD_7 = IDM_VIEW_FOLD_7, NPPIDM_VIEW_FOLD_8 = IDM_VIEW_FOLD_8, NPPIDM_VIEW_UNFOLD = IDM_VIEW_UNFOLD, NPPIDM_VIEW_UNFOLD_1 = IDM_VIEW_UNFOLD_1, NPPIDM_VIEW_UNFOLD_2 = IDM_VIEW_UNFOLD_2, NPPIDM_VIEW_UNFOLD_3 = IDM_VIEW_UNFOLD_3, NPPIDM_VIEW_UNFOLD_4 = IDM_VIEW_UNFOLD_4, NPPIDM_VIEW_UNFOLD_5 = IDM_VIEW_UNFOLD_5, NPPIDM_VIEW_UNFOLD_6 = IDM_VIEW_UNFOLD_6, NPPIDM_VIEW_UNFOLD_7 = IDM_VIEW_UNFOLD_7, NPPIDM_VIEW_UNFOLD_8 = IDM_VIEW_UNFOLD_8, NPPIDM_VIEW_GOTO_ANOTHER_VIEW = IDM_VIEW_GOTO_ANOTHER_VIEW, NPPIDM_VIEW_CLONE_TO_ANOTHER_VIEW = IDM_VIEW_CLONE_TO_ANOTHER_VIEW, NPPIDM_VIEW_GOTO_NEW_INSTANCE = IDM_VIEW_GOTO_NEW_INSTANCE, NPPIDM_VIEW_LOAD_IN_NEW_INSTANCE = IDM_VIEW_LOAD_IN_NEW_INSTANCE, NPPIDM_VIEW_SWITCHTO_OTHER_VIEW = IDM_VIEW_SWITCHTO_OTHER_VIEW, NPPIDM_FORMAT_TODOS = IDM_FORMAT_TODOS, NPPIDM_FORMAT_TOUNIX = IDM_FORMAT_TOUNIX, NPPIDM_FORMAT_TOMAC = IDM_FORMAT_TOMAC, NPPIDM_FORMAT_ANSI = IDM_FORMAT_ANSI, NPPIDM_FORMAT_UTF_8 = IDM_FORMAT_UTF_8, NPPIDM_FORMAT_UCS_2BE = IDM_FORMAT_UCS_2BE, NPPIDM_FORMAT_UCS_2LE = IDM_FORMAT_UCS_2LE, NPPIDM_FORMAT_AS_UTF_8 = IDM_FORMAT_AS_UTF_8, NPPIDM_FORMAT_CONV2_ANSI = IDM_FORMAT_CONV2_ANSI, NPPIDM_FORMAT_CONV2_AS_UTF_8 = IDM_FORMAT_CONV2_AS_UTF_8, NPPIDM_FORMAT_CONV2_UTF_8 = IDM_FORMAT_CONV2_UTF_8, NPPIDM_FORMAT_CONV2_UCS_2BE = IDM_FORMAT_CONV2_UCS_2BE, NPPIDM_FORMAT_CONV2_UCS_2LE = IDM_FORMAT_CONV2_UCS_2LE, NPPIDM_FORMAT_ENCODE = IDM_FORMAT_ENCODE, NPPIDM_FORMAT_WIN_1250 = IDM_FORMAT_WIN_1250, NPPIDM_FORMAT_WIN_1251 = IDM_FORMAT_WIN_1251, NPPIDM_FORMAT_WIN_1252 = IDM_FORMAT_WIN_1252, NPPIDM_FORMAT_WIN_1253 = IDM_FORMAT_WIN_1253, NPPIDM_FORMAT_WIN_1254 = IDM_FORMAT_WIN_1254, NPPIDM_FORMAT_WIN_1255 = IDM_FORMAT_WIN_1255, NPPIDM_FORMAT_WIN_1256 = IDM_FORMAT_WIN_1256, NPPIDM_FORMAT_WIN_1257 = IDM_FORMAT_WIN_1257, NPPIDM_FORMAT_WIN_1258 = IDM_FORMAT_WIN_1258, NPPIDM_FORMAT_ISO_8859_1 = IDM_FORMAT_ISO_8859_1, NPPIDM_FORMAT_ISO_8859_2 = IDM_FORMAT_ISO_8859_2, NPPIDM_FORMAT_ISO_8859_3 = IDM_FORMAT_ISO_8859_3, NPPIDM_FORMAT_ISO_8859_4 = IDM_FORMAT_ISO_8859_4, NPPIDM_FORMAT_ISO_8859_5 = IDM_FORMAT_ISO_8859_5, NPPIDM_FORMAT_ISO_8859_6 = IDM_FORMAT_ISO_8859_6, NPPIDM_FORMAT_ISO_8859_7 = IDM_FORMAT_ISO_8859_7, NPPIDM_FORMAT_ISO_8859_8 = IDM_FORMAT_ISO_8859_8, NPPIDM_FORMAT_ISO_8859_9 = IDM_FORMAT_ISO_8859_9, NPPIDM_FORMAT_ISO_8859_10 = IDM_FORMAT_ISO_8859_10, NPPIDM_FORMAT_ISO_8859_11 = IDM_FORMAT_ISO_8859_11, NPPIDM_FORMAT_ISO_8859_13 = IDM_FORMAT_ISO_8859_13, NPPIDM_FORMAT_ISO_8859_14 = IDM_FORMAT_ISO_8859_14, NPPIDM_FORMAT_ISO_8859_15 = IDM_FORMAT_ISO_8859_15, NPPIDM_FORMAT_ISO_8859_16 = IDM_FORMAT_ISO_8859_16, NPPIDM_FORMAT_DOS_437 = IDM_FORMAT_DOS_437, NPPIDM_FORMAT_DOS_720 = IDM_FORMAT_DOS_720, NPPIDM_FORMAT_DOS_737 = IDM_FORMAT_DOS_737, NPPIDM_FORMAT_DOS_775 = IDM_FORMAT_DOS_775, NPPIDM_FORMAT_DOS_850 = IDM_FORMAT_DOS_850, NPPIDM_FORMAT_DOS_852 = IDM_FORMAT_DOS_852, NPPIDM_FORMAT_DOS_855 = IDM_FORMAT_DOS_855, NPPIDM_FORMAT_DOS_857 = IDM_FORMAT_DOS_857, NPPIDM_FORMAT_DOS_858 = IDM_FORMAT_DOS_858, NPPIDM_FORMAT_DOS_860 = IDM_FORMAT_DOS_860, NPPIDM_FORMAT_DOS_861 = IDM_FORMAT_DOS_861, NPPIDM_FORMAT_DOS_862 = IDM_FORMAT_DOS_862, NPPIDM_FORMAT_DOS_863 = IDM_FORMAT_DOS_863, NPPIDM_FORMAT_DOS_865 = IDM_FORMAT_DOS_865, NPPIDM_FORMAT_DOS_866 = IDM_FORMAT_DOS_866, NPPIDM_FORMAT_DOS_869 = IDM_FORMAT_DOS_869, NPPIDM_FORMAT_BIG5 = IDM_FORMAT_BIG5, NPPIDM_FORMAT_GB2312 = IDM_FORMAT_GB2312, NPPIDM_FORMAT_SHIFT_JIS = IDM_FORMAT_SHIFT_JIS, NPPIDM_FORMAT_KOREAN_WIN = IDM_FORMAT_KOREAN_WIN, NPPIDM_FORMAT_EUC_KR = IDM_FORMAT_EUC_KR, NPPIDM_FORMAT_TIS_620 = IDM_FORMAT_TIS_620, NPPIDM_FORMAT_MAC_CYRILLIC = IDM_FORMAT_MAC_CYRILLIC, NPPIDM_FORMAT_KOI8U_CYRILLIC = IDM_FORMAT_KOI8U_CYRILLIC, NPPIDM_FORMAT_KOI8R_CYRILLIC = IDM_FORMAT_KOI8R_CYRILLIC, NPPIDM_FORMAT_ENCODE_END = IDM_FORMAT_ENCODE_END, NPPIDM_LANGSTYLE_CONFIG_DLG = IDM_LANGSTYLE_CONFIG_DLG, NPPIDM_LANG_C = IDM_LANG_C, NPPIDM_LANG_CPP = IDM_LANG_CPP, NPPIDM_LANG_JAVA = IDM_LANG_JAVA, NPPIDM_LANG_HTML = IDM_LANG_HTML, NPPIDM_LANG_XML = IDM_LANG_XML, NPPIDM_LANG_JS = IDM_LANG_JS, NPPIDM_LANG_PHP = IDM_LANG_PHP, NPPIDM_LANG_ASP = IDM_LANG_ASP, NPPIDM_LANG_CSS = IDM_LANG_CSS, NPPIDM_LANG_PASCAL = IDM_LANG_PASCAL, NPPIDM_LANG_PYTHON = IDM_LANG_PYTHON, NPPIDM_LANG_PERL = IDM_LANG_PERL, NPPIDM_LANG_OBJC = IDM_LANG_OBJC, NPPIDM_LANG_ASCII = IDM_LANG_ASCII, NPPIDM_LANG_TEXT = IDM_LANG_TEXT, NPPIDM_LANG_RC = IDM_LANG_RC, NPPIDM_LANG_MAKEFILE = IDM_LANG_MAKEFILE, NPPIDM_LANG_INI = IDM_LANG_INI, NPPIDM_LANG_SQL = IDM_LANG_SQL, NPPIDM_LANG_VB = IDM_LANG_VB, NPPIDM_LANG_BATCH = IDM_LANG_BATCH, NPPIDM_LANG_CS = IDM_LANG_CS, NPPIDM_LANG_LUA = IDM_LANG_LUA, NPPIDM_LANG_TEX = IDM_LANG_TEX, NPPIDM_LANG_FORTRAN = IDM_LANG_FORTRAN, NPPIDM_LANG_BASH = IDM_LANG_BASH, NPPIDM_LANG_FLASH = IDM_LANG_FLASH, NPPIDM_LANG_NSIS = IDM_LANG_NSIS, NPPIDM_LANG_TCL = IDM_LANG_TCL, NPPIDM_LANG_LISP = IDM_LANG_LISP, NPPIDM_LANG_SCHEME = IDM_LANG_SCHEME, NPPIDM_LANG_ASM = IDM_LANG_ASM, NPPIDM_LANG_DIFF = IDM_LANG_DIFF, NPPIDM_LANG_PROPS = IDM_LANG_PROPS, NPPIDM_LANG_PS = IDM_LANG_PS, NPPIDM_LANG_RUBY = IDM_LANG_RUBY, NPPIDM_LANG_SMALLTALK = IDM_LANG_SMALLTALK, NPPIDM_LANG_VHDL = IDM_LANG_VHDL, NPPIDM_LANG_CAML = IDM_LANG_CAML, NPPIDM_LANG_KIX = IDM_LANG_KIX, NPPIDM_LANG_ADA = IDM_LANG_ADA, NPPIDM_LANG_VERILOG = IDM_LANG_VERILOG, NPPIDM_LANG_AU3 = IDM_LANG_AU3, NPPIDM_LANG_MATLAB = IDM_LANG_MATLAB, NPPIDM_LANG_HASKELL = IDM_LANG_HASKELL, NPPIDM_LANG_INNO = IDM_LANG_INNO, NPPIDM_LANG_CMAKE = IDM_LANG_CMAKE, NPPIDM_LANG_YAML = IDM_LANG_YAML, NPPIDM_LANG_COBOL = IDM_LANG_COBOL, NPPIDM_LANG_D = IDM_LANG_D, NPPIDM_LANG_GUI4CLI = IDM_LANG_GUI4CLI, NPPIDM_LANG_POWERSHELL = IDM_LANG_POWERSHELL, NPPIDM_LANG_R = IDM_LANG_R, NPPIDM_LANG_JSP = IDM_LANG_JSP, NPPIDM_LANG_EXTERNAL = IDM_LANG_EXTERNAL, NPPIDM_LANG_EXTERNAL_LIMIT = IDM_LANG_EXTERNAL_LIMIT, NPPIDM_LANG_USER = IDM_LANG_USER, NPPIDM_LANG_USER_LIMIT = IDM_LANG_USER_LIMIT, NPPIDM_HOMESWEETHOME = IDM_HOMESWEETHOME, NPPIDM_PROJECTPAGE = IDM_PROJECTPAGE, NPPIDM_ONLINEHELP = IDM_ONLINEHELP, NPPIDM_FORUM = IDM_FORUM, NPPIDM_PLUGINSHOME = IDM_PLUGINSHOME, NPPIDM_UPDATE_NPP = IDM_UPDATE_NPP, NPPIDM_WIKIFAQ = IDM_WIKIFAQ, NPPIDM_HELP = IDM_HELP, NPPIDM_SETTING_TAB_SIZE = IDM_SETTING_TAB_SIZE, NPPIDM_SETTING_TAB_REPLCESPACE = IDM_SETTING_TAB_REPLCESPACE, NPPIDM_SETTING_HISTORY_SIZE = IDM_SETTING_HISTORY_SIZE, NPPIDM_SETTING_EDGE_SIZE = IDM_SETTING_EDGE_SIZE, NPPIDM_SETTING_IMPORTPLUGIN = IDM_SETTING_IMPORTPLUGIN, NPPIDM_SETTING_IMPORTSTYLETHEMS = IDM_SETTING_IMPORTSTYLETHEMS, NPPIDM_SETTING_TRAYICON = IDM_SETTING_TRAYICON, NPPIDM_SETTING_SHORTCUT_MAPPER = IDM_SETTING_SHORTCUT_MAPPER, NPPIDM_SETTING_REMEMBER_LAST_SESSION = IDM_SETTING_REMEMBER_LAST_SESSION, NPPIDM_SETTING_PREFERECE = IDM_SETTING_PREFERECE, NPPIDM_SETTING_AUTOCNBCHAR = IDM_SETTING_AUTOCNBCHAR, NPPIDM_SYSTRAYPOPUP_ACTIVATE = IDM_SYSTRAYPOPUP_ACTIVATE, NPPIDM_SYSTRAYPOPUP_NEWDOC = IDM_SYSTRAYPOPUP_NEWDOC, NPPIDM_SYSTRAYPOPUP_NEW_AND_PASTE = IDM_SYSTRAYPOPUP_NEW_AND_PASTE, NPPIDM_SYSTRAYPOPUP_OPENFILE = IDM_SYSTRAYPOPUP_OPENFILE, NPPIDM_SYSTRAYPOPUP_CLOSE = IDM_SYSTRAYPOPUP_CLOSE }; struct CallbackExecArgs; class NotepadPlusWrapper { public: NotepadPlusWrapper(HINSTANCE hInst, HWND nppHandle); ~NotepadPlusWrapper(); void notify(SCNotification *notifyCode); void newDocument(); void newDocumentWithFilename(const char *filename); void save(); void saveAs(const char *filename); void saveAsCopy(const char *filename); void open(const char *filename); bool activateFile(const char *filename); int getCurrentView(); LangType getCurrentLangType(); void setCurrentLangType(LangType lang); boost::python::list getFiles(); boost::python::list getSessionFiles(const char *sessionFilename); void saveSession(const char *sessionFilename, boost::python::list files); void saveCurrentSession(const char *filename); ScintillaWrapper createScintilla(); void destroyScintilla(ScintillaWrapper& buffer); int getCurrentDocIndex(int view); void setStatusBar(StatusBarSection section, const char *text); long getPluginMenuHandle(); void activateIndex(int view, int index); void activateBufferID(int bufferID); void loadSession(boost::python::str filename); void activateFileString(boost::python::str filename); void reloadFile(boost::python::str filename, bool withAlert); void saveAllFiles(); boost::python::str getPluginConfigDir(); void menuCommand(int commandID); boost::python::tuple getVersion(); void hideTabBar(); void showTabBar(); int getCurrentBufferID(); void reloadBuffer(int bufferID, bool withAlert = true); LangType getLangType(); LangType getBufferLangType(int bufferID); void setLangType(LangType language); void setBufferLangType(LangType lang, int bufferID); BufferEncoding getEncoding(); BufferEncoding getBufferEncoding(int bufferID); void setEncoding(BufferEncoding encoding); void setBufferEncoding(BufferEncoding encoding, int bufferID); FormatType getFormatType(); FormatType getBufferFormatType(int bufferID); void setFormatType(FormatType format); void setBufferFormatType(FormatType format, int bufferID); void closeDocument(); void closeAllDocuments(); void closeAllButCurrentDocument(); void reloadCurrentDocument(); int messageBox(const char *message, const char *title, UINT flags); int messageBoxNoFlags(const char *message, const char *title) { return messageBox(message, title, 0); }; int messageBoxNoTitle(const char *message) { return messageBox(message, "Python Script for Notepad++", 0); }; boost::python::object prompt(boost::python::object promptObj, boost::python::object title, boost::python::object initial); boost::python::object promptDefault(boost::python::object promptObj, boost::python::object title) { return prompt(promptObj, title, boost::python::object()); }; boost::python::str getBufferFilename(int bufferID); boost::python::str getCurrentFilename(); boost::python::str getNppDir(); boost::python::str getCommandLine(); bool runPluginCommand(boost::python::str pluginName, boost::python::str menuOption, bool refreshCache); bool runPluginCommandNoRefresh(boost::python::str pluginName, boost::python::str menuOption) { return runPluginCommand(pluginName, menuOption, false); }; bool runMenuCommand(boost::python::str menuName, boost::python::str menuOption, bool refreshCache); bool runMenuCommandNoRefresh(boost::python::str menuName, boost::python::str menuOption) { return runMenuCommand(menuName, menuOption, false); }; bool addCallback(PyObject* callback, boost::python::list events); void clearAllCallbacks(); void clearCallbackFunction(PyObject* callback); void clearCallbackEvents(boost::python::list events); void clearCallback(PyObject* callback, boost::python::list events); bool allocateSupported(); boost::python::object allocateCmdID(int quantity); boost::python::object allocateMarker(int quantity); static bool isInEvent() { return s_inEvent; }; typedef std::multimap callbackT; boost::python::str getPluginVersion(); protected: LRESULT callNotepad(UINT message, WPARAM wParam = 0, LPARAM lParam = 0) { return SendMessage(m_nppHandle, message, wParam, lParam); } static bool s_inEvent; private: NotepadPlusWrapper(); // default constructor disabled HWND m_nppHandle; HINSTANCE m_hInst; callbackT m_callbacks; bool m_notificationsEnabled; static void runCallbacks(CallbackExecArgs *args); }; #endif