rl.type = SWT.VERTICAL;
rl.wrap = false;
rl.justify = true;
topshell.setLayout(rl);
preference = new Composite(topshell, SWT.BORDER);
preference.setLayoutData(new RowData(
topshell.getClientArea().width, 50));
RowLayout rl2 = new RowLayout();
rl2.spacing = 10;
preference.setLayout(rl2);
lbDevice = new Label(preference, SWT.READ_ONLY);
lbDevice.setText("Device: ");
RowData rowd = new RowData();
rowd.height = 45;
rowd.width = 130;
device = new List(preference, SWT.SINGLE | SWT.V_SCROLL);
device.setLayoutData(rowd);
visualizing = new List(preference, SWT.SINGLE);
visualizing.setItems(new String[] {"Read", "Write"});
visualizing.setSelection(0);
lastVis = "Read";
Label lbmin = new Label(preference,SWT.NONE);
lbmin.setText("Min Blockno.");
min = new Spinner(preference,SWT.NONE);
min.setMinimum(0);
min.setMaximum(1000000);
Label lbmax = new Label(preference,SWT.NONE);
lbmax.setText("Max Blockno.");
max = new Spinner(preference,SWT.NONE);
max.setMinimum(0);
max.setMaximum(1000000);
btResetHistory = new Button(preference, SWT.PUSH);
btResetHistory.setText("Reset Touch History");
btResetHistory.addSelectionListener(this);
details = new Composite(preference, SWT.BORDER);
details.setLayout(new FillLayout());
lbDetails = new Label(details, SWT.NONE);
lbDetails.setText("Details: N/A");
preference.pack();
c = new Canvas(topshell, SWT.DOUBLE_BUFFERED | SWT.BORDER);
c.setLayoutData(new RowData(topshell.getClientArea().width,
topshell.getClientArea().height - 150));
c.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_BLACK));
c.addPaintListener(this);
c.addMouseMoveListener(this);
xPos = new int[lines * colums];