setDeferResize (false);
public void removeAll () {	checkWidget ();	int itemCount = OS.SendMessage (handle, OS.LVM_GETITEMCOUNT, 0, 0);	for (int i=0; i<itemCount; i++) {		TableItem item = items [i];		if (item != null && !item.isDisposed ()) item.release (false);	}	int hwndHeader = OS.SendMessage (handle, OS.LVM_GETHEADER, 0, 0);	int columnCount = OS.SendMessage (hwndHeader, OS.HDM_GETITEMCOUNT, 0, 0);	if (columnCount == 1 && columns [0] == null) columnCount = 0;		/*	* Feature in Windows 98.  When there are a large number	* of columns and items in a table (>1000) where each	* of the subitems in the table has a string, it is much	* faster to delete each item with LVM_DELETEITEM rather	* than using LVM_DELETEALLITEMS.  The fix is to detect	* this case and delete the items, one by one.  The fact	* that the fix is only necessary on Windows 98 was	* confirmed using version 5.81 of COMCTL32.DLL on both	* Windows 98 and NT.	*	* NOTE: LVM_DELETEALLITEMS is also sent by the table	* when the table is destroyed.	*/		if (OS.IsWin95 && columnCount > 1) {		boolean redraw = drawCount == 0 && OS.IsWindowVisible (handle);		if (redraw) OS.SendMessage (handle, OS.WM_SETREDRAW, 0, 0);		int index = itemCount - 1;		while (index >= 0) {			setDeferResize (true);			ignoreSelect = ignoreShrink = true;			int code = OS.SendMessage (handle, OS.LVM_DELETEITEM, index, 0);			ignoreSelect = ignoreShrink = false;			setDeferResize (false);			if (code == 0) break;			--index;		}		if (redraw) {			OS.SendMessage (handle, OS.WM_SETREDRAW, 1, 0);			/*			* This code is intentionally commented.  The window proc			* for the table implements WM_SETREDRAW to invalidate			* and erase the table so it is not necessary to do this			* again.			*///			int flags = OS.RDW_ERASE | OS.RDW_FRAME | OS.RDW_INVALIDATE;//			OS.RedrawWindow (handle, null, 0, flags);		}		if (index != -1) error (SWT.ERROR_ITEM_NOT_REMOVED);	} else {		setDeferResize (true);		ignoreSelect = ignoreShrink = true;		int code = OS.SendMessage (handle, OS.LVM_DELETEALLITEMS, 0, 0);		ignoreSelect = ignoreShrink = false;		setDeferResize (false);		if (code == 0) error (SWT.ERROR_ITEM_NOT_REMOVED);	}	setTableEmpty ();}