private Table createDetailedTable(Composite base) { IPreferenceStore store = DdmUiPreferences.getStore(); Table tab = new Table(base, SWT.SINGLE | SWT.FULL_SELECTION); tab.setHeaderVisible(true); tab.setLinesVisible(true); TableHelper.createTableColumn( tab, "Type", SWT.LEFT, "4-byte array (object[], int[], float[])", //$NON-NLS-1$ PREFS_STATS_COL_TYPE, store); TableHelper.createTableColumn( tab, "Count", SWT.RIGHT, "00,000", //$NON-NLS-1$ PREFS_STATS_COL_COUNT, store); TableHelper.createTableColumn( tab, "Total Size", SWT.RIGHT, "000.000 WW", //$NON-NLS-1$ PREFS_STATS_COL_SIZE, store); TableHelper.createTableColumn( tab, "Smallest", SWT.RIGHT, "000.000 WW", //$NON-NLS-1$ PREFS_STATS_COL_SMALLEST, store); TableHelper.createTableColumn( tab, "Largest", SWT.RIGHT, "000.000 WW", //$NON-NLS-1$ PREFS_STATS_COL_LARGEST, store); TableHelper.createTableColumn( tab, "Median", SWT.RIGHT, "000.000 WW", //$NON-NLS-1$ PREFS_STATS_COL_MEDIAN, store); TableHelper.createTableColumn( tab, "Average", SWT.RIGHT, "000.000 WW", //$NON-NLS-1$ PREFS_STATS_COL_AVERAGE, store); tab.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Client client = getCurrentClient(); if (client != null) { int index = mStatisticsTable.getSelectionIndex(); TableItem item = mStatisticsTable.getItem(index); if (item != null) { Map<Integer, ArrayList<HeapSegmentElement>> heapMap = client.getClientData().getVmHeapData().getProcessedHeapMap(); ArrayList<HeapSegmentElement> list = heapMap.get(item.getData()); if (list != null) { showChart(list); } } } } }); return tab; }