Show/Hide Toolbars

EmEditor Help

// EmEditor Plug-In definition file // v3.08 (6 Jan 2001) CCustomizeInfo::m_bIgnoreColorPrint, CCustomizeInfo::m_bNoFullPathIfNotActive added. // v3.12 (16 Jan 2001) EEID_ALL_PROP added. // CCustomizeInfo::m_abUrlChar is now BYTE, not bool. =2 means not permitted at end of URL. // v3.13 (15 Mar 2001) EEID_NEW_PASTE_PREFIX, EEID_NEW_PASTE_PREFIX_RETURN, EEID_CUSTOMIZE_TRAY, // EEID_INSERT_CR_LF, EEID_MRU_FONT1 added. // CCustomizeInfo::m_bSaveOverwrite, CCustomizeInfo::m_bNoChangeCrLf, // CCustomizeInfo::m_bShowSpace, CCustomizeInfo::m_bWordWrapMark added. // EI_IS_PROPORTIONAL_FONT added. // v3.14 (23 Apr 2001) CCustomizeInfo::m_bPrintSeparatingLines, CCustomizeInfo::m_bSameFontPrint, // CCustomizeInfo::m_bHiliteCorresParen added. // EEID_DELETE_RIGHT_WORD, EEID_NEXT_PAREN, EEID_SHIFT_NEXT_PAREN added. // CHECK_FILE_CHANGED_EXCLUSIVE added. // v3.15 (22 May 2001) CCustomizeInfo::m_bDetectUTF8, CCustomizeInfo::m_bDetectCharset, // CCustomizeInfo::m_bDetectAll, CCustomizeInfo::m_bDeleteSpaceEnd, // CCustomizeInfo::m_bSaveAsEntity, CCustomizeInfo::m_bShowControl added. // Changed LOAD_FILE_INFO structure. // CHARSET_OEM added. // EEID_CHARSET_OEM, EEID_TRIM_RIGHT added. // CODEPAGE_DETECT_UTF8, CODEPAGE_DETECT_CHARSET, CODEPAGE_DETECT_ALL added. // v3.16 (21 Jun 2001) EEID_FILE_RELOAD_DETECT_ALL added. // SMART_COLOR_ constants redefined. // CColorInfo class redefined. // CCustomizeInfo::m_nHiliteTag, m_nHiliteMultiComment removed. // CCustomizeInfo::m_nSpecialSyntax, m_chEscape, m_bPasteAnsi, m_bQuoteType, // m_szScriptBegin, m_szScriptEnd, m_szLineComment1, m_szLineComment2 added. // v3.17 (25 Jul 2001) EEID_DELETE_LEFT_WORD, EEID_FILE_NEW_CONFIG, // EEID_NEW_CONFIG_POPUP, EEID_FONT_POPUP added. // CCustomizeInfo::m_bSaveAsNameEntity, m_chIndentBegin, m_bNewTemplate, // m_chIndentEnd, m_chEndOfStatement added. // v3.18 (29 Aug 2001) EEID_RELOAD_POPUP, EEID_DELETE_PANES added. // MAX_RECENT_FILE defined. // v3.19 (1 Oct 2001) EVENT_CHAR added. // EEID_SHOW_PLUGINS_BAR added. // SIGNATURE_PIB_LIST is superseded by SIGNATURE_PIB_LIST_2. // v3.20 (21 Nov 2001) EP_GET_BITMAP, EP_GET_MASK added. // v3.22 (2 Jan 2002) EEID_PRINT_PREVIEW, EEID_WINDOW_TOP, EEID_WINDOW_BOTTOM, // EEID_WINDOW_RIGHT, EEID_WINDOW_LEFT, EEID_HOME_TEXT, EEID_SHIFT_HOME_TEXT, // EEID_KEYBOARD_MAP added. // v3.23 (31 Jan 2002) EEID_WINDOW_SPLIT_HORZ, EEID_WINDOW_SPLIT_VERT // EEID_CONTEXT_MENU, EEID_DELETE_LEFT_LINE, // EEID_INSERT_GRAVE, EEID_INSERT_ACUTE, EEID_INSERT_CIRCUMFLEX, EEID_INSERT_TILDE, // EEID_INSERT_DIAERESIS, EEID_INSERT_RING_ABOVE, EEID_INSERT_LIGATURE, EEID_INSERT_CEDILLA, // EEID_INSERT_STROKE, EEID_INSERT_INVERTED_QUESTION, EEID_INSERT_INVERTED_EXCLAMATION, // EEID_INSERT_COPYRIGHT, EEID_INSERT_REGISTERED, EEID_INSERT_TRADEMARK, EEID_INSERT_EURO added. // v3.24 (10 Feb 2002) EVENT_FILE_OPENED event added. EEID_WRAP_BY_PAPER added. // v3.28 ( 1 Oct 2002) FLAG_FIND_REG_EXP and FLAG_FIND_CLOSE added. // v3.29 ( 6 Nov 2002) EEID_SHOW_TOOLS_BAR, EEID_BOOKMARK_TOGGLE, EEID_BOOKMARK_NEXT, EEID_BOOKMARK_PREV, // EEID_BOOKMARK_CLEAR, EEID_CUSTOMIZE_TOOLS, EEID_TOOL1 added. // v3.31 (17 Dec 2002) EEID_RETRIEVE_FIND_TEXT, EEID_COPY_FILE_PATH, EEID_COPY_FILE_DIR, EEID_DUPLICATE_LINE, // EEID_LOAD_WORKSPACE, EEID_SAVE_WORKSPACE, EEID_SAVE_WORKSPACE_EXIT_ALL, EEID_SAVE_WORKSPACE_QUIT_ALL, // EEID_LOGICAL_HOME_TEXT, EEID_SHIFT_LOGICAL_HOME_TEXT, EEID_WINDOW_SPLIT_HORZ_FIX, EEID_WINDOW_SPLIT_VERT_FIX, // EEID_SHOW_WINDOWS_BAR added. // CCustomizeInfo::m_bShowScrollOnlyActive, CCustomizeInfo::m_bWrapPagePrint added. // EI_GET_NEXT_BOOKMARK added. // v3.32 (25 Jan 2003) CCustomizeInfo::m_nMaxFindHilite added. CColorInfo structure removed. // // v4.00 (18 Dec 2003) EE_SET_SEL_TYPE, EE_GET_STATUSA, EE_GET_STATUSW, EE_INSERT_FILEA, EE_INSERT_FILEW added. // EE_INSERT_STRINGA, EE_INSERT_STRINGW extended to use lParam. // EE_GET_VERSION extended to use wParam. // Editor_GetVersionEx, VERSION_PRO, VERSION_STD added. // EI_GET_HILITE_FIND, EI_SET_HILITE_FIND, EI_GET_APP_VERSIONA, EI_GET_APP_VERSIONW, EI_GET_READ_ONLY, // EI_IS_WINDOW_COMBINED, EI_WINDOW_COMBINE added. // EEID_SHOW_BAR_TITLE, EEID_LOCK_TOOLBARS, EEID_WINDOW_COMBINE, EEID_WINDOW_ALWAYS_TOP_ON, EEID_WINDOW_ALWAYS_TOP_OFF, EEID_MOVE_LAST_EDIT, // EEID_MACRO_SAVE, EEID_MACRO_SELECT, EEID_MACRO_EDIT, EEID_MACRO_SELECT_THIS, EEID_CUSTOMIZE_MACRO, EEID_BOOKMARK_NEXT_WITHIN, // EEID_BOOKMARK_PREV_WITHIN, EEID_BOOKMARK_SET, EEID_BOOKMARK_RESET, EEID_SPACE_TO_TAB, EEID_TABIFY, EEID_UNTABIFY, EEID_INDENT, // EEID_UNINDENT, EEID_MACRO_HELP, EEID_MACRO_HELP_WORD, EEID_REPLACE_IN_FILES, EEID_QUIT_ALL, EEID_MACRO_RUN_OPTIONS, EEID_INSERT_CARON, // EEID_VIEW_MARKS, EEID_EDIT_COMMENT, EEID_EDIT_UNCOMMENT, EEID_INCREASE_FONT_SIZE, EEID_DECREASE_FONT_SIZE added. // v4.01 (27 Dec 2003) EI_IS_UNDO_COMBINED added. // EEID_FIND_NEXT_UNICODE, EEID_FIND_PREV_UNICODE, EEID_ERASE_UNICODE_HILITE added. // v4.02 (30 Jan 2004) EE_FIND_IN_FILES, EE_REPLACE_IN_FILES added. // v4.03 (25 Feb 2004) EE_GET_ANCHOR_POS, EE_SET_ANCHOR_POS added. EE_SET_CARET_POS extended. // v4.05 (30 Apr 2004) "cb" field of GET_LINE_INFO was changed to "cch" for clarity. // v4.10 ( 1 Jan 2005) EEID_JOIN_LINES, EEID_SPLIT_LINES, EEID_IMPORT_EXPORT, EEID_CAPITALIZE, EEID_WINDOW_MOVE_NEXT, EEID_WINDOW_MOVE_PREV, EEID_CLOSE_ALL_OTHERS added. // FLAG_CAPITALIZE flag added for EE_CONVERT message. // v4.13 (15 Feb 2005) EEID_WINDOW_SPLIT_HORZ_TOGGLE, EEID_WINDOW_SPLIT_VERT_TOGGLE added. // v5.00 (24 Nov 2005) EE_GET_REDRAW added. // EVENT_CREATE_FRAME, EVENT_CLOSE_FRMAE, EVENT_DOC_SEL_CHANGED, EVENT_DOC_CLOSE events added. // EEID_GROUP_CLOSE_ALL, EEID_GROUP_CLOSE_OTHERS, EEID_GROUP_CLOSE_LEFT, EEID_GROUP_CLOSE_RIGHT, EEID_NEW_GROUP, EEID_NEW_GROUP_MINIMIZE, // EEID_NEW_GROUP_CASCADE, EEID_NEW_GROUP_HORZ, EEID_NEW_GROUP_VERT, EEID_MOVE_PREV_GROUP, EEID_MOVE_NEXT_GROUP, // EEID_SORT_FILE_NAME, EEID_SORT_TYPE, EEID_SORT_MODIFIED, EEID_SORT_ZORDER, EEID_SORT_ASCENDING, EEID_SORT_DESCENDING, // EEID_AUTO_SORT, EEID_RESTORE_POS, // EEID_CUSTOMIZE_FILE, EEID_CUSTOMIZE_SEARCH, EEID_CUSTOMIZE_HISTORY, EEID_CUSTOMIZE_WINDOW, EEID_CUSTOMIZE_TAB, // EEID_CUSTOMIZE_STATUS, EEID_CUSTOMIZE_ADVANCED, EEID_WINDOW_COMBINE_ON, EEID_WINDOW_COMBINE_OFF added. // EE_SAVE_FILEA, EE_SAVE_FILEW, EE_GET_MODIFIED, EE_GET_CONFIGA, EE_GET_CONFIGW, EE_SET_CONFIGA, EE_SET_CONFIGW, EE_INFO extended to use HIWORD(wParam) = iDoc. // Editor_DocSaveFileA, Editor_DocSaveFileW, Editor_DocGetModified, Editor_DocGetConfigA, Editor_DocGetConfigW // Editor_DocSetConfigA, Editor_DocSetConfigW, Editor_DocInfo macros added. // EI_GET_DOC_COUNT, EI_INDEX_TO_DOC, EI_DOC_TO_INDEX, EI_ZORDER_TO_DOC, EI_DOC_TO_ZORDER, EI_GET_ACTIVE_INDEX, EI_SET_ACTIVE_INDEX, // EI_GET_FULL_TITLEA, EI_GET_FULL_TITLEW, EI_GET_SHORT_TITLEA, EI_GET_SHORT_TITLEW, EI_GET_SAVE_AS_TITLEA, EI_GET_SAVE_AS_TITLEW, // EI_MOVE_ORDER, EI_CLOSE_DOC, EI_SAVE_DOC added for EE_INFO commands. // HEEDOC (handle to document) type defined. // Type changes for x64 (EE_GET_SEL_TEXTA, EE_GET_SEL_TEXTW, EE_GET_LINES, EE_GET_LINEA, EE_GET_LINEW, EE_GET_CARET_POS // EE_DEV_TO_VIEW, EE_GET_PAGE_SIZE, EE_GET_SCROLL_POS, EE_LINE_FROM_CHAR, EE_LINE_INDEX, EE_LOGICAL_TO_SERIAL, EE_LOGICAL_TO_VIEW, // EE_SERIAL_TO_LOGICAL, EE_SET_CARET_POS, EE_SET_SCROLL_POS, EE_VIEW_TO_DEV, EE_VIEW_TO_LOGICAL, EE_GET_SEL_START, // EE_GET_SEL_END, EE_SET_SEL_LENGTH, EE_SET_SEL_VIEW, EE_GET_MARGIN, EE_GET_STATUSA, EE_GET_STATUSW, EE_GET_ANCHOR_POS, // EE_SET_ANCHOR_POS messages, // GET_LINE_INFO, GREP_INFOW, GREP_INFOA, LOAD_FILE_INFO, LOAD_FILE_INFO_EX structures // EE_DO_IDLE message (Editor_DoIdle) added. // EE_GET_SEL_TYPE, EE_SET_SEL_TYPE, EE_SET_SCROLL_POS expanded to use wParam. // EP_GET_INFO added for plugin message. // v6.00 (7 Jun 2006) EEID_ACTIVE_PANE, EEID_OUTLINE_COLLAPSE_ALL, EEID_OUTLINE_EXPAND_ALL, EEID_OUTLINE_TOGGLE_LINE, // EEID_OUTLINE_COLLAPSE_LINE, EEID_OUTLINE_EXPAND_LINE, EEID_OUTLINE_NEXT_NODE, EEID_OUTLINE_PREV_NODE, // EEID_SHIFT_NEXT_NODE, EEID_SHIFT_PREV_NODE, EEID_RESTORE_DELETED, EEID_VIEW_OUTPUT command added. // EE_CUSTOM_BAR_OPEN, EE_CUSTOM_BAR_CLOSE, EE_MATCH_REGEX, EE_FIND_REGEX, EE_GET_OUTLINE_LEVEL, EE_SET_OUTLINE_LEVEL, // EE_SHOW_OUTLINE, EE_ENUM_CONFIG messages added. // EVENT_IDLE, EVENT_CUSTOM_BAR_CLOSED, EVENT_CUSTOM_BAR_CLOSING events added. // EP_PRE_TRANSLATE_MSG added for plugin message. // // v7.00 (18 Dec 2007) m_nKanjiRead renamed to m_nEncodingRead, m_nEncodeNew renamed to m_nEncodingNew, m_nEncodeWrite renamed to m_nEncodingWrite // EE_TOOLBAR_OPEN, EE_TOOLBAR_CLOSE, EE_TOOLBAR_SHOW, EE_HELP, EE_REG_SET_VALUE, EE_REG_QUERY_VALUE, EE_QUERY_STRING, // EE_KEYBOARD_PROP, EE_GET_ACCEL_ARRAY, EE_OUTPUT_STRING, EE_OUTPUT_DIR, EE_ENUM_HIGHLIGHT messages added. // Editor_ToolbarOpen, Editor_ToolbarClose, Editor_ToolbarShow, Editor_Help, Editor_RegSetValue, Editor_RegQueryValue, Editor_QueryString, // Editor_KeyboardProp, Editor_GetAccelArray, Editor_OutputString, Editor_OutputDir, Editor_EnumHighlight inline functions added. // TOOLBAR_INFO, REG_SET_VALUE_INFO, REG_QUERY_VALUE_INFO structures added. // EVENT_TOOLBAR_CLOSED, EVENT_TOOLBAR_SHOW events added. // m_bVirtualSpace member added to CCustomizeInfo. // EI_GET_CURRENT_FOLDER, EI_IS_LARGE_DOC flag added. // EE_GET_LINES, EE_GETLINEW, EE_GETLINEA (GET_LINE_INFO structure) supports iDoc parameter. // Editor_DocGetLines inline functions added. // v7.00.4 (6 Mar 2008) POS_SCROLL_ALWAYS flag added. // // v8.00 (16 Aug 2008) EI_USE_INI, EI_GET_LANGUAGE flags added. // m_bShowIndentGuides, m_bDottedLine members added to CCustomizeInfo. // EE_GET_DROPPED_FILE message added. // EP_USE_DROPPED_FILES message to plug-ins added. // EVENT_SAVING, EVENT_DROPPED events added. // // v9.00 (11 Oct 2009) EE_CLIP_HISTORY, EE_EDIT_TEMP, EE_GET_ATTR, EE_GET_OUTPUT_STRING, EE_RUN_MACRO messages added. // ATTR_INFO, CLIP_INFO, RUN_MACRO_INFO, TEMP_INFO structures added. // Editor_ActivateTemp, Editor_CloseTemp, Editor_EditTemp, Editor_GetAttr, Editor_GetClip, Editor_GetClipPos, Editor_GetOutputString, Editor_InsertClip, Editor_RunMacro, Editor_SaveTemp, Editor_RemoveClip, Editor_RotateClip inline functions. // EP_DISABLE_AUTO_COMPLETE message to plug-ins added. // EVENT_HISTORY, EVENT_TEMP_SAVING events added. // FIND_REGEX_INFO structure was extended with members for the replace expression. // EI_COMBINE_HISTORY, EI_GET_BAR_TEXT_COLOR, EI_GET_BAR_BACK_COLOR, EI_GET_RETURN_TYPE flags added. // // v9.01 (14 Oct 2009) EEID_CHECK_UPDATES, EEID_CUSTOMIZE_UPDATE_CHECKER added. // // v10.00 (30 Jun 2010) EE_GET_WORD message added. // Editor_GetWord inline function added. // EI_GET_ACTIVE_DOC, EI_SET_ACTIVE_DOC, EI_GET_SYNC_SESSION, and EI_GET_LOC_DLL_INSTANCE flags added. // byteCrLf field and FLAG_GET_CRLF_BYTE flag was added to the GET_LINE_INFO structure. // New commands (from EEID_SAVE_UTF16LE_SIGN through EEID_NUMBERING) added. // v11.00 (13 Aug 2011) CCustomizeInfo::m_bHighlightCharRef // New commands (from EEID_SHOW_FIND_BAR through EEID_CLOSE_FIND_BAR and EEID_RECENT_CLOSED_FILE1) added. // v12.00 (30 Aug 2012) EI_GET_RES_DLL_INSTANCE added. // New commands (from EEID_BOOKMARK_INVERT through EEID_SHIFT_NEXT_TAG) added. // v13.00 ( 7 Jun 2013) EE_GET_MULTI_SEL and EE_SET_OUTLINE_ARRAY messages added. // OUTLINE_ARRAY_INFO structure added. // EI_GET_CMD_LIST_SIZE flag was added to the EE_INFO message. // CCustomizeInfo::m_bPromptRename added. // EVENT_LANGUAGE was renamed to EVENT_UI_CHANGED. // New commands (from EEID_SELECT_ALL_OCCURRENCES through EEID_BOOKMARK_COPY) added. // v14.00 ( 9 Dec 2013) New commands (from EEID_DECODE_PERCENT through EEID_MOVE_LINE_DOWN) added. // New flags for Find/Replace in Files: FLAG_FIND_OUTPUT_DISPLAY and FLAG_GREP_NO_CLOSE were added. // v14.1 (18 Dec 2013) SMART_COLOR_BOOKMARK and MAX_SMART_COLOR_V12 added. // MAX_SMART_COLOR changed from 59 to 60. // CCustomizeInfo::m_bInitialFolder, m_szNewLineComment1, m_szNewLineComment2, and m_szInitialFolder were added. // EEID_RESET_ALL was added. // v14.2 (28 Dec 2013) EEID_INSERT_MACRON, EEID_ADD_REMOVE_GUIDE, and EEID_VIEW_USER_DEFINED_GUIDES were added. // CCustomizeInfo::m_bShowUserDefinedGuides was added. // v14.4 ( 6 May 2014) EE_GET_COLOR message (Editor_GetColor inline function) was added. // GET_COLOR_INFO structure was added. // EI_GET_DISCARD_UNDO and EI_SET_DISCARD_UNDO commands were added to the EE_INFO message. // LONG_PTR_MIN and LONG_PTR_MAX contants were defined. EE_VIEW_TO_DEV message might return these values. // v14.5 (18 Jun 2014) EEID_OUTLINE_SYNC_BAR_TO_GUIDE added. // v14.6 (21 Oct 2014) EI_GET_HEADING_LINES, EI_SET_HEADING_LINES, EI_GET_NARROWING_TOP, EI_SET_NARROWING_TOP, EI_GET_NARROWING_BOTTOM, EI_SET_NARROWING_BOTTOM were added to the EE_INFO message. // FLAG_FIND_SEL_ONLY, FLAG_FIND_EXTRACT, FLAG_FIND_FILTER, FLAG_FIND_UPDATE_MARKER were added. // m_bPreferUtf8, m_byteDetectSV were added to the CCustomizeInfo class. // EEID_HEADING_TOGGLE ... ID_FILTERBAR_LIMIT, EEID_SV_MODE, EEID_CONVERT_TO_SV, EEID_CUSTOMIZE_SV commands were added. // v14.7 EEID_FILTERBAR_NEGATIVE ... EEID_SORT_LENGTH_D added. // FLAG_FIND_NEGATIVE added. // GET_CELL_INFO structure added. // EE_GET_CELL message and Editor_GetCell inline function added. // EE_FILTER message and Editor_Filter inline fuction and FILTER_INFO structure added. // v14.8 EE_JOIN message and Editor_Join inline function and JOIN_INFO structure added. // FLAG_FIND_REMOVE_LAST flag added. // EEID_DELETE_DUPLICATE_ADVANCED ... EEID_JOIN_CSV added. // v14.9 EEID_REMOVE_EMBEDDED_NL, EEID_FINDBAR_EMBEDDED_NL added. // v15.0 The xBegin and xEnd fields and the FLAG_FIND_LOGICAL_OR flag were added to the FILTER_INFO structure. // The xBegin and xEnd parameters and the FLAG_FIND_LOGICAL_OR flag were added to the Editor_Filter inline function. // EEID_WORKSPACE_OPEN, EEID_WORKSPACE_SAVE_AS, EEID_WORKSPACE_SAVE_CURRENT, EEID_FILTERBAR_BOOKMARK, EEID_FILTERBAR_EXTRACT, and EEID_WORKSPACE_RECENT_FILE1 commands were added. // v15.1 EEID_EXTRACT_COLUMNS and EEID_SELECT_COLUMN_WITH_HEADINGS added. // v15.2 EEID_HELP_INTERNET and EEID_HELP_LOCAL added. // EI_GET_CSV flag was added to the EE_INFO message. // v15.3 EEID_SAVE_CLOSE_DESKTOP through EEID_SAVE_WORKSPACE_QUIT_DESKTOP added. // v15.4 EI_GET_PRINT_PAGES added. // v15.8 EI_GET_CELL_MODE and EI_SET_CELL_MODE added. // #pragma once #ifdef __cplusplus #define EE_STRICT // uses inline functions instead of macros #endif #ifndef CLR_NONE #define CLR_NONE 0xFFFFFFFFL #endif #define REG_VERSION_14_6 16 #define REG_VERSION_14_3 15 #define REG_VERSION_14 14 #define REG_VERSION_13 13 #define REG_VERSION_10 10 #define REG_VERSION_3 3 // v3 #define REG_VERSION REG_VERSION_14_6 #define UPDATE_TREE_NONE 0 #define UPDATE_OUTLINE 1 #define UPDATE_TREE_SEL 2 #define UPDATE_TREE_LINE_STRING 3 #define UPDATE_TREE_ALL 4 #define INDENT_BRACES 0 #define INDENT_SPACES 1 #define INDENT_CUSTOM 2 #define INDENT_BRACKETS 3 #define INDENT_CUSTOM_BEGIN_END 4 #define WORK_OUTLINE_ALL 1 #define WORK_TREE_SEL 2 #define MAX_HIGHLIGHT_COLOR 10 #define RETURN_METHOD_BOTH 0 #define RETURN_METHOD_CR_ONLY 1 #define RETURN_METHOD_LF_ONLY 2 #define WRAP_NONE 0 #define WRAP_BY_CHAR 1 #define WRAP_BY_WINDOW 2 #define WRAP_BY_PAPER 3 #define MAX_WRAP_MODE 4 //#define MIN_MARGIN 16 #define MIN_MARGIN 10 #define MAX_MARGIN 0x7fff // inclusive #define MIN_LINE_SPACE 0 #define MAX_LINE_SPACE 30 // inclusive #define MIN_CHAR_SPACE 0 #define MAX_CHAR_SPACE 30 // inclusive #define MIN_FIND_HILITE 0 #define MAX_FIND_HILITE 30 // inclusive #define SPECIAL_SYNTAX_NONE 0 #define SPECIAL_SYNTAX_HTML 1 #define SPECIAL_SYNTAX_HTML_EMBEDDED 2 #define MAX_SPECIAL_SYNTAX 3 #define MAX_FIND_HISTORY 32 #define MIN_RECENT_FILE 0 #define MAX_RECENT_FILE 64 #define MIN_RECENT_POPUP 1 #define MAX_RECENT_POPUP MAX_RECENT_FILE #define DEF_RECENT_FILE 16 #define DEF_RECENT_POPUP 8 #define DEFAULT_COLOR (ULONG_MAX-1) #define TRANSPARENT_COLOR (ULONG_MAX-2) #define NOT_USED_COLOR TRANSPARENT_COLOR #define SIGNATURE_FACE_LIST 0x00FF0000 #define SIGNATURE_HILITE_LIST 0x00FF0100 #define SIGNATURE_FIND_LIST 0x00FF0200 #define SIGNATURE_PIK_LIST 0x00FF0300 #define SIGNATURE_PIB_LIST_2 0x00FF0401 #define SIGNATURE_ASSOCIATE_LIST 0x00FF0500 #define SIGNATURE_NEW_ASSOCIATE_LIST 0x00FF0501 #define SIGNATURE_CODEPAGE_LIST_2 0x00FF0601 #define SIGNATURE_MENU_LIST 0x00FF0700 #define SIGNATURE_MENU_LIST_2 0x00FF0701 #define SIGNATURE_TOOL_LIST 0x00FF0800 #define SIGNATURE_TOOL_LIST_2 0x00FF0801 #define SIGNATURE_TOOL_LIST_3 0x00FF0802 #define SIGNATURE_PIK_T_LIST 0x00FF0900 #define SIGNATURE_WORKSPACE_LISTW 0x00FF0A00 #define SIGNATURE_WORKSPACE_LISTA 0x00FF0A01 #define SIGNATURE_WORKSPACE_LISTW_2 0x00FF0A02 #define SIGNATURE_WORKSPACE_LISTA_2 0x00FF0A03 #define SIGNATURE_WORKSPACE_LISTW_3 0x00FF0A06 #define SIGNATURE_WORKSPACE_LISTA_3 0x00FF0A07 #define SIGNATURE_WORKSPACE_LISTW_4 0x00FF0A08 // new v9 #define SIGNATURE_WORKSPACE_LISTW_5 0x00FF0A09 // new v10 #define SIGNATURE_WORKSPACE_LISTW_6 0x00FF0A0A // new v13 #define SIGNATURE_WORKSPACE_LISTW_7 0x00FF0A0B // new v14.4 #define SIGNATURE_WORKSPACE_LISTW_8 0x00FF0A0C // new v15.5 /// if you need to add SIGNATURE_WORKSPACE_LISTW_x, remember to edit MyCmdLine.cpp ("wst.") !! //#define SIGNATURE_WORKSPACE_LIST SIGNATURE_WORKSPACE_LISTW_7 #define SIGNATURE_WORKSPACE_LIST SIGNATURE_WORKSPACE_LISTW_8 #define SIGNATURE_PIK_M_LIST 0x00FF0B00 #define SIGNATURE_MACRO_LANG_LIST 0x00FF0C00 #define SIGNATURE_THEME_LIST 0x00FF0D00 #define SIGNATURE_PAIR_LIST 0x00FF0E00 #define SIGNATURE_PAIR_LIST_2 0x00FF0E01 #define SIGNATURE_PAIR_LIST_3 0x00FF0E02 #define SIGNATURE_MARKER_LIST 0x00FF0F00 #define SIGNATURE_MARKER_LIST_2 0x00FF0F01 #define SIGNATURE_GUIDE_LIST 0x00ff1000 #define SIGNATURE_SV_LIST 0x00FF1100 #define SIGNATURE_FILTER_LIST 0x00ff1200 #define MAX_CODEPAGE_NAME 80 #define CHARSET_DEFAULT 0 #define CHARSET_ARABIC 1 #define CHARSET_BALTIC 2 #define CHARSET_CENTRAL_EUROPE 3 #define CHARSET_CHINESE_SIMPLIFIED 4 #define CHARSET_CHINESE_TRADITIONAL 5 #define CHARSET_CYRILLIC 6 #define CHARSET_GREEK 7 #define CHARSET_HEBREW 8 #define CHARSET_JAPANESE 9 #define CHARSET_KOREAN 10 #define CHARSET_THAI 11 #define CHARSET_TURKISH 12 #define CHARSET_VIETNAMESE 13 #define CHARSET_WESTERN_EUROPE 14 #define CHARSET_OEM 15 #define CHARSET_RESERVED_4 16 #define CHARSET_RESERVED_3 17 #define CHARSET_RESERVED_2 18 #define CHARSET_RESERVED_1 19 #define MAX_CHARSET 20 #define MAX_USED_CHARSET 16 #define CODEPAGE_ANSI 65536 #define CODEPAGE_UNICODE 65537 #define CODEPAGE_UTF16LE CODEPAGE_UNICODE #define CODEPAGE_UNICODE_BIGENDIAN 65538 #define CODEPAGE_UTF16BE CODEPAGE_UNICODE_BIGENDIAN #define CODEPAGE_BINARY 65539 // v8 #define CODEPAGE_HEX 65540 // v8 #define CODEPAGE_UTF8 65001 #define CODEPAGE_UTF7 65000 #define CODEPAGE_ANSI_FIRST 4 #define CODEPAGE_ANSI_LAST 64999 #define CODEPAGE_932 932 // Japanese Shift-JIS #define CODEPAGE_JIS 65616 // obsolete, Japanese JIS, use 50220 instead #define CODEPAGE_EUC 65617 // obsolete, Japanese EUC, use 51932 instead. #define CODEPAGE_DETECT_UNICODE 0x00020000 #define CODEPAGE_DETECT_UTF8 0x00040000 // v3.15 #define CODEPAGE_DETECT_CHARSET 0x00080000 // v3.15 #define CODEPAGE_DETECT_ALL 0x00100000 // v3.15 #define CODEPAGE_DETECT_FLAGS (CODEPAGE_DETECT_UNICODE | CODEPAGE_DETECT_UTF8 | CODEPAGE_DETECT_CHARSET | CODEPAGE_DETECT_ALL) #define CODEPAGE_MASK 0x0001ffff #define CODEPAGE_AUTO_SJIS_JIS 66049 // obsolete #define CODEPAGE_AUTO_SJIS_JIS_EUC 66050 // obsolete, use 50932 instead. #define CODEPAGE_UNKNOWN 66304 // internal use only #define CODEPAGE_MAYBE_EUC 66305 // internal use only #define CODEPAGE_CONFIG 66307 // internal use only #define CODEPAGE_SAME_AS_DOC 66308 // internal use only //#define DEF_UNDO_BUFFER_SIZE 100000 //#define MIN_UNDO_BUFFER_SIZE 10 //#define MAX_UNDO_BUFFER_SIZE 0x0aaaaaa9 #define MAX_UNDO_COUNT 0x08000000 #define MIN_UNDO_COUNT 0x100 #define MAX_PLUG_IN_NAME MAX_PATH #define MAX_FILE_FILTER_LENGTH 256 #define MAX_FILTER_BUF 10001 // including NULL character #define MAX_CONFIG_NAME 260 #define MAX_ASSOCIATE_LENGTH 16 #define MAX_THEME_NAME 32 #define MAX_HEADER 116 // was 128 before v3.16 #define MAX_FOOTER 116 // was 128 before v3.16 #define MAX_KINSOKU_BEGIN 128 #define MAX_KINSOKU_END 128 #define MAX_MULTI_COMMENT_BEGIN 16 #define MAX_MULTI_COMMENT_END 16 #define MAX_LINE_COMMENT 4 // v3.16 #define MAX_NEW_LINE_COMMENT 16 // v14.1 #define MAX_SCRIPT_BEGIN 8 // v3.16 #define MAX_SCRIPT_END 8 // v3.16 #define MAX_PREFIX_LENGTH 80 #define MAX_FILE_FILTER 128 #define MAX_DEF_EXT 128 #define MAX_PREFIX_LIST 40 #define SMART_COLOR_NONE ((BYTE)(-1)) #define SMART_COLOR_NORMAL 0 #define SMART_COLOR_SEL 1 #define SMART_COLOR_CURLINE 2 #define SMART_COLOR_QUOTE 3 #define SMART_COLOR_FIND 4 #define SMART_COLOR_LINK_URL 5 #define SMART_COLOR_LINK_ID 6 #define SMART_COLOR_LINK_TAG 7 #define SMART_COLOR_SINGLE_QUOTES 8 #define SMART_COLOR_DOUBLE_QUOTES 9 #define SMART_COLOR_COMMENT 10 #define SMART_COLOR_SCRIPT 11 #define SMART_COLOR_BRACES 12 #define SMART_COLOR_IN_TAG 13 #define SMART_COLOR_HILITE_1 14 #define SMART_COLOR_HILITE_2 15 #define SMART_COLOR_HILITE_3 16 #define SMART_COLOR_HILITE_4 17 #define SMART_COLOR_HILITE_5 18 #define SMART_COLOR_HILITE_6 19 #define SMART_COLOR_HILITE_7 20 #define SMART_COLOR_HILITE_8 21 #define SMART_COLOR_HILITE_9 22 #define SMART_COLOR_HILITE_10 23 #define SMART_COLOR_RETURN 24 #define SMART_COLOR_LINE 25 #define SMART_COLOR_PAGE_LINE 26 #define SMART_COLOR_LINE_NUMBER 27 #define SMART_COLOR_RULER 28 #define SMART_COLOR_OUTSIDE 29 #define SMART_COLOR_COMPARE_CHANGE 30 #define SMART_COLOR_COMPARE_CHAR 31 #define SMART_COLOR_COMPARE_ADDED 32 #define SMART_COLOR_COMPARE_DELETED 33 #define SMART_COLOR_COMPARE_BLANK 34 #define SMART_COLOR_SPELL 35 #define SMART_COLOR_UNICODE 36 #define SMART_COLOR_VERTICAL_SEL 37 #define SMART_COLOR_HEX_SEL 38 #define SMART_COLOR_INDENT_GUIDES 39 #define SMART_COLOR_HORZ_GRID 40 #define SMART_COLOR_OUTLINE 41 #define SMART_COLOR_LINE_NUMBER_LINES 42 #define SMART_COLOR_RULER_LINES 43 #define SMART_COLOR_VERTICAL_SEPARATOR 44 #define SMART_COLOR_HTML_CHAR_REF 45 #define SMART_COLOR_UCN 46 #define SMART_COLOR_AUTO_MARKER 47 #define SMART_COLOR_MARKER_1 48 #define SMART_COLOR_MARKER_2 49 #define SMART_COLOR_MARKER_3 50 #define SMART_COLOR_MARKER_4 51 #define SMART_COLOR_MARKER_5 52 #define SMART_COLOR_MARKER_6 53 #define SMART_COLOR_MARKER_7 54 #define SMART_COLOR_MARKER_8 55 #define SMART_COLOR_MARKER_9 56 #define SMART_COLOR_MARKER_10 57 #define SMART_COLOR_MATCHING_TAG 58 #define SMART_COLOR_BOOKMARK 59 #define SMART_COLOR_USER_DEFINED_GUIDES 60 #define SMART_COLOR_INDICATOR_MODIFIED 61 #define SMART_COLOR_INDICATOR_SAVED 62 #define SMART_COLOR_INDICATOR_BOOKMARK 63 #define SMART_COLOR_MARKER_MODIFIED 64 #define SMART_COLOR_MARKER_SAVED 65 #define SMART_COLOR_MARKER_BOOKMARK 66 #define SMART_COLOR_MARKER_FOUND 67 #define SMART_COLOR_MARKER_CURSOR 68 #define SMART_COLOR_MARKER_COMPARE_CHANGE 69 #define SMART_COLOR_MARKER_COMPARE_ADDED 70 #define SMART_COLOR_MARKER_COMPARE_DELETED 71 #define SMART_COLOR_HEADINGS 72 #define SMART_COLOR_SEARCH_SEL 73 #define SMART_COLOR_FILTER 74 #define SMART_COLOR_LINK_URL_VISITED 75 #define SMART_COLOR_LINK_ID_VISITED 76 #define SMART_COLOR_LINK_TAG_VISITED 77 #define SMART_COLOR_CELL_TEXT 78 #define SMART_COLOR_CELL_BORDER 79 #define MAX_SMART_COLOR 80 #define SMART_COLOR_INVALID MAX_SMART_COLOR #define MAX_SMART_COLOR_V15_8 80 #define MAX_SMART_COLOR_V15_4 78 #define MAX_SMART_COLOR_V14_6 75 #define MAX_SMART_COLOR_V14_3 72 #define MAX_SMART_COLOR_V14_2 61 #define MAX_SMART_COLOR_V14 60 #define MAX_SMART_COLOR_V12 59 #define MAX_SMART_COLOR_V11 58 #define MAX_SMART_COLOR_V10 44 #define MAX_SMART_COLOR_V9 30 #define MAX_SMART_COLOR_FIND (MAX_SMART_COLOR + (MAX_FIND_HILITE + 1)) #define MAX_MARKER_COLOR 10 #define SMART_COLOR_FONT_NORMAL 0 #define SMART_COLOR_FONT_UNDERLINE 1 #define SMART_COLOR_FONT_BOLD 2 #define SMART_COLOR_FONT_ITALIC 3 #define SMART_COLOR_FONT_WIGGLY 4 #define SMART_COLOR_FONT_DOTTED 5 #define SMART_COLOR_FONT_THICK_LINE 6 #define SMART_COLOR_FONT_NOT_USED SMART_COLOR_FONT_NORMAL #define QUOTE_NONE 0 #define QUOTE_SINGLE 1 #define QUOTE_DOUBLE 2 #define QUOTE_BOTH 3 #define QUOTE_CONTINUE 4 // v6 #define CUSTOM_BAR_LEFT 0 #define CUSTOM_BAR_TOP 1 #define CUSTOM_BAR_RIGHT 2 #define CUSTOM_BAR_BOTTOM 3 #define MAX_CUSTOM_BAR 4 // v7 #define EEREG_COMMON (0x7fffff00) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Common or eeCommon.ini\[Common] #define EEREG_REGIST (0x7fffff01) // HKEY_CURRENT_USER\Software\EmSoft\Regist or eeCommon.ini\[Regist] #define EEREG_MACROS (0x7fffff02) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Macros or eeCommon.ini\[Macros] #define EEREG_PLUGINS (0x7fffff03) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\PlugIns or eeCommon.ini\[PlugIns] #define EEREG_RECENT_FILE_LIST (0x7fffff04) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Recent File List or eeCommon.ini\[Recent File List] #define EEREG_RECENT_FOLDER_LIST (0x7fffff05) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Recent Folder List or eeCommon.ini\[Recent Folder List] #define EEREG_RECENT_FONT_LIST (0x7fffff06) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Recent Font List or eeCommon.ini\[Recent Font List] #define EEREG_RECENT_INSERT_LIST (0x7fffff07) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Recent Insert List or eeCommon.ini\[Recent Insert List] #define EEREG_AUTOSAVE (0x7fffff08) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\AutoSave or eeCommon.ini\[AutoSave] #define EEREG_LM_COMMON (0x7fffff11) // HKEY_LOCAL_MACHINE\SOFTWARE\EmSoft\EmEditor v3\Common or eeLM.ini\[Common] #define EEREG_LM_REGIST (0x7fffff12) // HKEY_LOCAL_MACHINE\SOFTWARE\EmSoft\Regist or eeLM.ini\[Regist] #define EEREG_CONFIG (0x7fffff20) // HKEY_CURRENT_USER\Software\EmSoft\EmEditor v3\Config\(pszConfig) or eeConfig.ini\[(pszConfig)] #define EEREG_EMEDITORPLUGIN (0x7fffff30) // HKEY_CURRENT_USER\Software\EmSoft\EmEditorPlugIns or eePlugins.ini\[(pszConfig)] #define EEREG_EMEDITORUSERS (0x7fffff31) // HKEY_CURRENT_USER\Software\EmSoft\EmEditorUsers or eeUsers.ini\[(pszConfig)] #define IS_EEREG_COMMON(x) ((DWORD)x >= EEREG_COMMON && (DWORD)x < EEREG_LM_COMMON) #define IS_EEREG_LM(x) ((DWORD)x >= EEREG_LM_COMMON && (DWORD)x < EEREG_CONFIG) #define EE_REG_VARIABLE_SIZE 1 // events #define EVENT_SEL_CHANGED 0x00000010 #define EVENT_CARET_MOVED 0x00000020 #define EVENT_MODIFIED 0x00000040 #define EVENT_SCROLL 0x00000080 #define EVENT_CONFIG_CHANGED 0x00000100 #define EVENT_CHANGE 0x00000200 #define EVENT_CREATE 0x00000400 #define EVENT_CLOSE 0x00000800 #define EVENT_KILL_FOCUS 0x00001000 #define EVENT_SET_FOCUS 0x00002000 #define EVENT_CHAR 0x00004000 #define EVENT_FILE_OPENED 0x00008000 // new events for v5 #define EVENT_CREATE_FRAME 0x00010000 #define EVENT_CLOSE_FRAME 0x00020000 #define EVENT_DOC_SEL_CHANGED 0x00040000 #define EVENT_TAB_MOVED 0x00080000 #define EVENT_DOC_CLOSE 0x00100000 // new events for v6 #define EVENT_IDLE 0x00200000 #define EVENT_CUSTOM_BAR_CLOSED 0x00400000 #define EVENT_CUSTOM_BAR_CLOSING 0x00800000 // new events for v7 #define EVENT_TOOLBAR_CLOSED 0x01000000 #define EVENT_TOOLBAR_SHOW 0x02000000 // new events for v8 #define EVENT_SAVING 0x04000000 #define EVENT_DROPPED 0x08000000 #define EVENT_UI_CHANGED 0x10000000 // was EVENT_LANGUAGE before v13 // flags for EVENT_UI_CHANGED #define UI_CHANGED_LANGUAGE 0x00000001 #define UI_CHANGED_TOOLBARS 0x00000002 // new events for v9 #define EVENT_HISTORY 0x20000000 #define EVENT_TEMP_SAVING 0x40000000 typedef void *HEEDOC; // EE_LOAD_FILE typedef struct _LOAD_FILE_INFO { size_t cbSize; // sizeof( LOAD_FILE_INFO ) UINT nCP; BOOL bDetectUnicode; BOOL bDetectAll; BOOL bDetectCharset; BOOL bDetectUTF8; } LOAD_FILE_INFO; // EE_LOAD_FILE_EX typedef struct _LOAD_FILE_INFO_EX { size_t cbSize; // sizeof( LOAD_FILE_INFO_EX ) UINT nCP; BOOL bDetectUnicode; BOOL bDetectAll; BOOL bDetectCharset; BOOL bDetectUTF8; UINT nFlags; } LOAD_FILE_INFO_EX; #define LFI_ALLOW_NEW_WINDOW 1 #define LFI_ALLOW_ASYNC_OPEN 2 #define FLAG_CR_ONLY 1 #define FLAG_LF_ONLY 2 typedef struct _GET_LINE_INFO { UINT_PTR cch; // in UINT flags; // in UINT_PTR yLine; // in BYTE byteCrLf; // out (valid only when flags contains FLAG_GET_CRLF_BYTE) } GET_LINE_INFO; typedef struct _GREP_INFOW { size_t cbSize; // sizeof( GREP_INFOW ) UINT nCP; UINT nFlags; LPCWSTR pszFind; LPCWSTR pszReplace; LPCWSTR pszPath; LPCWSTR pszBackupPath; LPCWSTR pszFilesToIgnore; } GREP_INFOW; typedef struct _GREP_INFO_EX { size_t cbSize; // sizeof( GREP_INFO_EX ) UINT nCP; UINT64 nFlags; LPCWSTR pszFind; LPCWSTR pszReplace; LPCWSTR pszPath; LPCWSTR pszBackupPath; LPCWSTR pszFilesToIgnore; } GREP_INFO_EX; typedef struct _GREP_INFOA { size_t cbSize; // sizeof( GREP_INFOA ) UINT nCP; UINT nFlags; LPCSTR pszFind; LPCSTR pszReplace; LPCSTR pszPath; LPCSTR pszBackupPath; LPCSTR pszFilesToIgnore; } GREP_INFOA; typedef struct _MATCH_REGEX_INFO { size_t cbSize; // sizeof( MATCH_REGEX_INFO ) UINT nFlags; LPCWSTR pszRegex; LPCWSTR pszText; LPCWSTR pszReplace; // new v9 LPWSTR pszResult; // new v9 UINT cchResult; // new v9 } MATCH_REGEX_INFO; typedef struct _MATCH_REGEX_INFO_EX { size_t cbSize; // sizeof( MATCH_REGEX_INFO_EX ) UINT64 nFlags; LPCWSTR pszRegex; LPCWSTR pszText; LPCWSTR pszReplace; LPWSTR pszResult; UINT cchResult; } MATCH_REGEX_INFO_EX; typedef struct _FIND_REGEX_INFO { size_t cbSize; // sizeof( FIND_REGEX_INFO ) UINT nFlags; LPCWSTR pszRegex; LPCWSTR pszText; LPCWSTR* ppszStart; LPCWSTR* ppszEnd; LPCWSTR* ppszNext; LPCWSTR pszReplace; // new v9 LPWSTR pszResult; // new v9 UINT cchResult; // new v9 } FIND_REGEX_INFO; typedef struct _FIND_REGEX_INFO_EX_OLD { size_t cbSize; // sizeof( FIND_REGEX_INFO_EX ) UINT64 nFlags; LPCWSTR pszRegex; LPCWSTR pszText; LPCWSTR* ppszStart; LPCWSTR* ppszEnd; LPCWSTR* ppszNext; LPCWSTR pszReplace; LPWSTR pszResult; UINT cchResult; } FIND_REGEX_INFO_EX_OLD; #define MAX_BACK_REF 1001 typedef struct _BACK_REF { UINT cchBegin; UINT cchEnd; } BACK_REF; typedef struct _FIND_REGEX_INFO_EX { size_t cbSize; // sizeof( FIND_REGEX_INFO_EX ) UINT64 nFlags; LPCWSTR pszRegex; LPCWSTR pszText; LPCWSTR* ppszStart; LPCWSTR* ppszEnd; LPCWSTR* ppszNext; LPCWSTR pszReplace; LPWSTR pszResult; UINT cchResult; LPCWSTR pszStartAt; // [in] position where you want to start search (equivalent to Onigmo onig_search() start parameter) UINT nBackRefResult; // [out] UINT nBackRefBuf; // [in] usually MAX_BACK_REF, or 0 if you don't want back reference results BACK_REF BackRef[MAX_BACK_REF]; // BackRef[0] : \0, BackRef[1] : \1, BackRef[2] : \2, ... BackRef[1000] : \k<1000> } FIND_REGEX_INFO_EX; typedef struct _CUSTOM_BAR_INFO { size_t cbSize; HWND hwndCustomBar; HWND hwndClient; LPCTSTR pszTitle; int iPos; } CUSTOM_BAR_INFO; #define CLOSED_FRAME_WINDOW 1 #define CLOSED_ANOTHER_CUSTOM_BAR 2 typedef struct _CUSTOM_BAR_CLOSE_INFO { UINT nID; int iPos; DWORD dwFlags; } CUSTOM_BAR_CLOSE_INFO; #if (defined(_WIN64) || defined(_W64)) typedef struct tagPOINT_PTR { LONG_PTR x; LONG_PTR y; } POINT_PTR, *PPOINT_PTR; typedef struct tagSIZE_PTR { LONG_PTR cx; LONG_PTR cy; } SIZE_PTR, *PSIZE_PTR; #define LONG_PTR_MIN LLONG_MIN #define LONG_PTR_MAX LLONG_MAX #else typedef struct tagPOINT_PTR { LONG x; LONG y; } POINT_PTR, *PPOINT_PTR; typedef struct tagSIZE_PTR { LONG cx; LONG cy; } SIZE_PTR, *PSIZE_PTR; #define LONG_PTR_MIN LONG_MIN #define LONG_PTR_MAX LONG_MAX #endif typedef struct tagPOINT64 { INT64 x; INT64 y; } POINT64, *PPOINT64; class CPointPtr : public tagPOINT_PTR { public: // Constructors CPointPtr(); CPointPtr(int initX, int initY); CPointPtr(POINT initPt); CPointPtr(SIZE initSize); // Operations void Offset(int xOffset, int yOffset); void Offset(POINT point); void Offset(SIZE size); BOOL operator ==(POINT point) const; BOOL operator !=(POINT point) const; void operator +=(SIZE size); void operator -=(SIZE size); void operator +=(POINT point); void operator -=(POINT point); void SetPoint(int X, int Y); // Operators returning CPointPtr values CPointPtr operator +(SIZE size) const; CPointPtr operator -(SIZE size) const; CPointPtr operator -() const; CPointPtr operator +(POINT point) const; // Operators returning CSize values // CSize operator -(POINT point) const; }; #define HISTORY_INSERT_CHAR 0 #define HISTORY_BACK_SPACE 1 #define HISTORY_DELETE_CHAR 2 #define HISTORY_INSERT_STRING 3 #define HISTORY_DELETE_STRING 5 #define HISTORY_INSERT_TAB_SEL 6 #define HISTORY_REVISION_RANGE 7 #define HISTORY_SV_MODE 8 #define HISTORY_REPLACE_STRING 9 #define HISTORY_START_REPLACE 10 #define HISTORY_REORDER_COLUMN 11 #define HISTORY_CSV_EDIT_START 12 #define HISTORY_CARET_POS 13 #define HISTORY_TYPE_MASK 0x0000000fL #define HISTORY_MODIFIED 0x00010000L #define HISTORY_COMBINED 0x00020000L #define HISTORY_CR_ONLY 0x00040000L #define HISTORY_LF_ONLY 0x00080000L #define HISTORY_SEL_BOX 0x00100000L #define HISTORY_INSIDE_UNDO 0x00200000L #define HISTORY_INSIDE_REDO 0x00400000L //#define HISTORY_SEL_BOX_SIMPLE 0x00800000L #define HISTORY_EMBEDDED_NL 0x01000000L #define HISTORY_REPLACE_SAME_STRING 0x02000000L #define HISTORY_IGNORE_DELETED_STRING 0x04000000L typedef struct _HISTORY_INFO { size_t cbSize; UINT nFlags; POINT_PTR ptTop; POINT_PTR ptBottom; UINT nChar; LPCWSTR pszString; } HISTORY_INFO; #define TIM_REBAR 0x0001 #define TIM_CLIENT 0x0002 #define TIM_TITLE 0x0004 #define TIM_ID 0x0008 #define TIM_FLAGS 0x0010 #define TIM_STYLE 0x0020 #define TIM_MINCHILD 0x0040 #define TIM_CX 0x0080 #define TIM_CXIDEAL 0x0100 #define TIM_BAND 0x0200 #define TIM_PLUG_IN_CMD_ID 0x0400 typedef struct _TOOLBAR_INFO { size_t cbSize; HWND hwndRebar; HWND hwndClient; LPCTSTR pszTitle; UINT nMask; UINT nID; UINT nFlags; UINT fStyle; UINT cxMinChild; UINT cyMinChild; UINT cx; UINT cxIdeal; UINT nBand; WORD wPlugInCmdID; // UINT cyChild; // UINT cyMaxChild; // UINT cyIntegral; } TOOLBAR_INFO; typedef struct _REG_SET_VALUE_INFO { size_t cbSize; DWORD dwKey; LPCWSTR pszConfig; LPCWSTR pszValue; DWORD dwType; const BYTE* lpData; DWORD cbData; DWORD dwFlags; } REG_SET_VALUE_INFO; typedef struct _REG_QUERY_VALUE_INFO { size_t cbSize; DWORD dwKey; LPCWSTR pszConfig; LPCWSTR pszValue; DWORD dwType; BYTE* lpData; DWORD* lpcbData; DWORD dwFlags; } REG_QUERY_VALUE_INFO; typedef struct _PROCESS_INFO { size_t cbSize; LPCWSTR pszAppName; LPCWSTR pszCmdLine; LPCWSTR pszDir; UINT nFlags; UINT nCP; } PROCESS_INFO; #define EE_FIRST (WM_USER+0x400) #define EE_GET_CMD_ID (EE_FIRST+0) // (HINSTANCE)lParam = hInstance // returns (UINT)nCmdID #ifdef EE_STRICT inline UINT Editor_GetCmdID( HWND hwnd, HINSTANCE hInstance ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT)SNDMSG( hwnd, EE_GET_CMD_ID, 0, (LPARAM)hInstance ); } #else #define Editor_GetCmdID( hwnd, hInstance ) \ (UINT)SNDMSG( (hwnd), EE_GET_CMD_ID, 0, (LPARAM)(HINSTANCE)(hInstance) ) #endif #define EE_QUERY_STATUS (EE_FIRST+1) // (UINT)wParam = nCmdID, (BOOL*)lParam = &bChecked // returns (BOOL)bEnabled #ifdef EE_STRICT inline BOOL Editor_QueryStatus( HWND hwnd, UINT nCmdID, BOOL* pbChecked ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( hwnd, EE_QUERY_STATUS, (WPARAM)nCmdID, (LPARAM)pbChecked ); } #else #define Editor_QueryStatus( hwnd, nCmdID, pbChecked ) \ (BOOL)SNDMSG( (hwnd), EE_QUERY_STATUS, (WPARAM)(UINT)(nCmdID), (LPARAM)(BOOL*)pbChecked ) #endif #define EE_UPDATE_TOOLBAR (EE_FIRST+2) // (UINT)wParam = nCmdID #ifdef EE_STRICT inline void Editor_UpdateToolbar( HWND hwnd, UINT nCmdID ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( hwnd, EE_UPDATE_TOOLBAR, (WPARAM)nCmdID, 0 ); } #else #define Editor_UpdateToolbar( hwnd, nCmdID ) \ (void)SNDMSG( (hwnd), EE_UPDATE_TOOLBAR, (WPARAM)(UINT)(nCmdID), (LPARAM)0 ) #endif #define EE_GET_SEL_TEXTA (EE_FIRST+3) // (UINT_PTR)wParam = nBufferSize, (LPSTR)lParam = szBuffer // returns (UINT_PTR)nRequiredBufferSize #ifdef EE_STRICT inline UINT_PTR Editor_GetSelTextA( HWND hwnd, UINT_PTR nBufferSize, LPSTR szBuffer ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( hwnd, EE_GET_SEL_TEXTA, (WPARAM)nBufferSize, (LPARAM)szBuffer ); } #else #define Editor_GetSelTextA( hwnd, nBufferSize, szBuffer ) \ (UINT_PTR)SNDMSG( (hwnd), EE_GET_SEL_TEXTA, (WPARAM)(UINT_PTR)(nBufferSize), (LPARAM)(LPSTR)(szBuffer) ) #endif #define EE_GET_SEL_TEXTW (EE_FIRST+46) // (UINT_PTR)wParam = nBufferSize, (LPWSTR)lParam = szBuffer // returns (UINT_PTR)nRequiredBufferSize #ifdef EE_STRICT inline UINT_PTR Editor_GetSelTextW( HWND hwnd, UINT_PTR nBufferSize, LPWSTR szBuffer ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( hwnd, EE_GET_SEL_TEXTW, (WPARAM)nBufferSize, (LPARAM)szBuffer ); } #else #define Editor_GetSelTextW( hwnd, nBufferSize, szBuffer ) \ (UINT_PTR)SNDMSG( (hwnd), EE_GET_SEL_TEXTW, (WPARAM)(UINT_PTR)(nBufferSize), (LPARAM)(LPWSTR)(szBuffer) ) #endif #define EE_GET_LINES (EE_FIRST+4) // wParam = MAKEWPARAM( nLogical, iDoc+1 ) // returns (UINT_PTR)nTotalLines inline UINT_PTR Editor_DocGetLines( HWND hwnd, int iDoc, int nLogical ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( hwnd, EE_GET_LINES, (WPARAM)MAKEWPARAM( nLogical, iDoc+1 ), (LPARAM)0 ); } #ifdef EE_STRICT inline UINT_PTR Editor_GetLines( HWND hwnd, int nLogical ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( hwnd, EE_GET_LINES, (WPARAM)(int)(nLogical), (LPARAM)0 ); } #else #define Editor_GetLines( hwnd, nLogical ) \ (UINT_PTR)SNDMSG( (hwnd), EE_GET_LINES, (WPARAM)(int)(nLogical), (LPARAM)0 ) #endif #define EE_GET_LINEA (EE_FIRST+5) // (GET_LINE_INFO*)wParam = pGetLineInfo, (LPSTR)lParam = szString // returns (UINT_PTR)nRequiredBufferSize #ifdef EE_STRICT inline UINT_PTR Editor_GetLineA( HWND hwnd, GET_LINE_INFO* pGetLineInfo, LPSTR szString ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( (hwnd), EE_GET_LINEA, (WPARAM)(GET_LINE_INFO*)(pGetLineInfo), (LPARAM)(LPSTR)(szString) ); } #else #define Editor_GetLineA( hwnd, pGetLineInfo, szString ) \ (UINT_PTR)SNDMSG( (hwnd), EE_GET_LINEA, (WPARAM)(GET_LINE_INFO*)(pGetLineInfo), (LPARAM)(LPSTR)(szString) ) #endif #define EE_GET_LINEW (EE_FIRST+47) // (GET_LINE_INFO*)wParam = pGetLineInfo, (LPWSTR)lParam = szString // returns (UINT_PTR)nRequiredBufferSize #ifdef EE_STRICT inline UINT_PTR Editor_GetLineW( HWND hwnd, GET_LINE_INFO* pGetLineInfo, LPWSTR szString ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( (hwnd), EE_GET_LINEW, (WPARAM)(GET_LINE_INFO*)(pGetLineInfo), (LPARAM)(LPWSTR)(szString) ); } #else #define Editor_GetLineW( hwnd, pGetLineInfo, szString ) \ (UINT_PTR)SNDMSG( (hwnd), EE_GET_LINEW, (WPARAM)(GET_LINE_INFO*)(pGetLineInfo), (LPARAM)(LPWSTR)(szString) ) #endif #define EE_GET_CARET_POS (EE_FIRST+6) // (int)wParam = nLogical, (POINT_PTR*)lParam = pptPos #ifdef EE_STRICT inline void Editor_GetCaretPos( HWND hwnd, int nLogical, POINT_PTR* pptPos ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( hwnd, EE_GET_CARET_POS, (WPARAM)nLogical, (LPARAM)pptPos ); } #else #define Editor_GetCaretPos( hwnd, nLogical, pptPos ) \ (void)SNDMSG( (hwnd), EE_GET_CARET_POS, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ) #endif #define EE_DEV_TO_VIEW (EE_FIRST+7) // (POINT_PTR*)wParam = pptDev, (POINT_PTR*)lParam = pptView #ifdef EE_STRICT inline void Editor_DevToView( HWND hwnd, POINT_PTR* pptDev, POINT_PTR* pptView ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_DEV_TO_VIEW, (WPARAM)(POINT_PTR*)(pptDev), (LPARAM)(POINT_PTR*)(pptView) ); } #else #define Editor_DevToView( hwnd, pptDev, pptView ) \ (void)SNDMSG( (hwnd), EE_DEV_TO_VIEW, (WPARAM)(POINT_PTR*)(pptDev), (LPARAM)(POINT_PTR*)(pptView) ) #endif #define EE_GET_PAGE_SIZE (EE_FIRST+8) // (SIZE_PTR*)lParam = psizePage #ifdef EE_STRICT inline void Editor_GetPageSize( HWND hwnd, SIZE_PTR* psizePage ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_GET_PAGE_SIZE, (WPARAM)0, (LPARAM)(SIZE_PTR*)(psizePage) ); } #else #define Editor_GetPageSize( hwnd, psizePage ) \ (void)SNDMSG( (hwnd), EE_GET_PAGE_SIZE, (WPARAM)0, (LPARAM)(SIZE_PTR*)(psizePage) ) #endif #define EE_GET_SCROLL_POS (EE_FIRST+9) // (POINT_PTR*)lParam = pptPos #ifdef EE_STRICT inline void Editor_GetScrollPos( HWND hwnd, POINT_PTR* pptPos ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_GET_SCROLL_POS, (WPARAM)0, (LPARAM)(POINT_PTR*)(pptPos) ); } #else #define Editor_GetScrollPos( hwnd, pptPos ) \ (void)SNDMSG( (hwnd), EE_GET_SCROLL_POS, (WPARAM)0, (LPARAM)(POINT_PTR*)(pptPos) ) #endif #define EE_LINE_FROM_CHAR (EE_FIRST+10) // (int)wParam = nLogical, (UINT_PTR)lParam = nSerialIndex // returns (UINT_PTR)yLine #ifdef EE_STRICT inline UINT_PTR Editor_LineFromChar( HWND hwnd, int nLogical, UINT_PTR nSerialIndex ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( (hwnd), EE_LINE_FROM_CHAR, (WPARAM)(int)(nLogical), (LPARAM)(UINT_PTR)(nSerialIndex) ); } #else #define Editor_LineFromChar( hwnd, nLogical, nSerialIndex ) \ (UINT_PTR)SNDMSG( (hwnd), EE_LINE_FROM_CHAR, (WPARAM)(int)(nLogical), (LPARAM)(UINT_PTR)(nSerialIndex) ) #endif #define EE_LINE_INDEX (EE_FIRST+11) // (BOOL)wParam = bLogical, (UINT_PTR)lParam = yLine // returns (UINT_PTR)nSerialIndex #ifdef EE_STRICT inline UINT_PTR Editor_LineIndex( HWND hwnd, BOOL bLogical, UINT_PTR yLine ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( (hwnd), EE_LINE_INDEX, (WPARAM)(BOOL)(bLogical), (LPARAM)(UINT_PTR)(yLine) ); } #else #define Editor_LineIndex( hwnd, bLogical, yLine ) \ (UINT_PTR)SNDMSG( (hwnd), EE_LINE_INDEX, (WPARAM)(BOOL)(bLogical), (LPARAM)(UINT_PTR)(yLine) ) #endif #define EE_LOAD_FILEA (EE_FIRST+12) // (LOAD_FILE_INFO_EX*)wParam = plfi // (LPCSTR)lParam = szFileName // returns non-zero if success, 0 if failed #ifdef EE_STRICT inline BOOL Editor_LoadFileA( HWND hwnd, LOAD_FILE_INFO_EX* plfi, LPCSTR szFileName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_LOAD_FILEA, (WPARAM)plfi, (LPARAM)(LPCSTR)(szFileName) ); } #else #define Editor_LoadFileA( hwnd, plfi, szFileName ) \ (BOOL)SNDMSG( (hwnd), EE_LOAD_FILEA, (WPARAM)(LOAD_FILE_INFO_EX*)plfi, (LPARAM)(LPCSTR)(szFileName) ) #endif #define EE_LOAD_FILEW (EE_FIRST+48) // (LOAD_FILE_INFO_EX*)wParam = plfi // (LPCWSTR)lParam = szFileName // returns non-zero if success, 0 if failed #ifdef EE_STRICT inline BOOL Editor_LoadFileW( HWND hwnd, LOAD_FILE_INFO_EX* plfi, LPCWSTR szFileName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_LOAD_FILEW, (WPARAM)plfi, (LPARAM)(LPCWSTR)(szFileName) ); } #else #define Editor_LoadFileW( hwnd, plfi, szFileName ) \ (BOOL)SNDMSG( (hwnd), EE_LOAD_FILEW, (WPARAM)(LOAD_FILE_INFO_EX*)plfi, (LPARAM)(LPCWSTR)(szFileName) ) #endif #define EE_LOGICAL_TO_SERIAL (EE_FIRST+13) // (POINT_PTR*)lParam = pptLogical // returns (UINT_PTR)nSerialIndex #ifdef EE_STRICT inline UINT_PTR Editor_LogicalToSerial( HWND hwnd, POINT_PTR* pptLogical ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( (hwnd), EE_LOGICAL_TO_SERIAL, (WPARAM)0, (LPARAM)(POINT_PTR*)(pptLogical) ); } #else #define Editor_LogicalToSerial( hwnd, pptLogical ) \ (UINT_PTR)SNDMSG( (hwnd), EE_LOGICAL_TO_SERIAL, (WPARAM)0, (LPARAM)(POINT_PTR*)(pptLogical) ) #endif #define EE_LOGICAL_TO_VIEW (EE_FIRST+14) // (POINT_PTR*)wParam = pptLogical, (POINT_PTR*)lParam = pptView #ifdef EE_STRICT inline void Editor_LogicalToView( HWND hwnd, POINT_PTR* pptLogical, POINT_PTR* pptView ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_LOGICAL_TO_VIEW, (WPARAM)(POINT_PTR*)(pptLogical), (LPARAM)(POINT_PTR*)(pptView) ); } #else #define Editor_LogicalToView( hwnd, pptLogical, pptView ) \ (void)SNDMSG( (hwnd), EE_LOGICAL_TO_VIEW, (WPARAM)(POINT_PTR*)(pptLogical), (LPARAM)(POINT_PTR*)(pptView) ) #endif #define EE_SAVE_FILEA (EE_FIRST+16) // (BOOL)wParam = bReplace, (LPSTR)lParam = szFileName // returns non-zero if success, 0 if failed #ifdef EE_STRICT inline BOOL Editor_SaveFileA( HWND hwnd, BOOL bReplace, LPSTR szFileName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_SAVE_FILEA, (WPARAM)(BOOL)(bReplace), (LPARAM)(LPSTR)(szFileName) ); } #else #define Editor_SaveFileA( hwnd, bReplace, szFileName ) \ (BOOL)SNDMSG( (hwnd), EE_SAVE_FILEA, (WPARAM)(BOOL)(bReplace), (LPARAM)(LPSTR)(szFileName) ) #endif #ifdef EE_STRICT inline BOOL Editor_DocSaveFileA( HWND hwnd, int iDoc, BOOL bReplace, LPSTR szFileName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_SAVE_FILEA, MAKEWPARAM((bReplace), (iDoc)+1), (LPARAM)(LPSTR)(szFileName) ); } #else #define Editor_DocSaveFileA( hwnd, iDoc, bReplace, szFileName ) \ (BOOL)SNDMSG( (hwnd), EE_SAVE_FILEA, MAKEWPARAM((bReplace), (iDoc)+1), (LPARAM)(LPSTR)(szFileName) ) #endif #define EE_SAVE_FILEW (EE_FIRST+49) // (BOOL)wParam = bReplace, (LPWSTR)lParam = szFileName // returns non-zero if success, 0 if failed #ifdef EE_STRICT inline BOOL Editor_SaveFileW( HWND hwnd, BOOL bReplace, LPWSTR szFileName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_SAVE_FILEW, (WPARAM)(BOOL)(bReplace), (LPARAM)(LPWSTR)(szFileName) ); } #else #define Editor_SaveFileW( hwnd, bReplace, szFileName ) \ (BOOL)SNDMSG( (hwnd), EE_SAVE_FILEW, (WPARAM)(BOOL)(bReplace), (LPARAM)(LPWSTR)(szFileName) ) #endif #ifdef EE_STRICT inline BOOL Editor_DocSaveFileW( HWND hwnd, int iDoc, BOOL bReplace, LPWSTR szFileName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_SAVE_FILEW, MAKEWPARAM((bReplace), (iDoc)+1), (LPARAM)(LPWSTR)(szFileName) ); } #else #define Editor_DocSaveFileW( hwnd, iDoc, bReplace, szFileName ) \ (BOOL)SNDMSG( (hwnd), EE_SAVE_FILEW, MAKEWPARAM((bReplace), (iDoc)+1), (LPARAM)(LPWSTR)(szFileName) ) #endif #define EE_SERIAL_TO_LOGICAL (EE_FIRST+17) // (UINT_PTR)wParam = nSerial, (POINT_PTR*)lParam = pptLogical #ifdef EE_STRICT inline void Editor_SerialToLogical( HWND hwnd, UINT_PTR nSerial, POINT_PTR* pptLogical ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SERIAL_TO_LOGICAL, (WPARAM)(UINT_PTR)(nSerial), (LPARAM)(POINT_PTR*)(pptLogical) ); } #else #define Editor_SerialToLogical( hwnd, nSerial, pptLogical ) \ (void)SNDMSG( (hwnd), EE_SERIAL_TO_LOGICAL, (WPARAM)(UINT_PTR)(nSerial), (LPARAM)(POINT_PTR*)(pptLogical) ) #endif #define EE_SET_CARET_POS (EE_FIRST+18) // wParam = MAKEWPARAM( nLogical, bExtend ) // (POINT_PTR*)lParam = pptPos #ifdef EE_STRICT inline void Editor_SetCaretPos( HWND hwnd, int nLogical, POINT_PTR* pptPos ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SET_CARET_POS, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ); } #else #define Editor_SetCaretPos( hwnd, nLogical, pptPos ) \ (void)SNDMSG( (hwnd), EE_SET_CARET_POS, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ) #endif #ifdef EE_STRICT inline void Editor_SetCaretPosEx( HWND hwnd, int nLogical, POINT_PTR* pptPos, BOOL bExtend ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SET_CARET_POS, MAKEWPARAM(nLogical, bExtend), (LPARAM)(POINT_PTR*)(pptPos) ); } #else #define Editor_SetCaretPosEx( hwnd, nLogical, pptPos, bExtend ) \ (void)SNDMSG( (hwnd), EE_SET_CARET_POS, MAKEWPARAM(nLogical, bExtend), (LPARAM)(POINT_PTR*)(pptPos) ) #endif #define EE_SET_SCROLL_POS (EE_FIRST+19) // (BOOL)wParam = bCanMoveCursor // (POINT_PTR*)lParam = pptPos #ifdef EE_STRICT inline void Editor_SetScrollPos( HWND hwnd, POINT_PTR* pptPos ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SET_SCROLL_POS, (WPARAM)0, (LPARAM)(POINT_PTR*)(pptPos) ); } #else #define Editor_SetScrollPos( hwnd, pptPos ) \ (void)SNDMSG( (hwnd), EE_SET_SCROLL_POS, (WPARAM)0, (LPARAM)(POINT_PTR*)(pptPos) ) #endif #ifdef EE_STRICT inline void Editor_SetScrollPosEx( HWND hwnd, POINT_PTR* pptPos, BOOL bCanMoveCursor ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SET_SCROLL_POS, (WPARAM)(BOOL)bCanMoveCursor, (LPARAM)(POINT_PTR*)(pptPos) ); } #else #define Editor_SetScrollPosEx( hwnd, pptPos, bCanMoveCursor ) \ (void)SNDMSG( (hwnd), EE_SET_SCROLL_POS, (WPARAM)(BOOL)bCanMoveCursor, (LPARAM)(POINT_PTR*)(pptPos) ) #endif #define EE_VIEW_TO_DEV (EE_FIRST+20) // (POINT_PTR*)wParam = pptView, (POINT_PTR*)lParam = pptDev #ifdef EE_STRICT inline void Editor_ViewToDev( HWND hwnd, POINT_PTR* pptView, POINT_PTR* pptDev ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_VIEW_TO_DEV, (WPARAM)(POINT_PTR*)(pptView), (LPARAM)(POINT_PTR*)(pptDev) ); } #else #define Editor_ViewToDev( hwnd, pptView, pptDev ) \ (void)SNDMSG( (hwnd), EE_VIEW_TO_DEV, (WPARAM)(POINT_PTR*)(pptView), (LPARAM)(POINT_PTR*)(pptDev) ) #endif #define EE_VIEW_TO_LOGICAL (EE_FIRST+21) // (POINT*)wParam = pptView, (POINT*)lParam = pptLogical #ifdef EE_STRICT inline void Editor_ViewToLogical( HWND hwnd, POINT_PTR* pptView, POINT_PTR* pptLogical ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_VIEW_TO_LOGICAL, (WPARAM)(POINT_PTR*)(pptView), (LPARAM)(POINT_PTR*)(pptLogical ) ); } #else #define Editor_ViewToLogical( hwnd, pptView, pptLogical ) \ (void)SNDMSG( (hwnd), EE_VIEW_TO_LOGICAL, (WPARAM)(POINT_PTR*)(pptView), (LPARAM)(POINT_PTR*)(pptLogical ) ) #endif #define EE_EXEC_COMMAND (EE_FIRST+22) // (UINT)wParam = nCmdID #ifdef EE_STRICT inline BOOL Editor_ExecCommand( HWND hwnd, UINT nCmdID ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_EXEC_COMMAND, (WPARAM)(UINT)(nCmdID), (LPARAM)0 ); } #else #define Editor_ExecCommand( hwnd, nCmdID ) \ (BOOL)SNDMSG( (hwnd), EE_EXEC_COMMAND, (WPARAM)(UINT)(nCmdID), (LPARAM)0 ) #endif #define EE_GET_MODIFIED (EE_FIRST+23) // returns (BOOL)bModified #ifdef EE_STRICT inline BOOL Editor_GetModified( HWND hwnd ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_GET_MODIFIED, (WPARAM)0, (LPARAM)0 ); } #else #define Editor_GetModified( hwnd ) \ (BOOL)SNDMSG( (hwnd), EE_GET_MODIFIED, (WPARAM)0, (LPARAM)0 ) #endif #ifdef EE_STRICT inline BOOL Editor_DocGetModified( HWND hwnd, int iDoc ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_GET_MODIFIED, MAKEWPARAM(0, (iDoc)+1), (LPARAM)0 ); } #else #define Editor_DocGetModified( hwnd, iDoc ) \ (BOOL)SNDMSG( (hwnd), EE_GET_MODIFIED, MAKEWPARAM(0, (iDoc)+1), (LPARAM)0 ) #endif #define EE_SET_MODIFIED (EE_FIRST+24) // (BOOL)wParam = bModified #ifdef EE_STRICT inline void Editor_SetModified( HWND hwnd, BOOL bModified ) { _ASSERT( hwnd && IsWindow( hwnd ) ); (void)SNDMSG( (hwnd), EE_SET_MODIFIED, (WPARAM)(BOOL)(bModified), (LPARAM)0 ); } #else #define Editor_SetModified( hwnd, bModified ) \ (void)SNDMSG( (hwnd), EE_SET_MODIFIED, (WPARAM)(BOOL)(bModified), (LPARAM)0 ) #endif #define EE_GET_SEL_START (EE_FIRST+26) // (int)wParam = nLogical // (POINT_PTR*)lParam = pptPos #ifdef EE_STRICT inline void Editor_GetSelStart( HWND hwnd, int nLogical, POINT_PTR* pptPos ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_GET_SEL_START, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ); } #else #define Editor_GetSelStart( hwnd, nLogical, pptPos ) \ (void)SNDMSG( (hwnd), EE_GET_SEL_START, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ) #endif #define EE_GET_SEL_END (EE_FIRST+27) // (int)wParam = nLogical // (POINT_PTR*)lParam = pptPos #ifdef EE_STRICT inline void Editor_GetSelEnd( HWND hwnd, int nLogical, POINT_PTR* pptPos ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_GET_SEL_END, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ); } #else #define Editor_GetSelEnd( hwnd, nLogical, pptPos ) \ (void)SNDMSG( (hwnd), EE_GET_SEL_END, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ) #endif #define EE_SET_SEL_LENGTH (EE_FIRST+28) // (UINT_PTR)wParam = nLen #ifdef EE_STRICT inline void Editor_SetSelLength( HWND hwnd, UINT_PTR nLen ) { _ASSERT( hwnd && IsWindow( hwnd ) ); (void)SNDMSG( (hwnd), EE_SET_SEL_LENGTH, (WPARAM)(UINT_PTR)(nLen), (LPARAM)0 ); } #else #define Editor_SetSelLength( hwnd, nLen ) \ (void)SNDMSG( (hwnd), EE_SET_SEL_LENGTH, (WPARAM)(UINT_PTR)(nLen), (LPARAM)0 ) #endif #define EE_GET_CONFIGA (EE_FIRST+29) // (LPSTR)lParam = szConfigName #ifdef EE_STRICT inline void Editor_GetConfigA( HWND hwnd, LPSTR szConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_GET_CONFIGA, (WPARAM)0, (LPARAM)(LPSTR)(szConfigName) ); } #else #define Editor_GetConfigA( hwnd, szConfigName ) \ (void)SNDMSG( (hwnd), EE_GET_CONFIGA, (WPARAM)0, (LPARAM)(LPSTR)(szConfigName) ) #endif #ifdef EE_STRICT inline void Editor_DocGetConfigA( HWND hwnd, int iDoc, LPSTR szConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_GET_CONFIGA, (WPARAM)MAKEWPARAM(0, (iDoc)+1), (LPARAM)(LPSTR)(szConfigName) ); } #else #define Editor_DocGetConfigA( hwnd, iDoc, szConfigName ) \ (void)SNDMSG( (hwnd), EE_GET_CONFIGA, (WPARAM)MAKEWPARAM(0, (iDoc)+1), (LPARAM)(LPSTR)(szConfigName) ) #endif #define EE_GET_CONFIGW (EE_FIRST+50) // (LPWSTR)lParam = szConfigName #ifdef EE_STRICT inline void Editor_GetConfigW( HWND hwnd, LPWSTR szConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_GET_CONFIGW, (WPARAM)0, (LPARAM)(LPWSTR)(szConfigName) ); } #else #define Editor_GetConfigW( hwnd, szConfigName ) \ (void)SNDMSG( (hwnd), EE_GET_CONFIGW, (WPARAM)0, (LPARAM)(LPWSTR)(szConfigName) ) #endif #ifdef EE_STRICT inline void Editor_DocGetConfigW( HWND hwnd, int iDoc, LPWSTR szConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_GET_CONFIGW, (WPARAM)MAKEWPARAM(0, (iDoc)+1), (LPARAM)(LPWSTR)(szConfigName) ); } #else #define Editor_DocGetConfigW( hwnd, iDoc, szConfigName ) \ (void)SNDMSG( (hwnd), EE_GET_CONFIGW, (WPARAM)MAKEWPARAM(0, (iDoc)+1), (LPARAM)(LPWSTR)(szConfigName) ) #endif #define EE_SET_CONFIGA (EE_FIRST+30) // (LPCSTR)lParam = szConfigName #ifdef EE_STRICT inline BOOL Editor_SetConfigA( HWND hwnd, LPSTR szConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_SET_CONFIGA, (WPARAM)0, (LPARAM)(LPSTR)(szConfigName) ); } #else #define Editor_SetConfigA( hwnd, szConfigName ) \ (BOOL)SNDMSG( (hwnd), EE_SET_CONFIGA, (WPARAM)0, (LPARAM)(LPSTR)(szConfigName) ) #endif #ifdef EE_STRICT inline BOOL Editor_DocSetConfigA( HWND hwnd, int iDoc, LPSTR szConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_SET_CONFIGA, (WPARAM)MAKEWPARAM(0, (iDoc)+1), (LPARAM)(LPSTR)(szConfigName) ); } #else #define Editor_DocSetConfigA( hwnd, iDoc, szConfigName ) \ (BOOL)SNDMSG( (hwnd), EE_SET_CONFIGA, (WPARAM)MAKEWPARAM(0, (iDoc)+1), (LPARAM)(LPSTR)(szConfigName) ) #endif #define EE_SET_CONFIGW (EE_FIRST+51) // (LPCWSTR)lParam = szConfigName #ifdef EE_STRICT inline BOOL Editor_SetConfigW( HWND hwnd, LPWSTR szConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_SET_CONFIGW, (WPARAM)0, (LPARAM)(LPWSTR)(szConfigName) ); } #else #define Editor_SetConfigW( hwnd, szConfigName ) \ (BOOL)SNDMSG( (hwnd), EE_SET_CONFIGW, (WPARAM)0, (LPARAM)(LPWSTR)(szConfigName) ) #endif #ifdef EE_STRICT inline BOOL Editor_DocSetConfigW( HWND hwnd, int iDoc, LPWSTR szConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_SET_CONFIGW, (WPARAM)MAKEWPARAM(0, (iDoc)+1), (LPARAM)(LPWSTR)(szConfigName) ); } #else #define Editor_DocSetConfigW( hwnd, iDoc, szConfigName ) \ (BOOL)SNDMSG( (hwnd), EE_SET_CONFIGW, (WPARAM)MAKEWPARAM(0, (iDoc)+1), (LPARAM)(LPWSTR)(szConfigName) ) #endif #define EE_EMPTY_UNDO_BUFFER (EE_FIRST+31) #ifdef EE_STRICT inline void Editor_EmptyUndoBuffer( HWND hwnd ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_EMPTY_UNDO_BUFFER, (WPARAM)0, (LPARAM)0 ); } #else #define Editor_EmptyUndoBuffer( hwnd ) \ (void)SNDMSG( (hwnd), EE_EMPTY_UNDO_BUFFER, (WPARAM)0, (LPARAM)0 ) #endif #define OVERWRITE_PER_PROP 0 #define OVERWRITE_INSERT 1 #define OVERWRITE_OVERWRITE 2 #define OVERWRITE_MASK 3 #define KEEP_SOURCE_RETURN_TYPE 0x00000000 #define KEEP_DEST_RETURN_TYPE 0x00000010 #define EE_INSERT_STRINGA (EE_FIRST+32) // (int)wParam = nInsertType // (LPCSTR)lParam = szString inline void Editor_InsertStringA( HWND hwnd, LPCSTR szString, bool bKeepDestReturnType = false ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_INSERT_STRINGA, (WPARAM)OVERWRITE_PER_PROP | (bKeepDestReturnType ? KEEP_DEST_RETURN_TYPE : KEEP_SOURCE_RETURN_TYPE), (LPARAM)(LPCSTR)(szString) ); } inline void Editor_InsertA( HWND hwnd, LPCSTR szString, bool bKeepDestReturnType = false ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_INSERT_STRINGA, (WPARAM)OVERWRITE_INSERT | (bKeepDestReturnType ? KEEP_DEST_RETURN_TYPE : KEEP_SOURCE_RETURN_TYPE), (LPARAM)(LPCSTR)(szString) ); } inline void Editor_OverwriteA( HWND hwnd, LPCSTR szString, bool bKeepDestReturnType = false ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_INSERT_STRINGA, (WPARAM)OVERWRITE_OVERWRITE | (bKeepDestReturnType ? KEEP_DEST_RETURN_TYPE : KEEP_SOURCE_RETURN_TYPE), (LPARAM)(LPCSTR)(szString) ); } #define EE_INSERT_STRINGW (EE_FIRST+52) // (int)wParam = nInsertType | bKeepDestReturnType // (LPCWSTR)lParam = szString inline void Editor_InsertStringW( HWND hwnd, LPCWSTR szString, bool bKeepDestReturnType = false ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_INSERT_STRINGW, (WPARAM)OVERWRITE_PER_PROP | (bKeepDestReturnType ? KEEP_DEST_RETURN_TYPE : KEEP_SOURCE_RETURN_TYPE), (LPARAM)(LPCWSTR)(szString) ); } inline void Editor_InsertW( HWND hwnd, LPCWSTR szString, bool bKeepDestReturnType = false ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_INSERT_STRINGW, (WPARAM)OVERWRITE_INSERT | (bKeepDestReturnType ? KEEP_DEST_RETURN_TYPE : KEEP_SOURCE_RETURN_TYPE), (LPARAM)(LPCWSTR)(szString) ); } inline void Editor_OverwriteW( HWND hwnd, LPCWSTR szString, bool bKeepDestReturnType = false ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_INSERT_STRINGW, (WPARAM)OVERWRITE_OVERWRITE | (bKeepDestReturnType ? KEEP_DEST_RETURN_TYPE : KEEP_SOURCE_RETURN_TYPE), (LPARAM)(LPCWSTR)(szString) ); } #define EE_SET_SEL_VIEW (EE_FIRST+33) // (POINT_PTR*)wParam = pptSelStart, (POINT_PTR*)lParam = pptSelEnd #ifdef EE_STRICT inline void Editor_SetSelView( HWND hwnd, POINT_PTR* pptSelStart, POINT_PTR* pptSelEnd ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SET_SEL_VIEW, (WPARAM)(POINT_PTR*)(pptSelStart), (LPARAM)(POINT_PTR*)(pptSelEnd) ); } #else #define Editor_SetSelView( hwnd, pptSelStart, pptSelEnd ) \ (void)SNDMSG( (hwnd), EE_SET_SEL_VIEW, (WPARAM)(POINT_PTR*)(pptSelStart), (LPARAM)(POINT_PTR*)(pptSelEnd) ) #endif #define EE_FINDA (EE_FIRST+34) // (UINT)wParam = nFlags, (LPCSTR)lParam = szFind // returns (BOOL)bSuccess #ifdef EE_STRICT inline BOOL Editor_FindA( HWND hwnd, UINT nFlags, LPCSTR szFind ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_FINDA, (WPARAM)(UINT)(nFlags), (LPARAM)(LPCSTR)(szFind) ); } #else #define Editor_FindA( hwnd, nFlags, szFind ) \ (BOOL)SNDMSG( (hwnd), EE_FINDA, (WPARAM)(UINT)(nFlags), (LPARAM)(LPCSTR)(szFind) ) #endif #define EE_FINDW (EE_FIRST+53) // (UINT)wParam = nFlags, (LPCWSTR)lParam = szFind // returns (int)nCount #ifdef EE_STRICT inline int Editor_FindW( HWND hwnd, UINT nFlags, LPCWSTR szFind ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_FINDW, (WPARAM)(UINT)(nFlags), (LPARAM)(LPCWSTR)(szFind) ); } #else #define Editor_FindW( hwnd, nFlags, szFind ) \ (int)SNDMSG( (hwnd), EE_FINDW, (WPARAM)(UINT)(nFlags), (LPARAM)(LPCWSTR)(szFind) ) #endif #define EE_REPLACEA (EE_FIRST+35) // (UINT)wParam = nFlags, (LPCWSTR)lParam = szFindReplace // returns (int)nCount #ifdef EE_STRICT inline int Editor_ReplaceA( HWND hwnd, UINT nFlags, LPCSTR szFindReplace ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_REPLACEA, (WPARAM)(UINT)(nFlags), (LPARAM)(LPCSTR)(szFindReplace) ); } #else #define Editor_ReplaceA( hwnd, nFlags, szFindReplace ) \ (int)SNDMSG( (hwnd), EE_REPLACEA, (WPARAM)(UINT)(nFlags), (LPARAM)(LPCSTR)(szFindReplace) ) #endif #define EE_REPLACEW (EE_FIRST+54) // (UINT)wParam = nFlags, (LPCWSTR)lParam = szFindReplace // returns (int)nCount #ifdef EE_STRICT inline int Editor_ReplaceW( HWND hwnd, UINT nFlags, LPCWSTR szFindReplace ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_REPLACEW, (WPARAM)(UINT)(nFlags), (LPARAM)(LPCWSTR)(szFindReplace) ); } #else #define Editor_ReplaceW( hwnd, nFlags, szFindReplace ) \ (int)SNDMSG( (hwnd), EE_REPLACEW, (WPARAM)(UINT)(nFlags), (LPARAM)(LPCWSTR)(szFindReplace) ) #endif #define EE_LOAD_CONFIGA (EE_FIRST+36) // (LPCSTR)lParam = szConfigName #ifdef EE_STRICT inline BOOL Editor_LoadConfigA( HWND hwnd, LPCSTR szConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_LOAD_CONFIGA, (WPARAM)0, (LPARAM)(LPCSTR)(szConfigName) ); } #else #define Editor_LoadConfigA( hwnd, szConfigName ) \ (BOOL)SNDMSG( (hwnd), EE_LOAD_CONFIGA, (WPARAM)0, (LPARAM)(LPCSTR)(szConfigName) ) #endif #define EE_LOAD_CONFIGW (EE_FIRST+55) // (LPCWSTR)lParam = szConfigName #ifdef EE_STRICT inline BOOL Editor_LoadConfigW( HWND hwnd, LPCWSTR szConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_LOAD_CONFIGW, (WPARAM)0, (LPARAM)(LPCWSTR)(szConfigName) ); } #else #define Editor_LoadConfigW( hwnd, szConfigName ) \ (BOOL)SNDMSG( (hwnd), EE_LOAD_CONFIGW, (WPARAM)0, (LPARAM)(LPCWSTR)(szConfigName) ) #endif #define EE_SET_STATUSA (EE_FIRST+37) // (LPCSTR)lParam = szStatus #ifdef EE_STRICT inline void Editor_SetStatusA( HWND hwnd, LPCSTR szStatus ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SET_STATUSA, (WPARAM)0, (LPARAM)(LPCSTR)(szStatus) ); } #else #define Editor_SetStatusA( hwnd, szStatus ) \ (void)SNDMSG( (hwnd), EE_SET_STATUSA, (WPARAM)0, (LPARAM)(LPCSTR)(szStatus) ) #endif #define EE_SET_STATUSW (EE_FIRST+56) // (LPCWSTR)lParam = szStatus #ifdef EE_STRICT inline void Editor_SetStatusW( HWND hwnd, LPCWSTR szStatus ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SET_STATUSW, (WPARAM)0, (LPARAM)(LPCWSTR)(szStatus) ); } #else #define Editor_SetStatusW( hwnd, szStatus ) \ (void)SNDMSG( (hwnd), EE_SET_STATUSW, (WPARAM)0, (LPARAM)(LPCWSTR)(szStatus) ) #endif #define EE_CONVERT (EE_FIRST+38) // (UINT)wParam = nFlags #ifdef EE_STRICT inline BOOL Editor_Convert( HWND hwnd, UINT nFlags ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_CONVERT, (WPARAM)(UINT)(nFlags), (LPARAM)0 ); } #else #define Editor_Convert( hwnd, nFlags ) \ (BOOL)SNDMSG( (hwnd), EE_CONVERT, (WPARAM)(UINT)(nFlags), (LPARAM)0 ) #endif #define EE_GET_MARGIN (EE_FIRST+39) // returns (UINT_PTR)nMaxMargin #ifdef EE_STRICT inline UINT_PTR Editor_GetMargin( HWND hwnd ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( (hwnd), EE_GET_MARGIN, (WPARAM)0, (LPARAM)0 ); } #else #define Editor_GetMargin( hwnd ) \ (UINT_PTR)SNDMSG( (hwnd), EE_GET_MARGIN, (WPARAM)0, (LPARAM)0 ) #endif #define EE_GET_VERSION (EE_FIRST+40) // (UINT*)wParam = pnProductType // returns (UINT)nVersion #ifdef EE_STRICT inline UINT Editor_GetVersion( HWND hwnd ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT)SNDMSG( (hwnd), EE_GET_VERSION, (WPARAM)0, (LPARAM)0 ); } #else #define Editor_GetVersion( hwnd ) \ (UINT)SNDMSG( (hwnd), EE_GET_VERSION, (WPARAM)0, (LPARAM)0 ) #endif #ifdef EE_STRICT inline UINT Editor_GetVersionEx( HWND hwnd, UINT* pnProductType ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT)SNDMSG( (hwnd), EE_GET_VERSION, (WPARAM)pnProductType, (LPARAM)0 ); } #else #define Editor_GetVersionEx( hwnd, pnProductType ) \ (UINT)SNDMSG( (hwnd), EE_GET_VERSION, (WPARAM)(UINT*)pnProductType, (LPARAM)0 ) #endif #define VERSION_FREE 4 #define VERSION_LITE 3 #define VERSION_PRO 2 #define VERSION_STD 1 #define EE_GET_REF (EE_FIRST+41) // (ATOM)lParam = atom // return (int)nRef #ifdef EE_STRICT inline int Editor_GetRef( HWND hwnd, ATOM atom ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_GET_REF, (WPARAM)0, (LPARAM)(ATOM)atom ); } #else #define Editor_GetRef( hwnd, atom ) \ (int)SNDMSG( (hwnd), EE_GET_REF, (WPARAM)0, (LPARAM)(ATOM)atom ) #endif #define EE_ADD_REF (EE_FIRST+42) // (HINSTANCE)lParam = hInstance // return (int)nRef #ifdef EE_STRICT inline int Editor_AddRef( HWND hwnd, HINSTANCE hInstance ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_ADD_REF, (WPARAM)0, (LPARAM)(HINSTANCE)hInstance ); } #else #define Editor_AddRef( hwnd, hInstance ) \ (int)SNDMSG( (hwnd), EE_ADD_REF, (WPARAM)0, (LPARAM)(HINSTANCE)hInstance ) #endif #define EE_RELEASE (EE_FIRST+43) // (HINSTANCE)lParam = hInstance // return (int)nRef #ifdef EE_STRICT inline int Editor_Release( HWND hwnd, HINSTANCE hInstance ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_RELEASE, (WPARAM)0, (LPARAM)(HINSTANCE)hInstance ); } #else #define Editor_Release( hwnd, hInstance ) \ (int)SNDMSG( (hwnd), EE_RELEASE, (WPARAM)0, (LPARAM)(HINSTANCE)hInstance ) #endif #define EE_REDRAW (EE_FIRST+44) // (BOOL)wParam = bRedraw #ifdef EE_STRICT inline void Editor_Redraw( HWND hwnd, BOOL bRedraw ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_REDRAW, (WPARAM)bRedraw, (LPARAM)0 ); } #else #define Editor_Redraw( hwnd, bRedraw ) \ (void)SNDMSG( (hwnd), EE_REDRAW, (WPARAM)(BOOL)bRedraw, (LPARAM)0 ) #endif #define EE_GET_SEL_TYPE (EE_FIRST+45) // (BOOL)wParam = bNeedAlways // return (int)nSelType #ifdef EE_STRICT inline int Editor_GetSelType( HWND hwnd ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_GET_SEL_TYPE, (WPARAM)0, (LPARAM)0 ); } inline int Editor_GetSelTypeEx( HWND hwnd, BOOL bNeedAlways ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_GET_SEL_TYPE, (WPARAM)(BOOL)bNeedAlways, (LPARAM)0 ); } #else #define Editor_GetSelType( hwnd ) \ (int)SNDMSG( (hwnd), EE_GET_SEL_TYPE, (WPARAM)0, (LPARAM)0 ) #define Editor_GetSelTypeEx( hwnd, bNeedAlways ) \ (int)SNDMSG( (hwnd), EE_GET_SEL_TYPE, (WPARAM)(BOOL)bNeedAlways, (LPARAM)0 ) #endif #define EE_IS_CHAR_HALF_OR_FULL (EE_FIRST+57) // (WCHAR)wParam = ch // return (int)nWidth #ifdef EE_STRICT inline int Editor_IsCharHalfOrFull( HWND hwnd, WCHAR ch ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_IS_CHAR_HALF_OR_FULL, (WPARAM)ch, (LPARAM)0 ); } #else #define Editor_IsCharHalfOrFull( hwnd, ch ) \ (int)SNDMSG( (hwnd), EE_IS_CHAR_HALF_OR_FULL, (WPARAM)ch, (LPARAM)0 ) #endif #define EE_INFO (EE_FIRST+58) // (int)wParam = nCmd // lParam = lParam // return lResult #ifdef EE_STRICT inline LRESULT Editor_Info( HWND hwnd, WPARAM nCmd, LPARAM lParam ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (LRESULT)SNDMSG( (hwnd), EE_INFO, (WPARAM)nCmd, (LPARAM)lParam ); } #else #define Editor_Info( hwnd, nCmd, lParam ) \ (LRESULT)SNDMSG( (hwnd), EE_INFO, (WPARAM)nCmd, (LPARAM)lParam ) #endif #ifdef EE_STRICT inline LRESULT Editor_DocInfo( HWND hwnd, int iDoc, WPARAM nCmd, LPARAM lParam ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (LRESULT)SNDMSG( (hwnd), EE_INFO, (WPARAM)MAKEWPARAM((nCmd),(iDoc+1)), (LPARAM)(lParam) ); } #else #define Editor_DocInfo( hwnd, iDoc, nCmd, lParam ) \ (LRESULT)SNDMSG( (hwnd), EE_INFO, (WPARAM)MAKEWPARAM((nCmd),(iDoc+1)), (LPARAM)(lParam) ) #endif #define EE_FREE (EE_FIRST+59) // (ATOM)lParam = atom // return (BOOL)bSuccess #ifdef EE_STRICT inline BOOL Editor_Free( HWND hwnd, ATOM atom ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_FREE, (WPARAM)0, (LPARAM)(ATOM)atom ); } #else #define Editor_Free( hwnd, atom ) \ (BOOL)SNDMSG( (hwnd), EE_FREE, (WPARAM)0, (LPARAM)(ATOM)atom ) #endif #define EE_SET_SEL_TYPE (EE_FIRST+60) // (BOOL)wParam = bNeedAlways // (UINT)lParam = nSelType #ifdef EE_STRICT inline void Editor_SetSelType( HWND hwnd, UINT nSelType ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SET_SEL_TYPE, (WPARAM)0, (LPARAM)nSelType ); } inline void Editor_SetSelTypeEx( HWND hwnd, BOOL bNeedAlways, UINT nSelType ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SET_SEL_TYPE, (WPARAM)(BOOL)bNeedAlways, (LPARAM)nSelType ); } #else #define Editor_SetSelType( hwnd, nSelType ) \ (void)SNDMSG( (hwnd), EE_SET_SEL_TYPE, (WPARAM)0, (LPARAM)nSelType ) #define Editor_SetSelTypeEx( hwnd, nSelType ) \ (void)SNDMSG( (hwnd), EE_SET_SEL_TYPE_EX, (WPARAM)(BOOL)bNeedAlways, (LPARAM)nSelType ) #endif #define EE_GET_STATUSA (EE_FIRST+61) // (UINT_PTR)wParam = nBufSize // (LPSTR)lParam = szStatus // return (UINT_PTR)cchRequiredSize #ifdef EE_STRICT inline UINT_PTR Editor_GetStatusA( HWND hwnd, LPCSTR szStatus, UINT_PTR nBufSize ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( (hwnd), EE_GET_STATUSA, (WPARAM)nBufSize, (LPARAM)(LPCSTR)(szStatus) ); } #else #define Editor_GetStatusA( hwnd, szStatus, nBufSize ) \ (UINT_PTR)SNDMSG( (hwnd), EE_GET_STATUSA, (WPARAM)nBufSize, (LPARAM)(LPCSTR)(szStatus) ) #endif #define EE_GET_STATUSW (EE_FIRST+62) // (UINT_PTR)wParam = nBufSize // (LPWSTR)lParam = szStatus // return (UINT_PTR)cchRequiredSize #ifdef EE_STRICT inline UINT_PTR Editor_GetStatusW( HWND hwnd, LPCWSTR szStatus, UINT_PTR nBufSize ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( (hwnd), EE_GET_STATUSW, (WPARAM)nBufSize, (LPARAM)(LPCWSTR)(szStatus) ); } #else #define Editor_GetStatusW( hwnd, szStatus, nBufSize ) \ (UINT_PTR)SNDMSG( (hwnd), EE_GET_STATUSW, (WPARAM)nBufSize, (LPARAM)(LPCWSTR)(szStatus) ) #endif #define EE_INSERT_FILEA (EE_FIRST+63) // (LOAD_FILE_INFO_EX*)wParam = plfi // (LPCSTR)lParam = szFileName // returns non-zero if success, 0 if failed #ifdef EE_STRICT inline BOOL Editor_InsertFileA( HWND hwnd, LOAD_FILE_INFO_EX* plfi, LPCSTR szFileName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_INSERT_FILEA, (WPARAM)plfi, (LPARAM)(LPCSTR)(szFileName) ); } #else #define Editor_InsertFileA( hwnd, plfi, szFileName ) \ (BOOL)SNDMSG( (hwnd), EE_INSERT_FILEA, (WPARAM)(LOAD_FILE_INFO_EX*)plfi, (LPARAM)(LPCSTR)(szFileName) ) #endif #define EE_INSERT_FILEW (EE_FIRST+64) // (LOAD_FILE_INFO_EX*)wParam = plfi // (LPCWSTR)lParam = szFileName // returns non-zero if success, 0 if failed #ifdef EE_STRICT inline BOOL Editor_InsertFileW( HWND hwnd, LOAD_FILE_INFO_EX* plfi, LPCWSTR szFileName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_INSERT_FILEW, (WPARAM)(LOAD_FILE_INFO_EX*)plfi, (LPARAM)(LPCWSTR)(szFileName) ); } #else #define Editor_InsertFileW( hwnd, plfi, szFileName ) \ (BOOL)SNDMSG( (hwnd), EE_INSERT_FILEW, (WPARAM)plfi, (LPARAM)(LPCWSTR)(szFileName) ) #endif #define EE_FIND_IN_FILESA (EE_FIRST+65) // wParam = 0 // (GREP_INFOA*)lParam = pGrepInfo #ifdef EE_STRICT inline BOOL Editor_FindInFilesA( HWND hwnd, GREP_INFOA* pGrepInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_FIND_IN_FILESA, (WPARAM)0, (LPARAM)(GREP_INFOA*)pGrepInfo ); } #else #define Editor_FindInFilesA( hwnd, pGrepInfo ) \ (BOOL)SNDMSG( (hwnd), EE_FIND_IN_FILESA, (WPARAM)0, (LPARAM)pGrepInfo ) #endif #define EE_FIND_IN_FILESW (EE_FIRST+66) // wParam = 0 // (GREP_INFOW*)lParam = pGrepInfo #ifdef EE_STRICT inline BOOL Editor_FindInFilesW( HWND hwnd, GREP_INFOW* pGrepInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_FIND_IN_FILESW, (WPARAM)0, (LPARAM)pGrepInfo ); } inline BOOL Editor_FindInFiles( HWND hwnd, GREP_INFO_EX* pGrepInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_FIND_IN_FILESW, (WPARAM)0, (LPARAM)pGrepInfo ); } #else #define Editor_FindInFilesW( hwnd, pGrepInfo ) \ (BOOL)SNDMSG( (hwnd), EE_FIND_IN_FILESW, (WPARAM)0, (LPARAM)pGrepInfo ) #endif #define EE_REPLACE_IN_FILESA (EE_FIRST+67) // wParam = 0 // (GREP_INFOA*)lParam = pGrepInfo #ifdef EE_STRICT inline BOOL Editor_ReplaceInFilesA( HWND hwnd, GREP_INFOA* pGrepInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_REPLACE_IN_FILESA, (WPARAM)0, (LPARAM)pGrepInfo ); } #else #define Editor_ReplaceInFilesA( hwnd, pGrepInfo ) \ (BOOL)SNDMSG( (hwnd), EE_REPLACE_IN_FILESA, (WPARAM)0, (LPARAM)(GREP_INFOA*)pGrepInfo ) #endif #define EE_REPLACE_IN_FILESW (EE_FIRST+68) // wParam = 0 // (GREP_INFOW*)lParam = pGrepInfo #ifdef EE_STRICT inline BOOL Editor_ReplaceInFilesW( HWND hwnd, GREP_INFOW* pGrepInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( hwnd, EE_REPLACE_IN_FILESW, (WPARAM)0, (LPARAM)pGrepInfo ); } inline BOOL Editor_ReplaceInFiles( HWND hwnd, GREP_INFO_EX* pGrepInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( hwnd, EE_REPLACE_IN_FILESW, (WPARAM)0, (LPARAM)pGrepInfo ); } #else #define Editor_ReplaceInFilesW( hwnd, pGrepInfo ) \ (BOOL)SNDMSG( (hwnd), EE_REPLACE_IN_FILESW, (WPARAM)0, (LPARAM)pGrepInfo ) #endif #define EE_GET_ANCHOR_POS (EE_FIRST+69) // (int)wParam = nLogical // (POINT_PTR*)lParam = pptPos #ifdef EE_STRICT inline void Editor_GetAnchorPos( HWND hwnd, int nLogical, POINT_PTR* pptPos ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_GET_ANCHOR_POS, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ); } #else #define Editor_GetAnchorPos( hwnd, nLogical, pptPos ) \ (void)SNDMSG( (hwnd), EE_GET_ANCHOR_POS, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ) #endif #define EE_SET_ANCHOR_POS (EE_FIRST+70) // (int)wParam = nLogical // (POINT_PTR*)lParam = pptPos #ifdef EE_STRICT inline void Editor_SetAnchorPos( HWND hwnd, int nLogical, POINT_PTR* pptPos ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SET_ANCHOR_POS, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ); } #else #define Editor_SetAnchorPos( hwnd, nLogical, pptPos ) \ (void)SNDMSG( (hwnd), EE_SET_ANCHOR_POS, (WPARAM)(int)(nLogical), (LPARAM)(POINT_PTR*)(pptPos) ) #endif #define EE_GET_REDRAW (EE_FIRST+71) #ifdef EE_STRICT inline BOOL Editor_GetRedraw( HWND hwnd ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_GET_REDRAW, (WPARAM)0, (LPARAM)0 ); } #else #define Editor_GetRedraw( hwnd ) \ (BOOL)SNDMSG( (hwnd), EE_GET_REDRAW, (WPARAM)0, (LPARAM)0 ) #endif #define EE_DO_IDLE (EE_FIRST+72) #ifdef EE_STRICT inline void Editor_DoIdle( HWND hwnd, BOOL bResetTab ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_DO_IDLE, (WPARAM)(bResetTab), (LPARAM)0 ); } #else #define Editor_DoIdle( hwnd, bResetTab ) \ (void)SNDMSG( (hwnd), EE_DO_IDLE, (WPARAM)(bResetTab), (LPARAM)0 ) #endif #define EE_CUSTOM_BAR_OPEN (EE_FIRST+73) // (CUSTOM_BAR_INFO*)lParam = pCustomBarInfo #ifdef EE_STRICT inline UINT Editor_CustomBarOpen( HWND hwnd, CUSTOM_BAR_INFO* pCustomBarInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT)SNDMSG( (hwnd), EE_CUSTOM_BAR_OPEN, 0, (LPARAM)pCustomBarInfo ); } #else #endif #define EE_CUSTOM_BAR_CLOSE (EE_FIRST+74) // (int)wParam = nCustomBarID #ifdef EE_STRICT inline BOOL Editor_CustomBarClose( HWND hwnd, UINT nCustomBarID ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_CUSTOM_BAR_CLOSE, (WPARAM)nCustomBarID, 0 ); } #else #endif #define EE_MATCH_REGEX (EE_FIRST+75) #ifdef EE_STRICT inline int Editor_MatchRegex( HWND hwnd, MATCH_REGEX_INFO* pMatchRegexInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_MATCH_REGEX, (WPARAM)0, (LPARAM)pMatchRegexInfo ); } inline int Editor_MatchRegex( HWND hwnd, MATCH_REGEX_INFO_EX* pMatchRegexInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_MATCH_REGEX, (WPARAM)0, (LPARAM)pMatchRegexInfo ); } #else #define Editor_MatchRegex( hwnd, pMatchRegexInfo ) \ (int)SNDMSG( (hwnd), EE_MATCH_REGEX, (WPARAM)0, (LPARAM)pMatchRegexInfo ) #endif #define EE_FIND_REGEX (EE_FIRST+76) #ifdef EE_STRICT inline BOOL Editor_FindRegex( HWND hwnd, FIND_REGEX_INFO* pFindRegexInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_FIND_REGEX, (WPARAM)0, (LPARAM)pFindRegexInfo ); } inline BOOL Editor_FindRegex( HWND hwnd, FIND_REGEX_INFO_EX* pFindRegexInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_FIND_REGEX, (WPARAM)0, (LPARAM)pFindRegexInfo ); } #else #define Editor_FindRegex( hwnd, pFindRegexInfo ) \ (BOOL)SNDMSG( (hwnd), EE_FIND_REGEX, (WPARAM)0, (LPARAM)pFindRegexInfo ) #endif #define EE_GET_OUTLINE_LEVEL (EE_FIRST+77) // (INT_PTR)wParam = nLogicalLine // return nLevel inline int Editor_GetOutlineLevel( HWND hwnd, INT_PTR nLogicalLine ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_GET_OUTLINE_LEVEL, (WPARAM)nLogicalLine, (LPARAM)0 ); } #define EE_SET_OUTLINE_LEVEL (EE_FIRST+78) // (INT_PTR)wParam = nLogicalLine // (int)lParam = nLevel // return nOldLevel inline int Editor_SetOutlineLevel( HWND hwnd, INT_PTR nLogicalLine, int nLevel ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (int)SNDMSG( (hwnd), EE_SET_OUTLINE_LEVEL, (WPARAM)nLogicalLine, (LPARAM)nLevel ); } #define EE_SHOW_OUTLINE (EE_FIRST+79) // (UINT)wParam = nFlags // return lResult inline void Editor_ShowOutline( HWND hwnd, WPARAM nFlags ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_SHOW_OUTLINE, (WPARAM)nFlags, (LPARAM)0 ); } #define SHOW_OUTLINE_SHOW 1 #define SHOW_OUTLINE_HIDE 0 #define EE_ENUM_CONFIG (EE_FIRST+80) // (size_t)wParam = cchBuf // (LPWSTR)lParam = pBuf // return nSize inline size_t Editor_EnumConfig( HWND hwnd, LPWSTR pBuf, size_t cchBuf ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (size_t)SNDMSG( (hwnd), EE_ENUM_CONFIG, (WPARAM)cchBuf, (LPARAM)pBuf ); } #define EE_TOOLBAR_OPEN (EE_FIRST+81) // (TOOLBAR_INFO*)lParam = pToolbarInfo inline UINT Editor_ToolbarOpen( HWND hwnd, TOOLBAR_INFO* pToolbarInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT)SNDMSG( (hwnd), EE_TOOLBAR_OPEN, 0, (LPARAM)pToolbarInfo ); } #define EE_TOOLBAR_CLOSE (EE_FIRST+82) // (UINT)wParam = nToolbarID inline BOOL Editor_ToolbarClose( HWND hwnd, UINT nCustomRebarID ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_TOOLBAR_CLOSE, (WPARAM)nCustomRebarID, 0 ); } #define EE_TOOLBAR_SHOW (EE_FIRST+83) // (UINT)wParam = nToolbarID // (BOOL)lParam = bVisible inline BOOL Editor_ToolbarShow( HWND hwnd, UINT nCustomRebarID, BOOL bVisible ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( (hwnd), EE_TOOLBAR_SHOW, (WPARAM)nCustomRebarID, (LPARAM)bVisible ); } #define EE_HELP (EE_FIRST+84) // (UINT)wParam = nFlag (must be 0) // (LPCTSTR)lParam = szPageURL inline void Editor_Help( HWND hwnd, LPCTSTR szPageURL ) { _ASSERT( hwnd && IsWindow( hwnd ) ); SNDMSG( (hwnd), EE_HELP, 0, (LPARAM)szPageURL ); } #define EE_REG_SET_VALUE (EE_FIRST+85) // (REG_SET_VALUE_INFO*)lParam = pRegSetValueInfo; inline LONG Editor_RegSetValue( HWND hwnd, DWORD dwKey, LPCWSTR pszConfig, LPCWSTR pszValue, DWORD dwType, const BYTE* lpData, DWORD cbData, DWORD dwFlags ) { _ASSERT( hwnd && IsWindow( hwnd ) ); REG_SET_VALUE_INFO info = { 0 }; info.cbSize = sizeof( info ); info.dwKey = dwKey; info.pszConfig = pszConfig; info.pszValue = pszValue; info.dwType = dwType; info.lpData = lpData; info.cbData = cbData; info.dwFlags = dwFlags; return (LONG)SNDMSG( (hwnd), EE_REG_SET_VALUE, 0, (LPARAM)&info ); } #define EE_REG_QUERY_VALUE (EE_FIRST+86) // (REG_QUERY_VALUE_INFO*)lParam = pRegQueryValueInfo; inline LONG Editor_RegQueryValue( HWND hwnd, DWORD dwKey, LPCWSTR pszConfig, LPCWSTR pszValue, DWORD dwType, BYTE* lpData, DWORD* lpcbData, DWORD dwFlags ) { _ASSERT( hwnd && IsWindow( hwnd ) ); REG_QUERY_VALUE_INFO info = { 0 }; info.cbSize = sizeof( info ); info.dwKey = dwKey; info.pszConfig = pszConfig; info.pszValue = pszValue; info.dwType = dwType; info.lpData = lpData; info.lpcbData = lpcbData; info.dwFlags = dwFlags; return (LONG)SNDMSG( (hwnd), EE_REG_QUERY_VALUE, 0, (LPARAM)&info ); } #define EE_QUERY_STRING (EE_FIRST+87) // (UINT)wParam = nCmdID, (LPWSTR)lParam = psz (buffer must be MAX_PATH) // returns (BOOL)bValidCmd inline BOOL Editor_QueryString( HWND hwnd, UINT nCmdID, LPWSTR psz, BOOL bShortTitle = FALSE ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( hwnd, EE_QUERY_STRING, (WPARAM)MAKEWPARAM( nCmdID, bShortTitle ), (LPARAM)psz ); } #define EE_KEYBOARD_PROP (EE_FIRST+88) // (UINT)wParam = nCmdID, (LPCWSTR)lParam = pszConfigName // returns (BOOL)bResult inline BOOL Editor_KeyboardProp( HWND hwnd, UINT nCmdID, LPCWSTR pszConfigName ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( hwnd, EE_KEYBOARD_PROP, (WPARAM)nCmdID, (LPARAM)pszConfigName ); } #define EE_GET_ACCEL_ARRAY (EE_FIRST+89) // (UINT)wParam = nBufSize (size of buffer in ACCEL) // (ACCEL*)lParam = pAccel inline UINT Editor_GetAccelArray( HWND hwnd, ACCEL* pAccel, UINT nBufSize ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT)SNDMSG( hwnd, EE_GET_ACCEL_ARRAY, (WPARAM)nBufSize, (LPARAM)pAccel ); } #define EE_OUTPUT_STRING (EE_FIRST+90) // (UINT)wParam = flags // (LPCWSTR)lParam = pszString inline BOOL Editor_OutputString( HWND hwnd, LPCWSTR pszString, UINT flags ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( hwnd, EE_OUTPUT_STRING, (WPARAM)flags, (LPARAM)pszString ); } #define EE_OUTPUT_DIR (EE_FIRST+91) // (LPCWSTR)lParam = pszCurrDir inline BOOL Editor_OutputDir( HWND hwnd, LPCWSTR pszCurrDir ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (BOOL)SNDMSG( hwnd, EE_OUTPUT_DIR, (WPARAM)0, (LPARAM)pszCurrDir ); } #define EE_ENUM_HIGHLIGHT (EE_FIRST+92) // (LPWSTR)pBuf // (size_t)cchBuf inline size_t Editor_EnumHighlight( HWND hwnd, LPWSTR pBuf, size_t cchBuf ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (size_t)SNDMSG( (hwnd), EE_ENUM_HIGHLIGHT, (WPARAM)cchBuf, (LPARAM)pBuf ); } #define EE_OUTPUT_PROCESS (EE_FIRST+93) // wParam = 0 // (PROCESS_INFO*)lParam = pProcessInfo inline BOOL Editor_OutputProcess( HWND hwnd, LPCWSTR pszAppName, LPCWSTR pszCmdLine, LPCWSTR pszDir, UINT nFlags, UINT nCP ) { _ASSERT( hwnd && IsWindow( hwnd ) ); PROCESS_INFO pi = { 0 }; pi.cbSize = sizeof( pi ); pi.pszAppName = pszAppName; pi.pszCmdLine = pszCmdLine; pi.pszDir = pszDir; pi.nFlags = nFlags; pi.nCP = nCP; return (BOOL)SNDMSG( hwnd, EE_OUTPUT_PROCESS, (WPARAM)0, (LPARAM)&pi ); } #define EE_GET_DROPPED_FILE (EE_FIRST+94) // (int)wParam = nIndex // (LPWSTR)lParam = pszBuf inline UINT Editor_GetDroppedFile( HWND hwnd, int nIndex, LPWSTR pszBuf ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT)SNDMSG( hwnd, EE_GET_DROPPED_FILE, (WPARAM)nIndex, (LPARAM)pszBuf ); } typedef struct _RUN_MACRO_INFO { size_t cbSize; LPCWSTR pszMacroFile; LPCWSTR pszText; UINT nFlags; int nDefMacroLang; POINT_PTR ptOrgPos; POINT_PTR ptCodePos; POINT_PTR ptErrorPos; HGLOBAL hstrResult; } RUN_MACRO_INFO; #define S_EDIT_TEMP ((HRESULT)2) #define MACRO_LANG_JSCRIPT 0 #define MACRO_LANG_VBSCRIPT 1 #define MACRO_LANG_UNKNOWN 0x000000ff #define EE_RUN_MACRO (EE_FIRST+95) // (RUN_MACRO_INFO*)lParam = pRunMacroInfo // retusn S_OK (success) // S_FALSE (macro error like syntax error) // S_EDIT_TEMP (macro error but could not open temporary file when trying to edit) // E_FAIL (error) inline HRESULT Editor_RunMacro( HWND hwnd, UINT nFlags, UINT nDefMacroLang, LPCWSTR pszMacroFile, LPCWSTR pszText, POINT_PTR* pptOrgPos, POINT_PTR* pptCodePos, POINT_PTR* pptErrorPos, HGLOBAL* phstrResult ) { _ASSERT( hwnd && IsWindow( hwnd ) ); RUN_MACRO_INFO rmi = { 0 }; rmi.cbSize = sizeof( rmi ); rmi.pszMacroFile = pszMacroFile; rmi.pszText = pszText; rmi.nFlags = nFlags; rmi.nDefMacroLang = nDefMacroLang; rmi.ptErrorPos.x = rmi.ptErrorPos.y = -1; rmi.ptOrgPos.x = pptOrgPos->x; rmi.ptOrgPos.y = pptOrgPos->y; rmi.ptCodePos.x = pptCodePos->x; rmi.ptCodePos.y = pptCodePos->y; if( phstrResult ){ rmi.hstrResult = *phstrResult; } HRESULT hr = (HRESULT)SNDMSG( hwnd, EE_RUN_MACRO, 0, (LPARAM)&rmi ); if( pptErrorPos ){ pptErrorPos->x = rmi.ptErrorPos.x; pptErrorPos->y = rmi.ptErrorPos.y; } if( phstrResult ){ *phstrResult = rmi.hstrResult; } return hr; } //inline UINT Editor_RunMacro( HWND hwnd, UINT nFlags, LPCWSTR pszMacroFile ) //{ // return (UINT)SNDMSG( hwnd, EE_RUN_MACRO, (WPARAM)nFlags, (LPARAM)pszMacroFile ); //} #define TEMP_INFO_OPEN 0 #define TEMP_INFO_CLOSED 1 #define TEMP_INFO_CLOSE 1 #define TEMP_INFO_SAVE 2 #define TEMP_INFO_QUIT 4 typedef struct _TEMP_INFO { size_t cbSize; LPCWSTR pszTempText; LPCWSTR pszTitle; LPCWSTR pszIconPath; LPCWSTR pszConfig; POINT_PTR ptInitialCaret; UINT nID; UINT nEncoding; UINT nFlags; } TEMP_INFO; #define EE_EDIT_TEMP (EE_FIRST+96) inline UINT Editor_EditTemp( HWND hwnd, LPCWSTR pszTempText, LPCWSTR pszTitle, LPCWSTR pszIconPath, LPCWSTR pszConfig, UINT nEncoding, POINT_PTR* pptInitialCaret = NULL, UINT nFlags = 0 ) { _ASSERT( hwnd && IsWindow( hwnd ) ); TEMP_INFO ti = { 0 }; ti.cbSize = sizeof( ti ); ti.pszTempText = pszTempText; ti.pszTitle = pszTitle; ti.pszIconPath = pszIconPath; ti.pszConfig = pszConfig; if( pptInitialCaret ){ ti.ptInitialCaret = *pptInitialCaret; } else { ti.ptInitialCaret.x = ti.ptInitialCaret.y = -1; } ti.nEncoding = nEncoding; ti.nFlags = nFlags; return (UINT)SNDMSG( hwnd, EE_EDIT_TEMP, (WPARAM)0, (LPARAM)&ti ); } inline UINT Editor_ActivateTemp( HWND hwnd, UINT nEditID, POINT_PTR* pptInitialCaret = NULL ) { _ASSERT( hwnd && IsWindow( hwnd ) ); TEMP_INFO ti = { 0 }; ti.cbSize = sizeof( ti ); ti.nID = nEditID; if( pptInitialCaret ){ ti.ptInitialCaret = *pptInitialCaret; } else { ti.ptInitialCaret.x = ti.ptInitialCaret.y = -1; } return (UINT)SNDMSG( hwnd, EE_EDIT_TEMP, (WPARAM)0, (LPARAM)&ti ); } inline UINT Editor_SaveTemp( HWND hwnd, UINT nEditID ) { _ASSERT( hwnd && IsWindow( hwnd ) ); TEMP_INFO ti = { 0 }; ti.cbSize = sizeof( ti ); ti.nID = nEditID; ti.nFlags = TEMP_INFO_SAVE; return (UINT)SNDMSG( hwnd, EE_EDIT_TEMP, (WPARAM)0, (LPARAM)&ti ); } inline UINT Editor_CloseTemp( HWND hwnd, UINT nEditID ) { _ASSERT( hwnd && IsWindow( hwnd ) ); TEMP_INFO ti = { 0 }; ti.cbSize = sizeof( ti ); ti.nID = nEditID; ti.nFlags = TEMP_INFO_CLOSE; return (UINT)SNDMSG( hwnd, EE_EDIT_TEMP, (WPARAM)0, (LPARAM)&ti ); } typedef struct _CLIP_INFO { size_t cbSize; LPWSTR pszBuf; UINT cchBuf; UINT iPos; UINT nAction; UINT nFlags; } CLIP_INFO; #define CI_GET_CLIP 0 #define CI_INSERT_CLIP 1 #define CI_REMOVE_CLIP 2 #define CI_GET_CLIP_POS 3 #define CI_SET_CLIP_POS 4 #define CI_ROTATE_CLIP 5 #define CI_FLAG_NO_UPDATE_REAL_CLIP 0x00001000 #define MAX_CLIP_LEN 0x00020000 #define EE_CLIP_HISTORY (EE_FIRST+97) inline UINT Editor_GetClip( HWND hwnd, LPWSTR pszBuf, UINT cchBuf, UINT iPos, UINT* pnFlags ) { _ASSERT( hwnd && IsWindow( hwnd ) ); CLIP_INFO ci = { 0 }; ci.cbSize = sizeof( ci ); ci.nAction = CI_GET_CLIP; ci.pszBuf = pszBuf; ci.cchBuf = cchBuf; ci.iPos = iPos; ci.nFlags = *pnFlags; UINT nResult = (UINT)SNDMSG( hwnd, EE_CLIP_HISTORY, (WPARAM)0, (LPARAM)&ci ); *pnFlags = ci.nFlags; return nResult; } inline UINT Editor_InsertClip( HWND hwnd, LPCWSTR pszText, UINT iPos, UINT nFlags ) { _ASSERT( hwnd && IsWindow( hwnd ) ); CLIP_INFO ci = { 0 }; ci.cbSize = sizeof( ci ); ci.nAction = CI_INSERT_CLIP; ci.pszBuf = (LPWSTR)pszText; ci.iPos = iPos; ci.nFlags = nFlags; UINT nResult = (UINT)SNDMSG( hwnd, EE_CLIP_HISTORY, (WPARAM)0, (LPARAM)&ci ); return nResult; } inline UINT Editor_RemoveClip( HWND hwnd, UINT iPos, UINT nFlags ) { _ASSERT( hwnd && IsWindow( hwnd ) ); CLIP_INFO ci = { 0 }; ci.cbSize = sizeof( ci ); ci.nAction = CI_REMOVE_CLIP; ci.iPos = iPos; ci.nFlags = nFlags; UINT nResult = (UINT)SNDMSG( hwnd, EE_CLIP_HISTORY, (WPARAM)0, (LPARAM)&ci ); return nResult; } inline int Editor_GetClipPos( HWND hwnd ) { _ASSERT( hwnd && IsWindow( hwnd ) ); CLIP_INFO ci = { 0 }; ci.cbSize = sizeof( ci ); ci.nAction = CI_GET_CLIP_POS; UINT nResult = (UINT)SNDMSG( hwnd, EE_CLIP_HISTORY, (WPARAM)0, (LPARAM)&ci ); return (int)nResult; } inline UINT Editor_SetClipPos( HWND hwnd, int iPos ) { _ASSERT( hwnd && IsWindow( hwnd ) ); CLIP_INFO ci = { 0 }; ci.cbSize = sizeof( ci ); ci.nAction = CI_SET_CLIP_POS; ci.iPos = (UINT)iPos; UINT nResult = (UINT)SNDMSG( hwnd, EE_CLIP_HISTORY, (WPARAM)0, (LPARAM)&ci ); return nResult; } inline UINT Editor_RotateClip( HWND hwnd, int iDirection ) { _ASSERT( hwnd && IsWindow( hwnd ) ); CLIP_INFO ci = { 0 }; ci.cbSize = sizeof( ci ); ci.nAction = CI_ROTATE_CLIP; ci.iPos = (UINT)iDirection; UINT nResult = (UINT)SNDMSG( hwnd, EE_CLIP_HISTORY, (WPARAM)0, (LPARAM)&ci ); return nResult; } #define EE_GET_OUTPUT_STRING (EE_FIRST+98) inline UINT Editor_GetOutputString( HWND hwnd, UINT cchBuf, LPWSTR pBuf ) { _ASSERT( hwnd && IsWindow( hwnd ) ); UINT nResult = (UINT)SNDMSG( hwnd, EE_GET_OUTPUT_STRING, (WPARAM)cchBuf, (LPARAM)pBuf ); return nResult; } #define ATTR_NONE 0x00 #define ATTR_COMMENT 0x10 #define ATTR_DOUBLE_QUOTE 0x20 #define ATTR_SINGLE_QUOTE 0x40 #define ATTR_TAG 0x80 #define AI_NEED_CONFIG_SCOPE 0x01 #define AI_NEED_CONFIG_DOC 0x02 #define AI_NEED_ATTR_SUB 0x04 #define AI_NEED_ALL 0x07 typedef struct _ATTR_INFO { size_t cbSize; // in POINT_PTR ptLogical; // in UINT nFlags; // in UINT nAttr; // out WCHAR szConfigScope[MAX_CONFIG_NAME]; // out WCHAR szConfigDoc[MAX_CONFIG_NAME]; // out } ATTR_INFO; #define EE_GET_ATTR (EE_FIRST+99) inline BOOL Editor_GetAttr( HWND hwnd, ATTR_INFO* pAI ) { return (BOOL)SNDMSG( hwnd, EE_GET_ATTR, 0, (LPARAM)pAI ); } #define EE_GET_WORD (EE_FIRST+100) // (UINT_PTR)wParam = nBufferSize, (LPWSTR)lParam = szBuffer // returns (UINT_PTR)nRequiredBufferSize inline UINT_PTR Editor_GetWord( HWND hwnd, UINT_PTR nBufferSize, LPWSTR szBuffer ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( hwnd, EE_GET_WORD, (WPARAM)nBufferSize, (LPARAM)szBuffer ); } typedef struct _SEL_INFO { POINT_PTR ptStart; POINT_PTR ptEnd; } SEL_INFO; #define EE_GET_MULTI_SEL (EE_FIRST+101) // (UINT_PTR)wParam = nBufferSize, (LPWSTR)lParam = szBuffer // returns (UINT_PTR)nRequiredBufferSize inline UINT_PTR Editor_GetMultiSel( HWND hwnd, UINT_PTR iSel, SEL_INFO* pSelInfo ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( hwnd, EE_GET_MULTI_SEL, (WPARAM)iSel, (LPARAM)pSelInfo ); } typedef struct _OUTLINE_ARRAY_INFO { int nVersion; // must be 1 UINT nFlags; // must be 0 INT_PTR nStartLine; INT_PTR nCount; BYTE* pLevelData; } OUTLINE_ARRAY_INFO; #define EE_SET_OUTLINE_ARRAY (EE_FIRST+102) // wParam = 0 // (OUTLINE_ARRAY_INFO*)lParam = pOutlineArrayInfo // return bSuccess inline BOOL Editor_SetOutlineArray( HWND hwnd, INT_PTR nStartLine, INT_PTR nCount, BYTE* pLevelData ) { _ASSERT( hwnd && IsWindow( hwnd ) ); OUTLINE_ARRAY_INFO info; info.nStartLine = nStartLine; info.nCount = nCount; info.pLevelData = pLevelData; return (BOOL)SNDMSG( (hwnd), EE_SET_OUTLINE_ARRAY, 0, (LPARAM)&info ); } typedef struct _GET_COLOR_INFO { UINT cbSize; BOOL bFind; UINT nIndex; COLORREF clrText; COLORREF clrBack; int nAttr; } GET_COLOR_INFO; #define EE_GET_COLOR (EE_FIRST+103) // wParam = 0 // (GET_COLOR_INFO*)lParam = pGetColorInfo; // return bSuccess; inline BOOL Editor_GetColor( HWND hwnd, BOOL bFind, UINT nIndex, COLORREF* pclrText, COLORREF* pclrBack, int* pnAttr ) { _ASSERT( hwnd && IsWindow( hwnd ) ); GET_COLOR_INFO info; info.cbSize = sizeof( info ); info.bFind = bFind; info.nIndex = nIndex; BOOL bSuccess = (BOOL)SNDMSG( (hwnd), EE_GET_COLOR, 0, (LPARAM)&info ); if( bSuccess ){ if( pclrText ){ *pclrText = info.clrText; } if( pclrBack ){ *pclrBack = info.clrBack; } if( pnAttr ){ *pnAttr = info.nAttr; } } return bSuccess; } #define CELL_INCLUDE_NONE 0 #define CELL_INCLUDE_QUOTES 1 #define CELL_INCLUDE_QUOTES_AND_DELIMITER 2 #define CELL_INCLUDE_LINES 3 #define DELETE_DUPLIATE_IGNORE_EMPTY_LINES 1 typedef struct _GET_CELL_INFO { UINT_PTR cch; // in UINT flags; // in UINT_PTR yLine; // in int iColumn; // in } GET_CELL_INFO; #define EE_GET_CELL (EE_FIRST+104) // (GET_COLUMN_INFO*)wParam = pGetColumnInfo, (LPWSTR)lParam = szString // returns (UINT_PTR)nRequiredBufferSize inline UINT_PTR Editor_GetCell( HWND hwnd, GET_CELL_INFO* pGetCellInfo, LPWSTR szString ) { _ASSERT( hwnd && IsWindow( hwnd ) ); return (UINT_PTR)SNDMSG( (hwnd), EE_GET_CELL, (WPARAM)(GET_CELL_INFO*)(pGetCellInfo), (LPARAM)(LPWSTR)(szString) ); } typedef struct _FILTER_INFO { UINT cbSize; // in UINT flags; // in int iColumn; // in LPCWSTR pszFilter; // in INT_PTR xBegin; // in INT_PTR xEnd; // in } FILTER_INFO; #define EE_FILTER (EE_FIRST+105) // (FILTER_INFO*)wParam = pFilterInfo // returns (int)nCount inline int Editor_Filter( HWND hwnd, LPCWSTR szFilter, int iColumn, UINT nFlags, INT_PTR xBegin, INT_PTR xEnd ) { _ASSERT( hwnd && IsWindow( hwnd ) ); FILTER_INFO fi; fi.cbSize = sizeof( fi ); fi.flags = nFlags; fi.iColumn = iColumn; fi.pszFilter = szFilter; fi.xBegin = xBegin; fi.xEnd = xEnd; return (int)SNDMSG( (hwnd), EE_FILTER, (WPARAM)&fi, 0 ); } #define JOIN_FLAG_UNIQUE_KEY_1 0x0001 #define JOIN_FLAG_UNIQUE_KEY_2 0x0002 #define JOIN_FLAG_INCLUDE_ALL_1 0x0004 #define JOIN_FLAG_INCLUDE_ALL_2 0x0008 #define JOIN_FLAG_MATCH_CASE 0x0010 #define JOIN_FLAG_SIMPLE_JOIN 0x0020 #define JOIN_FLAG_MASK 0x003f #define E_DOCUMENT_1_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000001L) #define E_DOCUMENT_2_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000002L) #define E_COLUMN_1_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000003L) #define E_COLUMN_2_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000004L) #define E_SELECT_SYNTAX _HRESULT_TYPEDEF_(0xa0000005L) #define E_SELECT_DOCUMENT_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000006L) #define E_SELECT_COLUMN_NOT_FOUND _HRESULT_TYPEDEF_(0xa0000007L) #define E_DIFFERENT_CSV_MODE _HRESULT_TYPEDEF_(0xa0000008L) #define E_NOT_MDI _HRESULT_TYPEDEF_(0xa0000009L) #define E_WRITE_TEMP_FILE _HRESULT_TYPEDEF_(0xa000000aL) typedef struct _JOIN_INFO { UINT cbSize; UINT flags; LPCWSTR pszDocument1; LPCWSTR pszDocument2; LPCWSTR pszColumn1; LPCWSTR pszColumn2; LPCWSTR pszSelect; UINT iDocument3; } JOIN_INFO; #define EE_JOIN (EE_FIRST+106) // (JOIN_INFO*)wParam = pJoinInfo // returns (int)nCount inline int Editor_Join( HWND hwnd, UINT nFlags, LPCWSTR pszDocument1, LPCWSTR pszColumn1, LPCWSTR pszDocument2, LPCWSTR pszColumn2, LPCWSTR pszSelect, int* piDocument3 ) { _ASSERT( hwnd && IsWindow( hwnd ) ); JOIN_INFO ji; ji.cbSize = sizeof( ji ); ji.flags = nFlags; ji.pszDocument1 = pszDocument1; ji.pszDocument2 = pszDocument2; ji.pszColumn1 = pszColumn1; ji.pszColumn2 = pszColumn2; ji.pszSelect = pszSelect; int nResult = (int)SNDMSG( (hwnd), EE_JOIN, (WPARAM)&ji, 0 ); if( nResult >= 0 && piDocument3 != NULL ) { *piDocument3 = ji.iDocument3; } return nResult; } #define PLUGIN_FLAG_EXEC_COMMAND 0 #define PLUGIN_FLAG_USER_MSG 1 #define PLUGIN_FLAG_QUERY_STATUS 2 #define PLUGIN_FLAG_ABSOLUTE_PATH 4 #define STATUS_ENABLED 2 #define STATUS_LATCHED 4 typedef struct _EXEC_PLUGIN_INFO { UINT cbSize; LONG nFlags; LPCWSTR pszName; WPARAM wParam; LPARAM lParam; LONG_PTR nResult; } EXEC_PLUGIN_INFO; #define EE_EXEC_PLUGIN (EE_FIRST+107) inline HRESULT Editor_ExecPlugin( HWND hwnd, LPCWSTR pszName, LONG nFlags, WPARAM wParam, LPARAM lParam, LONG_PTR* pnResult ) { _ASSERT( hwnd && IsWindow( hwnd ) ); EXEC_PLUGIN_INFO epi; epi.cbSize = sizeof( epi ); epi.nFlags = nFlags; epi.pszName = pszName; epi.wParam = wParam; epi.lParam = lParam; HRESULT hr = (HRESULT)SNDMSG( (hwnd), EE_EXEC_PLUGIN, (WPARAM)&epi, 0 ); if( SUCCEEDED( hr ) && pnResult != NULL ) { *pnResult = epi.nResult; } return hr; } #define EE_FIND_REPLACE (EE_FIRST+108) typedef struct _FIND_REPLACE_INFO { UINT cbSize; UINT64 nFlags; LPCWSTR pszFind; LPCWSTR pszReplace; UINT64 nCount; UINT64 nMatchedLines; } FIND_REPLACE_INFO; inline HRESULT Editor_FindReplace( HWND hwnd, UINT64 nFlags, LPCWSTR pszFind, LPCWSTR pszReplace, UINT64* pnCount, UINT64* pnMatchedLines ) { FIND_REPLACE_INFO fri = { 0 }; fri.cbSize = sizeof( fri ); fri.nFlags = nFlags; fri.pszFind = pszFind; fri.pszReplace = pszReplace; HRESULT hr = (HRESULT)SNDMSG( (hwnd), EE_FIND_REPLACE, 0, (LPARAM)&fri ); if( SUCCEEDED( hr ) ) { if( pnCount ) *pnCount = fri.nCount; if( pnMatchedLines ) *pnMatchedLines = fri.nMatchedLines; } return hr; } #define EE_EXPORT_FILTER (EE_FIRST+109) typedef struct _EXPORT_IMPORT_FILTER_INFO { UINT cbSize; LPCWSTR pszFileName; UINT64 nFlags; UINT64 nMatchedLines; } EXPORT_IMPORT_FILTER_INFO; inline HRESULT Editor_ExportFilter( HWND hwnd, LPCWSTR pszFileName ) { EXPORT_IMPORT_FILTER_INFO info = { 0 }; info.cbSize = sizeof( info ); info.pszFileName = pszFileName; return (HRESULT)SNDMSG( (hwnd), EE_EXPORT_FILTER, (WPARAM)&info, 0 ); } #define EE_IMPORT_FILTER (EE_FIRST+110) inline HRESULT Editor_ImportFilter( HWND hwnd, LPCWSTR pszFileName, UINT64* pnMatchedLines ) { EXPORT_IMPORT_FILTER_INFO info = { 0 }; info.cbSize = sizeof( info ); info.pszFileName = pszFileName; HRESULT hr = (HRESULT)SNDMSG( (hwnd), EE_IMPORT_FILTER, (WPARAM)&info, 0 ); *pnMatchedLines = info.nMatchedLines; return hr; } #define EE_GET_FILTER (EE_FIRST+111) inline int Editor_GetFilter( HWND hwnd, int iFilter, LPWSTR pszFilter, UINT cchFilter, int* piColumn, UINT* pnFlags, INT_PTR* pxBegin, INT_PTR* pxEnd ) { _ASSERT( hwnd && IsWindow( hwnd ) ); FILTER_INFO fi = { 0 }; fi.cbSize = sizeof( fi ); fi.pszFilter = pszFilter; if( iFilter >= 0 && cchFilter < MAX_FILTER_BUF ) { return -2; // buffer size not enough } int nResult = (int)SNDMSG( hwnd, EE_GET_FILTER, (WPARAM)&fi, (LPARAM)iFilter ); if( nResult > 0 && iFilter >= 0 ) { *pnFlags = fi.flags; *piColumn = fi.iColumn; *pxBegin = fi.xBegin; *pxEnd = fi.xEnd; } return nResult; } // #define EE_LAST (EE_FIRST+255) #define RUN_FILE 0 #define RUN_TEXT 1 #define HIGHLIGHT_COLOR_MASK 0x000f #define HIGHLIGHT_WORD 0x0100 #define HIGHLIGHT_RIGHT_SIDE 0x0200 #define HIGHLIGHT_INSIDE_TAG 0x0400 #define HIGHLIGHT_REG_EXP 0x0800 #define HIGHLIGHT_CASE 0x1000 #define HIGHLIGHT_RIGHT_ALL 0x2000 #define FLAG_OPEN_OUTPUT 0x0001 #define FLAG_CLOSE_OUTPUT 0x0002 #define FLAG_FOCUS_OUTPUT 0x0004 #define FLAG_CLEAR_OUTPUT 0x0008 #define FLAG_INCLUDE_STDERR 0x0010 #define FLAG_GREP_OUTPUT 0x0020 #define FLAG_INSERT_VIEW 0x0040 #define FLAG_KEEP_DEST_RETURN_TYPE 0x0080 #define FLAG_STDIN 0x0100 #define FLAG_WAIT_FINISHED 0x0200 #define FLAG_CLOSE_ON_EXIT 0x0400 #define FLAG_ADD_EOF 0x0800 #define EI_GET_ENCODE 256 #define EI_SET_ENCODE 257 #define EI_GET_SIGNATURE 268 #define EI_SET_SIGNATURE 269 #define EI_GET_FONT_CHARSET 270 #define EI_SET_FONT_CHARSET 271 #define EI_GET_FONT_CP 272 #define EI_GET_INPUT_CP 274 #define EI_GET_SHOW_TAG 276 #define EI_SET_SHOW_TAG 277 #define EI_GET_FILE_NAMEA 278 #define EI_GET_FILE_NAMEW 280 #define EI_IS_PROPORTIONAL_FONT 282 #define EI_GET_NEXT_BOOKMARK 284 #define EI_GET_HILITE_FIND 286 #define EI_SET_HILITE_FIND 287 #define EI_GET_APP_VERSIONA 288 #define EI_GET_APP_VERSIONW 290 #define EI_GET_READ_ONLY 296 #define EI_IS_WINDOW_COMBINED 298 #define EI_WINDOW_COMBINE 299 #define EI_IS_UNDO_COMBINED 300 // new from v5 #define EI_GET_DOC_COUNT 301 #define EI_INDEX_TO_DOC 302 #define EI_DOC_TO_INDEX 303 #define EI_ZORDER_TO_DOC 304 #define EI_DOC_TO_ZORDER 305 #define EI_GET_ACTIVE_INDEX 306 #define EI_SET_ACTIVE_INDEX 307 #define EI_GET_FULL_TITLEA 308 #define EI_GET_FULL_TITLEW 309 #define EI_GET_SHORT_TITLEA 310 #define EI_GET_SHORT_TITLEW 311 #define EI_GET_SAVE_AS_TITLEA 312 #define EI_GET_SAVE_AS_TITLEW 313 #define EI_MOVE_ORDER 314 #define EI_CLOSE_DOC 315 #define EI_SAVE_DOC 316 // new from v7 #define EI_GET_CURRENT_FOLDER 317 #define EI_IS_LARGE_DOC 318 // new from v8 #define EI_USE_INI 319 #define EI_GET_LANGUAGE 320 // new from v9 #define EI_COMBINE_HISTORY 321 #define EI_GET_BAR_TEXT_COLOR 322 #define EI_GET_BAR_BACK_COLOR 323 #define EI_GET_RETURN_TYPE 324 // new from v10 #define EI_GET_ACTIVE_DOC 325 #define EI_SET_ACTIVE_DOC 326 #define EI_GET_SYNC_SESSION 327 #define EI_GET_LOC_DLL_INSTANCE 328 // new from v12 #define EI_GET_RES_DLL_INSTANCE 329 // new from v13 #define EI_GET_CMD_LIST_SIZE 330 // new from v14.4 #define EI_GET_DISCARD_UNDO 331 #define EI_SET_DISCARD_UNDO 332 // new from v14.6 #define EI_GET_HEADING_LINES 333 #define EI_SET_HEADING_LINES 334 #define EI_GET_NARROWING_TOP 335 #define EI_SET_NARROWING_TOP 336 #define EI_GET_NARROWING_BOTTOM 337 #define EI_SET_NARROWING_BOTTOM 348 #define EI_SET_HILITE_FILTER 349 // new from v15.2 #define EI_GET_CSV 350 // new from v15.4 #define EI_GET_PRINT_PAGES 351 // new from v15.5 #define EI_GET_COMBINE_HISTORY 352 // new from v15.8 #define EI_GET_CELL_MODE 353 #define EI_SET_CELL_MODE 354 #define MAX_COL_HEADINGS 8 #define POS_VIEW 0 #define POS_LOGICAL_A 1 #define POS_LOGICAL_W 2 #define POS_TAB_A 3 #define MAX_LINE_COLUMN_MODE 4 #define POS_CELL 3 // same as POS_TAB_A, but never used together #define POS_SCROLL_DONT_CARE 0x00000000 #define POS_SCROLL_CENTER 0x00000010 #define POS_SCROLL_TOP 0x00000020 #define POS_SCROLL_ALWAYS 0x00000040 #define POS_WANT_X 0x00010000 #define POS_WANT_Y 0x00020000 #define SEL_TYPE_NONE 0 #define SEL_TYPE_CHAR 1 #define SEL_TYPE_LINE 2 #define SEL_TYPE_BOX 3 #define SEL_TYPE_CELL 4 #define SEL_TYPE_MASK 0x000f #define SEL_TYPE_KEYBOARD 0x0010 #define SEL_TYPE_SELECTED 0x0020 #define SEL_TYPE_KEEP 0x0040 #define SEL_TYPE_MULTI 0x0080 // EE_SAVE_FILE #define DO_SAVE_NONE 0 #define DO_SAVE_REPLACE 1 #define DO_SAVE_RENAME 2 // EE_CONVERT #define FLAG_MAKE_LOWER 0 #define FLAG_MAKE_UPPER 1 #define FLAG_HAN_TO_ZEN 2 #define FLAG_ZEN_TO_HAN 3 #define FLAG_CAPITALIZE 4 #define FLAG_CONVERT_MASK 7 #define FLAG_CONVERT_SELECT_ALL 0x0100 #define FLAG_CONVERT_KATA 0x0400 #define FLAG_CONVERT_ALPHANUMERIC 0x0800 #define FLAG_CONVERT_MARK 0x1000 #define FLAG_CONVERT_SPACE 0x2000 #define FLAG_CONVERT_KANA_MARK 0x4000 #define FLAG_CONVERT_ALL_TYPES 0xfe00 // EE_FIND, EE_REPLACE, EE_FIND_IN_FILES, EE_REPLACE_IN_FILES, EE_MATCH_REGEX, EE_FIND_REGEX #define FLAG_FIND_NEXT 0x0000000000000001i64 // EE_FIND only #define FLAG_FIND_CASE 0x0000000000000002i64 // EE_FIND, EE_REPLACE, EE_FIND_IN_FILES and EE_REPLACE_IN_FILES, EE_MATCH_REGEX and EE_FIND_REGEX #define FLAG_FIND_ESCAPE 0x0000000000000004i64 // EE_FIND and EE_REPLACE, EE_FIND_IN_FILES and EE_REPLACE_IN_FILES #define FLAG_REPLACE_SEL_ONLY 0x0000000000000008i64 // EE_REPLACE only #define FLAG_FIND_SEL_ONLY FLAG_REPLACE_SEL_ONLY // EE_FIND only #define FLAG_REPLACE_ALL 0x0000000000000010i64 // EE_REPLACE only #define FLAG_FIND_NO_PROMPT 0x0000000000000020i64 // EE_FIND and EE_REPLACE #define FLAG_FIND_ONLY_WORD 0x0000000000000040i64 // EE_FIND, EE_REPLACE, EE_FIND_IN_FILES and EE_REPLACE_IN_FILES, and EE_FIND_REGEX #define FLAG_FIND_AROUND 0x0000000000000080i64 // EE_FIND only #define FLAG_FIND_REG_EXP 0x0000000000000100i64 // EE_FIND, EE_REPLACE, EE_FIND_IN_FILES and EE_REPLACE_IN_FILES #define FLAG_FIND_CLOSE 0x0000000000000200i64 // EE_FIND and EE_REPLACE #define FLAG_FIND_RECURSIVE 0x0000000000000400i64 // EE_FIND_IN_FILES and EE_REPLACE_IN_FILES #define FLAG_FIND_FILENAMES_ONLY 0x0000000000000800i64 // EE_FIND_IN_FILES only #define FLAG_FIND_OUTPUT_DISPLAY 0x0000000002000000i64 // EE_FIND_IN_FILES only (v14) #define FLAG_FIND_LINE_ONLY (FLAG_FIND_OUTPUT_DISPLAY) // EE_FIND_IN_FILES only #define FLAG_FIND_MATCHED_ONLY (FLAG_FIND_FILENAMES_ONLY+FLAG_FIND_OUTPUT_DISPLAY) // EE_FIND_IN_FILES only #define FLAG_REPLACE_KEEP_OPEN 0x0000000000001000i64 // EE_REPLACE_IN_FILES only #define FLAG_REPLACE_BACKUP 0x0000000000002000i64 // EE_REPLACE_IN_FILES only #define FLAG_FIND_IGNORE_FILES 0x0000000000004000i64 // EE_FIND_IN_FILES and EE_REPLACE_IN_FILES #define FLAG_FIND_OPEN_DOC 0x0000000000008000i64 // EE_FIND and EE_REPLACE #define FLAG_FIND_MATCH_DOT_NL 0x0000000000010000i64 // internal use only #define FLAG_FIND_INCREMENTAL 0x0000000000020000i64 // internal use only #define FLAG_FIND_SAVE_HISTORY 0x0000000000040000i64 // EE_FIND, EE_REPLACE, EE_FIND_IN_FILES and EE_REPLACE_IN_FILES #define FLAG_FIND_COUNT 0x0000000000080000i64 // EE_FIND #define FLAG_FIND_BOOKMARK 0x0000000000100000i64 // EE_FIND #define FLAG_FIND_SELECT_ALL 0x0000000000200000i64 // EE_FIND #define FLAG_FIND_ADD_NEXT 0x0000000000400000i64 // EE_FIND internal use only #define FLAG_FIND_NO_DESELECT 0x0000000000800000i64 // EE_FIND internal use only #define FLAG_FIND_OUTPUT 0x0000000001000000i64 // EE_FIND_IN_FILES only #define FLAG_FIND_FILTER 0x0000000010000000i64 // internal use only #define FLAG_FIND_OPEN_DIRECT (FLAG_FIND_FILTER) #define FLAG_FIND_OPEN_FILTER (FLAG_FIND_OUTPUT+FLAG_FIND_FILTER) #define FLAG_GREP_NO_CLOSE 0x0000000004000000i64 // EE_FIND_IN_FILES and EE_REPLACE_IN_FILES (v14) #define FLAG_FIND_EXTRACT 0x0000000008000000i64 // EE_FIND #define FLAG_FIND_UPDATE_MARKER 0x0000000080000000i64 // internal use only #define FLAG_FIND_EXTRACT_FILE_LINE 0x0000000080000000i64 // internal use only for macros #define FLAG_FIND_NEGATIVE 0x0000000040000000i64 // EE_FILTER #define FLAG_FIND_CONTINUE 0x0000000000001000i64 // EE_FILTER (the value same as FLAG_REPLACE_KEEP_OPEN) #define FLAG_FIND_KEEP_PREVIOUS 0x0000000000002000i64 // EE_FILTER (the value same as FLAG_REPLACE_BACKUP) #define FLAG_FIND_REMOVE_LAST 0x0000000000004000i64 // EE_FILTER (the value same as FLAG_FIND_IGNORE_FILES) #define FLAG_FIND_LOGICAL_OR 0x0000000000000400i64 // EE_FILTER (the value same as FLAG_FIND_RECURSIVE) #define FLAG_FIND_EMBEDDED_NL 0x0000000020000000i64 // EE_FIND, EE_REPLACE and EE_FILTER for CSV embedded new lines #define FLAG_FILTER_ENABLED 0x0000000000000001i64 // internal use only #define FLAG_FILTER_DISABLED 0x0000000080000000i64 // internal use only #define FLAG_FIND_IGNORE_BINARY 0x0000000000000080i64 // EE_FIND_IN_FILES and EE_REPLACE_IN_FILES (same as FLAG_FIND_AROUND) v15.1 // should be saved as "GrepFlag" entry #define FLAG_FIND_SHOW_IGNORED 0x0000000000000200i64 // EE_FIND_IN_FILES and EE_REPLACE_IN_FILES (same as FLAG_FIND_CLOSE) v15.1 // should be saved as "GrepFlag" entry #define FLAG_FIND_SEPARATE_CRLF 0x0000000100000000i64 #define FLAG_FIND_REGEX_BOOST 0x0000000200000000i64 #define FLAG_FIND_REGEX_ONIGMO 0x0000000400000000i64 #define FLAG_GREP_MASK (0x0000000706047d46i64 | FLAG_FIND_OUTPUT | FLAG_FIND_FILTER) #define FLAG_FIND_MASK (0x00000007283f83ffi64 | FLAG_FIND_FILENAMES_ONLY | FLAG_FIND_OUTPUT_DISPLAY | FLAG_FIND_OUTPUT) #define FLAG_BATCH_REPLACE_MASK (FLAG_FIND_CASE | FLAG_FIND_ONLY_WORD | FLAG_FIND_REG_EXP | FLAG_FIND_EMBEDDED_NL | FLAG_FIND_SEPARATE_CRLF | FLAG_FIND_MATCH_DOT_NL | FLAG_FIND_REGEX_BOOST | FLAG_FIND_REGEX_ONIGMO) #define FLAG_FILTER_MASK (FLAG_FIND_CASE | FLAG_FIND_ESCAPE | FLAG_FIND_ONLY_WORD | FLAG_FIND_REG_EXP | FLAG_FIND_INCREMENTAL | FLAG_FIND_NEGATIVE) #define FLAG_FIND_SAVE_MASK ((FLAG_GREP_MASK | FLAG_FIND_MASK) & ~(FLAG_FIND_NO_PROMPT | FLAG_FIND_BOOKMARK | FLAG_FIND_SAVE_HISTORY | FLAG_FIND_SELECT_ALL | FLAG_FIND_ADD_NEXT | FLAG_FIND_EXTRACT)) #define FLAG_FIND_SEARCH_ALL (FLAG_FIND_COUNT | FLAG_FIND_BOOKMARK | FLAG_FIND_SELECT_ALL | FLAG_FIND_EXTRACT | FLAG_FIND_FILTER | FLAG_FIND_UPDATE_MARKER) // internal use only #define FLAG_FIND_RETURN_COUNT (FLAG_FIND_COUNT | FLAG_FIND_BOOKMARK | FLAG_FIND_SELECT_ALL | FLAG_FIND_EXTRACT | FLAG_FIND_FILTER) // internal use only #define DEFAULT_FIND_FLAG (FLAG_FIND_AROUND) #define DEFAULT_ADD_OCCURRENCE (FLAG_FIND_CASE | FLAG_FIND_ONLY_WORD) #define DEFAULT_FILTER_FLAG (FLAG_FIND_INCREMENTAL) // internal use only #define FLAG_FIND_BOL 0x0200000000000000i64 #define FLAG_FIND_EOL 0x0400000000000000i64 #define FLAG_FIND_SINGLE_LINE 0x0800000000000000i64 #define FLAG_NEED_MULTILINE 0x1000000000000000i64 // internal use // FLAG_FIND_OUTPUT_DISPLAY = 0, FLAG_FIND_FILENAMES_ONLY = 0 : Displays file names and lines OUTPUT_DISPLAY_FILE_AND_LINE // FLAG_FIND_OUTPUT_DISPLAY = 0, FLAG_FIND_FILENAMES_ONLY = 1 : Displays file names only OUTPUT_DISPLAY_FILE_ONLY // FLAG_FIND_OUTPUT_DISPLAY = 1, FLAG_FIND_FILENAMES_ONLY = 0 : Displays matched lines only OUTPUT_DISPLAY_LINE_ONLY // FLAG_FIND_OUTPUT_DISPLAY = 1, FLAG_FIND_FILENAMES_ONLY = 1 : Displays matched strings only OUTPUT_DISPLAY_MATCHED_ONLY // GET_LINE_INFO #define FLAG_LOGICAL 1 #define FLAG_WITH_CRLF 2 #define FLAG_GET_CRLF_BYTE 4 #define UNINSTALL_FALSE 0 #define UNINSTALL_SIMPLE_DELETE 1 #define UNINSTALL_RUN_COMMAND 2 #define EP_FIRST (WM_USER+0x500) #define EP_QUERY_PROPERTIES (EP_FIRST+0) #define EP_SET_PROPERTIES (EP_FIRST+1) #define EP_GET_NAMEA (EP_FIRST+2) #define EP_GET_NAMEW (EP_FIRST+3) #define EP_GET_VERSIONA (EP_FIRST+4) #define EP_GET_VERSIONW (EP_FIRST+5) #define EP_QUERY_UNINSTALL (EP_FIRST+6) #define EP_SET_UNINSTALL (EP_FIRST+7) #define EP_GET_BITMAP (EP_FIRST+8) #define EP_GET_MASK (EP_FIRST+9) #define EP_GET_INFO (EP_FIRST+10) #define EP_PRE_TRANSLATE_MSG (EP_FIRST+11) #define EP_USE_DROPPED_FILES (EP_FIRST+12) #define EP_GET_MENU_TEXT (EP_FIRST+13) #define EP_GET_STATUS_MESSAGE (EP_FIRST+14) #define EP_DISABLE_AUTO_COMPLETE (EP_FIRST+15) #define EP_USER_MSG (EP_FIRST+16) #define EP_LAST (EP_FIRST+50) #ifdef _UNICODE #define EP_GET_NAME EP_GET_NAMEW #define EP_GET_VERSION EP_GET_VERSIONW #else #define EP_GET_NAME EP_GET_NAMEA #define EP_GET_VERSION EP_GET_VERSIONA #endif // EP_GET_BITMAP #define BITMAP_SMALL 0x00000000 #define BITMAP_LARGE 0x00000001 #define BITMAP_SIZE_MASK 0x0000000f #define BITMAP_16_COLOR 0x00000000 #define BITMAP_256_COLOR 0x00000010 #define BITMAP_24BIT_COLOR 0x00000020 #define BITMAP_COLOR_MASK 0x000000f0 #define BITMAP_DEFAULT 0x00000000 #define BITMAP_DISABLED 0x00000100 #define BITMAP_HOT 0x00000200 #define BITMAP_STATUS_MASK 0x00000f00 // EP_GET_INFO #define EPGI_ALLOW_OPEN_SAME_GROUP 1 #define EPGI_MAX_EE_VERSION 2 #define EPGI_MIN_EE_VERSION 3 #define EPGI_SUPPORT_EE_PRO 4 #define EPGI_SUPPORT_EE_STD 5 #define EPGI_ALLOW_MULTIPLE_INSTANCES 6 #define CHECK_FILE_CHANGED_NONE 0 #define CHECK_FILE_CHANGED_PROMPT 1 #define CHECK_FILE_CHANGED_AUTO 2 #define CHECK_FILE_CHANGED_EXCLUSIVE 3 #define MAX_CHECK_FILE_CHANGED 4 #define MIN_MONITOR_INTERVAL 1 #define MAX_MONITOR_INTERVAL 255 // inclusive #define DEF_MONITOR_INTERVAL 5 #define MIN_SMOOTH_SCROLL_SPEED 1 #define MAX_SMOOTH_SCROLL_SPEED 9 #define DEF_SMOOTH_SCROLL_SPEED 5 #define MAX_REGEX_INDENT 512 #define SIZE_OF_CUSTOMIZE_INFO_OLD 6660 // old size before v9 #define SIZE_OF_CUSTOMIZE_INFO_2 ((MAX_REGEX_INDENT*4)*sizeof(WCHAR)) #define SIZE_OF_CUSTOMIZE_INFO_V9 (SIZE_OF_CUSTOMIZE_INFO_OLD+SIZE_OF_CUSTOMIZE_INFO_2) // new size v9 #define MAX_PAREN_SIZE 11 #define DEF_PAREN_BITS 0x07f7 #define HTML_PAREN_BITS 0x07ff #define HIGHLIGHT_SELECTION_NONE 0 #define HIGHLIGHT_SELECTION_SELECT_ONLY 1 #define HIGHLIGHT_SELECTION_WORD 2 #define REGEX_INDENT_NONE 0 #define REGEX_INDENT_ALLOW_ALL 1 #define REGEX_INDENT_NL_ONLY 2 #define SCROLL_FLAG_MARKS 1 #define SCROLL_FLAG_SHOW_MODIFIED 2 #define SCROLL_FLAG_SHOW_BOOKMARKS 4 #define SCROLL_FLAG_SHOW_FIND 8 #define SCROLL_FLAG_SHOW_CARET 0x10 #define SCROLL_FLAG_LINE_LOOP_ALL (SCROLL_FLAG_SHOW_MODIFIED | SCROLL_FLAG_SHOW_BOOKMARKS | SCROLL_FLAG_SHOW_FIND) #define SCROLL_FLAG_DEFAULT (SCROLL_FLAG_MARKS | SCROLL_FLAG_LINE_LOOP_ALL) #define OPEN_FILE_IN_QUOTES_NONE 0 #define OPEN_FILE_IN_QUOTES_EMEDITOR 1 #define OPEN_FILE_IN_QUOTES_ASSOCIATED 2 #define DEF_OPEN_FILE_IN_QUOTES OPEN_FILE_IN_QUOTES_EMEDITOR class CCustomizeInfo { public: LOGFONTW m_alfScreen[MAX_CHARSET]; // screen fonts LOGFONTW m_alfPrint[MAX_CHARSET]; // printer fonts POINT m_ptShowScrollBar; // scroll bars (x: horizontal and y: vertical) 0: no display, 1: display only when necessary, 2: display always int m_nPrinterMarginTop; // printer top margin int m_nPrinterMarginBottom; // printer bottom margin int m_nPrinterMarginLeft; // printer left margin int m_nWrapMode; // wrap mode int m_nMarginNormal; // normal line margin int m_nMarginQuote; // quoted line margin int m_nTabSpace; // tab columns int m_nEncodingRead; // encoding for read BYTE m_nLineSpace; // line space BYTE m_nCharSpace; // v7: character space WORD m_wParenPairBits; // PRO only v9: Paren Pairs to highlight/autocomplete Bits BYTE m_nLineSpacePrint; // space between lines bool m_bAutoCompleteParen; // PRO only v9: Auto Complete corresponding bracket WCHAR m_chDelimiter; // PRO only v9 : user-defined delimiter for DSV int m_nReserved15; // was m_nHiliteTag before v3.16 bool m_bShowUserDefinedGuides; // v14.2 BYTE m_byteScrollFlags; bool m_bTrackChanges; bool m_bPreferUtf8; // v14.6 UINT m_nAutoSaveTime; // PRO only auto save time int m_nCheckFileChanged; // v3: changed by another program UINT m_nNotUsed; // m_nUndoBufferSize; // PRO only undo max number int m_nEncodingNew; // v3: encoding for new files int m_nCrLfNew; // v3: how to return for new files //int m_nDummy; // was m_nCharsetNew; // v3: font charset for new files bool m_bShowOneLineAbove; // v15.4 bool m_bRememberVisitedLinks; // v15.4 bool m_bFixedPitchFont; bool m_bDummy1; int m_nEncodingWrite; // PRO only v3: encoding for saving int m_nCrLfWrite; // PRO only v3: how to return for saving int m_nSpecialSyntax; // v3.16: Special Syntax WCHAR m_chEscape; // v3.16: Escape character bool m_bPasteAnsi; // PRO only v3.16: Always Paste as ANSI bool m_bNewTemplate; // v3.17: Use template for a new file bool m_bSaveAsNameEntity; // v3.17: Use Named Entity Reference bool m_bInsertSpacesTab; // v3.19: Insert spaces for Tab WCHAR m_chIndentBegin; // v3.17: Begin Indent WCHAR m_chIndentEnd; // v3.17: End Indent WCHAR m_chEndOfStatement; // v3.17: End of Statement int m_nIndentSpace; // v3.19: Indent columns bool m_bNoSpaceEdge; // v3.19: No space at left edge of Window BYTE m_byteOpenFileInQuotes; // m_bAnsiFont; // v3.28: Non-Unicode Font --- obsolete bool m_bShowScrollOnlyActive; // v3.31: Show scroll bars only when current pane is active bool m_bWrapPagePrint; // v3.31: Wrap by Page when printing int m_nPrinterMarginRight; // v3.24: printer right margin int m_nMaxFindHilite; // PRO only v3.32: (Depth of searched string to highlight) - 1 bool m_bPromptInvalidChar; // v4.01: Prompt if invalid characters found bool m_bNameUntitled; // PRO only 6.00: auto name untitled -- v4.03: Synchronize Read-Only attribute BYTE m_byteMonitorInterval; // PRO only 5.00: monitor interval for changed file (File tab) bool m_bVirtualSpace; // PRO only 7.00 : Enable Virtual Space BYTE m_byteSmoothScrollSpeed; // 7.00 : Smooth Scroll Speed MIN_SMOOTH_SCROLL_SPEED (slow) - MAX_SMOOTH_SCROLL_SPEED (fast) bool m_bShowIndentGuides; // PRO only 8.00 : Show Indent Guides bool m_bHorzGrid; // PRO only v10: Horizontal Grid (was m_bDottedLine) bool m_bSelectInURL; // PRO only 9.00 : Clicking in URL selects the whole string BYTE m_bRegexIndent; // was bool, v13 BYTE; BYTE m_byteDetectSV; // bool m_bDetectCSV; bool m_bDetectTSV; // PRO only v9 : Detect TSV bool m_bDetectDSV; // PRO only v9 : Detect DSV (user-defined delimiter) bool m_bSpellQuote; // PRO only bool m_bSpellSingleQuotes; // PRO only bool m_bSpellDoubleQuotes; // PRO only bool m_bSpellComment; // PRO only bool m_bSpellScript; // PRO only bool m_bSpellInTag; // PRO only bool m_bSpellHilite; // PRO only bool m_bSpellHyperlink; // PRO only bool m_bSpellRest; // PRO only bool m_bSpell; // PRO only bool m_bSpellCamelCase; // PRO only bool m_bHighlightCharRef; // PRO only v11 Highlight HTML/XML Character Reference and Universal Character Names bool m_bEnableHeader; bool m_bEnableFooter; bool m_bHighlightMatchingTag; // PRO only v12 Highlight Matching Tag bool m_bPromptRename; // v13 Prompt before Deleting a Old File When Renaming BYTE m_abUrlChar[128]; // =1: URL char, =2: URL char byte not at end. bool m_bNotepadDiary; // PRO only notepad compatible diary bool m_bPrintLineNum; // print line numbers bool m_bPromptNullFile; // prompt if Null character found bool m_bPromptCrLf; // prompt at inconsistent returns bool m_bShowEOF; // show EOF bool m_bShowCR; // show returns bool m_bShowTab; // show tab bool m_bShowLineNum; // show line numbers BYTE m_bShowLogicalLine; // line and column display as bool m_bWordWrap; // word wrap bool m_bFaceWrap; // PRO only enable non-wrap words bool m_bKinsokuWrap; // wrap these characters bool m_bSaveTabToSpace; // PRO only save tabs as spaces bool m_bSaveInsertCR; // PRO only insert returns when saving bool m_bUseRecycleBin; // PRO only use recylce bin to buckup bool m_bAutoIndent; // auto indent bool m_bWrapIndent; // PRO only v7.00: auto indent for wrap position, used to be m_bOverwrite, v6.00 Obsolete bool m_bHilite; // highlight these words bool m_bURL; // link to URLs bool m_bMailTo; // clicking mail address sends mail bool m_bLinkDblclick; // PRO only enable double clicking only bool m_bFullPath; // PRO only show file name with full path bool m_b7BitKanji; // OBSOLETE 7 bit kanji bool m_bCrLfSeparateMark; // PRO only show CR and LF with different marks bool m_bShowRuler; // show ruler bool m_bAutoSave; // PRO only auto save bool m_bDeleteEmpty; // PRO only delete empty files when saving bool m_bSaveNotModified; // PRO only always enable saving bool m_bBackupFolder; // save backups to backup folder bool m_bFolderIfRecycleFailed; // PRO only save to backup folder if recycle bin not available bool m_bAutoSaveFolder; // PRO only save to auto save folder bool m_bRenameBackup; // PRO only rename if same file name exists bool m_bControlIME; // run input method editor bool m_bRenameAutoSave; // PRO only rename if same file name exists bool m_bBackupSame; // PRO only save backups to same folder bool m_bShowDbSpace; // show double-byte spaces bool m_bInitialFolder; // v14.1: Specify Initial Folder bool m_bPageVScroll; // v3: always enable 1page vertical scroll bool m_bPageHScroll; // v3: always enable 1page horizontal scroll bool m_bHalfPageScroll; // PRO only v3: scroll half page bool m_bDetectUnicode; // v3: detect Unicode(UTF-16/UTF-8)signature (BOM) bool m_bAllowCtrlChars; // PRO only v3: allow insert control character bool m_bMoveCursorScroll; // PRO only v3: move cursor by scrolling bool m_bHorzLine; // v3: horizontal line bool m_bVertLine; // v3: vertical line bool m_bScroll2Lines; // PRO only v3: double line scroll bool m_bFastKeyRepeat; // PRO only v3: faster cursor movement bool m_bDBCharUrl; // PRO only v3: recognize double-byte characters as URLs bool m_bKanaUrl; // PRO only v3: recognize single-byte kana and kana marks as URLs bool m_bShowPage; // PRO only v3: display page number bool m_bUsePrinterFont; // v3: choose font for default printer bool m_bSignatureNew; // PRO only v3: Unicode, UTF-8 signature for new files bool m_bPromptNotAnsi; // v3: prompt on saving if unicode characters cannot convert to ANSI bool m_bSignatureWrite; // PRO only v3: Unicode, UTF-8 signature for saving bool m_bIgnoreColorPrint; // v3.08: Ignore Color and Underlines (Print) bool m_bNoFullPathIfNotActive; // v3.08: Display file name without full path if the window is not active bool m_bSmoothScroll; // v7.00: Smooth Scroll, used to be m_bSaveOverwrite, v6.00 Obsolete bool m_bNoChangeCrLf; // PRO only v3.13: Do not change how to return at copy and paste. bool m_bShowSpace; // v3.13: show single-byte spaces bool m_bWordWrapMark; // v3.13: allows word wrap after marks bool m_bPrintSeparatingLines; // v3.14: Draw separating lines bool m_bSameFontPrint; // v3.14: Use Display Font as Printer Font bool m_bHiliteCorresParen; // PRO only v3.14: Highlight Corresponding Parentheses bool m_bSelectInQuotes; // PRO only v3.14: Highlight and easily select in "quotes". bool m_bDetectUTF8; // v3.15: Detect UTF-8 bool m_bDetectCharset; // v3.15: Detect Charset (HTML) bool m_bDetectAll; // v3.15: Detect All bool m_bDeleteSpaceEnd; // PRO only v3.15: Delete Space at End of Lines bool m_bSaveAsEntity; // v3.15: Encode Unicode as HTML Entity bool m_bShowControl; // PRO only v3.15: Highlight Control Characters BYTE m_bQuoteType; // v3.16: Quote type, combination of QUOTE_SINGLE, QUOTE_DOUBLE and QUOTE_CONTINUE WCHAR m_chKanjiInChar; // OBSOLETE transitional character to kanji WCHAR m_chKanjiOutChar; // OBSOLETE transitional character to single-bytes WCHAR m_chTagLeft; // begin tag WCHAR m_chTagRight; // end tag WCHAR m_szHeader[MAX_HEADER]; // header WCHAR m_szLineComment1[MAX_LINE_COMMENT]; // v3.16: Line Comment (obsolete) WCHAR m_szScriptBegin[MAX_SCRIPT_BEGIN]; // v3.16: Script Begin WCHAR m_szFooter[MAX_FOOTER]; // footer WCHAR m_szLineComment2[MAX_LINE_COMMENT]; // v3.16: Line Comment (obsolete) WCHAR m_szScriptEnd[MAX_SCRIPT_END]; // v3.16: Script End WCHAR m_szPrefix[MAX_PREFIX_LENGTH]; // default quote mark WCHAR m_szKinsokuBegin[MAX_KINSOKU_BEGIN]; // not allowed at line head WCHAR m_szKinsokuEnd[MAX_KINSOKU_END]; // not allowed at line end WCHAR m_szDefExt[MAX_DEF_EXT]; // default extension WCHAR m_szPrefixList[MAX_PREFIX_LIST]; // quote mark WCHAR m_szBackupPath[MAX_PATH]; // backup folder WCHAR m_szAutoSavePath[MAX_PATH]; // PRO only auto save folder WCHAR m_szMultiCommentBegin[MAX_MULTI_COMMENT_BEGIN]; // Multi-line comment begin WCHAR m_szMultiCommentEnd[MAX_MULTI_COMMENT_END]; // Multi-line comment end public: WCHAR m_szRegexIgnoreIndent[MAX_REGEX_INDENT]; WCHAR m_szRegexIndentBegin[MAX_REGEX_INDENT]; WCHAR m_szRegexIndentEnd[MAX_REGEX_INDENT]; WCHAR m_szRegexIndentStatement[MAX_REGEX_INDENT]; WCHAR m_szNewLineComment1[MAX_NEW_LINE_COMMENT]; // v14.1 Line Comment WCHAR m_szNewLineComment2[MAX_NEW_LINE_COMMENT]; // v14.1 Line Comment WCHAR m_szInitialFolder[MAX_PATH]; public: void Initialize(); bool IsSpellInCheckedAny() const { return m_bSpellQuote || m_bSpellSingleQuotes || m_bSpellDoubleQuotes || m_bSpellComment || m_bSpellScript || m_bSpellInTag || m_bSpellHilite || m_bSpellHyperlink || m_bSpellRest; } bool IsSpellInCheckedAll() const { return m_bSpellQuote && m_bSpellSingleQuotes && m_bSpellDoubleQuotes && m_bSpellComment && m_bSpellScript && m_bSpellInTag && m_bSpellHilite && m_bSpellHyperlink && m_bSpellRest; } void FreeDefault(); }; // Command IDs // #define EEID_FILE_NEW 4096 #define EEID_FILE_OPEN 4097 #define EEID_FILE_CLOSE_OPEN 4098 #define EEID_FILE_SAVE 4099 #define EEID_FILE_SAVE_AS 4100 #define EEID_FILE_SAVE_ALL 4101 #define EEID_FILE_SAVE_ANSI 4102 #define EEID_FILE_SAVE_JIS 4103 #define EEID_FILE_SAVE_EUC 4104 #define EEID_SAVE_AS_CRLF 4105 #define EEID_SAVE_AS_CR 4106 #define EEID_SAVE_AS_LF 4107 #define EEID_FILE_INSERT 4108 #define EEID_FILE_RELOAD 4109 #define EEID_FILE_RELOAD_ANSI 4110 #define EEID_FILE_RELOAD_JIS 4111 #define EEID_FILE_RELOAD_EUC 4112 #define EEID_READ_ONLY 4113 #define EEID_FILE_PRINT 4114 #define EEID_FILE_PRINT_DIRECT 4115 #define EEID_FILE_SAVE_EXIT 4116 #define EEID_APP_EXIT 4117 #define EEID_SAVE_EXIT_ALL 4118 #define EEID_EXIT_ALL 4119 #define EEID_APP_QUIT 4120 #define EEID_NEW_TRAY_ICON 4121 #define EEID_TRAY_ICON_EXIT 4122 #define EEID_FILE_NEW_PASTE 4123 #define EEID_EDIT_UNDO 4124 #define EEID_EDIT_REDO 4125 #define EEID_EDIT_CUT 4126 #define EEID_EDIT_COPY 4127 #define EEID_EDIT_COPY_DESELECT 4128 #define EEID_EDIT_PASTE 4129 #define EEID_EDIT_COPY_PREFIX 4130 #define EEID_EDIT_COPY_PREFIX_DESELECT 4131 #define EEID_PASTE_PREFIX 4132 #define EEID_PASTE_RETURN 4133 #define EEID_PASTE_PREFIX_RETURN 4134 #define EEID_DELETE 4135 #define EEID_EDIT_SELECT_ALL 4136 #define EEID_INSERT_DATE 4137 #define EEID_INSERT_DATE_TIME 4138 #define EEID_JUMP 4139 #define EEID_EDIT_COPY_LINK 4140 #define EEID_LINK_OPEN 4141 #define EEID_INSERT 4142 #define EEID_INSERT_CR_WRAP 4143 #define EEID_DELETE_CR_WRAP 4144 #define EEID_INSERT_CR 4145 #define EEID_INSERT_LF 4146 #define EEID_TAG_JUMP 4147 #define EEID_CONVERT 4148 #define EEID_MAKE_UPPER 4149 #define EEID_MAKE_LOWER 4150 #define EEID_ZEN_TO_HAN 4151 #define EEID_HAN_TO_ZEN 4152 #define EEID_SELECT_CHAR 4153 #define EEID_SELECT_LINE 4154 #define EEID_SELECT_BOX 4155 #define EEID_RIGHT 4156 #define EEID_LEFT 4157 #define EEID_RIGHT_WORD 4158 #define EEID_LEFT_WORD 4159 #define EEID_UP 4160 #define EEID_DOWN 4161 #define EEID_PAGEUP 4162 #define EEID_PAGEDOWN 4163 #define EEID_HOME 4164 #define EEID_LOGICAL_HOME 4165 #define EEID_END 4166 #define EEID_LOGICAL_END 4167 #define EEID_TOP 4168 #define EEID_BOTTOM 4169 #define EEID_SCROLL_UP 4170 #define EEID_SCROLL_DOWN 4171 #define EEID_SHIFT_RIGHT 4172 #define EEID_SHIFT_LEFT 4173 #define EEID_SHIFT_RIGHT_WORD 4174 #define EEID_SHIFT_LEFT_WORD 4175 #define EEID_SHIFT_UP 4176 #define EEID_SHIFT_DOWN 4177 #define EEID_SHIFT_PAGEUP 4178 #define EEID_SHIFT_PAGEDOWN 4179 #define EEID_SHIFT_HOME 4180 #define EEID_SHIFT_LOGICAL_HOME 4181 #define EEID_SHIFT_END 4182 #define EEID_SHIFT_LOGICAL_END 4183 #define EEID_SHIFT_TOP 4184 #define EEID_SHIFT_BOTTOM 4185 #define EEID_BACK 4186 #define EEID_ESCAPE 4187 #define EEID_TAB 4188 #define EEID_SHIFT_TAB 4189 #define EEID_DELETE_LINE 4190 #define EEID_DELETE_RIGHT_LINE 4191 #define EEID_EDIT_COPY_LINE 4192 #define EEID_EDIT_CUT_LINE 4193 #define EEID_DELETE_WORD 4194 #define EEID_LINE_OPEN_ABOVE 4195 #define EEID_LINE_OPEN_BELOW 4196 #define EEID_INSERT_CONTROL 4197 #define EEID_TOGGLE_IME 4198 #define EEID_RECONVERT 4199 #define EEID_EDIT_FIND 4200 #define EEID_EDIT_REPLACE 4201 #define EEID_EDIT_REPEAT 4202 #define EEID_EDIT_REPEAT_BACK 4203 #define EEID_FIND_NEXT_WORD 4204 #define EEID_FIND_PREV_WORD 4205 #define EEID_ERASE_FIND_HILITE 4206 #define EEID_GREP 4207 #define EEID_WRAP_NONE 4208 #define EEID_WRAP_BY_CHAR 4209 #define EEID_WRAP_BY_WINDOW 4210 #define EEID_VIEW_STATUS_BAR 4212 #define EEID_WATCH_CHAR_CODE 4213 #define EEID_NEXT_PANE 4214 #define EEID_PREV_PANE 4215 #define EEID_QUICK_MACRO_RECORD 4216 #define EEID_QUICK_MACRO_RUN 4217 #define EEID_FONT 4218 #define EEID_CUSTOMIZE 4219 #define EEID_CONFIG_POPUP 4220 #define EEID_CONFIG 4221 #define EEID_COMMON_SETTINGS 4222 #define EEID_FILE_ASSOCIATE 4223 #define EEID_CUSTOMIZE_TOOLBAR 4224 #define EEID_CUSTOMIZE_PLUG_INS 4238 #define EEID_WINDOW_ALWAYS_TOP 4239 #define EEID_WINDOW_SPLIT 4240 #define EEID_WINDOW_CASCADE 4241 #define EEID_WINDOW_TILE_HORZ 4242 #define EEID_WINDOW_TILE_VERT 4243 #define EEID_WINDOW_MINIMIZE_ALL 4244 #define EEID_NEXT_WINDOW 4245 #define EEID_PREV_WINDOW 4246 #define EEID_HELP_FINDER 4247 #define EEID_HELP_REGIST 4248 #define EEID_WEB_HOME 4249 #define EEID_APP_ABOUT 4250 #define EEID_SELECT_WORD 4251 #define EEID_FILE_SAVE_RENAME 4252 #define EEID_TAB_TO_SPACE 4253 #define EEID_FILE_SAVE_UNICODE 4254 #define EEID_FILE_SAVE_UTF8 4255 #define EEID_FILE_SAVE_UTF7 4256 #define EEID_FILE_RELOAD_UNICODE 4257 #define EEID_FILE_RELOAD_UTF8 4258 #define EEID_FILE_RELOAD_UTF7 4259 #define EEID_FILE_SAVE_UNICODE_BIGENDIAN 4260 #define EEID_FILE_RELOAD_UNICODE_BIGENDIAN 4261 #define EEID_EDIT_PASTE_ANSI 4262 #define EEID_FILE_RELOAD_932 4263 #define EEID_DEFINE_CODE_PAGE 4264 #define EEID_FILE_SAVE_932 4265 #define EEID_CUSTOMIZE_MENU 4266 #define EEID_ALL_COMMANDS 4267 #define EEID_NEXT_LOGICAL_LINE 4268 #define EEID_PREV_LOGICAL_LINE 4269 #define EEID_ALL_PROP 4270 #define EEID_NEW_PASTE_PREFIX 4271 #define EEID_NEW_PASTE_PREFIX_RETURN 4272 #define EEID_CUSTOMIZE_TRAY 4273 #define EEID_INSERT_CR_LF 4274 #define EEID_DELETE_RIGHT_WORD 4275 #define EEID_NEXT_PAREN 4276 #define EEID_SHIFT_NEXT_PAREN 4277 #define EEID_TRIM_RIGHT 4278 #define EEID_FILE_RELOAD_DETECT_ALL 4279 #define EEID_DELETE_LEFT_WORD 4280 #define EEID_NEW_CONFIG_POPUP 4281 #define EEID_FONT_POPUP 4282 #define EEID_RELOAD_POPUP 4283 #define EEID_DELETE_PANES 4284 #define EEID_SHOW_PLUGINS_BAR 4285 #define EEID_PRINT_PREVIEW 4286 #define EEID_WINDOW_TOP 4292 #define EEID_WINDOW_BOTTOM 4293 #define EEID_WINDOW_RIGHT 4294 #define EEID_WINDOW_LEFT 4295 #define EEID_HOME_TEXT 4296 #define EEID_SHIFT_HOME_TEXT 4297 #define EEID_KEYBOARD_MAP 4298 #define EEID_WINDOW_SPLIT_HORZ 4299 #define EEID_WINDOW_SPLIT_VERT 4300 #define EEID_CONTEXT_MENU 4301 #define EEID_DELETE_LEFT_LINE 4302 #define EEID_INSERT_GRAVE 4303 #define EEID_INSERT_ACUTE 4304 #define EEID_INSERT_CIRCUMFLEX 4305 #define EEID_INSERT_TILDE 4306 #define EEID_INSERT_DIAERESIS 4307 #define EEID_INSERT_RING_ABOVE 4308 #define EEID_INSERT_LIGATURE 4309 #define EEID_INSERT_CEDILLA 4310 #define EEID_INSERT_STROKE 4311 #define EEID_INSERT_INVERTED_QUESTION 4312 #define EEID_INSERT_INVERTED_EXCLAMATION 4313 #define EEID_INSERT_COPYRIGHT 4314 #define EEID_INSERT_REGISTERED 4315 #define EEID_INSERT_TRADEMARK 4316 #define EEID_INSERT_EURO 4317 #define EEID_WRAP_BY_PAPER 4318 #define EEID_SHOW_TOOLS_BAR 4319 #define EEID_BOOKMARK_TOGGLE 4320 #define EEID_BOOKMARK_NEXT 4321 #define EEID_BOOKMARK_PREV 4322 #define EEID_BOOKMARK_CLEAR 4323 #define EEID_CUSTOMIZE_TOOLS 4324 #define EEID_RETRIEVE_FIND_TEXT 4325 #define EEID_COPY_FILE_PATH 4326 #define EEID_COPY_FILE_DIR 4327 #define EEID_DUPLICATE_LINE 4328 #define EEID_LOAD_WORKSPACE 4329 #define EEID_SAVE_WORKSPACE 4330 #define EEID_SAVE_WORKSPACE_EXIT_ALL 4331 #define EEID_SAVE_WORKSPACE_QUIT_ALL 4332 #define EEID_LOGICAL_HOME_TEXT 4333 #define EEID_SHIFT_LOGICAL_HOME_TEXT 4334 #define EEID_WINDOW_SPLIT_HORZ_FIX 4335 #define EEID_WINDOW_SPLIT_VERT_FIX 4336 //#define EEID_SHOW_WINDOWS_BAR 4337 #define EEID_SHOW_BAR_TITLE 4340 #define EEID_LOCK_TOOLBARS 4341 #define EEID_WINDOW_COMBINE 4342 #define EEID_WINDOW_ALWAYS_TOP_ON 4343 #define EEID_WINDOW_ALWAYS_TOP_OFF 4344 #define EEID_MOVE_LAST_EDIT 4345 #define EEID_MACRO_SAVE 4346 #define EEID_MACRO_SELECT 4347 #define EEID_MACRO_EDIT 4348 #define EEID_MACRO_SELECT_THIS 4349 #define EEID_CUSTOMIZE_MACRO 4350 #define EEID_BOOKMARK_NEXT_WITHIN 4351 #define EEID_BOOKMARK_PREV_WITHIN 4352 #define EEID_BOOKMARK_SET 4353 #define EEID_BOOKMARK_RESET 4354 #define EEID_SPACE_TO_TAB 4355 #define EEID_TABIFY 4356 #define EEID_UNTABIFY 4357 #define EEID_INDENT 4358 #define EEID_UNINDENT 4359 #define EEID_MACRO_HELP 4360 #define EEID_MACRO_HELP_WORD 4361 #define EEID_REPLACE_IN_FILES 4362 #define EEID_QUIT_ALL 4363 #define EEID_MACRO_RUN_OPTIONS 4364 #define EEID_INSERT_CARON 4369 #define EEID_VIEW_MARKS 4370 #define EEID_EDIT_COMMENT 4371 #define EEID_EDIT_UNCOMMENT 4372 #define EEID_INCREASE_FONT_SIZE 4373 #define EEID_DECREASE_FONT_SIZE 4374 #define EEID_FIND_NEXT_UNICODE 4375 #define EEID_FIND_PREV_UNICODE 4376 #define EEID_ERASE_UNICODE_HILITE 4377 #define EEID_JOIN_LINES 4378 #define EEID_SPLIT_LINES 4379 #define EEID_IMPORT_EXPORT 4380 #define EEID_CAPITALIZE 4381 #define EEID_WINDOW_MOVE_NEXT 4382 #define EEID_WINDOW_MOVE_PREV 4383 #define EEID_CLOSE_ALL_OTHERS 4384 #define EEID_WINDOW_SPLIT_HORZ_TOGGLE 4385 #define EEID_WINDOW_SPLIT_VERT_TOGGLE 4386 #define EEID_GROUP_CLOSE_ALL 4387 #define EEID_GROUP_CLOSE_OTHERS 4388 #define EEID_GROUP_CLOSE_LEFT 4389 #define EEID_GROUP_CLOSE_RIGHT 4390 #define EEID_NEW_GROUP 4391 #define EEID_NEW_GROUP_MINIMIZE 4392 #define EEID_NEW_GROUP_CASCADE 4393 #define EEID_NEW_GROUP_HORZ 4394 #define EEID_NEW_GROUP_VERT 4395 #define EEID_MOVE_PREV_GROUP 4396 #define EEID_MOVE_NEXT_GROUP 4397 #define EEID_SORT_FILE_NAME 4398 #define EEID_SORT_TYPE 4399 #define EEID_SORT_MODIFIED 4400 #define EEID_SORT_ZORDER 4401 #define EEID_SORT_ASCENDING 4402 #define EEID_SORT_DESCENDING 4403 #define EEID_AUTO_SORT 4404 #define EEID_RESTORE_POS 4406 #define EEID_WINDOW_COMBINE_ON 4407 #define EEID_WINDOW_COMBINE_OFF 4408 #define EEID_ACTIVE_PANE 4409 #define EEID_OUTLINE_COLLAPSE_ALL 4410 #define EEID_OUTLINE_EXPAND_ALL 4411 #define EEID_OUTLINE_TOGGLE_LINE 4412 #define EEID_OUTLINE_COLLAPSE_LINE 4413 #define EEID_OUTLINE_EXPAND_LINE 4414 #define EEID_OUTLINE_NEXT_NODE 4415 #define EEID_OUTLINE_PREV_NODE 4416 #define EEID_SHIFT_NEXT_NODE 4417 #define EEID_SHIFT_PREV_NODE 4418 #define EEID_RESTORE_DELETED 4419 #define EEID_VIEW_OUTPUT 4420 #define EEID_SHOW_MACROS_BAR 4421 #define EEID_REFRESH_TOOLBARS 4422 #define EEID_RECORD_MOUSE 4423 #define EEID_RECORD_NO_MOUSE 4424 #define EEID_FOCUS_LEFT_BAR 4425 #define EEID_FOCUS_TOP_BAR 4426 #define EEID_FOCUS_RIGHT_BAR 4427 #define EEID_FOCUS_BOTTOM_BAR 4428 #define EEID_USER_MENU1 4429 #define EEID_USER_MENU2 4430 #define EEID_USER_MENU3 4431 #define EEID_USER_MENU4 4432 #define EEID_USER_MENU5 4433 #define EEID_USER_MENU6 4434 #define EEID_USER_MENU7 4435 #define EEID_USER_MENU8 4436 #define EEID_SELECT_LOGICAL_LINE 4437 #define EEID_FILE_RELOAD_BINARY 4438 #define EEID_FILE_RELOAD_HEX 4439 #define EEID_FILE_SAVE_BINARY 4440 #define EEID_FILE_SAVE_HEX 4441 #define EEID_JUMP_NEXT 4442 #define EEID_JUMP_PREV 4443 #define EEID_EDIT_CUT_SEL 4444 #define EEID_EDIT_COPY_SEL 4445 #define EEID_RETRIEVE_REPLACE_TEXT 4446 #define EEID_REPLACE_NEXT 4447 #define EEID_VIEW_FUNCTION_BAR 4448 #define EEID_LARGE_FILE_BAR 4449 #define EEID_ERASE_WORKSPACE 4450 #define EEID_TERMINATE_TOOL 4451 #define EEID_OUTPUT_CLEAR 4452 #define EEID_FULL_SCREEN 4453 #define EEID_PASTE_HISTORY 4454 #define EEID_CUSTOMIZE_JUMP_LIST 4455 #define EEID_NARROWING_TOGGLE 4456 #define EEID_NARROWING_ON 4457 #define EEID_NARROWING_OFF 4458 #define EEID_MODE_CSV 4459 #define EEID_ADJUST_COLUMN 4460 #define EEID_SELECT_COLUMN 4461 #define EEID_ACTIVATE_OR_NEW 4462 #define EEID_MODE_TSV 4471 #define EEID_MODE_NORMAL 4472 #define EEID_VERTICAL_MODE 4473 #define EEID_WINDOW_SCROLL_LEFT 4474 #define EEID_WINDOW_SCROLL_RIGHT 4475 #define EEID_MODE_DSV 4476 #define EEID_SORT_TEXT_A 4477 #define EEID_SORT_TEXT_D 4478 #define EEID_SORT_NUM_A 4479 #define EEID_SORT_NUM_D 4480 #define EEID_CHECK_UPDATES 4481 #define EEID_CUSTOMIZE_UPDATE_CHECKER 4482 // v10 commands #define EEID_SAVE_UTF16LE_SIGN 4483 #define EEID_SAVE_UTF16LE_NOSIGN 4484 #define EEID_SAVE_UTF16BE_SIGN 4485 #define EEID_SAVE_UTF16BE_NOSIGN 4486 #define EEID_SAVE_UTF8_SIGN 4487 #define EEID_SAVE_UTF8_NOSIGN 4488 #define EEID_SELECT_CELL 4489 #define EEID_NEXT_CELL 4490 #define EEID_PREV_CELL 4491 #define EEID_COMPARE_DIRECT 4492 #define EEID_COMPARE_OPTIONS 4493 #define EEID_COMPARE_RESCAN 4494 #define EEID_SYNC_SCROLL_DIRECT 4495 #define EEID_SYNC_SCROLL_OPTIONS 4496 #define EEID_COMPARE_RESET 4497 #define EEID_IGNORE_LEAD_SPACE 4498 #define EEID_IGNORE_TRAIL_SPACE 4499 #define EEID_IGNORE_EMBEDDED_SPACE 4500 #define EEID_IGNORE_CASES 4501 #define EEID_IGNORE_RETURNS 4502 #define EEID_IGNORE_COMMENT 4503 #define EEID_IGNORE_ENCODING 4504 #define EEID_SYNC_VERT 4505 #define EEID_SYNC_HORZ 4506 #define EEID_SYNC_CARET 4507 #define EEID_COMPARE_SAVE_OPTIONS 4508 #define EEID_COMPARE_PREV 4509 #define EEID_COMPARE_NEXT 4510 #define EEID_SPELL_ADD_DIC 4511 #define EEID_SPELL_TOGGLE 4512 #define EEID_SPELL_QUOTE 4513 #define EEID_SPELL_SINGLE_QUOTES 4514 #define EEID_SPELL_DOUBLE_QUOTES 4515 #define EEID_SPELL_COMMENTS 4516 #define EEID_SPELL_SCRIPT 4517 #define EEID_SPELL_TAGS 4518 #define EEID_SPELL_HILITE 4519 #define EEID_SPELL_HYPERLINK 4520 #define EEID_SPELL_REST 4521 #define EEID_SPELL_ALL 4522 #define EEID_SYNC_HORZ_SCROLL_SPLIT 4523 #define EEID_SYNC_VERT_SCROLL_SPLIT 4524 #define EEID_ENCODE_HTML_CHAR_REF 4525 #define EEID_DECODE_HTML_CHAR_REF 4526 #define EEID_ENCODE_UCN 4527 #define EEID_DECODE_UCN 4528 #define EEID_VIEW_LINE_NUMBERS 4530 #define EEID_VIEW_RULER 4531 #define EEID_VIEW_RETURN 4532 #define EEID_VIEW_EOF 4533 #define EEID_VIEW_TAB 4534 #define EEID_VIEW_SPACE 4535 #define EEID_VIEW_WIDE_SPACE 4536 #define EEID_VIEW_CR_LF_SEPARATE 4537 #define EEID_VIEW_CONTROL 4538 #define EEID_VIEW_INDENT_GUIDES 4539 #define EEID_TOGGLE_AUTO_INDENT 4540 #define EEID_TOGGLE_SPACES_TAB 4541 #define EEID_TOGGLE_WRAP_INDENT 4542 #define EEID_RESTORE_COMBINED_POS 4543 #define EEID_NEXT_ZORDER_DOC 4544 #define EEID_PREV_ZORDER_DOC 4545 #define EEID_SYNC_RESTORE_POS 4546 #define EEID_RIGHT_DOC 4547 #define EEID_LEFT_DOC 4548 #define EEID_TOGGLE_OUTPUT_SHORTCUTS 4549 #define EEID_TAB_COLUMN_POPUP 4550 #define EEID_INDENT_COLUMN_POPUP 4551 #define EEID_NEXT_PANE_OR_BAR 4552 #define EEID_PREV_PANE_OR_BAR 4553 #define EEID_SPELL_NEXT 4554 #define EEID_SPELL_PREV 4555 #define EEID_COMPARE_PREV_LINE 4556 #define EEID_COMPARE_NEXT_LINE 4557 #define EEID_NUMBERING 4558 // v11 commands #define EEID_SHOW_FIND_BAR 4559 #define EEID_ADD_TO_MARKERS 4560 #define EEID_SHOW_MARKERS_BAR 4561 #define EEID_CUSTOMIZE_MARKERS 4562 #define EEID_ENCODE_HTML_CHAR_ENTITY_REF 4563 #define EEID_DELETE_DUPLICATE 4564 #define EEID_FOCUS_FIND_BAR 4565 #define EEID_FINDBAR_BROWSE_EXP_F 4567 #define EEID_FINDBAR_BROWSE_EXP_R 4568 #define EEID_FINDBAR_FIND_PREV 4569 #define EEID_FINDBAR_FIND_NEXT 4570 #define EEID_FINDBAR_INCREMENTAL 4571 #define EEID_FINDBAR_OPEN_DOC 4572 #define EEID_FINDBAR_CASE 4573 #define EEID_FINDBAR_REG_EXP 4574 #define EEID_FINDBAR_ESCAPE 4575 #define EEID_FINDBAR_ONLY_WORD 4576 #define EEID_FINDBAR_AROUND 4577 #define EEID_FINDBAR_COUNT 4578 #define EEID_FINDBAR_REPLACE_DLG 4579 #define EEID_FINDBAR_SEL_ONLY 4580 #define EEID_FINDBAR_REPLACE_NEXT 4581 #define EEID_FINDBAR_REPLACE_ALL 4582 #define EEID_MOST_RECENT_CLOSED_FILE 4583 #define EEID_CLOSE_FIND_BAR 4584 #define EEID_MARKER_ENABLE_ALL 4585 #define EEID_MARKER_DISABLE_ALL 4586 #define EEID_MARKER_DELETE_ALL 4587 // v12 commands #define EEID_BOOKMARK_INVERT 4588 #define EEID_BOOKMARK_DELETE 4589 #define EEID_BOOKMARK_EXTRACT 4590 #define EEID_ADD_REMOVE_MARKER 4591 #define EEID_BOOKMARK_GROUP_EXTRACT 4592 #define EEID_COMPARE_BOOKMARK 4593 #define EEID_BOOKMARK_GROUP_CLEAR 4594 #define EEID_BOOKMARK_GROUP_INVERT 4595 #define EEID_BOOKMARK_GROUP_DELETE 4596 #define EEID_CARET_BACK 4597 #define EEID_CARET_FORWARD 4598 #define EEID_SHOW_LAST_MESSAGE 4600 #define EEID_NEXT_TAG 4601 #define EEID_SHIFT_NEXT_TAG 4602 // v13 commands #define EEID_SELECT_ALL_OCCURRENCES 4603 #define EEID_ADD_NEXT_OCCURRENCE 4604 #define EEID_ADD_NEXT2_OCCURRENCE 4605 #define EEID_SPLIT_TO_FILES 4606 #define EEID_COMBINE_FILES 4607 #define EEID_SEARCH_ALL_COMMANDS 4608 #define EEID_FILE_SAVE_ALL_AS 3843 #define EEID_HELP_DOWNGRADE 3844 #define EEID_HELP_UPGRADE 3845 #define EEID_REPEAT_LAST_COMMAND 3846 #define EEID_CONFIG_ASSOCIATE 3847 #define EEID_SELECT_BEGIN_LINES 3848 #define EEID_SELECT_END_LINES 3849 #define EEID_SWITCH_START_END_SELECT 3850 #define EEID_BOOKMARK_SELECT 3851 #define EEID_BOOKMARK_CUT 3852 #define EEID_BOOKMARK_COPY 3853 // v14 commands #define EEID_DECODE_PERCENT 3854 #define EEID_ENCODE_PERCENT 3855 #define EEID_DECODE_PERCENT_UTF8 3856 #define EEID_ENCODE_PERCENT_UTF8 3857 #define EEID_MOVE_LINE_UP 3858 #define EEID_MOVE_LINE_DOWN 3859 // v14.1 commands #define EEID_RESET_ALL 3860 // v14.2 commands #define EEID_INSERT_MACRON 3861 #define EEID_ADD_REMOVE_GUIDE 3862 #define EEID_VIEW_USER_DEFINED_GUIDES 3863 // v14.3 commands #define EEID_SCROLL_TOP 3864 #define EEID_SCROLL_BOTTOM 3865 #define EEID_SCROLL_PAGE_UP 3866 #define EEID_SCROLL_PAGE_DOWN 3867 #define EEID_SCROLL_PAGE_LEFT 3868 #define EEID_SCROLL_PAGE_RIGHT 3869 #define EEID_SCROLL_LEFT_EDGE 3870 #define EEID_SCROLL_RIGHT_EDGE 3871 // v14.4 commands #define EEID_OUTLINE_BAR 3872 #define EEID_OUTLINE_GUIDE 3873 #define EEID_OUTLINE_BAR_GUIDE 3874 #define EEID_OUTLINE_POPUP 3875 #define EEID_RESET_FONT_SIZE 3876 #define EEID_SET_DEFAULT_FONT_SIZE 3877 #define EEID_INSERT_TAB 3878 // v14.5 command #define EEID_OUTLINE_SYNC_BAR_TO_GUIDE 3879 // v14.6 commands #define EEID_HEADING_TOGGLE 3880 #define EEID_HEADING_SET 3881 #define EEID_HEADING_RESET 3882 #define EEID_CONVERT_TO_FIXED_WIDTH 3883 #define EEID_ADD_REMOVE_SEPARATOR 3884 #define EEID_AUTO_ADD_SEPARATORS 3885 #define EEID_REMOVE_ALL_SEPARATORS 3886 #define EEID_INSERT_COLUMN 3887 #define EEID_ADD_COLUMN 3888 #define EEID_VERTICAL_SELECTION 3889 #define EEID_SHOW_SV_BAR 3890 #define EEID_SV_SEP_POPUP 3893 #define EEID_HEADING_1 3894 #define EEID_HEADING_2 3895 #define EEID_HEADING_3 3896 #define EEID_HEADING_4 3897 #define EEID_HEADING_POPUP 3898 #define EEID_SV_POPUP 3899 #define EEID_READ_ONLY_HEADINGS 3900 #define EEID_ADJUST_COLUMN_VISIBLE 3901 #define EEID_REMOVE_UNNECESSARY_QUOTES 3902 #define EEID_SORT_MULTI 3903 #define EEID_FILTERBAR_BROWSE_EXP_F 3904 #define EEID_FILTERBAR_REFRESH 3905 #define EEID_FILTERBAR_INCREMENTAL 3906 #define EEID_FILTERBAR_CASE 3907 #define EEID_FILTERBAR_REG_EXP 3908 #define EEID_FILTERBAR_ESCAPE 3909 #define EEID_FILTERBAR_ONLY_WORD 3910 #define EEID_SHOW_FILTER_BAR 3911 #define EEID_FOCUS_FILTER_BAR 3912 #define EEID_CLOSE_FILTER_BAR 3913 #define EEID_FILTERBAR_ABORT 3914 #define EEID_FILTERBAR_LIMIT 3915 // v14.7 commands #define EEID_FILTERBAR_NEGATIVE 3916 #define EEID_SORT_LENGTH_A 3917 #define EEID_SORT_LENGTH_D 3918 #define EEID_FILTERBAR_ADVANCED 3919 // v14.8 #define EEID_DELETE_DUPLICATE_ADVANCED 3920 #define EEID_JOIN_CSV 3921 // v14.9 #define EEID_REMOVE_EMBEDDED_NL 3922 //#define EEID_FINDBAR_EMBEDDED_NL 3923 // obsolete // v15.0 #define EEID_WORKSPACE_OPEN 3924 #define EEID_WORKSPACE_SAVE_AS 3925 #define EEID_WORKSPACE_SAVE_CURRENT 3926 #define EEID_FILTERBAR_BOOKMARK 3927 #define EEID_FILTERBAR_EXTRACT 3928 #define EEID_FILTER_WORD 3929 // v15.1 #define EEID_EXTRACT_COLUMNS 3930 #define EEID_SELECT_COLUMN_WITH_HEADINGS 3931 // v15.2 #define EEID_HELP_INTERNET 3932 #define EEID_HELP_LOCAL 3933 // v15.3 #define EEID_SAVE_CLOSE_DESKTOP 3934 #define EEID_CLOSE_DESKTOP 3935 #define EEID_QUIT_DESKTOP 3936 #define EEID_SAVE_WORKSPACE_CLOSE_DESKTOP 3937 #define EEID_SAVE_WORKSPACE_QUIT_DESKTOP 3938 // v15.4 #define EEID_DECODE_BASE64 3939 #define EEID_ENCODE_BASE64 3940 #define EEID_DECODE_BASE64_UTF8 3941 #define EEID_ENCODE_BASE64_UTF8 3942 #define EEID_DECODE_BASE64_BINARY 3943 #define EEID_ENCODE_BASE64_BINARY 3944 #define EEID_SORT_WORDS_A 3945 #define EEID_SORT_WORDS_D 3946 #define EEID_CLEAR_VISIT_HISTORY 3947 // v15.5 #define EEID_START_WINDOW 3948 #define EEID_TOGGLE_OUTPUT_WRAP 3949 // v15.6 #define EEID_UPDATE_CHANNEL 3950 #define EEID_QL_COMMANDS 3951 #define EEID_QL_OPTIONS 3952 #define EEID_QL_SYMBOLS 3953 #define EEID_CUSTOMIZE_MACRO_MY_MACROS 3954 #define EEID_CUSTOMIZE_MACRO_OPTIONS 3955 #define EEID_CUSTOMIZE_MARKERS_LIST 3956 #define EEID_CUSTOMIZE_MARKERS_AUTO 3957 #define EEID_CUSTOMIZE_MARKERS_OPTIONS 3958 // v15.7 #define EEID_FINDBAR_ADVANCED 3923 // v15.8 #define EEID_CSV_CELL_MODE 3959 #define EEID_CSV_EDIT_CELL 3960 #define EEID_DELETE_COMPLETE 3961 // v15.9 #define EEID_CSV_CONVERTER 3891 #define EEID_DELETE_COLUMN 3962 #define EEID_CUT_COLUMN 3963 #define EEID_COPY_COLUMN 3964 #define EEID_INSERT_COLUMN_RIGHT 3965 // v16.0 #define EEID_ADD_QUOTES 3966 // other commands #define EEID_FILE_MRU_FILE1 4609 // to EEID_FILE_MRU_FILE1 + 63 #define EEID_MRU_FONT1 4736 // to EEID_MRU_FONT1 + 63 #define EEID_RECENT_CLOSED_FILE1 4800 // to EEID_RECENT_CLOSED_FILE1 + 63 #define EEID_FILE_MRU_INSERT1 4864 // to EEID_FILE_MRU_INSER1 + 63 #define EEID_FILE_MRU_FOLDER1 4992 // to EEID_FILE_MRU_FOLDER1 + 63 #define EEID_SELECT_CONFIG 5120 // to EEID_SELECT_CONFIG + 255 #define EEID_WINDOW_MENU 5376 // to EEID_WINDOW_MENU + 255 #define EEID_PLUG_IN1 5632 // to EEID_PLUG_IN1 + 255 #define EEID_FILE_RELOAD_DEFINED 6656 // to EEID_FILE_RELOAD_DEFINED + 255 #define EEID_FILE_NEW_CONFIG 7168 // to EEID_FILE_NEW_CONFIG + 255 #define EEID_FILE_SAVE_DEFINED 7680 // to EEID_FILE_SAVE_DEFINED + 255 #define EEID_TOOL1 8192 // to EEID_TOOL1 + 255 #define EEID_MACRO1 9216 // to EEID_MACRO1 + 1023 #define EEID_CUSTOM_REBAR1 21504 // to EEID_CUSTOM_REBAR1 + 255 #define EEID_SPELL_SUGGEST 8768 // to EEID_SPELL_SUGGEST + 31 #define EEID_SELECT_DICTIONARY 22016 // to EEID_SELECT_DICTIONARY + 255 #define EEID_SV_MODE 22528 // to EEID_SV_MODE + 7 #define EEID_CONVERT_TO_SV 22656 // to EEID_CONVERT_TO_SV + 7 #define EEID_WORKSPACE_RECENT_FILE1 22784 // to EEID_WORKSPACE_RECENT_FILE1 + 63 #define EEID_CHARSET_DEFAULT 8704 #define EEID_CHARSET_ARABIC 8705 #define EEID_CHARSET_BALTIC 8706 #define EEID_CHARSET_CENTRAL_EUROPE 8707 #define EEID_CHARSET_CHINESE_SIMPLIFIED 8708 #define EEID_CHARSET_CHINESE_TRADITIONAL 8709 #define EEID_CHARSET_CYRILLIC 8710 #define EEID_CHARSET_GREEK 8711 #define EEID_CHARSET_HEBREW 8712 #define EEID_CHARSET_JAPANESE 8713 #define EEID_CHARSET_KOREAN 8714 #define EEID_CHARSET_THAI 8715 #define EEID_CHARSET_TURKISH 8716 #define EEID_CHARSET_VIETNAMESE 8717 #define EEID_CHARSET_WESTERN_EUROPE 8718 #define EEID_CHARSET_OEM 8719 #define EEID_OUTLINE_LEVEL_2 8832 #define EEID_OUTLINE_LEVEL_3 8833 #define EEID_OUTLINE_LEVEL_4 8834 #define EEID_OUTLINE_LEVEL_5 8835 #define EEID_OUTLINE_LEVEL_6 8836 #define EEID_OUTLINE_LEVEL_7 8837 #define EEID_OUTLINE_LEVEL_8 8838 #define EEID_OUTLINE_LEVEL_9 8839 #define EEID_OUTLINE_LEVEL_10 8840 #define EEID_OUTLINE_LEVEL_11 8841 #define EEID_OUTLINE_LEVEL_12 8842 #define EEID_OUTLINE_LEVEL_13 8843 #define EEID_OUTLINE_LEVEL_14 8844 #define EEID_OUTLINE_LEVEL_15 8845 #define EEID_OUTLINE_LEVEL_16 8846 #define EEID_PROPERTY_MARGIN 8960 #define EEID_PROPERTY_SCROLL 8961 #define EEID_PROPERTY_FILE 8962 #define EEID_PROPERTY_BACKUP 8963 #define EEID_PROPERTY_AUTO_SAVE 8964 #define EEID_PROPERTY_ASSOCIATE 8965 #define EEID_PROPERTY_KINSOKU 8966 #define EEID_PROPERTY_FACE 8967 #define EEID_PROPERTY_HILITE 8968 #define EEID_PROPERTY_COMMENT 8969 #define EEID_PROPERTY_SHOW 8970 #define EEID_PROPERTY_MARK 8971 #define EEID_PROPERTY_PRINT 8972 #define EEID_PROPERTY_LINK 8973 #define EEID_PROPERTY_KEYBOARD 8974 #define EEID_PROPERTY_SPELL 8975 #define EEID_PROPERTY_OUTLINE 8976 #define EEID_PROPERTY_INDENT 8977 #define EEID_PROPERTY_FILE_NEW 8978 #define EEID_PROPERTY_FILE_SAVE 8979 #define EEID_CUSTOMIZE_FILE 9040 #define EEID_CUSTOMIZE_SEARCH 9041 #define EEID_CUSTOMIZE_HISTORY 9042 #define EEID_CUSTOMIZE_WINDOW 9043 #define EEID_CUSTOMIZE_TAB 9044 #define EEID_CUSTOMIZE_STATUS 9045 #define EEID_CUSTOMIZE_ADVANCED 9046 #define EEID_CUSTOMIZE_LANG 9047 #define EEID_CUSTOMIZE_SHORTCUT 9048 #define EEID_CUSTOMIZE_EDIT 9049 #define EEID_CUSTOMIZE_MARKS 9050 #define EEID_CUSTOMIZE_VIEW 9051 #define EEID_CUSTOMIZE_MOUSE 9052 #define EEID_CUSTOMIZE_SORT 9053 #define EEID_CUSTOMIZE_OUTLINE 9054 #define EEID_CUSTOMIZE_SV 9055 // for Projects plug-in #ifdef USE_PROJECTS_PLUGIN #define SYMBOL_SORT_NONE 0 #define SYMBOL_SORT_CASE_SENSITIVE 1 #define SYMBOL_SORT_CASE_INSENSITIVE 2 #define SYMBOL_SORT_MASK 3 #define DEF_SYMBOL_SORT SYMBOL_SORT_CASE_SENSITIVE #define SYMBOL_REFRESH 4 #define PROJECTS_USER_MSG_OPEN_SOLUTION 0 // lParam: (LPCWSTR)szSolutionFile open a solution file #define PROJECTS_USER_MSG_CREATE_TAGS 1 // lParam: ignored Start creating tags for the active file. The return value might be E_NOT_READY when symbol file is not ready. #define PROJECTS_USER_MSG_GET_SYMBOLS 2 // lParam: (GET_SYMBOLS_INFO*)pInfo retrieves symbol list, and enumerate symbol with pInfo->pEnumSymbolProc function. The return value might be E_NOT_READY when symbol file is not ready. #define PROJECTS_USER_GO_TO_DEFINITION 3 // lParam: ignored Go to Definition of the currenct cursor position. The return value might be E_NOT_READY when symbol file is not ready. #define PROJECTS_USER_POP_CURRENT_POS 4 // lParam: ignored Pop Current Context #define PROJECTS_USER_SHOW_PARAMETER_INFO 5 // lParam: ignored Show Parameter Information. The return value might be E_NOT_READY when symbol file is not ready. #define PROJECTS_USER_GO_TO_DEFINITION_OF 6 // lParam: (LPCWSTR)pszSymbol Go to Definition of the pszSymbol. The return value might be E_NOT_READY when symbol file is not ready. #define PROJECTS_USER_SYMBOL_LIST 7 // lParam: ignored Toggle the user symbol list. #define PROJECTS_USER_IS_SYMBOL_LIST_VISIBLE 8 // lParam: ignored returns TRUE if the use symbol list is displayed, FALSE if not displayed. #define E_NOT_READY (-1) /* This structure contains information about an extension field for a tag. * These exist at the end of the tag in the form "key:value"). */ typedef struct { /* the key of the extension field */ const char *key; /* the value of the extension field (may be an empty string) */ const char *value; } TAG_EXTENSION_FIELD; /* This structure contains information about a specific tag. */ typedef struct { /* name of tag */ const char *name; /* path of source file containing definition of tag */ const char *file; /* address for locating tag in source file */ struct { /* pattern for locating source line * (may be NULL if not present) */ const char *pattern; /* line number in source file of tag definition * (may be zero if not known) */ unsigned long lineNumber; } address; /* kind of tag (may by name, character, or NULL if not known) */ const char *kind; /* is tag of file-limited scope? */ short fileScope; /* miscellaneous extension fields */ struct { /* number of entries in `list' */ unsigned short count; /* list of key value pairs */ TAG_EXTENSION_FIELD *list; } fields; } TAG_ENTRY; typedef BOOL( CALLBACK* ENUM_SYMBOL_PROC )(TAG_ENTRY*, LPARAM); typedef struct _GET_SYMBOLS_INFO { UINT_PTR cbSize; UINT_PTR nFlags; LPARAM lParam; ENUM_SYMBOL_PROC pEnumSymbolProc; } GET_SYMBOLS_INFO; #endif // USE_PROJECTS_PLUGIN