1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package de.jaret.examples.timebars.linechart.swt;
21
22 import org.eclipse.swt.SWT;
23 import org.eclipse.swt.events.SelectionAdapter;
24 import org.eclipse.swt.events.SelectionEvent;
25 import org.eclipse.swt.layout.RowData;
26 import org.eclipse.swt.layout.RowLayout;
27 import org.eclipse.swt.widgets.Button;
28 import org.eclipse.swt.widgets.Composite;
29 import org.eclipse.swt.widgets.Scale;
30
31 import de.jaret.util.ui.timebars.swt.TimeBarViewer;
32
33 /***
34 * Control panel for the line chart example.
35 *
36 * @author Peter Kliem
37 * @version $Id: LineChartControlPanel.java 766 2008-05-28 21:36:48Z kliem $
38 */
39 public class LineChartControlPanel extends Composite {
40
41 private TimeBarViewer _tbv;
42
43 public LineChartControlPanel(Composite parent, int style, TimeBarViewer tbv) {
44 super(parent, style);
45 _tbv = tbv;
46 createControls(this);
47 }
48
49 /***
50 * @param panel
51 */
52 private void createControls(LineChartControlPanel panel) {
53 panel.setLayout(new RowLayout());
54
55 final Scale pixPerSecondsScale = new Scale(this, SWT.HORIZONTAL);
56 pixPerSecondsScale.setMaximum(700);
57 pixPerSecondsScale.setMinimum(1);
58 if (_tbv.getPixelPerSecond() * (24.0 * 60.0 * 60.0) > 700) {
59 pixPerSecondsScale.setMaximum((int) (_tbv.getPixelPerSecond() * (24.0 * 60.0 * 60.0)));
60 }
61 pixPerSecondsScale.addSelectionListener(new SelectionAdapter() {
62 public void widgetSelected(SelectionEvent ev) {
63 int val = pixPerSecondsScale.getSelection();
64 double pps = ((double) val) / (24.0 * 60.0 * 60.0);
65 System.out.println("scale " + val + "pps " + pps);
66 _tbv.setPixelPerSecond(pps);
67 }
68
69 });
70 pixPerSecondsScale.setSelection((int) (_tbv.getPixelPerSecond() * (24.0 * 60.0 * 60.0)));
71 RowData rd = new RowData(800, 40);
72 pixPerSecondsScale.setLayoutData(rd);
73
74 final Button optScrollingCheck = new Button(this, SWT.CHECK);
75 optScrollingCheck.setText("Use optimized scrolling");
76 optScrollingCheck.setSelection(_tbv.getOptimizeScrolling());
77 optScrollingCheck.addSelectionListener(new SelectionAdapter() {
78 public void widgetSelected(SelectionEvent arg0) {
79 _tbv.setOptimizeScrolling(optScrollingCheck.getSelection());
80 }
81 });
82
83
84 }
85 }