1 /**********************************************************************
2 * Copyright (c) 2005, 2013 IBM Corporation, Ericsson
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
9 * IBM - Initial API and implementation
10 * Bernd Hufmann - Updated for TMF
11 **********************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.dialogs
;
15 import org
.eclipse
.jface
.dialogs
.Dialog
;
16 import org
.eclipse
.jface
.dialogs
.IDialogConstants
;
17 import org
.eclipse
.jface
.dialogs
.MessageDialog
;
18 import org
.eclipse
.linuxtools
.tmf
.core
.timestamp
.TmfTimestamp
;
19 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.SDWidget
;
20 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.util
.SDMessages
;
21 import org
.eclipse
.swt
.SWT
;
22 import org
.eclipse
.swt
.events
.SelectionEvent
;
23 import org
.eclipse
.swt
.events
.SelectionListener
;
24 import org
.eclipse
.swt
.layout
.GridData
;
25 import org
.eclipse
.swt
.layout
.GridLayout
;
26 import org
.eclipse
.swt
.widgets
.Composite
;
27 import org
.eclipse
.swt
.widgets
.Control
;
28 import org
.eclipse
.swt
.widgets
.Group
;
29 import org
.eclipse
.swt
.widgets
.Label
;
30 import org
.eclipse
.swt
.widgets
.Shell
;
31 import org
.eclipse
.swt
.widgets
.Text
;
34 * Dialog box for entering minimum and maximum time range for time compression bar.
38 * @author Bernd Hufmann
41 public class MinMaxDialog
extends Dialog
{
43 // ------------------------------------------------------------------------
45 // ------------------------------------------------------------------------
49 protected Label fMinLabel
;
53 protected Label fMaxLabel
;
57 protected Label fScaleLabel
;
59 * Label for precision.
61 protected Label fPrecisionLabel
;
63 * Text field for minimum.
65 protected Text fMinText
;
67 * Text field for maximum.
69 protected Text fMaxText
;
71 * Text field for scale.
73 protected Text fScaleText
;
75 * Text field for precision.
77 protected Text fPrecisionText
;
79 * The sequence diagram widget reference.
81 protected SDWidget fSdWidget
;
83 // ------------------------------------------------------------------------
85 // ------------------------------------------------------------------------
87 * Standard constructor.
88 * @param shell The shell
89 * @param viewer The sequence diagram widget reference.
91 public MinMaxDialog(Shell shell
, SDWidget viewer
) {
96 // ------------------------------------------------------------------------
98 // ------------------------------------------------------------------------
100 * Method to create a grid data base on horizontal span.
101 * @param span The horizontal span
102 * @return a grid data object
104 protected GridData
newGridData(int span
) {
105 GridData data
= new GridData(GridData
.GRAB_VERTICAL
| GridData
.VERTICAL_ALIGN_FILL
| GridData
.GRAB_HORIZONTAL
| GridData
.HORIZONTAL_ALIGN_FILL
);
106 data
.horizontalSpan
= span
;
112 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
115 protected Control
createDialogArea(Composite p
) {
116 p
.getShell().setText(SDMessages
._123
);
117 Composite parent
= (Composite
) super.createDialogArea(p
);
119 GridLayout parentLayout
= new GridLayout();
120 parentLayout
.numColumns
= 6;
121 parent
.setLayout(parentLayout
);
123 Group g1
= new Group(parent
, SWT
.SHADOW_NONE
);
124 g1
.setLayoutData(newGridData(3));
125 GridLayout g1layout
= new GridLayout();
126 g1layout
.numColumns
= 3;
127 g1
.setLayout(g1layout
);
129 fMinLabel
= new Label(g1
, SWT
.RADIO
);
130 fMinLabel
.setText(SDMessages
._124
);
131 fMinLabel
.setLayoutData(newGridData(1));
133 fMinText
= new Text(g1
, SWT
.SINGLE
| SWT
.BORDER
);
134 fMinText
.setLayoutData(newGridData(2));
135 fMinText
.setText(String
.valueOf(fSdWidget
.getFrame().getMinTime().getValue()));
137 fMaxLabel
= new Label(g1
, SWT
.RADIO
);
138 fMaxLabel
.setText(SDMessages
._125
);
139 fMaxLabel
.setLayoutData(newGridData(1));
141 fMaxText
= new Text(g1
, SWT
.SINGLE
| SWT
.BORDER
);
142 fMaxText
.setLayoutData(newGridData(2));
143 fMaxText
.setText(String
.valueOf(fSdWidget
.getFrame().getMaxTime().getValue()));
145 fScaleLabel
= new Label(g1
, SWT
.RADIO
);
146 fScaleLabel
.setText(SDMessages
._136
);
147 fScaleLabel
.setLayoutData(newGridData(1));
149 fScaleText
= new Text(g1
, SWT
.SINGLE
| SWT
.BORDER
);
150 fScaleText
.setLayoutData(newGridData(2));
151 fScaleText
.setText(String
.valueOf(fSdWidget
.getFrame().getMinTime().getScale()));
154 fPrecisionLabel
= new Label(g1
, SWT
.RADIO
);
155 fPrecisionLabel
.setText(SDMessages
._137
);
156 fPrecisionLabel
.setLayoutData(newGridData(1));
158 fPrecisionText
= new Text(g1
, SWT
.SINGLE
| SWT
.BORDER
);
159 fPrecisionText
.setLayoutData(newGridData(2));
160 fPrecisionText
.setText(String
.valueOf(fSdWidget
.getFrame().getMinTime().getPrecision()));
167 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
170 protected void okPressed() {
176 min
= Long
.parseLong(fMinText
.getText());
177 max
= Long
.parseLong(fMaxText
.getText());
178 scale
= Integer
.parseInt(fScaleText
.getText());
179 precision
= Integer
.parseInt(fPrecisionText
.getText());
181 fSdWidget
.getFrame().setMax(new TmfTimestamp(max
, scale
, precision
));
182 fSdWidget
.getFrame().setMin(new TmfTimestamp(min
, scale
, precision
));
187 } catch (Exception e
) {
188 MessageDialog
.openError(getShell(), SDMessages
._98
, SDMessages
._99
);
194 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
197 protected void createButtonsForButtonBar(Composite parent
) {
198 super.createButtonsForButtonBar(parent
);
199 createButton(parent
, IDialogConstants
.CLIENT_ID
, SDMessages
._126
, false);
200 getButton(IDialogConstants
.CLIENT_ID
).addSelectionListener(new SelectionListener() {
203 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
206 public void widgetSelected(SelectionEvent e
) {
207 fSdWidget
.getFrame().resetCustomMinMax();
208 fMinText
.setText(String
.valueOf(fSdWidget
.getFrame().getMinTime().getValue()));
209 fMaxText
.setText(String
.valueOf(fSdWidget
.getFrame().getMaxTime().getValue()));
210 fScaleText
.setText(String
.valueOf(fSdWidget
.getFrame().getMinTime().getScale()));
211 fPrecisionText
.setText(String
.valueOf(fSdWidget
.getFrame().getMinTime().getPrecision()));
212 fMaxText
.getParent().layout(true);
217 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
220 public void widgetDefaultSelected(SelectionEvent e
) {
This page took 0.035753 seconds and 6 git commands to generate.