Skip to content

Commit adbd02e

Browse files
committed
[WIP] add graphical support to define parameters with sirius
1 parent a41a2a7 commit adbd02e

File tree

5 files changed

+60
-11
lines changed

5 files changed

+60
-11
lines changed

plugins/de.fraunhofer.ipa.ros.sirius/src/de/fraunhofer/ipa/ros/sirius/ExternalJavaActionNewParameter.java

Lines changed: 56 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package de.fraunhofer.ipa.ros.sirius;
22

3+
import java.util.ArrayList;
34
import java.util.Collection;
45
import java.util.Map;
56

7+
import javax.swing.JOptionPane;
8+
69
import org.eclipse.core.commands.ExecutionEvent;
710
import org.eclipse.core.resources.IFile;
811
import org.eclipse.emf.common.util.URI;
@@ -17,22 +20,29 @@
1720
import org.eclipse.swt.widgets.Shell;
1821
import org.eclipse.ui.IWorkbench;
1922
import org.eclipse.ui.dialogs.ElementListSelectionDialog;
23+
import org.eclipse.jface.dialogs.InputDialog;
24+
import org.eclipse.jface.dialogs.TitleAreaDialog;
2025
import ros.Parameter;
2126
import ros.ParameterBoolean;
2227
import ros.ParameterStringType;
2328
import ros.ParameterType;
29+
import ros.impl.ParameterArrayTypeImpl;
30+
import ros.impl.ParameterBase64TypeImpl;
2431
import ros.impl.ParameterBooleanImpl;
2532
import ros.impl.ParameterBooleanTypeImpl;
2633
import ros.impl.ParameterDateTypeImpl;
2734
import ros.impl.ParameterDoubleTypeImpl;
2835
import ros.impl.ParameterImpl;
2936
import ros.impl.ParameterIntegerTypeImpl;
37+
import ros.impl.ParameterListTypeImpl;
3038
import ros.impl.ParameterStringImpl;
3139
import ros.impl.ParameterStringTypeImpl;
40+
import ros.impl.ParameterStructTypeImpl;
3241
import ros.impl.ParameterTypeImpl;
3342

3443

3544
public class ExternalJavaActionNewParameter implements IExternalJavaAction {
45+
3646
public IFile modelFile;
3747
protected IWorkbench workbench;
3848
protected IStructuredSelection selection;
@@ -60,28 +70,67 @@ public void execute(Collection<? extends EObject> arg0, Map<String, Object> arg1
6070
Parameter param = param_collection.iterator().next();
6171
ParameterType type = null;
6272

63-
dlg.setElements( new Object[] {"Boolean","String","Integer","Date","Double"});
73+
dlg.setElements( new Object[] {"Boolean","String","Integer","Date","Double","Base64", "List", "Array","Struc"});
6474
dlg.open();
6575

6676
Object selected_type = dlg.getFirstResult();
67-
if (selected_type.toString() == "Boolean") {
77+
type = GetSelectedType(selected_type.toString(), activeShell);
78+
79+
/**if (selected_type.toString() == "List") {
80+
type = new ParameterListTypeImpl();
81+
}
82+
if (selected_type.toString() == "Struc") {
83+
type = new ParameterStructTypeImpl();
84+
}*/
85+
param.setType(type);
86+
}
87+
88+
public ParameterType GetSelectedType(String selected_type, Shell activeShell) {
89+
ParameterType type = null;
90+
if (selected_type== "Boolean") {
6891
type = new ParameterBooleanTypeImpl();
6992
}
70-
if (selected_type.toString() == "String") {
93+
if (selected_type == "String") {
7194
type = new ParameterStringTypeImpl();
7295
}
73-
if (selected_type.toString() == "Integer") {
96+
if (selected_type == "Integer") {
7497
type = new ParameterIntegerTypeImpl();
7598
}
76-
if (selected_type.toString() == "Date") {
99+
if (selected_type == "Date") {
77100
type = new ParameterDateTypeImpl();
78101
}
79102
if (selected_type.toString() == "Double") {
80103
type = new ParameterDoubleTypeImpl();
81104
}
82-
param.setType(type);
105+
if (selected_type.toString() == "Base64") {
106+
type = new ParameterBase64TypeImpl();
107+
}
108+
if (selected_type.toString() == "Array") {
109+
ParameterType subtype = null;
110+
type = new ParameterArrayTypeImpl();
111+
ElementListSelectionDialog dlg = new ElementListSelectionDialog(activeShell, new LabelProvider());
112+
dlg.setTitle("ArraySubtype");
113+
dlg.setMessage("Select a type for the elements of your Array:");
114+
dlg.setElements( new Object[] {"Boolean","String","Integer","Date","Double","Base64", "List", "Array","Struc"});
115+
dlg.open();
116+
Object selected_subtype = dlg.getFirstResult();
117+
subtype = GetSelectedType(selected_subtype.toString(), activeShell);
118+
((ParameterArrayTypeImpl) type).setType(subtype);
119+
}
120+
if (selected_type.toString() == "List") {
121+
ArrayList<ParameterType> subtypes = null;
122+
type = new ParameterListTypeImpl();
83123

124+
InputDialog dlg = new InputDialog(activeShell, "Lenght of the list parameter", null, "2",null);
125+
if (dlg.open() == 0) {
126+
String param = dlg.getValue();
127+
}
84128

85-
}
129+
/**Object selected_subtype = dlg.
130+
subtype = GetSelectedType(selected_subtype.toString(), activeShell);
131+
((ParameterArrayTypeImpl) type).setType(subtype);*/
132+
}
133+
return type;
134+
}
86135
}
87136

plugins/de.fraunhofer.ipa.ros/src/ros/impl/ParameterArrayTypeImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public class ParameterArrayTypeImpl extends ParameterTypeImpl implements Paramet
5555
* <!-- end-user-doc -->
5656
* @generated
5757
*/
58-
protected ParameterArrayTypeImpl() {
58+
public ParameterArrayTypeImpl() {
5959
super();
6060
}
6161

plugins/de.fraunhofer.ipa.ros/src/ros/impl/ParameterBase64TypeImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public class ParameterBase64TypeImpl extends ParameterTypeImpl implements Parame
4343
* <!-- end-user-doc -->
4444
* @generated
4545
*/
46-
protected ParameterBase64TypeImpl() {
46+
public ParameterBase64TypeImpl() {
4747
super();
4848
}
4949

plugins/de.fraunhofer.ipa.ros/src/ros/impl/ParameterListTypeImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public class ParameterListTypeImpl extends ParameterTypeImpl implements Paramete
6262
* <!-- end-user-doc -->
6363
* @generated
6464
*/
65-
protected ParameterListTypeImpl() {
65+
public ParameterListTypeImpl() {
6666
super();
6767
}
6868

plugins/de.fraunhofer.ipa.ros/src/ros/impl/ParameterStructTypeImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public class ParameterStructTypeImpl extends ParameterTypeImpl implements Parame
4747
* <!-- end-user-doc -->
4848
* @generated
4949
*/
50-
protected ParameterStructTypeImpl() {
50+
public ParameterStructTypeImpl() {
5151
super();
5252
}
5353

0 commit comments

Comments
 (0)