control: Base code for profile dialog window
[deliverable/tracecompass.git] / lttng / org.eclipse.tracecompass.lttng2.control.ui / src / org / eclipse / tracecompass / internal / lttng2 / control / ui / views / handlers / NewConnectionWizard.java
CommitLineData
ad9972cc
PJPG
1/*******************************************************************************
2 * Copyright (c) 2015 École Polytechnique de Montréal
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Contributors:
10 * Patrick-Jeffrey Pollo Guilbert - Initial API and implementation
11 *******************************************************************************/
12package org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers;
13
14import org.eclipse.jface.viewers.ArrayContentProvider;
15import org.eclipse.jface.viewers.CheckboxTreeViewer;
16import org.eclipse.jface.viewers.TreeViewer;
17import org.eclipse.swt.widgets.Label;
18import org.eclipse.ui.dialogs.FilteredTree;
19import org.eclipse.ui.dialogs.PatternFilter;
20import org.eclipse.jface.wizard.WizardPage;
21import org.eclipse.swt.SWT;
22//import org.eclipse.swt.custom.CTabFolder;
23//import org.eclipse.swt.custom.CTabItem;
24import org.eclipse.swt.graphics.Color;
25import org.eclipse.swt.layout.GridData;
26import org.eclipse.swt.layout.GridLayout;
27import org.eclipse.swt.widgets.Button;
28import org.eclipse.swt.widgets.Composite;
29import org.eclipse.swt.widgets.Group;
30//import org.eclipse.swt.widgets.Display;
31import org.eclipse.swt.widgets.Shell;
32import org.eclipse.tracecompass.internal.lttng2.control.ui.views.dialogs.INewConnectionDialog;
33import org.eclipse.tracecompass.internal.lttng2.control.ui.views.dialogs.NewConnectionDialog;
34
35
36public class NewConnectionWizard {
37
38 static final int LABEL_WIDTH_CHARS = 4;
39 private NewConnectionDialog fNewConnectionDialog;
40
41 static final int CONNECTIONTREE_HEIGHT_CHARS = 10;
42 static final int CONNECTIONTREE_WIDTH_CHARS = 40;
43
44 TreeViewer fConnectionTree = null;
45 private CheckboxTreeViewer treeViewer;
46
47
48
49 // TODO: refactor name of class and all classes associated with it
50 public NewConnectionWizard()
51 {
52
53 Shell shell = new Shell();
54
55 shell.setLayout(new GridLayout());
56 Composite composite = new Composite(shell, SWT.BORDER);
57 Composite compositeDescription = new Composite(shell, SWT.BORDER);
58 composite.setBackground(new Color(null, 255,255,255));
59 compositeDescription.setBackground(new Color(null, 255,255,255));
60
61 GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, false);
62 gridData = new GridData(SWT.FILL, SWT.FILL, true, false);
63 gridData.horizontalSpan = 2;
64
65
66
67
68
69
70
71
72 Group groupProfile = new Group(composite, SWT.SHADOW_ETCHED_IN);
73 groupProfile.setText("Profiles List");
74
75
76 composite.setLayoutData(gridData);
77 composite.setLayout(new GridLayout(1, false));
78 groupProfile.setLayoutData(gridData);
79 groupProfile.setLayout(new GridLayout());
80 groupProfile.setBackground(new Color(null, 255,255,255));
81
82
83
84
85 new FilteredTree(groupProfile, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, new PatternFilter(), true){
86 @Override
87 protected TreeViewer doCreateTreeViewer(Composite aparent, int style) {
88 treeViewer = new CheckboxTreeViewer(aparent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
89 //TODO: change string to one recorded in Messages class
90 treeViewer.getTree().setToolTipText("Select one or multiple profiles from the list below."); //$NON-NLS-1$
91 ArrayContentProvider test = new ArrayContentProvider();
92
93 treeViewer.setContentProvider(test);
94
95 test.inputChanged(treeViewer, null, new String[]{"allo", "bye"}); //$NON-NLS-1$ //$NON-NLS-2$
96
97 treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
98 return treeViewer;
99 }
100 };
101
102
103
104
105 // TODO: modify the checkbox addition to be based on availble profiles
106 Button b = new Button(groupProfile, SWT.CHECK);
107 b.setText("CPU Usage");
108 b.setBackground(new Color(null, 255,255,255));
109
110 Button b2 = new Button(groupProfile, SWT.CHECK);
111 b2.setText("Memory usage");
112 b2.setBackground(new Color(null, 255,255,255));
113
114 Button b3 = new Button(groupProfile, SWT.CHECK);
115 b3.setText("Disk Activity");
116 b3.setBackground(new Color(null, 255,255,255));
117
118
119 Group groupDescription = new Group(composite, SWT.SHADOW_ETCHED_IN);
120 groupDescription.setText("Description");
121
122 groupDescription.setLayoutData(gridData);
123 groupDescription.setLayout(new GridLayout());
124 groupDescription.setBackground(new Color(null, 255,255,255));
125
126
127 groupDescription.pack();
128
129 Label descriptionLabel = new Label(groupDescription, 0);
130 descriptionLabel.setText("No description available.");
131 descriptionLabel.setBackground(new Color(null, 255,255,255));
132
133 groupProfile.pack();
134
135 shell.open();
136
137
138 }
139
140 WizardPage wp = new ConnectionPage("Wizard");
141
142 protected void okPressed()
143 {
144
145 }
146
147 WizardPage testPage = new WizardPage("Kappa")
148 {
149
150 @Override
151 public void createControl(Composite parent) {
152 // TODO Auto-generated method stub
153 Composite canvas = new Composite(parent, SWT.NONE);
154 canvas.setLayout(new GridLayout());
155 this.setTitle("Session creation");
156
157 setControl(canvas);
158 Button b = new Button(canvas, SWT.RADIO);
159 b.setText("Local");
160
161 }
162
163 };
164
165 public INewConnectionDialog getfNewConnectionDialog() {
166 return fNewConnectionDialog;
167 }
168
169 public void setNewConnectionDialog(INewConnectionDialog fNewConnectionDialog) {
170 this.fNewConnectionDialog = (NewConnectionDialog) fNewConnectionDialog;
171 }
172
173 public CheckboxTreeViewer getTreeViewer() {
174 return treeViewer;
175 }
176
177 public void setTreeViewer(CheckboxTreeViewer treeViewer) {
178 this.treeViewer = treeViewer;
179 }
180
181}
This page took 0.037638 seconds and 5 git commands to generate.