gt: 		contextMenus = new ContextMenus();
context: //#############################################################################
  //#                                                                           #
  //#  Copyright (C) <2014>  <IMS MAXIMS>                                       #
  //#                                                                           #
  //#  This program is free software: you can redistribute it and/or modify     #
  //#  it under the terms of the GNU Affero General Public License as           #
  //#  published by the Free Software Foundation, either version 3 of the       #
  //#  License, or (at your option) any later version.                          # 
  //#                                                                           #
  //#  This program is distributed in the hope that it will be useful,          #
  //#  but WITHOUT ANY WARRANTY; without even the implied warranty of           #
  //#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
  //#  GNU Affero General Public License for more details.                      #
  //#                                                                           #
  //#  You should have received a copy of the GNU Affero General Public License #
  //#  along with this program.  If not, see <http://www.gnu.org/licenses/>.    #
  //#                                                                           #
  //#############################################################################
  //#EOH
  // This code was generated by Barbara Worwood using IMS Development Environment (version 1.80 build 5007.25751)
  // Copyright (C) 1995-2014 IMS MAXIMS. All rights reserved.
  // WARNING: DO NOT MODIFY the content of this file
  
  package ims.admin.forms.electronicprescribingconfigform;
  
  import ims.framework.*;
  import ims.framework.controls.*;
  import ims.framework.enumerations.*;
  import ims.framework.utils.RuntimeAnchoring;
  
  public class GenForm extends FormBridge
  {
  	private static final long serialVersionUID = 1L;
  
  	public boolean canProvideData(IReportSeed[] reportSeeds)
  	{
  		return new ReportDataProvider(reportSeeds, this.getFormReportFields()).canProvideData();
  	}
  	public boolean hasData(IReportSeed[] reportSeeds)
  	{
  		return new ReportDataProvider(reportSeeds, this.getFormReportFields()).hasData();
  	}
  	public IReportField[] getData(IReportSeed[] reportSeeds)
  	{
  		return getData(reportSeeds, false);
  	}
  	public IReportField[] getData(IReportSeed[] reportSeeds, boolean excludeNulls)
  	{
  		return new ReportDataProvider(reportSeeds, this.getFormReportFields(), excludeNulls).getData();
  	}
  	public static class grdDetailsRow extends GridRowBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		protected grdDetailsRow(GridRow row)
  		{
  			super(row);
  		}
  		public void showOpened(int column)
  		{
  			super.row.showOpened(column);
  		}
  		public void setColButtonReadOnly(boolean value)
  		{
  			super.row.setReadOnly(0, value);
  		}
  		public boolean isColButtonReadOnly()
  		{
  			return super.row.isReadOnly(0);
  		}
  		public void showColButtonOpened()
  		{
  			super.row.showOpened(0);
  		}
  		public void setTooltipForColButton(String value)
  		{
  			super.row.setTooltip(0, value);
  		}
  		public String getColButton()
  		{
  			return (String)super.row.get(0);
  		}
  		public void setColButton(String value)
  		{
  			super.row.set(0, value);
  		}
  		public void setCellColButtonTooltip(String value)
  		{
  			super.row.setTooltip(0, value);
  		}
  		public void setColButtonTextReadOnly(boolean value)
  		{
  			super.row.setReadOnly(1, value);
  		}
  		public boolean isColButtonTextReadOnly()
  		{
  			return super.row.isReadOnly(1);
  		}
  		public void showColButtonTextOpened()
  		{
  			super.row.showOpened(1);
  		}
  		public void setTooltipForColButtonText(String value)
  		{
  			super.row.setTooltip(1, value);
  		}
  		public String getColButtonText()
  		{
  			return (String)super.row.get(1);
  		}
  		public void setColButtonText(String value)
  		{
  			super.row.set(1, value);
  		}
  		public void setCellColButtonTextTooltip(String value)
  		{
  			super.row.setTooltip(1, value);
  		}
  		public void setColLabelTextReadOnly(boolean value)
  		{
  			super.row.setReadOnly(2, value);
  		}
  		public boolean isColLabelTextReadOnly()
  		{
  			return super.row.isReadOnly(2);
  		}
  		public void showColLabelTextOpened()
  		{
  			super.row.showOpened(2);
  		}
  		public void setTooltipForColLabelText(String value)
  		{
  			super.row.setTooltip(2, value);
  		}
  		public String getColLabelText()
  		{
  			return (String)super.row.get(2);
  		}
  		public void setColLabelText(String value)
  		{
  			super.row.set(2, value);
  		}
  		public void setCellColLabelTextTooltip(String value)
  		{
  			super.row.setTooltip(2, value);
  		}
  		public void setColExePathReadOnly(boolean value)
  		{
  			super.row.setReadOnly(3, value);
  		}
  		public boolean isColExePathReadOnly()
  		{
  			return super.row.isReadOnly(3);
  		}
  		public void showColExePathOpened()
  		{
  			super.row.showOpened(3);
  		}
  		public void setTooltipForColExePath(String value)
  		{
  			super.row.setTooltip(3, value);
  		}
  		public String getColExePath()
  		{
  			return (String)super.row.get(3);
  		}
  		public void setColExePath(String value)
  		{
  			super.row.set(3, value);
  		}
  		public void setCellColExePathTooltip(String value)
  		{
  			super.row.setTooltip(3, value);
  		}
  		public void setColParameterReadOnly(boolean value)
  		{
  			super.row.setReadOnly(4, value);
  		}
  		public boolean isColParameterReadOnly()
  		{
  			return super.row.isReadOnly(4);
  		}
  		public void showColParameterOpened()
  		{
  			super.row.showOpened(4);
  		}
  		public void setTooltipForColParameter(String value)
  		{
  			super.row.setTooltip(4, value);
  		}
  		public String getColParameter()
  		{
  			return (String)super.row.get(4);
  		}
  		public void setColParameter(String value)
  		{
  			super.row.set(4, value);
  		}
  		public void setCellColParameterTooltip(String value)
  		{
  			super.row.setTooltip(4, value);
  		}
  		public void setColRolesReadOnly(boolean value)
  		{
  			super.row.setReadOnly(5, value);
  		}
  		public boolean isColRolesReadOnly()
  		{
  			return super.row.isReadOnly(5);
  		}
  		public void showColRolesOpened()
  		{
  			super.row.showOpened(5);
  		}
  		public void setTooltipForColRoles(String value)
  		{
  			super.row.setTooltip(5, value);
  		}
  		public String getColRoles()
  		{
  			return (String)super.row.get(5);
  		}
  		public void setColRoles(String value)
  		{
  			super.row.set(5, value);
  		}
  		public void setCellColRolesTooltip(String value)
  		{
  			super.row.setTooltip(5, value);
  		}
  		public java.lang.Object getValue()
  		{
  			return super.row.getValue();
  		}
  		public void setValue(java.lang.Object value)
  		{
  			super.row.setValue(value);
  		}
  	}
  	public static class grdDetailsRowCollection extends GridRowCollectionBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		private grdDetailsRowCollection(GridRowCollection collection)
  		{
  			super(collection);
  		}
  		public grdDetailsRow get(int index)
  		{
  			return new grdDetailsRow(super.collection.get(index));
  		}
  		public grdDetailsRow newRow()
  		{
  			return new grdDetailsRow(super.collection.newRow());
  		}
  		public grdDetailsRow newRow(boolean autoSelect)
  		{
  			return new grdDetailsRow(super.collection.newRow(autoSelect));
  		}
  		public grdDetailsRow newRowAt(int index)
  		{
  			return new grdDetailsRow(super.collection.newRowAt(index));
  		}
  		public grdDetailsRow newRowAt(int index, boolean autoSelect)
  		{
  			return new grdDetailsRow(super.collection.newRowAt(index, autoSelect));
  		}
  	}
  	public static class grdDetailsGrid extends GridBridge
  	{
  		private static final long serialVersionUID = 1L;
  		
  		private void addStringColumn(String caption, int captionAlignment, int alignment, int width, boolean readOnly, boolean bold, int sortOrder, int maxLength, boolean canGrow, ims.framework.enumerations.CharacterCasing casing)
  		{
  			super.grid.addStringColumn(caption, captionAlignment, alignment, width, readOnly, bold, sortOrder, maxLength, canGrow, casing);
  		}
  		public java.lang.Object[] getValues()
  		{
  			java.lang.Object[] listOfValues = new java.lang.Object[this.getRows().size()];
  			for(int x = 0; x < this.getRows().size(); x++)
  			{
  				listOfValues[x] = this.getRows().get(x).getValue();
  			}
  			return listOfValues;
  		}
  		public java.lang.Object getValue()
  		{
  			return super.grid.getValue();
  		}
  		public void setValue(java.lang.Object value)
  		{
  			super.grid.setValue(value);
  		}
  		public grdDetailsRow getSelectedRow()
  		{
  			return super.grid.getSelectedRow() == null ? null : new grdDetailsRow(super.grid.getSelectedRow());
  		}
  		public int getSelectedRowIndex()
  		{
  			return super.grid.getSelectedRowIndex();
  		}
  		public grdDetailsRowCollection getRows()
  		{
  			return new grdDetailsRowCollection(super.grid.getRows());
  		}
  		public grdDetailsRow getRowByValue(java.lang.Object value)
  		{
  			GridRow row = super.grid.getRowByValue(value);
  			return row == null?null:new grdDetailsRow(row);
  		}
  		public void setColButtonHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(0, value);
  		}
  		public String getColButtonHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(0);
  		}
  		public void setColButtonTextHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(1, value);
  		}
  		public String getColButtonTextHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(1);
  		}
  		public void setColLabelTextHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(2, value);
  		}
  		public String getColLabelTextHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(2);
  		}
  		public void setColExePathHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(3, value);
  		}
  		public String getColExePathHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(3);
  		}
  		public void setColParameterHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(4, value);
  		}
  		public String getColParameterHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(4);
  		}
  		public void setColRolesHeaderTooltip(String value)
  		{
  			super.grid.setColumnHeaderTooltip(5, value);
  		}
  		public String getColRolesHeaderTooltip()
  		{
  			return super.grid.getColumnHeaderTooltip(5);
  		}
  	}
  	private void validateContext(ims.framework.Context context)
  	{
  		if(context == null)
  			return;
  	}
  	public boolean supportsRecordedInError()
  	{
  		return false;
  	}
  	public ims.vo.ValueObject getRecordedInErrorVo()
  	{
  		return null;
  	}
  	protected void setContext(FormLoader loader, Form form, ims.framework.interfaces.IAppForm appForm, UIFactory factory, Context context) throws Exception
  	{
  		setContext(loader, form, appForm, factory, context, Boolean.FALSE, new Integer(0), null, null, new Integer(0));
  	}
  	protected void setContext(FormLoader loader, Form form, ims.framework.interfaces.IAppForm appForm, UIFactory factory, Context context, Boolean skipContextValidation) throws Exception
  	{
  		setContext(loader, form, appForm, factory, context, skipContextValidation, new Integer(0), null, null, new Integer(0));
  	}
  	protected void setContext(FormLoader loader, Form form, ims.framework.interfaces.IAppForm appForm, UIFactory factory, ims.framework.Context context, Boolean skipContextValidation, Integer startControlID, ims.framework.utils.SizeInfo runtimeSize, ims.framework.Control control, Integer startTabIndex) throws Exception
  	{
  		if(loader == null); // this is to avoid eclipse warning only.
  		if(factory == null); // this is to avoid eclipse warning only.
  		if(runtimeSize == null); // this is to avoid eclipse warning only.
  		if(appForm == null)
  			throw new RuntimeException("Invalid application form");
  		if(startControlID == null)
  			throw new RuntimeException("Invalid startControlID");
  		if(control == null); // this is to avoid eclipse warning only.
  		if(startTabIndex == null)
  			throw new RuntimeException("Invalid startTabIndex");
  		this.context = context;
  		this.componentIdentifier = startControlID.toString();
  		this.formInfo = form.getFormInfo();
  		this.globalContext = new GlobalContext(context);
  	
  		if(skipContextValidation == null || !skipContextValidation.booleanValue())
  		{
  			validateContext(context);
  		}
  	
  		super.setContext(form);
  
  		ims.framework.utils.SizeInfo designSize = new ims.framework.utils.SizeInfo(848, 632);
  		if(runtimeSize == null)
  			runtimeSize = designSize;
  		form.setWidth(runtimeSize.getWidth());
  		form.setHeight(runtimeSize.getHeight());
  		super.setFormReferences(FormReferencesFlyweightFactory.getInstance().create(Forms.class));
  		super.setGlobalContext(ContextBridgeFlyweightFactory.getInstance().create(GlobalContextBridge.class, context, false));
  
  		// Context Menus
  