comparison dstep/appkit/NSInputServer.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents
children b9de51448c6b
comparison
equal deleted inserted replaced
15:7ff919f595d5 16:19885b43130e
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Sep 24, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.appkit.NSInputServer;
8
9 import dstep.foundation.NSGeometry;
10 import dstep.foundation.NSObjCRuntime;
11 import dstep.foundation.NSObject;
12 import dstep.foundation.NSRange;
13 import dstep.foundation.NSString;
14 import dstep.objc.bridge.Bridge;
15 import dstep.objc.objc;
16
17 class NSInputServer : NSObject, INSInputServiceProvider, INSInputServerMouseTracker
18 {
19 mixin (ObjcWrap);
20
21 NSInputServer initWithDelegate (Object aDelegate, NSString name)
22 {
23 id result = invokeObjcSelf!(id, "initWithDelegate:name:", Object, NSString)(aDelegate, name);
24 return result is this.objcObject ? this : (result !is null ? new NSInputServer(result) : null);
25 }
26
27 this (Object aDelegate, NSString name)
28 {
29 super(NSInputServer.alloc.initWithDelegate(aDelegate, name).objcObject);
30 }
31
32 void insertText (Object aString, Object sender)
33 {
34 return invokeObjcSelf!(void, "insertText:client:", Object, Object)(aString, sender);
35 }
36
37 void doCommandBySelector (SEL aSelector, Object sender)
38 {
39 return invokeObjcSelf!(void, "doCommandBySelector:client:", SEL, Object)(aSelector, sender);
40 }
41
42 void markedTextAbandoned (Object sender)
43 {
44 return invokeObjcSelf!(void, "markedTextAbandoned:", Object)(sender);
45 }
46
47 void markedTextSelectionChanged (NSRange newSel, Object sender)
48 {
49 return invokeObjcSelf!(void, "markedTextSelectionChanged:client:", NSRange, Object)(newSel, sender);
50 }
51
52 void terminate (Object sender)
53 {
54 return invokeObjcSelf!(void, "terminate:", Object)(sender);
55 }
56
57 bool canBeDisabled ()
58 {
59 return invokeObjcSelf!(bool, "canBeDisabled");
60 }
61
62 bool wantsToInterpretAllKeystrokes ()
63 {
64 return invokeObjcSelf!(bool, "wantsToInterpretAllKeystrokes");
65 }
66
67 bool wantsToHandleMouseEvents ()
68 {
69 return invokeObjcSelf!(bool, "wantsToHandleMouseEvents");
70 }
71
72 bool wantsToDelayTextChangeNotifications ()
73 {
74 return invokeObjcSelf!(bool, "wantsToDelayTextChangeNotifications");
75 }
76
77 void inputClientBecomeActive (Object sender)
78 {
79 return invokeObjcSelf!(void, "inputClientBecomeActive:", Object)(sender);
80 }
81
82 void inputClientResignActive (Object sender)
83 {
84 return invokeObjcSelf!(void, "inputClientResignActive:", Object)(sender);
85 }
86
87 void inputClientEnabled (Object sender)
88 {
89 return invokeObjcSelf!(void, "inputClientEnabled:", Object)(sender);
90 }
91
92 void inputClientDisabled (Object sender)
93 {
94 return invokeObjcSelf!(void, "inputClientDisabled:", Object)(sender);
95 }
96
97 void activeConversationWillChange (Object sender, NSInteger oldConversation)
98 {
99 return invokeObjcSelf!(void, "activeConversationWillChange:fromOldConversation:", Object, NSInteger)(sender, oldConversation);
100 }
101
102 void activeConversationChanged (Object sender, NSInteger newConversation)
103 {
104 return invokeObjcSelf!(void, "activeConversationChanged:toNewConversation:", Object, NSInteger)(sender, newConversation);
105 }
106
107 bool mouseDownOnCharacterIndex (NSUInteger theIndex, NSPoint thePoint, NSUInteger theFlags, Object sender)
108 {
109 return invokeObjcSelf!(bool, "mouseDownOnCharacterIndex:atCoordinate:withModifier:client:", NSUInteger, NSPoint, NSUInteger, Object)(theIndex, thePoint, theFlags, sender);
110 }
111
112 bool mouseDraggedOnCharacterIndex (NSUInteger theIndex, NSPoint thePoint, NSUInteger theFlags, Object sender)
113 {
114 return invokeObjcSelf!(bool, "mouseDraggedOnCharacterIndex:atCoordinate:withModifier:client:", NSUInteger, NSPoint, NSUInteger, Object)(theIndex, thePoint, theFlags, sender);
115 }
116
117 void mouseUpOnCharacterIndex (NSUInteger theIndex, NSPoint thePoint, NSUInteger theFlags, Object sender)
118 {
119 return invokeObjcSelf!(void, "mouseUpOnCharacterIndex:atCoordinate:withModifier:client:", NSUInteger, NSPoint, NSUInteger, Object)(theIndex, thePoint, theFlags, sender);
120 }
121 }
122
123 interface INSInputServiceProvider
124 {
125 void insertText (Object aString, Object sender);
126 void doCommandBySelector (SEL aSelector, Object sender);
127 void markedTextAbandoned (Object sender);
128 void markedTextSelectionChanged (NSRange newSel, Object sender);
129 void terminate (Object sender);
130 bool canBeDisabled ();
131 bool wantsToInterpretAllKeystrokes ();
132 bool wantsToHandleMouseEvents ();
133 bool wantsToDelayTextChangeNotifications ();
134 void inputClientBecomeActive (Object sender);
135 void inputClientResignActive (Object sender);
136 void inputClientEnabled (Object sender);
137 void inputClientDisabled (Object sender);
138 void activeConversationWillChange (Object sender, NSInteger oldConversation);
139 void activeConversationChanged (Object sender, NSInteger newConversation);
140 }
141
142 interface INSInputServerMouseTracker
143 {
144 bool mouseDownOnCharacterIndex (NSUInteger theIndex, NSPoint thePoint, NSUInteger theFlags, Object sender);
145 bool mouseDraggedOnCharacterIndex (NSUInteger theIndex, NSPoint thePoint, NSUInteger theFlags, Object sender);
146 void mouseUpOnCharacterIndex (NSUInteger theIndex, NSPoint thePoint, NSUInteger theFlags, Object sender);
147 }
148