View | Details | Raw Unified | Return to bug 317054 | Differences between
and this patch

Collapse All | Expand All

(-)Eclipse SWT/cocoa/org/eclipse/swt/widgets/List.java (-20 / +14 lines)
Lines 120-130 Link Here
120
		items = newItems;
120
		items = newItems;
121
	}
121
	}
122
	items [itemCount++] = string;
122
	items [itemCount++] = string;
123
	NSTableView widget = (NSTableView)view;
123
	updateRowCount();
124
	setRedraw(false);
125
	widget.noteNumberOfRowsChanged ();
126
	widget.tile();
127
	setRedraw(true);
128
	setScrollWidth(string);
124
	setScrollWidth(string);
129
}
125
}
130
126
Lines 162-172 Link Here
162
	}
158
	}
163
	System.arraycopy (items, index, items, index + 1, itemCount++ - index);
159
	System.arraycopy (items, index, items, index + 1, itemCount++ - index);
164
	items [index] = string;
160
	items [index] = string;
165
	NSTableView widget = (NSTableView)view;
161
	updateRowCount();
166
	setRedraw(false);
167
	widget.noteNumberOfRowsChanged ();
168
	widget.tile();
169
	setRedraw(true);
170
	if (index != itemCount) fixSelection (index, true);
162
	if (index != itemCount) fixSelection (index, true);
171
	setScrollWidth(string);
163
	setScrollWidth(string);
172
}
164
}
Lines 795-805 Link Here
795
	if (index != itemCount - 1) fixSelection (index, false);
787
	if (index != itemCount - 1) fixSelection (index, false);
796
	System.arraycopy (items, index + 1, items, index, --itemCount - index);
788
	System.arraycopy (items, index + 1, items, index, --itemCount - index);
797
	items [itemCount] = null;
789
	items [itemCount] = null;
798
	NSTableView widget = (NSTableView)view;
790
	updateRowCount();
799
	setRedraw(false);
800
	widget.noteNumberOfRowsChanged ();
801
	widget.tile();
802
	setRedraw(true);
803
	if (fixScroll) setScrollWidth();
791
	if (fixScroll) setScrollWidth();
804
}
792
}
805
793
Lines 904-914 Link Here
904
	checkWidget();
892
	checkWidget();
905
	items = new String [4];
893
	items = new String [4];
906
	itemCount = 0;
894
	itemCount = 0;
907
	NSTableView widget = (NSTableView)view;
895
	updateRowCount();
908
	setRedraw(false);
909
	widget.noteNumberOfRowsChanged ();
910
	widget.tile();
911
	setRedraw(true);
912
	setScrollWidth();
896
	setScrollWidth();
913
}
897
}
914
898
Lines 1427-1430 Link Here
1427
	return attribStr.id;
1411
	return attribStr.id;
1428
}
1412
}
1429
1413
1414
void updateRowCount() {
1415
	NSTableView widget = (NSTableView)view;
1416
	setRedraw(false);
1417
	ignoreSelect = true;
1418
	widget.noteNumberOfRowsChanged ();
1419
	ignoreSelect = false;
1420
	widget.tile();
1421
	setRedraw(true);
1422
}
1423
1430
}
1424
}
(-)Eclipse SWT/cocoa/org/eclipse/swt/widgets/Table.java (-37 / +18 lines)
Lines 605-615 Link Here
605
	}
605
	}
606
	System.arraycopy (items, index, items, index + 1, itemCount++ - index);
606
	System.arraycopy (items, index, items, index + 1, itemCount++ - index);
607
	items [index] = item;
607
	items [index] = item;
608
	NSTableView widget = (NSTableView)view;
608
	updateRowCount();
609
	setRedraw(false);
610
	widget.noteNumberOfRowsChanged ();
611
	widget.tile();
612
	setRedraw(true);
613
	if (index != itemCount) fixSelection (index, true);
609
	if (index != itemCount) fixSelection (index, true);
614
}
610
}
615
611
Lines 844-854 Link Here
844
	if (index != itemCount - 1) fixSelection (index, false); 
840
	if (index != itemCount - 1) fixSelection (index, false); 
845
	System.arraycopy (items, index + 1, items, index, --itemCount - index);
841
	System.arraycopy (items, index + 1, items, index, --itemCount - index);
846
	items [itemCount] = null;
842
	items [itemCount] = null;
847
	NSTableView widget = (NSTableView)view;
843
	updateRowCount();
848
	setRedraw(false);
849
	widget.noteNumberOfRowsChanged ();
850
	widget.tile();
851
	setRedraw(true);
852
	if (itemCount == 0) setTableEmpty ();
844
	if (itemCount == 0) setTableEmpty ();
853
}
845
}
854
846
Lines 1918-1924 Link Here
1918
	NSPoint pt = view.convertPoint_fromView_(nsEvent.locationInWindow(), null);
1910
	NSPoint pt = view.convertPoint_fromView_(nsEvent.locationInWindow(), null);
1919
	int row = (int)/*64*/widget.rowAtPoint(pt);
1911
	int row = (int)/*64*/widget.rowAtPoint(pt);
1920
	if (row != -1 && (nsEvent.modifierFlags() & OS.NSDeviceIndependentModifierFlagsMask) == 0) {
1912
	if (row != -1 && (nsEvent.modifierFlags() & OS.NSDeviceIndependentModifierFlagsMask) == 0) {
1921
		if (widget.isRowSelected(row)) {
1913
		if (widget.isRowSelected(row) && widget.selectedRowIndexes().count() == 1) {
1922
			if (0 <= row && row < itemCount) {
1914
			if (0 <= row && row < itemCount) {
1923
				Event event = new Event ();
1915
				Event event = new Event ();
1924
				event.item = _getItem ((int)/*64*/row);
1916
				event.item = _getItem ((int)/*64*/row);
Lines 2022-2032 Link Here
2022
	if (index != itemCount - 1) fixSelection (index, false);
2014
	if (index != itemCount - 1) fixSelection (index, false);
2023
	System.arraycopy (items, index + 1, items, index, --itemCount - index);
2015
	System.arraycopy (items, index + 1, items, index, --itemCount - index);
2024
	items [itemCount] = null;
2016
	items [itemCount] = null;
2025
	NSTableView widget = (NSTableView)view;
2017
	updateRowCount();
2026
	setRedraw(false);
2027
	widget.noteNumberOfRowsChanged ();
2028
	widget.tile();
2029
	setRedraw(true);
2030
	if (itemCount == 0) {
2018
	if (itemCount == 0) {
2031
		setTableEmpty ();
2019
		setTableEmpty ();
2032
	}
2020
	}
Lines 2087-2097 Link Here
2087
			items [i] = null;
2075
			items [i] = null;
2088
		}
2076
		}
2089
		itemCount -= length;
2077
		itemCount -= length;
2090
		NSTableView widget = (NSTableView)view;
2078
		updateRowCount();
2091
		setRedraw(false);
2092
		widget.noteNumberOfRowsChanged();
2093
		widget.tile();
2094
		setRedraw(true);
2095
	}
2079
	}
2096
	if (itemCount == 0) {
2080
	if (itemCount == 0) {
2097
		setTableEmpty ();
2081
		setTableEmpty ();
Lines 2136-2146 Link Here
2136
			last = index;
2120
			last = index;
2137
		}
2121
		}
2138
	}
2122
	}
2139
	NSTableView widget = (NSTableView)view;
2123
	updateRowCount();
2140
	setRedraw(false);
2141
	widget.noteNumberOfRowsChanged();
2142
	widget.tile();
2143
	setRedraw(true);
2144
	if (itemCount == 0) {
2124
	if (itemCount == 0) {
2145
		setTableEmpty ();
2125
		setTableEmpty ();
2146
	}
2126
	}
Lines 2161-2171 Link Here
2161
		if (item != null && !item.isDisposed ()) item.release (false);
2141
		if (item != null && !item.isDisposed ()) item.release (false);
2162
	}
2142
	}
2163
	setTableEmpty ();
2143
	setTableEmpty ();
2164
	NSTableView widget = (NSTableView)view;
2144
	updateRowCount();
2165
	setRedraw(false);
2166
	widget.noteNumberOfRowsChanged ();
2167
	widget.tile();
2168
	setRedraw(true);
2169
}
2145
}
2170
2146
2171
/**
2147
/**
Lines 2480-2486 Link Here
2480
	checkWidget ();
2456
	checkWidget ();
2481
	count = Math.max (0, count);
2457
	count = Math.max (0, count);
2482
	if (count == itemCount) return;
2458
	if (count == itemCount) return;
2483
	if (count == itemCount) return;
2484
	TableItem [] children = items;
2459
	TableItem [] children = items;
2485
	if (count < itemCount) {
2460
	if (count < itemCount) {
2486
		for (int index = count; index < itemCount; index ++) {
2461
		for (int index = count; index < itemCount; index ++) {
Lines 2504-2514 Link Here
2504
	children = newItems;
2479
	children = newItems;
2505
	this.items = newItems;
2480
	this.items = newItems;
2506
	this.itemCount = count;
2481
	this.itemCount = count;
2507
	NSTableView widget = (NSTableView)view;
2482
	updateRowCount();
2508
	setRedraw(false);
2509
	widget.noteNumberOfRowsChanged ();
2510
	widget.tile();
2511
	setRedraw(true);
2512
}
2483
}
2513
2484
2514
/*public*/ void setItemHeight (int itemHeight) {
2485
/*public*/ void setItemHeight (int itemHeight) {
Lines 3248-3251 Link Here
3248
	if (headerView == null) return;
3219
	if (headerView == null) return;
3249
	updateCursorRects (enabled, headerView);
3220
	updateCursorRects (enabled, headerView);
3250
}
3221
}
3222
3223
void updateRowCount() {
3224
	NSTableView table = (NSTableView)view;
3225
	setRedraw(false);
3226
	ignoreSelect = true;
3227
	table.noteNumberOfRowsChanged();
3228
	ignoreSelect = false;
3229
	table.tile();
3230
	setRedraw(true);
3231
}
3251
}
3232
}
(-)Eclipse SWT/cocoa/org/eclipse/swt/widgets/Tree.java (-1 / +3 lines)
Lines 1943-1949 Link Here
1943
	NSPoint pt = view.convertPoint_fromView_(nsEvent.locationInWindow(), null);
1943
	NSPoint pt = view.convertPoint_fromView_(nsEvent.locationInWindow(), null);
1944
	int row = (int)/*64*/widget.rowAtPoint(pt);
1944
	int row = (int)/*64*/widget.rowAtPoint(pt);
1945
	if (row != -1 && (nsEvent.modifierFlags() & OS.NSDeviceIndependentModifierFlagsMask) == 0) {
1945
	if (row != -1 && (nsEvent.modifierFlags() & OS.NSDeviceIndependentModifierFlagsMask) == 0) {
1946
		if (widget.isRowSelected(row)) {
1946
		if (widget.isRowSelected(row) && widget.selectedRowIndexes().count() == 1) {
1947
			NSRect rect = widget.frameOfOutlineCellAtRow(row);
1947
			NSRect rect = widget.frameOfOutlineCellAtRow(row);
1948
			if (!OS.NSPointInRect(pt, rect)) {
1948
			if (!OS.NSPointInRect(pt, rect)) {
1949
				id itemID = widget.itemAtRow(row);
1949
				id itemID = widget.itemAtRow(row);
Lines 2254-2260 Link Here
2254
	itemCount = 0;
2254
	itemCount = 0;
2255
	imageBounds = null;
2255
	imageBounds = null;
2256
	insertItem = null;
2256
	insertItem = null;
2257
	ignoreSelect = true;
2257
	((NSOutlineView) view).reloadData ();
2258
	((NSOutlineView) view).reloadData ();
2259
	ignoreSelect = false;
2258
	setScrollWidth ();
2260
	setScrollWidth ();
2259
}
2261
}
2260
2262

Return to bug 317054