comparison dwt/internal/cocoa/NSTextContainer.d @ 0:380af2bdd8e5

Upload of whole dwt tree
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sat, 09 Aug 2008 17:00:02 +0200
parents
children 8b48be5454ce
comparison
equal deleted inserted replaced
-1:000000000000 0:380af2bdd8e5
1 /*******************************************************************************
2 * Copyright (c) 2007 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * IBM Corporation - initial API and implementation
10 *
11 * Port to the D Programming language:
12 * Jacob Carlborg <jacob.carlborg@gmail.com>
13 *******************************************************************************/
14 module dwt.internal.cocoa.NSTextContainer;
15
16 import dwt.internal.cocoa.id;
17 import dwt.internal.cocoa.NSLayoutManager;
18 import dwt.internal.cocoa.NSObject;
19 import dwt.internal.cocoa.NSPoint;
20 import dwt.internal.cocoa.NSRect;
21 import dwt.internal.cocoa.NSSize;
22 import dwt.internal.cocoa.NSTextView;
23 import dwt.internal.cocoa.OS;
24 import objc = dwt.internal.objc.runtime;
25
26
27
28 enum NSLineSweepDirection
29 {
30 NSLineSweepLeft = 0,
31 NSLineSweepRight = 1,
32 NSLineSweepDown = 2,
33 NSLineSweepUp = 3
34 }
35
36 alias NSLineSweepDirection.NSLineSweepLeft NSLineSweepLeft;
37 alias NSLineSweepDirection.NSLineSweepRight NSLineSweepRight;
38 alias NSLineSweepDirection.NSLineSweepDown NSLineSweepDown;
39 alias NSLineSweepDirection.NSLineSweepUp NSLineSweepUp;
40
41
42
43 enum NSLineMovementDirection
44 {
45 NSLineDoesntMove = 0,
46 NSLineMovesLeft = 1,
47 NSLineMovesRight = 2,
48 NSLineMovesDown = 3,
49 NSLineMovesUp = 4
50 }
51
52 alias NSLineMovementDirection.NSLineDoesntMove NSLineDoesntMove;
53 alias NSLineMovementDirection.NSLineMovesLeft NSLineMovesLeft;
54 alias NSLineMovementDirection.NSLineMovesRight NSLineMovesRight;
55 alias NSLineMovementDirection.NSLineMovesDown NSLineMovesDown;
56 alias NSLineMovementDirection.NSLineMovesUp NSLineMovesUp;
57
58
59
60 public class NSTextContainer : NSObject
61 {
62
63 public this ()
64 {
65 super();
66 }
67
68 public this (objc.id id)
69 {
70 super(id);
71 }
72
73 public NSSize containerSize ()
74 {
75 NSSize result;
76 OS.objc_msgSend_struct(result, this.id, OS.sel_containerSize);
77 return result;
78 }
79
80 public bool containsPoint (NSPoint point)
81 {
82 return OS.objc_msgSend(this.id, OS.sel_containsPoint_1, point) !is null;
83 }
84
85 public bool heightTracksTextView ()
86 {
87 return OS.objc_msgSend(this.id, OS.sel_heightTracksTextView) !is null;
88 }
89
90 public id initWithContainerSize (NSSize size)
91 {
92 objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithContainerSize_1, size);
93 return result !is null ? new id(result) : null;
94 }
95
96 public bool isSimpleRectangularTextContainer ()
97 {
98 return OS.objc_msgSend(this.id, OS.sel_isSimpleRectangularTextContainer) !is null;
99 }
100
101 public NSLayoutManager layoutManager ()
102 {
103 objc.id result = OS.objc_msgSend(this.id, OS.sel_layoutManager);
104 return result !is null ? new NSLayoutManager(result) : null;
105 }
106
107 public CGFloat lineFragmentPadding ()
108 {
109 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_lineFragmentPadding);
110 }
111
112 public NSRect lineFragmentRectForProposedRect (NSRect proposedRect, NSLineSweepDirection sweepDirection, NSLineMovementDirection movementDirection, NSRectPointer remainingRect)
113 {
114 NSRect result;
115 OS.objc_msgSend_stret(result, this.id, OS.sel_lineFragmentRectForProposedRect_1sweepDirection_1movementDirection_1remainingRect_1,
116 proposedRect, sweepDirection, movementDirection, remainingRect);
117 return result;
118 }
119
120 public void replaceLayoutManager (NSLayoutManager newLayoutManager)
121 {
122 OS.objc_msgSend(this.id, OS.sel_replaceLayoutManager_1, newLayoutManager !is null ? newLayoutManager.id : null);
123 }
124
125 public void setContainerSize (NSSize size)
126 {
127 OS.objc_msgSend(this.id, OS.sel_setContainerSize_1, size);
128 }
129
130 public void setHeightTracksTextView (bool flag)
131 {
132 OS.objc_msgSend(this.id, OS.sel_setHeightTracksTextView_1, flag);
133 }
134
135 public void setLayoutManager (NSLayoutManager layoutManager)
136 {
137 OS.objc_msgSend(this.id, OS.sel_setLayoutManager_1, layoutManager !is null ? layoutManager.id : null);
138 }
139
140 public void setLineFragmentPadding (CGFloat pad)
141 {
142 OS.objc_msgSend(this.id, OS.sel_setLineFragmentPadding_1, pad);
143 }
144
145 public void setTextView (NSTextView textView)
146 {
147 OS.objc_msgSend(this.id, OS.sel_setTextView_1, textView !is null ? textView.id : null);
148 }
149
150 public void setWidthTracksTextView (bool flag)
151 {
152 OS.objc_msgSend(this.id, OS.sel_setWidthTracksTextView_1, flag);
153 }
154
155 public NSTextView textView ()
156 {
157 objc.id result = OS.objc_msgSend(this.id, OS.sel_textView);
158 return result !is null ? new NSTextView(result) : null;
159 }
160
161 public bool widthTracksTextView ()
162 {
163 return OS.objc_msgSend(this.id, OS.sel_widthTracksTextView) !is null;
164 }
165
166 }