Skip to content

Commit 14eb95e

Browse files
committed
eclipse-archived#190 In progress TqCL - syntax (insert) and library services
1 parent b58db2f commit 14eb95e

File tree

27 files changed

+243
-133
lines changed

27 files changed

+243
-133
lines changed

org.eclipse.triquetrum.commands.api/src/main/java/org/eclipse/triquetrum/commands/api/services/ActorDescriptor.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,9 @@ public void addPort(PortDescriptor port)
2020
{
2121
ports.add(port);
2222
}
23+
24+
public List<PortDescriptor> getPorts() {
25+
return ports;
26+
}
2327

2428
}

org.eclipse.triquetrum.commands.api/src/main/java/org/eclipse/triquetrum/commands/api/services/TqCLLibraryProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public interface TqCLLibraryProvider {
2727

2828
public List<String> getPortTypes(String library) throws TqCLLibraryException;
2929

30-
public List<String> getActorPorts(String actor) throws TqCLLibraryException;
30+
public List<PortDescriptor> getActorPorts(String actor) throws TqCLLibraryException;
3131

3232
public List<String> getActorParameters(String actor) throws TqCLLibraryException;
3333

org.eclipse.triquetrum.commands.api/src/main/java/org/eclipse/triquetrum/commands/api/services/impl/TcQLLibraryProviderProxy.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.eclipse.triquetrum.commands.api.services.DirectorDescriptor;
2222
import org.eclipse.triquetrum.commands.api.services.EntityDescriptor;
2323
import org.eclipse.triquetrum.commands.api.services.ParameterDescriptor;
24+
import org.eclipse.triquetrum.commands.api.services.PortDescriptor;
2425
import org.eclipse.triquetrum.commands.api.services.TqCLLibraryException;
2526
import org.eclipse.triquetrum.commands.api.services.TqCLLibraryProvider;
2627

@@ -61,7 +62,7 @@ public List<String> getPortTypes(String library) throws TqCLLibraryException {
6162
}
6263

6364
@Override
64-
public List<String> getActorPorts(String actor) throws TqCLLibraryException {
65+
public List<PortDescriptor> getActorPorts(String actor) throws TqCLLibraryException {
6566
for (TqCLLibraryProvider provider : libraryProviders.values()) {
6667
boolean hasElement = provider.hasElement(actor);
6768
if (hasElement) {
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*******************************************************************************
2+
* Copyright (c) 2016 Totaro Rodolfo
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
7+
*
8+
* generated by Xtext 2.10.0
9+
*
10+
* Contributors:
11+
* Rodolfo Totaro - initial API and implementation and/or initial documentation
12+
*******************************************************************************/
13+
package org.eclipse.triquetrum.commands.ui;
14+
15+
import org.eclipse.ui.plugin.AbstractUIPlugin;
16+
17+
/**
18+
* Use this class to register components to be used within the Eclipse IDE.
19+
*/
20+
public class TqclUiModule extends AbstractTqclUiModule {
21+
22+
public TqclUiModule(AbstractUIPlugin plugin) {
23+
super(plugin);
24+
}
25+
}

org.eclipse.triquetrum.commands.xtext.ui/src/main/java/org/eclipse/triquetrum/commands/ui/TqclUiModule.xtend

Lines changed: 0 additions & 13 deletions
This file was deleted.

org.eclipse.triquetrum.commands.xtext.ui/src/main/java/org/eclipse/triquetrum/commands/ui/contentassist/TqclProposalProvider.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,20 @@
3030
import org.eclipse.triquetrum.commands.api.services.DirectorDescriptor;
3131
import org.eclipse.triquetrum.commands.api.services.EntityDescriptor;
3232
import org.eclipse.triquetrum.commands.api.services.ParameterDescriptor;
33+
import org.eclipse.triquetrum.commands.api.services.PortDescriptor;
3334
import org.eclipse.triquetrum.commands.api.services.TqCLLibraryException;
3435
import org.eclipse.triquetrum.commands.api.services.TqCLLibraryProvider;
3536
import org.eclipse.triquetrum.commands.tqcl.Category;
37+
import org.eclipse.triquetrum.commands.tqcl.Connect;
38+
import org.eclipse.triquetrum.commands.tqcl.ConnectionPort;
3639
import org.eclipse.triquetrum.commands.tqcl.Insert;
3740
import org.eclipse.triquetrum.commands.tqcl.Library;
3841
import org.eclipse.triquetrum.commands.tqcl.Parameter;
3942
import org.eclipse.triquetrum.commands.tqcl.TriquetrumScript;
4043
import org.eclipse.triquetrum.commands.validation.TqCLUtils;
4144
import org.eclipse.xtext.Assignment;
45+
import org.eclipse.xtext.EcoreUtil2;
46+
import org.eclipse.xtext.RuleCall;
4247
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
4348
import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
4449

@@ -147,6 +152,33 @@ public void completeInsert_Name(EObject model, Assignment assignment, ContentAss
147152
}
148153
}
149154

155+
@Override
156+
public void completeConnectionPort_Port(EObject model, Assignment assignment, ContentAssistContext context,
157+
ICompletionProposalAcceptor acceptor) {
158+
// TODO Auto-generated method stub
159+
super.completeConnectionPort_Port(model, assignment, context, acceptor);
160+
if (model instanceof ConnectionPort) {
161+
ConnectionPort connectionPort = (ConnectionPort) model;
162+
Insert actor = connectionPort.getActor();
163+
String actorClass = actor.getEntityClass();
164+
try {
165+
List<PortDescriptor> actorPorts = TqCLServices.getInstance().getTqclLibraryProvider()
166+
.getActorPorts(TqCLUtils.cleanEntityName(actorClass));
167+
for (PortDescriptor portDescriptor : actorPorts) {
168+
ICompletionProposal completionProposal = createCompletionProposal(portDescriptor.getDisplayName(),
169+
context);
170+
acceptor.accept(completionProposal);
171+
}
172+
173+
} catch (TqCLLibraryException e) {
174+
// TODO Auto-generated catch block
175+
e.printStackTrace();
176+
}
177+
178+
}
179+
180+
}
181+
150182
@Override
151183
public void completeInsert_Parameters(EObject model, Assignment assignment, ContentAssistContext context,
152184
ICompletionProposalAcceptor acceptor) {
-1.99 KB
Binary file not shown.

org.eclipse.triquetrum.commands.xtext.ui/src/main/xtend-gen/org/eclipse/triquetrum/commands/ui/TqclUiModule.java

Lines changed: 0 additions & 19 deletions
This file was deleted.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)