View Javadoc

1   /*
2    *  File: RelationRendererControlPanel.java 
3    *  Copyright (c) 2004-2008  Peter Kliem (Peter.Kliem@jaret.de)
4    *  A commercial license is available, see http://www.jaret.de.
5    *
6    *  This program is free software; you can redistribute it and/or modify
7    *  it under the terms of the GNU General Public License as published by
8    *  the Free Software Foundation; either version 2 of the License, or
9    *  (at your option) any later version.
10   *
11   *  This program is distributed in the hope that it will be useful,
12   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   *  GNU General Public License for more details.
15   *
16   *  You should have received a copy of the GNU General Public License
17   *  along with this program; if not, write to the Free Software
18   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   */
20  package de.jaret.examples.timebars.hierarchy.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.RowLayout;
26  import org.eclipse.swt.widgets.Composite;
27  import org.eclipse.swt.widgets.Label;
28  import org.eclipse.swt.widgets.Scale;
29  
30  import de.jaret.util.ui.timebars.swt.TimeBarViewer;
31  import de.jaret.util.ui.timebars.swt.renderer.RelationRenderer;
32  
33  /***
34   * Settings for the relation renderer.
35   * 
36   * @author Peter Kliem
37   * @version $Id: SwtRelationRendererControlPanel.java 758 2008-05-02 20:23:44Z kliem $
38   */
39  public class SwtRelationRendererControlPanel extends Composite {
40  
41      private TimeBarViewer _tbv;
42  
43      public SwtRelationRendererControlPanel(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(Composite panel) {
53          panel.setLayout(new RowLayout());
54  
55          // check whether this has been initialized and return otherwise
56          if (_tbv == null) {
57              return;
58          }
59  
60          final RelationRenderer renderer = (RelationRenderer) _tbv.getRelationRenderer();
61  
62          Label l = new Label(this, SWT.NULL);
63          l.setText("Linewidth");
64  
65          final Scale lineWidthScale = new Scale(this, SWT.HORIZONTAL);
66          lineWidthScale.setMaximum(20);
67          lineWidthScale.setMinimum(1);
68          lineWidthScale.setSelection(renderer.getLineWidth());
69          lineWidthScale.addSelectionListener(new SelectionAdapter() {
70              public void widgetSelected(SelectionEvent ev) {
71                  int val = lineWidthScale.getSelection();
72                  renderer.setLineWidth(val);
73                  _tbv.redraw();
74              }
75          });
76  
77          l = new Label(this, SWT.NULL);
78          l.setText("Arrowsize");
79  
80          final Scale arrowSizeScale = new Scale(this, SWT.HORIZONTAL);
81          arrowSizeScale.setMaximum(30);
82          arrowSizeScale.setMinimum(1);
83          arrowSizeScale.setSelection(renderer.getArrowSize());
84          arrowSizeScale.addSelectionListener(new SelectionAdapter() {
85              public void widgetSelected(SelectionEvent ev) {
86                  int val = arrowSizeScale.getSelection();
87                  renderer.setArrowSize(val);
88                  _tbv.redraw();
89              }
90          });
91  
92      }
93  
94  }