Bug 122177 Add input for IntervalBase to Group Editor
BIRT model's group definition has one important property: IntervalBase (see GroupHandle.setIntervalBase). This property controls how interval-based grouping picks the range of its initial group, and is an important part of range-based grouping. BIRT designer's Group Details editor should allow user to edit IntervalBase for a group. This is how the editor should work: * IntervalBase options should be presented only if "Interval" is not "None". (Since IntervalBase only makes sense for interval-based grouping) * IntervalBase should be presented in conjunction with checkbox. When it is unchecked (maps to a NULL IntervalBase value), Data Engine dynamically picks a base value using the first group key value in the result set. When it is checked, the user should input a base value. The following is a suggested look of the UI control: [ ] Use fixed base value for interval: _______________ ( [] is a checkbox, underline ___ is a textbox ).
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/ui/dialogs/GroupDialog.java
} );
		
		intervalRange = new Spinner( intervalArea, SWT.NONE );
		intervalRange.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_FILL ) );
		intervalRange.setMinimum( 0 );
		intervalRange.setMaximum( Integer.MAX_VALUE );
		intervalRange.setStep( 1 );
	}
	/**
	 * Creates the group area
	 * 
	 * @param parent
	 *            the parent composite
	 */
	private void createGroupArea( Composite parent )
	{
		Composite composite = new Composite( parent, SWT.NONE );
		composite.setLayoutData( new GridData( GridData.FILL_HORIZONTAL
				| GridData.VERTICAL_ALIGN_BEGINNING ) );
		composite.setLayout( new GridLayout( ) );
		Group includeGroup = new Group( composite, SWT.NONE );
		includeGroup.setText( GROUP_DLG_HEADER_FOOTER_LABEL );
		includeGroup.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
		includeGroup.setLayout( new FillLayout( SWT.VERTICAL ) );
		Composite includeGroupComposite = new Composite( includeGroup, SWT.NONE );
		includeGroupComposite.setLayout( new GridLayout( ) );
		includeHeader = new Button( includeGroupComposite, SWT.CHECK );
		includeHeader.setText( GROUP_DLG_INCLUDE_HEADER_LABEL );
		includeFooter = new Button( includeGroupComposite, SWT.CHECK );
		includeFooter.setText( GROUP_DLG_INCLUDE_FOOTER_LABEL );