blob: c540992b9298df46c0a94e9972e0754f56148d15 [file] [log] [blame]
<%@ jet package="comrel.refactoring" class="RefactoringWizardPage"
imports="org.eclipse.emf.refactor.refactoring.generator.core.* comrel.generator.refactoring.*"%>
<%ComrelConfig refactoringConfig = (ComrelConfig) argument; %>
/**
* <copyright>
* </copyright>
*
* $Id: RefactoringWizardPage.javajet,v 1.1 2010/07/15 13:08:44 tarendt Exp $
*/
package <%=refactoringConfig.getPackageName()%>;
import java.util.List;
import org.eclipse.emf.refactor.refactoring.runtime.ltk.ui.AbstractRefactoringWizard;
import org.eclipse.emf.refactor.refactoring.runtime.ui.IInputPageButtonCreator;
import org.eclipse.emf.refactor.refactoring.runtime.ui.InputPageButtonLoader;
import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;
/**
* Class for setting model refactoring specific parameters
* by the user.
* @generated
*/
public class RefactoringWizardPage extends
UserInputWizardPage implements Listener {
/**
* Controller of the EMF model refactoring.
* @generated
*/
private final RefactoringController controller;
<% for (ParameterInfo pc : refactoringConfig.getParameters()) { %>
/**
* Label for each parameter.
* @generated
*/
private Label <%=pc.getName()%>Label;
/**
* TextField for each parameter.
* @generated
*/
private Text <%=pc.getName()%>Widget;
<% } %>
/**
* Default constructor using a name and the controller of the
* EMF model refactoring.
* @param name Name of the WizardPage.
* @param controller Controller of the EMF model refactoring.
* @generated
*/
public RefactoringWizardPage
(String name, RefactoringController controller) {
super(name);
this.controller = controller;
}
/**
* @see org.eclipse.swt.widgets.Listener#
* handleEvent(org.eclipse.swt.widgets.Event)
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void handleEvent(Event event) {
getWizard().getContainer().updateButtons();
<% for (ParameterInfo pc : refactoringConfig.getParameters()) { %>
if (<%=pc.getName()%>Widget != null) {
String <%=pc.getName()%> = <%=pc.getName()%>Widget.getText();
if (!<%=pc.getName()%>.isEmpty()){
((RefactoringDataManagement)
this.controller.getDataManagementObject()).
getInPortByName("<%=pc.getName()%>").
setValue(<%=pc.getName()%>);
} else {
((RefactoringDataManagement)
this.controller.getDataManagementObject()).
getInPortByName("<%=pc.getName()%>").
setValue("unspecified");
}
}
<% } %>
}
/**
* @see org.eclipse.jface.dialogs.IDialogPage#
* createControl(org.eclipse.swt.widgets.Composite)
* @generated
*/
@Override
public void createControl(Composite parent) {
Composite composite = new Composite(parent, SWT.NONE);
GridLayout gl = new GridLayout();
gl.numColumns = 2;
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
composite.setLayout(gl);
<% for (ParameterInfo pc : refactoringConfig.getParameters()) { %>
<%=pc.getName()%>Label = new Label(composite, SWT.NONE);
<%=pc.getName()%>Label.setText("<% if (pc.getDescription() != null) {%> <%=pc.getDescription()%> <% } else { %> value of variable '<%=pc.getName()%>'<% } %>: ");
<%=pc.getName()%>Label.setEnabled(true);
<%=pc.getName()%>Widget = new Text(composite, SWT.BORDER);
<%=pc.getName()%>Widget.setToolTipText
("value of variable '<%=pc.getName()%>'");
<%=pc.getName()%>Widget.setEnabled(true);
<%=pc.getName()%>Widget.setLayoutData(gd);
<%=pc.getName()%>Widget.addListener(SWT.Modify, this);
<% } %>
List<IInputPageButtonCreator> buttonCreators = InputPageButtonLoader.iNSTANCE.getInputPageButtonCreatorClasses();
for(IInputPageButtonCreator creator : buttonCreators){
creator.createButton(composite, controller, (AbstractRefactoringWizard)this.getWizard());
}
setControl(composite);
}
}