00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _RM_UTILITIES_EDITOR_H_
00014 #define _RM_UTILITIES_EDITOR_H_
00015
00016 enum
00017 {
00018 EDITOR_NONE = 0,
00019 EDITOR_NEXT_LINE,
00020 EDITOR_PREV_LINE,
00021 EDITOR_NEXT_CHAR,
00022 EDITOR_PREV_CHAR,
00023 EDITOR_PAGE_UP,
00024 EDITOR_PAGE_DOWN,
00025 EDITOR_CUT,
00026 EDITOR_COPY,
00027 EDITOR_PASTE,
00028 EDITOR_DELETE,
00029 EDITOR_HOME,
00030 EDITOR_END,
00031 EDITOR_START_SELECTION,
00032 EDITOR_ADD_LINE_TO_CB,
00033 EDITOR_TRANSPOSE_CHARS,
00034 EDITOR_FIND,
00035 EDITOR_FIND_NEXT,
00036 EDITOR_REPLACE,
00037 EDITOR_SAVE,
00038 EDITOR_FUNCTION_COUNT
00039 };
00040
00041 RMUTIL_API RM_TCHAR* RmRegisterEditorWindow(HINSTANCE hInstance);
00042
00043 RMUTIL_API HWND RmEditorCreateWindow(HWND parent, DWORD style);
00044 RMUTIL_API void RmEditorAddKeyword(HWND hwnd, RM_TCHAR* keyword, COLORREF color);
00045 RMUTIL_API void RmEditorRemoveKeyword(HWND hwnd, RM_TCHAR* keyword);
00046 RMUTIL_API void RmEditorAddText(HWND hwnd, RM_TCHAR* content);
00047 RMUTIL_API void RmEditorSetContent(HWND hwnd, RM_TCHAR* content);
00048 RMUTIL_API void RmEditorGetContent(HWND hwnd, RM_TCHAR *content);
00049 RMUTIL_API void RmEditorRegisterCallback(HWND hwnd, void (*cb)(RM_TCHAR*, int));
00050 RMUTIL_API void RmEditorClearBindings(HWND hwnd);
00051 RMUTIL_API void RmEditorAddBinding(HWND hwnd, int key, int function);
00052 RMUTIL_API void RmEditorOpenFile(HWND hwnd, RM_TCHAR* filename);
00053 RMUTIL_API RM_TCHAR* RmEditorGetFilename(HWND hwnd);
00054 RMUTIL_API int RmEditorIsModified(HWND hwnd);
00055 RMUTIL_API void RmEditorHighlightLine(HWND hwnd, int line, COLORREF color);
00056 RMUTIL_API void RmEditorClearLineHighlight(HWND hwnd, int line);
00057 RMUTIL_API void RmEditorClearHighlights(HWND hwnd);
00058 RMUTIL_API void RmEditorSetMarginWidth(HWND hwnd, int margin);
00059 RMUTIL_API void RmEditorSetEditable(HWND hwnd, int editable);
00060 RMUTIL_API void RmEditorSyntaxColor(HWND hwnd, int state);
00061 RMUTIL_API void RmEditorClearKeywords(HWND hwnd);
00062 RMUTIL_API void RmEditorClearContent(HWND hwnd);
00063 RMUTIL_API void RmEditorFlagModified(HWND hwnd, int state);
00064 RMUTIL_API void RmEditorRegisterDoubleClickCB(HWND hwnd, void (*cb)(RM_TCHAR*, int));
00065 RMUTIL_API void RmEditorSetCursorPos(HWND hwnd, int line, int pos);
00066 RMUTIL_API void RmEditorSelectAll(HWND hwnd);
00067 RMUTIL_API int RmEditorGetContentSize(HWND hwnd);
00068
00069
00070
00071 RMUTIL_API int RmEditorFindLine(HWND hwnd,int searchStartLine,RM_TCHAR* szSearchText);
00072
00073 RMUTIL_API RM_TCHAR* RmEditorGetLine(HWND hwnd,int lineNum);
00074
00075
00076 RMUTIL_API void RmEditorEmulateDblClick(HWND hwnd,int lineNum);
00077
00078 #endif