Menu

[r3154]: / trunk / ch.sahits.codegen.java.gui / jet_templates / swtgui.javajet  Maximize  Restore  History

Download this file

745 lines (733 with data), 29.3 kB

<%@ jet 
imports="java.util.* 
         ch.sahits.model.* 
         ch.sahits.model.db.* 
         ch.sahits.model.java.* 
         ch.sahits.model.java.db.* 
         ch.sahits.codegen.java.model.util.* 
         ch.sahits.model.gui.* 
         ch.sahits.model.java.gui.* 
         ch.sahits.codegen.java.gui.util.*" 
 package="ch.sahits.codegen.java.gui" class="SWTGuiGenerator" %>
<% IJavaForm genClass = (IJavaForm) argument; %>
<%=ConvenientCodegen.toPackageDefinition(genClass.getPackageName()) 
%><% if (!genClass.superclasses().get(0).equals("") && !ConvenientCodegen.isPrimitiveClass(genClass.superclasses().get(0))){
%>import <%=genClass.superclasses().get(0).getName() %>;
<% } // End if import superclass 
if (!genClass.interfaces().isEmpty()){ 
for (Iterator i = genClass.interfaces().iterator(); i.hasNext(); ){
Class c = (Class)i.next(); %>
import <%=c.getName() %>;
<% } // End for loop
} // End if for import interfaces
%>
import java.util.Iterator;
import java.util.Vector;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;

<% if (genClass.isPublic()){  %>
public <% } else if (genClass.isProtected()){ %>
protected <% } else if (genClass.isPrivate()){ %>
private <% } 
%><% if (genClass.isAbstract()) { 
%>abstract <% } 
%><% if (genClass.isFinal()) {
%>final <% } 
%>class <%=genClass.getClassName() %> <%
if (!genClass.superclasses().get(0).getName().equals("") && !ConvenientCodegen.isPrimitiveClass(genClass.superclasses().get(0))){
%> extends <%=ConvenientCodegen.getSimpleClassName(genClass.superclasses().get(0)) %>
<% }
if (!genClass.interfaces().isEmpty()){ 
int counter=0; 
int maxInt = genClass.interfaces().size();%> implements <% 
for (Iterator i = genClass.interfaces().iterator(); i.hasNext(); ){
Class c=(Class)i.next(); %><%=ConvenientCodegen.getSimpleClassName(c) %><%
counter++; 
if ( counter<maxInt){%>, <% 
} // End if for comma %><% 
} // End for loop over interfaces%><%
} // End if interfaces %> {
<% SWTGUIHelper guiHelper = new SWTGUIHelper(genClass); 
genClass= guiHelper.convertOneColumnLayout(); %>

	 private Display display = new Display();
	 private Shell shell = new Shell(display);
	 <% if (guiHelper.hasHiddenFields()){ 
	 	List<IFormHidden> l = guiHelper.getHiddenFields();
	 	for (Iterator<IFormHidden> iterator = l.iterator(); iterator.hasNext();) {
	 		IFormHidden elem = (IFormHidden) iterator.next(); %>
	 		private String <%=elem.getName() %>="<%=elem.getDefaultValue() %>";
	 		<%
	 	} %>
	 <% } %>
	 <% List<IFormElement> variables = new Vector<IFormElement>();
	 	List<IFormElement> addedGroups = new Vector<IFormElement>();
	 	for (Iterator<IFormElement> iterator = guiHelper.inputFields().iterator(); iterator.hasNext();){
	 		IFormElement elem = (IFormElement) iterator.next(); 
	 		variables.add(elem);
	 		if (elem instanceof IFormFileUpload) {
	 			%>private Composite <%=guiHelper.toName(elem) %>Comp;
	 			private <%=guiHelper.getSWTClass(elem) %> <%=guiHelper.toName(elem) %>;
	 			private Button <%=guiHelper.getBrowseButtonName((IFormFileUpload)elem) %>;
	 		<% } else if (elem instanceof IFormRadioButton){
	 				IFormGroup parentGroup = guiHelper.getParentGroup(elem);
	 				if (!addedGroups.contains(parentGroup)){
	 					addedGroups.add(parentGroup);
	 					%>private Composite <%=guiHelper.toName(elem) %>Comp;
	 				<% } // end if (!addedGroups.contains(parentGroup)
	 				%>private <%=guiHelper.getSWTClass(elem) %> <%=guiHelper.toName(elem) %>;
	 		<%	} else if (elem instanceof IFormCheckbox){
	 				IFormGroup parentGroup = guiHelper.getParentGroup(elem);
	 				if (!addedGroups.contains(parentGroup)){
	 					addedGroups.add(parentGroup);
	 					%>private Composite <%=guiHelper.toName(elem) %>Comp;
	 				<% } // end if (!addedGroups.contains(parentGroup)
	 				%>private <%=guiHelper.getSWTClass(elem) %> <%=guiHelper.toName(elem) %>;
	 		<% } else {
	 			%>private <%=guiHelper.getSWTClass(elem) %> <%=guiHelper.toName(elem) %>;
	 		<% } // end else
	 } // end for %>
	 
	 /**
	  * Default constructor initializes this GUI element
	  */
	 public <%=genClass.getClassName() %>(){
		 createControl(getShell());
		 shell.pack();
		 shell.open();
		 while (!shell.isDisposed()) {
		      if (!display.readAndDispatch()) {
		        // If no more entries in event queue
		        display.sleep();
		      }
		 }
         display.dispose();
	 }
	 /**
	  * Create all the field instances
	  * @param parent container
	  */
	 private void init(Composite parent){
	 	<% for (Iterator<IFormElement> iterator = variables.iterator(); iterator.hasNext();){
	 		IFormElement elem = (IFormElement) iterator.next(); 
		%><%=guiHelper.initializeString(elem) %>
		<%
	 } %>
	 }

	 /**
	  * Retrive the shell of this GUI element
	  * @return shell
	  */
	 private Shell getShell(){
		 return shell;
	 }
	/**
	 * Set the control up with the layout and the input fields
	 */
	private void createControl(Composite composite) {
		Composite container = shell;//new Composite(composite, SWT.NULL);
		init(container);
		container.setFont(composite.getFont());
		GridLayout layout = new GridLayout();
		container.setLayout(layout);
		int nColumns = <%=guiHelper.getNumberOfColums() %>;
		layout.numColumns = nColumns;
		layout.verticalSpacing = 9;
		// Create the different elements
		<% for (Iterator<IFormElement> iterator = genClass.elements().iterator(); iterator.hasNext();) {
	 		IFormElement elem = (IFormElement) iterator.next(); 
	 		if (elem instanceof IFormGroup){ 
	 			IFormGroup group = (IFormGroup)elem;
	 			if (guiHelper.isFormGroup(group)){
	 				// process the different elements
	 				EGUIGroup g = guiHelper.getGroupType(group);
	 				switch (g){
	 				case BUTTON:
	 				case SUBMIT_BUTTON:{
	 					IFormButton btn = (IFormButton) group.elements().get(1);
	 					String name = guiHelper.toName(btn);
	 					%>createButton(container, <%=name %>, "<%=btn.getDefaultValue() %>", "<%=btn.getTooltip() %>", 
	 					               <%=btn.isVisible() %>, <%=btn.isEnabled() %>);<%
	 					break;
	 				} // end submit button
	 				case CHECK_BOX:{
	 					IFormGroup grp = (IFormGroup)group.elements().get(1);
	 					IFormLabel lbl = (IFormLabel) group.elements().get(0);
	 					String name1 = guiHelper.toName(lbl);
	 					List<IFormElement> ch = grp.elements();
	 					boolean[] selected = new boolean[ch.size()];
	 					for (int i = 0; i < selected.length; i++) {
	 						selected[i]=((IFormCheckbox)ch.get(i)).isChecked();
						}
	 					%>
	 					{
		 						Button[] btns = {<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><%=guiHelper.toName(ch.get(i)) %><% if (i!=ch.size()-1) {%>, <% }
							}
		 					%>};
		 					String[] text = {<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><% if (((IFormCheckbox)ch.get(i)).getDefaultValue().trim().equals("")){
								%>""<% } else {%>"<%=((IFormCheckbox)ch.get(i)).getDefaultValue() %>"<% 
								}
								if (i!=ch.size()-1) {%>, <% }
							}
							%>};		 					
		 					String[] tooltip = {<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><% if (ch.get(i).getTooltip().trim().equals("")){
								%>""<% } else {%>"<%=ch.get(i).getTooltip() %>"<% 
								}
								if (i!=ch.size()-1) {%>, <% }
							}
		 					%>};
		 					boolean[] visible={<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><%=((IFormCheckbox)ch.get(i)).isVisible() %><% if (i!=ch.size()-1) {%>, <% }
							}
		 					%>};
		 					boolean[] editable={<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><%=((IFormCheckbox)ch.get(i)).isEnabled() %><% if (i!=ch.size()-1) {%>, <% }
							}
		 					%>};
		 					boolean[] selected ={<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><%=((IFormCheckbox)ch.get(i)).isChecked() %><% if (i!=ch.size()-1) {%>, <% }
							}
							IFormGroup parentGroup = guiHelper.getParentGroup(elem);						
							String contName = guiHelper.toName(ch.get(0))+"Comp";
		 					%>};
		 					createCheckBoxes(container,<%=contName %>, <%=name1 %>, btns, "<%=lbl.getText() %>",text,
		 					                   tooltip , visible, editable, selected);
		 				}<%
	 					break;
	 				} // end checkbox
	 				case COMBO:{
	 					IFormLabel lbl = (IFormLabel) group.elements().get(0);
	 					IFormCombo combo =(IFormCombo)group.elements().get(1);
	 					String name1 = guiHelper.toName(lbl);
	 					String name2 = guiHelper.toName(combo);	 					
	 					%>{
		 					Vector<String> l = new Vector<String>();<%
		 					for (int i=0;i<combo.elements().size();i++){
		 						String s = (String)combo.elements().get(i);
		 						%>l.add("<%=s %>");<%
		 					}%>
		 					createCombo(container, <%=name1 %>, <%=name2 %>, "<%=lbl.getText() %>", <%=lbl.isVisible() %>, 
		 					              <%=combo.isVisible() %>, <%=combo.isEnabled() %>, "<%=combo.getTooltip() %>", 
		 					              <%=combo.getSelectedIndex() %>, l);
	 					}<%
	 					break;
	 				} // end combo
	 				case FILE_BROWSE:{
	 					IFormLabel lbl = (IFormLabel) group.elements().get(0);
	 					IFormFileUpload txt =(IFormFileUpload)group.elements().get(1);
	 					String name1 = guiHelper.toName(lbl);
	 					String name2 = guiHelper.toName(txt);
	 					String name3 = guiHelper.getBrowseButtonName(txt);	 					 
	 					%>Vector<String> l = new Vector<String>();<%
	 					for (int i=0;i<txt.acceptedTypes().size();i++){
	 						String s = (String)txt.acceptedTypes().get(i);
	 						%>l.add("<%=s %>");<%
	 					}%>
	 					{
		 					String[] accType = {<% 
		 					for (int i = 0; i < txt.acceptedTypes().size(); i++) {
								%><% if (txt.acceptedTypes().get(i).trim().equals("")){
								continue; } else {%>"<%=txt.acceptedTypes().get(i) %>"<% 
								}
								if (i!=txt.acceptedTypes().size()-1) {%>, <% }
							}
							%>};		 					
	
		 					createFileBrowse(container, <%=name2 %>Comp, <%=name1 %>, <%=name2 %>, <%=name3 %>, "<%=lbl.getText() %>", <%=lbl.isVisible() %>, 
		 					                   <%=txt.isVisible() %>, <%=txt.isEnabled() %>, "<%=txt.getTooltip() %>", "<%=txt.getDefaultValue() %>", 
		 					                   "<%=txt.getButtonText() %>", accType);
	 					}<%
	 					break;
	 				}	// end file browse
	 				case IMAGE_BUTTON:{
	 					IFormImageButton btn = (IFormImageButton) group.elements().get(1);
	 					String name = guiHelper.toName(btn);
	 					%>createImageButton(container, <%=name %>, "<%=btn.getImageSrc() %>", "<%=btn.getTooltip() %>", <%=btn.isVisible() %>, 
	 					                    <%=btn.isEnabled() %>);<%
	 					break;
	 				} // end image button
	 				case INPUT:{
	 					IFormLabel lbl = (IFormLabel) group.elements().get(0);
	 					IFormInput txt =(IFormInput)group.elements().get(1);
	 					String name1 = guiHelper.toName(lbl);
	 					String name2 = guiHelper.toName(txt);
	 					%>createInput(container, <%=name1 %>, <%=name2 %>, "<%=lbl.getText() %>", <%=lbl.isVisible() %>, <%=txt.isVisible() %>, 
	 					              <%=txt.isEnabled() %>, "<%=txt.getTooltip() %>", "<%=txt.getDefaultValue() %>");<%
	 					break;	 					
	 				} // end imput
	 				case LIST:{
	 					IFormLabel lbl = (IFormLabel) group.elements().get(0);
	 					IFormList list =(IFormList)group.elements().get(1);
	 					String name1 = guiHelper.toName(lbl);
	 					String name2 = guiHelper.toName(list);
	 					%>
	 					{
		 					Vector<String> l = new Vector<String>();<%
		 					for (int i=0;i<list.elements().size();i++){
		 						String s = (String)list.elements().get(i);
		 						%>l.add("<%=s %>");<%
		 					}%>
		 					createList(container, <%=name1 %>, <%=name2 %>, "<%=lbl.getText() %>", <%=lbl.isVisible() %>, <%=list.isVisible() %>, 
		 					             <%=list.isEnabled() %>, "<%=list.getTooltip() %>", l, <%=list.isMultiselect() %>);
	 					}<%
	 					break;	 						 					
	 				} // end list
	 				case PASSWORD:{
	 					IFormLabel lbl = (IFormLabel) group.elements().get(0);
	 					IFormPasswordInput txt =(IFormPasswordInput)group.elements().get(1);
	 					String name1 = guiHelper.toName(lbl);
	 					String name2 = guiHelper.toName(txt);
	 					%>createPassword(container, <%=name1 %>, <%=name2 %>, "<%=lbl.getText() %>", <%=lbl.isVisible() %>, <%=txt.isVisible() %>, 
	 					                 <%=txt.isEnabled() %>, "<%=txt.getTooltip() %>", "<%=txt.getDefaultValue()%>");<%
	 					break;	 					
	 				} // end password
	 				case RADIO_BUTTON:{
	 					IFormGroup grp = (IFormGroup)group.elements().get(1);
	 					IFormLabel lbl = (IFormLabel) group.elements().get(0);
	 					String name1 = guiHelper.toName(lbl);
	 					List<IFormElement> ch = grp.elements();
	 					%>
	 					{
		 					Button[] btns = {<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><%=guiHelper.toName(ch.get(i)) %><% if (i!=ch.size()-1) {%>, <% }
							}
		 					%>};
		 					String[] text = {<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><% if (((IFormRadioButton)ch.get(i)).getDefaultValue().trim().equals("")){
								%>""<% } else {%>"<%=((IFormRadioButton)ch.get(i)).getDefaultValue() %>"<% 
								}
								if (i!=ch.size()-1) {%>, <% }
							}
							%>};		 					
		 					String[] tooltip = {<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><% if (ch.get(i).getTooltip().trim().equals("")){
								%>""<% } else {%>"<%=ch.get(i).getTooltip() %>"<% 
								}
								if (i!=ch.size()-1) {%>, <% }
							}
		 					%>};
		 					boolean[] visible={<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><%=((IFormRadioButton)ch.get(i)).isVisible() %><% if (i!=ch.size()-1) {%>, <% }
							}
		 					%>};
		 					boolean[] editable={<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><%=((IFormRadioButton)ch.get(i)).isEnabled() %><% if (i!=ch.size()-1) {%>, <% }
							}
		 					%>};
		 					boolean[] selected ={<% 
		 					for (int i = 0; i < ch.size(); i++) {
								%><%=((IFormRadioButton)ch.get(i)).isChecked() %><% if (i!=ch.size()-1) {%>, <% }
							}
							IFormGroup parentGroup = guiHelper.getParentGroup(elem);						
							String contName = guiHelper.toName(ch.get(0))+"Comp";
		 					%>};
		 					createRadioButtons(container,<%=contName %>, <%=name1 %>, btns, "<%=lbl.getText() %>", text, 
		 					                     tooltip, visible, editable,selected);
		 				}<%
		 				break;
	 				} // end radio button
	 				case RESET_BUTTON:{
	 					IFormResetButton btn = (IFormResetButton) group.elements().get(1);
	 					String name = guiHelper.toName(btn);
	 					%>createResetButton(container, <%=name %>, "<%=btn.getDefaultValue() %>", "<%=btn.getTooltip() %>", 
	 					                    <%=btn.isVisible() %>, <%=btn.isEnabled() %>);<%
	 					break;
	 				} // end reset button
	 				case TEXT:{
	 					IFormLabel lbl = (IFormLabel) group.elements().get(0);
	 					IFormInput txt =(IFormInput)group.elements().get(1);
	 					String name1 = guiHelper.toName(lbl);
	 					String name2 = guiHelper.toName(txt);
	 					%>createTextArea(container, <%=name1 %>, <%=name2 %>, "<%=lbl.getText() %>", <%=lbl.isVisible() %>,
	 					               <%=txt.isVisible() %>, <%=txt.isEnabled() %>, "<%=txt.getTooltip() %>", "<%=txt.getDefaultValue() %>");<%
	 					break;	 					
	 				} // end text
	 				} // end switch
	 			} // Is not a form group
	 			%>
	 		<% } // the base element was not of type IFormGroup 
	 			else if (elem instanceof IFormResetButton){
	 					IFormResetButton btn = (IFormResetButton) elem;
	 					String name = guiHelper.toName(btn);
	 					%>createResetButton(container, <%=name %>, "<%=btn.getDefaultValue() %>", "<%=btn.getTooltip() %>", 
	 					                    <%=btn.isVisible() %>, <%=btn.isEnabled() %>);
<%
	 			}
	 			else if (elem instanceof IFormButton) {
		 				IFormButton btn = (IFormButton) elem;
	 					String name = guiHelper.toName(btn);
	 					%>createButton(container, <%=name %>, "<%=btn.getDefaultValue() %>", "<%=btn.getTooltip() %>", 
	 					               <%=btn.isVisible() %>, <%=btn.isEnabled() %>);
<%
	 			}
	 		} // end for loop
	 		%>
	}
	
	<% if (guiHelper.hasButton()){ %>
	/**
	 * Create a  button
	 * @param parent container
	 * @param btn Button
	 * @param btnText button text
	 * @param tooltip button tooltip
	 * @param visible is the button visible
	 * @param editable is the button cklickable
	 */
	private void createButton(Composite parent,Button btn,String btnText,String tooltip,boolean visible,boolean editable) {
		btn.setText(btnText);
		btn.setToolTipText(tooltip);
		btn.setEnabled(editable);
		btn.setVisible(visible);
		btn.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				// set the default data
			}
		});
	}
	
	<% } %><% if (guiHelper.hasCheckBox()){ %>
	/**
	 * Create checkboxes
	 * @param parent container
	 * @param cont Container for the buttons
	 * @param lbl Label field
	 * @param btn Array of Button fields
	 * @param lblText Label text
	 * @param text Array of labels for the check boxes
	 * @param tooltip Array of tooltips of the buttons
	 * @param visible Array of the buttons visibility
	 * @param editable Array of the buttons editability
	 * @param selected Array of the buttons selectedness
	 */
	private void createCheckBoxes(Composite parent,Composite cont,Label lbl,Button[] btn,String lblText,String[] text, String[] tooltip, boolean[] visible, boolean[] editable,boolean[] selected) {
		FillLayout fl = new FillLayout(SWT.HORIZONTAL);
		cont.setLayout(fl);
		lbl.setText(lblText);
		lbl.setVisible(visible[0]);
		for (int i = 0; i < selected.length; i++) {
			createCheckbox(cont,btn[i],text[i],tooltip[i],visible[i],editable[i],selected[i]);
			btn[i].setParent(cont);
		}
	}
	/**
	 * Create a checkbox
	 * @param parent container
	 * @param btn Button field
	 * @param text of labels for the check box
	 * @param tooltip of the button
	 * @param visible is the button visible
	 * @param editable is the button editable
	 * @param selected is the button selected
	 */
	private void createCheckbox(Composite parent,Button btn,String text, String tooltip, boolean visible, boolean editable,boolean selected){
		btn.setText(text);
		btn.setToolTipText(tooltip);
		btn.setVisible(visible);
		btn.setEnabled(editable);
		btn.setSelection(selected);
		btn.addSelectionListener(new SelectionAdapter() {
		      @Override
			public void widgetSelected(SelectionEvent e) {
			    // TODO Implement SelectionEvent
		      }
		});
	}	<% } %><% if (guiHelper.hasCombo()){ %>
	/**
	 * Create a text input field with preceeding lable
	 * @param parent container
	 * @param lbl Label field
	 * @param list Combo field
	 * @param lableText text of the lable
	 * @param lblVisibility is the lable visible
	 * @param inputVisibility is the input field visible
	 * @param inputEditable ist the input field enabled and editibla
	 * @param tooltip tooltip of the input field may be null
	 * @param defaultSelection index of the default selection
	 * @param elements List of all elements
	 */
	private void createCombo(Composite parent,Label lbl, Combo combo,String lableText, boolean lblVisibility, boolean inputVisibility,boolean inputEditable,String tooltip, int defaultSelection,java.util.List<String> elements) {
		lbl.setText(lableText);
		lbl.setVisible(lblVisibility);
		combo.setVisible(inputVisibility);
		combo.setEnabled(inputEditable);
		combo.setToolTipText(tooltip);
		for (Iterator<String> iterator = elements.iterator(); iterator.hasNext();) {
			String type = (String) iterator.next();
			combo.add(type);
		}
		combo.select(defaultSelection);
		combo.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				// TODO: implement SelectionEvent
			}
		});
	}	
	<% } %><% if (guiHelper.hasImageButton()){ %>
	/**
	 * Create a button
	 * @param parent container
	 * @param btn Button
	 * @param imageSrc button image
	 * @param tooltip button tooltip
	 * @param visible is the button visible
	 * @param editable is the button cklickable
	 */
	private void createImageButton(Composite parent,Button btn,String imageSrc,String tooltip,boolean visible,boolean editable) {
		Image image = new Image(parent.getDisplay(),imageSrc);
		btn.setImage(image);
		btn.setToolTipText(tooltip);
		btn.setEnabled(editable);
		btn.setVisible(visible);
		btn.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				// TODO: implement the SelectionEvent
			}
		});
	}	
	<% } %><% if (guiHelper.hasInputField()){ %>
	/**
	 * Create a text input field with preceeding lable
	 * @param parent container
	 * @param lbl Label field
	 * @param txt Text input field
	 * @param lableText text of the lable
	 * @param lblVisibility is the lable visible
	 * @param inputVisibility is the input field visible
	 * @param inputEditable ist the input field enabled and editibla
	 * @param inputTooltip tooltip of the input field may be null
	 * @param inputText text of the input field may be null
	 */
	private void createInput(Composite parent,Label lbl, Text txt,String lableText, boolean lblVisibility, boolean inputVisibility,boolean inputEditable,String inputTooltip,String inputText){
		lbl.setText(lableText);
		lbl.setVisible(lblVisibility);
		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
		txt.setLayoutData(gd);
		if (inputTooltip!=null)
			txt.setToolTipText(inputTooltip);
		txt.setVisible(inputVisibility);
		txt.setEnabled(inputEditable);
		txt.setEditable(inputEditable);
		if (inputText!=null)
			txt.setText(inputText);
	}
	<% } %><% if (guiHelper.hasList()){ %>
	/**
	 * Create a text input field with preceeding lable
	 * @param parent container
	 * @param lbl Label field
	 * @param list List field
	 * @param lableText text of the lable
	 * @param lblVisibility is the lable visible
	 * @param inputVisibility is the input field visible
	 * @param inputEditable ist the input field enabled and editibla
	 * @param tooltip tooltip of the input field may be null
	 * @param elements List of all elements
	 * @param multiselect selection of several elements allowed
	 */
	private void createList(Composite parent,Label lbl, org.eclipse.swt.widgets.List list,String lableText, boolean lblVisibility, boolean inputVisibility,boolean inputEditable,String tooltip,java.util.List<String> elements,boolean multiselect) {
		lbl.setText(lableText);
		lbl.setVisible(lblVisibility);
		list.setVisible(inputVisibility);
		list.setEnabled(inputEditable);
		list.setToolTipText(tooltip);
		for (Iterator<String> iterator = elements.iterator(); iterator.hasNext();) {
			String type = (String) iterator.next();
			list.add(type);
		}
		list.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				// TODO: implement SelectionEvent
			}
		});
	}	
	<% } %><% if (guiHelper.hasPasswordField()){ %>
	/**
	 * Create a text input field with preceeding lable
	 * @param parent container
	 * @param lbl Label field
	 * @param txt Text input field
	 * @param lableText text of the lable
	 * @param lblVisibility is the lable visible
	 * @param inputVisibility is the input field visible
	 * @param inputEditable ist the input field enabled and editibla
	 * @param inputTooltip tooltip of the input field may be null
	 * @param inputText text of the input field may be null
	 */
	private void createPassword(Composite parent,Label lbl, Text txt,String lableText, boolean lblVisibility, boolean inputVisibility,boolean inputEditable,String inputTooltip,String inputText){
		lbl.setText(lableText);
		lbl.setVisible(lblVisibility);
		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
		txt.setLayoutData(gd);
		if (inputTooltip!=null)
			txt.setToolTipText(inputTooltip);
		txt.setVisible(inputVisibility);
		txt.setEnabled(inputEditable);
		txt.setEditable(inputEditable);
		if (inputText!=null)
			txt.setText(inputText);
	}
	
	<% } %><% if (guiHelper.hasRadioButton()){ %>
	/**
	 * Create  radio Buttons
	 * @param parent container
	 * @param cont Container for the buttons
	 * @param lbl Label field
	 * @param btn Array of Button fields
	 * @param lblText label text
	 * @param text Array of texts of the buttons
	 * @param tooltip Array of tooltips of the buttons
	 * @param visible Array of the buttons visibility
	 * @param editable Array of the buttons editability
	 * @param selected Array of the buttons selectedness
	 */
	private void createRadioButtons(Composite parent,Composite cont,Label lbl, Button[] btn,String lblText,String[] text, String[] tooltip, boolean[] visible, boolean[] editable,boolean[] selected) {
		FillLayout fl = new FillLayout(SWT.HORIZONTAL);
		cont.setLayout(fl);
		lbl.setText(lblText);
		lbl.setVisible(visible[0]);
		for (int i = 0; i < selected.length; i++) {
			createRadioButton(cont,btn[i],text[i],tooltip[i],visible[i],editable[i],selected[i]);
			btn[i].setParent(cont);
		}
	}
	/**
	 * Create a radio Button
	 * @param parent container
	 * @param btn Button field
	 * @param text Text of the button
	 * @param tooltip of the button
	 * @param visible is the button visible
	 * @param editable is the button editable
	 * @param selected is the button selected
	 */
	private void createRadioButton(Composite parent,Button btn,String text, String tooltip, boolean visible, boolean editable,boolean selected){
		btn.setText(text);
		btn.setToolTipText(tooltip);
		btn.setVisible(visible);
		btn.setEnabled(editable);
		btn.setSelection(selected);
		btn.addSelectionListener(new SelectionAdapter() {
		      @Override
			public void widgetSelected(SelectionEvent e) {
			    // TODO Implement SelectionEvent
		      }
		});
	}
	<% } %><% if (guiHelper.hasResetButton()){ %>
	/**
	 * Create a  reset buttonbutton
	 * @param parent container
	 * @param btn Button
	 * @param btnText button text
	 * @param tooltip button tooltip
	 * @param visible is the button visible
	 * @param editable is the button cklickable
	 */
	private void createResetButton(Composite parent,Button btn,String btnText,String tooltip,boolean visible,boolean editable) {
		btn.setText(btnText);
		btn.setToolTipText(tooltip);
		btn.setEnabled(editable);
		btn.setVisible(visible);
		btn.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				// set the default data
			}
		});
	}
	<% } %><% if (guiHelper.hasTextArea()){ %>
	/**
	 * Create a text input field with preceeding lable
	 * @param parent container
	 * @param lbl Label field
	 * @param txt Text input field
	 * @param lableText text of the lable
	 * @param lblVisibility is the lable visible
	 * @param inputVisibility is the input field visible
	 * @param inputEditable ist the input field enabled and editibla
	 * @param inputTooltip tooltip of the input field may be null
	 * @param inputText text of the input field may be null
	 */
	private void createTextArea(Composite parent,Label lbl, Text txt,String lableText, boolean lblVisibility, boolean inputVisibility,boolean inputEditable,String inputTooltip,String inputText){
		lbl.setText(lableText);
		lbl.setVisible(lblVisibility);
		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
		txt.setLayoutData(gd);
		if (inputTooltip!=null)
			txt.setToolTipText(inputTooltip);
		txt.setVisible(inputVisibility);
		txt.setEnabled(inputEditable);
		txt.setEditable(inputEditable);
		if (inputText!=null)
			txt.setText(inputText);
	}	
	
	<% } %><% if (guiHelper.hasFileBrowse()){ %>
	/**
	 * Create a text input field with preceeding lable
	 * @param parent container
	 * @param cont Container for the file upload
	 * @param lbl Label field
	 * @param list txt Input field
	 * @param btn Browse button
	 * @param lableText text of the lable
	 * @param lblVisibility is the lable visible
	 * @param inputVisibility is the input field visible
	 * @param inputEditable ist the input field enabled and editibla
	 * @param inputTooltip tooltip of the input field may be null
	 * @param inputText text of the input field may be null
	 */
	private void createFileBrowse(Composite parent,Composite cont, Label lbl,final Text txt, Button btn,String lableText, boolean lblVisibility, boolean inputVisibility,boolean inputEditable,String inputTooltip,String inputText,String btnText,final String[] fileTypes){
		lbl.setText(lableText);
		lbl.setVisible(lblVisibility);
		FillLayout fl = new FillLayout(SWT.HORIZONTAL);
		cont.setLayout(fl);
		txt.setParent(cont);
		if (inputTooltip!=null)
			txt.setToolTipText(inputTooltip);
		txt.setVisible(inputVisibility);
		txt.setEnabled(inputEditable);
		txt.setEditable(inputEditable);
		if (inputText!=null)
			txt.setText(inputText);
		btn.setText(btnText);
		btn.setParent(cont);
		btn.setToolTipText(inputTooltip);
		btn.setEnabled(inputEditable);
		btn.setVisible(inputVisibility);
		btn.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				String selection = handleBroseFileSystem(fileTypes);
				if (selection!=null){
					txt.setText(selection);
				}
			}
		});

	}
	/**
	 * Browse for the jet file
	 * @param filter Array of filters in the form of *.jpg
	 * @return selected file or null
	 */
	private String handleBroseFileSystem(String[] filter){
		FileDialog dialog = new FileDialog(getShell(),SWT.OPEN);
		dialog.setText("Browse file");
		dialog.setFilterExtensions(filter);
		dialog.setFilterNames(filter);
		return dialog.open();
	}
	<% } %>

}
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.