aboutsummaryrefslogtreecommitdiffhomepage
path: root/cocoa/ScintillaView.h
diff options
context:
space:
mode:
authornyamatongwe <nyamatongwe@gmail.com>2013-09-08 12:57:45 +1000
committernyamatongwe <nyamatongwe@gmail.com>2013-09-08 12:57:45 +1000
commit7165e22b51b8660fe81a0f4d4b99f31184154e73 (patch)
treec2ec3056fe6d109762fb6357bed82c900015ae41 /cocoa/ScintillaView.h
parent0ee832d0249858a735112184e7d62be158d27228 (diff)
downloadscintilla-mirror-7165e22b51b8660fe81a0f4d4b99f31184154e73.tar.gz
Stop exposing Scintilla implementation to clients from ScintillaView header.
Platform.h and ScintillaCocoa.h are no longer imported in ScintillaView.h
Diffstat (limited to 'cocoa/ScintillaView.h')
-rw-r--r--cocoa/ScintillaView.h28
1 files changed, 25 insertions, 3 deletions
diff --git a/cocoa/ScintillaView.h b/cocoa/ScintillaView.h
index 78fe65666..1b0c110fb 100644
--- a/cocoa/ScintillaView.h
+++ b/cocoa/ScintillaView.h
@@ -11,12 +11,34 @@
#import <Cocoa/Cocoa.h>
-#import "Platform.h"
#import "Scintilla.h"
#import "SciLexer.h"
#import "InfoBarCommunicator.h"
-#import "ScintillaCocoa.h"
+
+/**
+ * Scintilla sends these two messages to the notify handler. Please refer
+ * to the Windows API doc for details about the message format.
+ */
+#define WM_COMMAND 1001
+#define WM_NOTIFY 1002
+
+namespace Scintilla {
+/**
+ * On the Mac, there is no WM_COMMAND or WM_NOTIFY message that can be sent
+ * back to the parent. Therefore, there must be a callback handler that acts
+ * like a Windows WndProc, where Scintilla can send notifications to. Use
+ * ScintillaView registerNotifyCallback() to register such a handler.
+ * Message format is:
+ * <br>
+ * WM_COMMAND: HIWORD (wParam) = notification code, LOWORD (wParam) = control ID, lParam = ScintillaCocoa*
+ * <br>
+ * WM_NOTIFY: wParam = 0 (no control ID), lParam = ptr to SCNotification structure, with hwndFrom set to ScintillaCocoa*
+ */
+typedef void(*SciNotifyFunc) (intptr_t windowid, unsigned int iMessage, uintptr_t wParam, uintptr_t lParam);
+
+class ScintillaCocoa;
+}
@class ScintillaView;
@@ -64,7 +86,7 @@ extern NSString *SCIUpdateUINotification;
- (void) dealloc;
- (void) removeMarkedText;
-- (void) setCursor: (Scintilla::Window::Cursor) cursor;
+- (void) setCursor: (int) cursor;
- (BOOL) canUndo;
- (BOOL) canRedo;