Mercurial > projects > dwt-mac
annotate dwt/internal/cocoa/NSTableView.d @ 45:d8635bb48c7c
Merge with SWT 3.5
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 01 Dec 2008 17:07:00 +0100 |
parents | f565d3a95c0a |
children | 62202ce0039f |
rev | line source |
---|---|
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
1 /******************************************************************************* |
45 | 2 * Copyright (c) 2000, 2008 IBM Corporation and others. |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
7 * |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
8 * Contributors: |
45 | 9 * IBM Corporation - initial API and implementation |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
10 * |
13
f565d3a95c0a
Ported dwt.internal
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
1
diff
changeset
|
11 * Port to the D programming language: |
45 | 12 * Jacob Carlborg <doob@me.com> |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
13 *******************************************************************************/ |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
14 module dwt.internal.cocoa.NSTableView; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
15 |
45 | 16 import dwt.dwthelper.utils; |
17 import dwt.internal.c.Carbon; | |
18 import cocoa = dwt.internal.cocoa.id; | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
19 import dwt.internal.cocoa.NSArray; |
45 | 20 import dwt.internal.cocoa.NSIndexSet; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
21 import dwt.internal.cocoa.NSColor; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
22 import dwt.internal.cocoa.NSControl; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
23 import dwt.internal.cocoa.NSPoint; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
24 import dwt.internal.cocoa.NSRange; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
25 import dwt.internal.cocoa.NSRect; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
26 import dwt.internal.cocoa.NSSize; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
27 import dwt.internal.cocoa.NSTableColumn; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
28 import dwt.internal.cocoa.NSTableHeaderView; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
29 import dwt.internal.cocoa.OS; |
45 | 30 import dwt.internal.objc.cocoa.Cocoa; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
31 import objc = dwt.internal.objc.runtime; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
32 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
33 enum NSTableViewColumnAutoresizingStyle : NSUInteger |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
34 { |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
35 NSTableViewNoColumnAutoresizing = 0, |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
36 NSTableViewUniformColumnAutoresizingStyle, |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
37 NSTableViewSequentialColumnAutoresizingStyle, |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
38 NSTableViewReverseSequentialColumnAutoresizingStyle, |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
39 NSTableViewLastColumnOnlyAutoresizingStyle, |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
40 NSTableViewFirstColumnOnlyAutoresizingStyle |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
41 } |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
42 |
45 | 43 public class NSTableView : NSControl { |
44 | |
45 public this() { | |
46 super(); | |
47 } | |
48 | |
49 public this(objc.id id) { | |
50 super(id); | |
51 } | |
52 | |
53 public this(cocoa.id id) { | |
54 super(id); | |
55 } | |
56 | |
57 public void addTableColumn(NSTableColumn column) { | |
58 OS.objc_msgSend(this.id, OS.sel_addTableColumn_, column !is null ? column.id : null); | |
59 } | |
60 | |
61 public NSTableViewColumnAutoresizingStyle columnAutoresizingStyle() { | |
62 return cast(NSTableViewColumnAutoresizingStyle) OS.objc_msgSend(this.id, OS.sel_columnAutoresizingStyle); | |
63 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
64 |
45 | 65 public NSIndexSet columnIndexesInRect(NSRect rect) { |
66 objc.id result = OS.objc_msgSend(this.id, OS.sel_columnIndexesInRect_, rect); | |
67 return result !is null ? new NSIndexSet(result) : null; | |
68 } | |
69 | |
70 public NSInteger columnWithIdentifier(cocoa.id identifier) { | |
71 return cast(NSInteger) OS.objc_msgSend(this.id, OS.sel_columnWithIdentifier_, identifier !is null ? identifier.id : null); | |
72 } | |
73 | |
74 public void deselectAll(cocoa.id sender) { | |
75 OS.objc_msgSend(this.id, OS.sel_deselectAll_, sender !is null ? sender.id : null); | |
76 } | |
77 | |
78 public void deselectRow(NSInteger row) { | |
79 OS.objc_msgSend(this.id, OS.sel_deselectRow_, row); | |
80 } | |
81 | |
82 public NSRect frameOfCellAtColumn(NSInteger column, NSInteger row) { | |
83 NSRect result = NSRect(); | |
84 OS.objc_msgSend_stret(result, this.id, OS.sel_frameOfCellAtColumn_row_, column, row); | |
85 return result; | |
86 } | |
87 | |
88 public NSTableHeaderView headerView() { | |
89 objc.id result = OS.objc_msgSend(this.id, OS.sel_headerView); | |
90 return result !is null ? new NSTableHeaderView(result) : null; | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
91 } |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
92 |
45 | 93 public void highlightSelectionInClipRect(NSRect clipRect) { |
94 OS.objc_msgSend(this.id, OS.sel_highlightSelectionInClipRect_, clipRect); | |
95 } | |
96 | |
97 public NSSize intercellSpacing() { | |
98 NSSize result = NSSize(); | |
99 OS.objc_msgSend_stret(result, this.id, OS.sel_intercellSpacing); | |
100 return result; | |
101 } | |
102 | |
103 public bool isRowSelected(NSInteger row) { | |
104 return OS.objc_msgSend_bool(this.id, OS.sel_isRowSelected_, row); | |
105 } | |
106 | |
107 public void moveColumn(NSInteger column, NSInteger newIndex) { | |
108 OS.objc_msgSend(this.id, OS.sel_moveColumn_toColumn_, column, newIndex); | |
109 } | |
110 | |
111 public void noteNumberOfRowsChanged() { | |
112 OS.objc_msgSend(this.id, OS.sel_noteNumberOfRowsChanged); | |
113 } | |
114 | |
115 public NSInteger numberOfColumns() { | |
116 return OS.objc_msgSend(this.id, OS.sel_numberOfColumns); | |
117 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
118 |
45 | 119 public NSInteger numberOfRows() { |
120 return OS.objc_msgSend(this.id, OS.sel_numberOfRows); | |
121 } | |
122 | |
123 public NSInteger numberOfSelectedRows() { | |
124 return OS.objc_msgSend(this.id, OS.sel_numberOfSelectedRows); | |
125 } | |
126 | |
127 public NSRect rectOfColumn(NSInteger column) { | |
128 NSRect result = NSRect(); | |
129 OS.objc_msgSend_stret(result, this.id, OS.sel_rectOfColumn_, column); | |
130 return result; | |
131 } | |
132 | |
133 public NSRect rectOfRow(NSInteger row) { | |
134 NSRect result = NSRect(); | |
135 OS.objc_msgSend_stret(result, this.id, OS.sel_rectOfRow_, row); | |
136 return result; | |
137 } | |
138 | |
139 public void reloadData() { | |
140 OS.objc_msgSend(this.id, OS.sel_reloadData); | |
141 } | |
142 | |
143 public void removeTableColumn(NSTableColumn column) { | |
144 OS.objc_msgSend(this.id, OS.sel_removeTableColumn_, column !is null ? column.id : null); | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
145 } |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
146 |
45 | 147 public NSInteger rowAtPoint(NSPoint point) { |
148 return cast(NSInteger) OS.objc_msgSend(this.id, OS.sel_rowAtPoint_, point); | |
149 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
150 |
45 | 151 public CGFloat rowHeight() { |
152 return cast(CGFloat) OS.objc_msgSend_fpret(this.id, OS.sel_rowHeight); | |
153 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
154 |
45 | 155 public NSRange rowsInRect(NSRect rect) { |
156 NSRange result = NSRange(); | |
157 OS.objc_msgSend_stret(result, this.id, OS.sel_rowsInRect_, rect); | |
158 return result; | |
159 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
160 |
45 | 161 public void scrollColumnToVisible(NSInteger column) { |
162 OS.objc_msgSend(this.id, OS.sel_scrollColumnToVisible_, column); | |
163 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
164 |
45 | 165 public void scrollRowToVisible(NSInteger row) { |
166 OS.objc_msgSend(this.id, OS.sel_scrollRowToVisible_, row); | |
167 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
168 |
45 | 169 public void selectAll(cocoa.id sender) { |
170 OS.objc_msgSend(this.id, OS.sel_selectAll_, sender !is null ? sender.id : null); | |
171 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
172 |
45 | 173 public void selectRow(NSInteger row, bool extend) { |
174 OS.objc_msgSend(this.id, OS.sel_selectRow_byExtendingSelection_, row, extend); | |
175 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
176 |
45 | 177 public void selectRowIndexes(NSIndexSet indexes, bool extend) { |
178 OS.objc_msgSend(this.id, OS.sel_selectRowIndexes_byExtendingSelection_, indexes !is null ? indexes.id : null, extend); | |
179 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
180 |
45 | 181 public NSInteger selectedRow() { |
182 return cast(NSInteger) OS.objc_msgSend(this.id, OS.sel_selectedRow); | |
183 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
184 |
45 | 185 public NSIndexSet selectedRowIndexes() { |
186 objc.id result = OS.objc_msgSend(this.id, OS.sel_selectedRowIndexes); | |
187 return result !is null ? new NSIndexSet(result) : null; | |
188 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
189 |
45 | 190 public void setAllowsColumnReordering(bool flag) { |
191 OS.objc_msgSend(this.id, OS.sel_setAllowsColumnReordering_, flag); | |
192 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
193 |
45 | 194 public void setAllowsMultipleSelection(bool flag) { |
195 OS.objc_msgSend(this.id, OS.sel_setAllowsMultipleSelection_, flag); | |
196 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
197 |
45 | 198 public void setBackgroundColor(NSColor color) { |
199 OS.objc_msgSend(this.id, OS.sel_setBackgroundColor_, color !is null ? color.id : null); | |
200 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
201 |
45 | 202 public void setColumnAutoresizingStyle(NSTableViewColumnAutoresizingStyle style) { |
203 OS.objc_msgSend(this.id, OS.sel_setColumnAutoresizingStyle_, style); | |
204 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
205 |
45 | 206 public void setDataSource(cocoa.id aSource) { |
207 OS.objc_msgSend(this.id, OS.sel_setDataSource_, aSource !is null ? aSource.id : null); | |
208 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
209 |
45 | 210 public void setDelegate(cocoa.id delegate_) { |
211 OS.objc_msgSend(this.id, OS.sel_setDelegate_, delegate_ !is null ? delegate_.id : null); | |
212 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
213 |
45 | 214 public void setDoubleAction(objc.SEL aSelector) { |
215 OS.objc_msgSend(this.id, OS.sel_setDoubleAction_, aSelector); | |
216 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
217 |
45 | 218 public void setHeaderView(NSTableHeaderView headerView) { |
219 OS.objc_msgSend(this.id, OS.sel_setHeaderView_, headerView !is null ? headerView.id : null); | |
220 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
221 |
45 | 222 public void setRowHeight(CGFloat rowHeight) { |
223 OS.objc_msgSend(this.id, OS.sel_setRowHeight_, rowHeight); | |
224 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
225 |
45 | 226 public void setUsesAlternatingRowBackgroundColors(bool useAlternatingRowColors) { |
227 OS.objc_msgSend(this.id, OS.sel_setUsesAlternatingRowBackgroundColors_, useAlternatingRowColors); | |
228 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
229 |
45 | 230 public NSArray tableColumns() { |
231 objc.id result = OS.objc_msgSend(this.id, OS.sel_tableColumns); | |
232 return result !is null ? new NSArray(result) : null; | |
233 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
234 |
45 | 235 public void tile() { |
236 OS.objc_msgSend(this.id, OS.sel_tile); | |
237 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
238 |
45 | 239 public bool usesAlternatingRowBackgroundColors() { |
240 return OS.objc_msgSend_bool(this.id, OS.sel_usesAlternatingRowBackgroundColors); | |
241 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
242 |
45 | 243 public static objc.Class cellClass() { |
244 return cast(objc.Class) OS.objc_msgSend(OS.class_NSTableView, OS.sel_cellClass); | |
245 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
246 |
45 | 247 public static void setCellClass(objc.Class factoryId) { |
248 OS.objc_msgSend(OS.class_NSTableView, OS.sel_setCellClass_, factoryId); | |
249 } | |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
250 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
251 } |